diff --git a/.gitignore b/.gitignore index 637b032b00bbbcc6b964c06ab57c85647441cf8e..1a4b7d0fea0f119b8583d0efd6bcf8b39b4ce8e9 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,6 @@ .classpath .settings .idea -ucoinj-cesium/src/cesium/**/*.* +duniter4j-cesium/src/cesium/**/*.* target */target \ No newline at end of file diff --git a/.gitmodules b/.gitmodules index 7b65ea9b567492b4ccb685288004c111419a378d..a75acc917cb4a54170e87b0e6f18c71b9836e16a 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,6 @@ -[submodule "ucoinj-cesium/src/main/cesium"] - path = ucoinj-cesium/src/main/cesium +[submodule "duniter4j-cesium/src/main/cesium"] + path = duniter4j-cesium/src/main/cesium url = git://github.com/ucoin-io/cesium.git -[submodule "ucoinj-elasticsearch/src/main/resources/cities"] - path = ucoinj-elasticsearch/src/main/resources/cities +[submodule "duniter4j-elasticsearch/src/main/resources/cities"] + path = duniter4j-elasticsearch/src/main/resources/cities url = git://github.com/David-Haim/CountriesToCitiesJSON.git diff --git a/README.md b/README.md index c9953bc6da5a782420d7feae8c849ac48c56c6de..c713e967a7ef48b011fec050d5d733eed0be3762 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -ucoinj +duniter4j ====== uCoin Java Client API. @@ -7,7 +7,7 @@ uCoin Java Client API. ## Architecture -uCoinj has four main components : +duniter4j has four main components : - shared: common classes @@ -39,25 +39,25 @@ sudo apt-get install openjdk-8-jre No installation need for Windows (include in binaries) - - Download lastest release of file ucoinj-elasticsearch-X.Y-standalone.zip + - Download lastest release of file duniter4j-elasticsearch-X.Y-standalone.zip - Unzip, then start a elasticsearch node, just do : ```bash -unzip ucoinj-elasticsearch-X.Y-standalone.zip -cd ucoinj-elasticsearch-X.Y -./ucoinj-elasticsearch.sh start index -h <node_host> -p <node_port> +unzip duniter4j-elasticsearch-X.Y-standalone.zip +cd duniter4j-elasticsearch-X.Y +./duniter4j-elasticsearch.sh start index -h <node_host> -p <node_port> ``` Example on meta_brouzouf test currency : ```bash -$ ./ucoinj-elasticsearch.sh start index -h metab.ucoin.io -p 9201 -2016-01-07 23:34:34,771 INFO Starting uCoinj :: ElasticSearch Indexer with arguments [start, index, -h, metab.ucoin.io, -p, 9201] -2016-01-07 23:34:34,856 INFO Application basedir: /home/user/.ucoinj-elasticsearch -2016-01-07 23:34:34,861 INFO Starts i18n with locale [fr] at [/home/user/.ucoinj-elasticsearch/data/i18n] -2016-01-07 23:34:35,683 INFO Starts ElasticSearch node with cluster name [ucoinj-elasticsearch] at [/home/user/.ucoinj-elasticsearch/data]. -*** uCoinj :: Elasticsearch successfully started *** >> To quit, press [Q] or enter +$ ./duniter4j-elasticsearch.sh start index -h metab.ucoin.io -p 9201 +2016-01-07 23:34:34,771 INFO Starting duniter4j :: ElasticSearch Indexer with arguments [start, index, -h, metab.ucoin.io, -p, 9201] +2016-01-07 23:34:34,856 INFO Application basedir: /home/user/.duniter4j-elasticsearch +2016-01-07 23:34:34,861 INFO Starts i18n with locale [fr] at [/home/user/.duniter4j-elasticsearch/data/i18n] +2016-01-07 23:34:35,683 INFO Starts ElasticSearch node with cluster name [duniter4j-elasticsearch] at [/home/user/.duniter4j-elasticsearch/data]. +*** duniter4j :: Elasticsearch successfully started *** >> To quit, press [Q] or enter 2016-01-07 23:34:45,015 INFO Indexing last blocks of [meta_brouzouf] from peer [metab.ucoin.io:9201] 2016-01-07 23:35:01,597 INFO Indexing block #999 / 47144 (2%)... 2016-01-07 23:35:15,554 INFO Indexing block #1998 / 47144 (4%)... @@ -70,9 +70,9 @@ $ ./ucoinj-elasticsearch.sh start index -h metab.ucoin.io -p 9201 Show help : ```bash -$ ./ucoinj-elasticsearch.sh --help +$ ./duniter4j-elasticsearch.sh --help -Usage: ucoinj-elaticsearch.<sh|bat> <commands> [options] +Usage: duniter4j-elaticsearch.<sh|bat> <commands> [options] Commands: @@ -159,7 +159,7 @@ More documentation here : - Linux: after [installation](http://doc.libsodium.org/installation/index.html), make sure the file 'libsodium.so' exists on: /usr/local/lib or /opt/local/lib. If not, create a symbolic link. - - Windows: copy the file 'sodium.dll' into directory 'ucoinj-core/lib/' + - Windows: copy the file 'sodium.dll' into directory 'duniter4j-core/lib/' - Install [Maven 3](http://maven.apache.org/). ``` @@ -169,8 +169,8 @@ More documentation here : - Get the source code, then compile using Maven: ``` - git clone https://github.com/ucoin-io/ucoinj.git - cd ucoinj + git clone https://github.com/ucoin-io/duniter4j.git + cd duniter4j git submodule init git submodule sync git submodule update diff --git a/ucoinj-core-client/.gitignore b/duniter4j-core-client/.gitignore similarity index 100% rename from ucoinj-core-client/.gitignore rename to duniter4j-core-client/.gitignore diff --git a/ucoinj-core-client/LICENSE b/duniter4j-core-client/LICENSE similarity index 100% rename from ucoinj-core-client/LICENSE rename to duniter4j-core-client/LICENSE diff --git a/ucoinj-core-client/pom.xml b/duniter4j-core-client/pom.xml similarity index 91% rename from ucoinj-core-client/pom.xml rename to duniter4j-core-client/pom.xml index 08207ba9d02a864d776f06f8f8b1e3fed3930589..254d3e8364c586421283ef874c22fb05e048f6e9 100644 --- a/ucoinj-core-client/pom.xml +++ b/duniter4j-core-client/pom.xml @@ -2,18 +2,18 @@ <modelVersion>4.0.0</modelVersion> <parent> - <groupId>io.ucoin</groupId> - <artifactId>ucoinj</artifactId> + <groupId>org.duniter</groupId> + <artifactId>duniter4j</artifactId> <version>0.1-SNAPSHOT</version> </parent> - <groupId>io.ucoin</groupId> - <artifactId>ucoinj-core-client</artifactId> + <groupId>org.duniter</groupId> + <artifactId>duniter4j-core-client</artifactId> <packaging>jar</packaging> - <name>UCoin Java :: Core Client API</name> + <name>Duniter4j :: Core Client API</name> <properties> - <i18n.bundleOutputName>ucoinj-core-client-i18n</i18n.bundleOutputName> + <i18n.bundleOutputName>duniter4j-core-client-i18n</i18n.bundleOutputName> <i18n.generateCsvFile>true</i18n.generateCsvFile> <i18n.bundleCsvFile> ${maven.gen.dir}/resources/META-INF/${i18n.bundleOutputName}.csv @@ -23,8 +23,8 @@ </properties> <dependencies> <dependency> - <groupId>io.ucoin</groupId> - <artifactId>ucoinj-core-shared</artifactId> + <groupId>org.duniter</groupId> + <artifactId>duniter4j-core-shared</artifactId> <version>${project.version}</version> </dependency> <!-- LOGGING DEPENDENCIES - SLF4J --> diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/config/Configuration.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/config/Configuration.java similarity index 98% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/config/Configuration.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/config/Configuration.java index abec2fde55642dde80365efa31776a0b96ba95ef..a13b9fedafbe850354ea962ce0fefba0a5303ff7 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/config/Configuration.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/config/Configuration.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.config; +package org.duniter.core.client.config; /* * #%L @@ -24,7 +24,7 @@ package io.ucoin.ucoinj.core.client.config; import com.google.common.base.Charsets; -import io.ucoin.ucoinj.core.exception.TechnicalException; +import org.duniter.core.exception.TechnicalException; import org.nuiton.config.ApplicationConfig; import org.nuiton.config.ApplicationConfigHelper; import org.nuiton.config.ApplicationConfigProvider; @@ -118,7 +118,7 @@ public class Configuration { applicationConfig.parse(args); } catch (ArgumentsParserException e) { - throw new TechnicalException(t("ucoinj.config.parse.error"), e); + throw new TechnicalException(t("duniter4j.config.parse.error"), e); } // TODO Review this, this is very dirty to do this... diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/config/ConfigurationOption.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/config/ConfigurationOption.java similarity index 66% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/config/ConfigurationOption.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/config/ConfigurationOption.java index ce0f0dd596438e7639465814662ac9da12699fef..41d817b108c29bf5b36640e895ec327a9b9960ed 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/config/ConfigurationOption.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/config/ConfigurationOption.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.config; +package org.duniter.core.client.config; /* * #%L @@ -46,68 +46,68 @@ public enum ConfigurationOption implements ConfigOptionDef { // ------------------------------------------------------------------------// BASEDIR( - "ucoinj.basedir", - n("ucoinj.config.option.basedir.description"), - "${user.home}/.ucoinj", + "duniter4j.basedir", + n("duniter4j.config.option.basedir.description"), + "${user.home}/.config/duniter4j", File.class), DATA_DIRECTORY( - "ucoinj.data.directory", - n("ucoinj.config.option.data.directory.description"), - "${ucoinj.basedir}/data", + "duniter4j.data.directory", + n("duniter4j.config.option.data.directory.description"), + "${duniter4j.basedir}/data", File.class), I18N_DIRECTORY( - "ucoinj.i18n.directory", - n("ucoinj.config.option.i18n.directory.description"), - "${ucoinj.basedir}/i18n", + "duniter4j.i18n.directory", + n("duniter4j.config.option.i18n.directory.description"), + "${duniter4j.basedir}/i18n", File.class), TMP_DIRECTORY( - "ucoinj.tmp.directory", - n("ucoinj.config.option.tmp.directory.description"), - "${ucoinj.data.directory}/temp", + "duniter4j.tmp.directory", + n("duniter4j.config.option.tmp.directory.description"), + "${duniter4j.data.directory}/temp", File.class), CACHE_DIRECTORY( - "ucoinj.cache.directory", - n("ucoinj.config.option.cache.directory.description"), - "${ucoinj.data.directory}/cache", + "duniter4j.cache.directory", + n("duniter4j.config.option.cache.directory.description"), + "${duniter4j.data.directory}/cache", File.class), VERSION( - "ucoinj.version", - n("ucoinj.config.option.version.description"), + "duniter4j.version", + n("duniter4j.config.option.version.description"), "1.0", Version.class), SITE_URL( - "ucoinj.site.url", - n("ucoinj.config.option.site.url.description"), - "http://ucoin.io/ucoinj", + "duniter4j.site.url", + n("duniter4j.config.option.site.url.description"), + "http://ucoin.io/duniter4j", URL.class), ORGANIZATION_NAME( - "ucoinj.organizationName", - n("ucoinj.config.option.organizationName.description"), + "duniter4j.organizationName", + n("duniter4j.config.option.organizationName.description"), "e-is.pro", String.class), INCEPTION_YEAR( - "ucoinj.inceptionYear", - n("ucoinj.config.option.inceptionYear.description"), + "duniter4j.inceptionYear", + n("duniter4j.config.option.inceptionYear.description"), "2011", Integer.class), USER_SALT( - "ucoinj.salt", - n("ucoinj.config.option.salt.description"), + "duniter4j.salt", + n("duniter4j.config.option.salt.description"), "", String.class), USER_PASSWD( - "ucoinj.passwd", - n("ucoinj.config.option.passwd.description"), + "duniter4j.passwd", + n("duniter4j.config.option.passwd.description"), "", String.class), @@ -120,50 +120,50 @@ public enum ConfigurationOption implements ConfigOptionDef { // ------------------------------------------------------------------------// I18N_LOCALE( - "ucoinj.i18n.locale", - n("ucoinj.config.option.i18n.locale.description"), + "duniter4j.i18n.locale", + n("duniter4j.config.option.i18n.locale.description"), Locale.FRANCE.getCountry(), Locale.class, false), NODE_CURRENCY( - "ucoinj.node.currency", - n("ucoinj.config.option.node.currency.description"), + "duniter4j.node.currency", + n("duniter4j.config.option.node.currency.description"), "meta_brouzouf", String.class, false), NODE_PROTOCOL( - "ucoinj.node.protocol", - n("ucoinj.config.option.node.protocol.description"), + "duniter4j.node.protocol", + n("duniter4j.config.option.node.protocol.description"), "http", String.class, false), NODE_HOST( - "ucoinj.node.host", - n("ucoinj.config.option.node.host.description"), + "duniter4j.node.host", + n("duniter4j.config.option.node.host.description"), "metab.ucoin.io", String.class, false), NODE_PORT( - "ucoinj.node.port", - n("ucoinj.config.option.node.port.description"), + "duniter4j.node.port", + n("duniter4j.config.option.node.port.description"), "9201", Integer.class, false), NODE_URL( - "ucoinj.node.url", - n("ucoinj.config.option.node.port.description"), - "${ucoinj.node.protocol}://${ucoinj.node.host}:${ucoinj.node.port}", + "duniter4j.node.url", + n("duniter4j.config.option.node.port.description"), + "${duniter4j.node.protocol}://${duniter4j.node.host}:${duniter4j.node.port}", URL.class, false), NETWORK_TIMEOUT( - "ucoinj.network.timeout", - n("ucoinj.config.option.network.timeout.description"), + "duniter4j.network.timeout", + n("duniter4j.config.option.network.timeout.description"), "100000", // = 10 s Integer.class, false), @@ -176,30 +176,30 @@ public enum ConfigurationOption implements ConfigOptionDef { false), NODE_ELASTICSEARCH_PROTOCOL( - "ucoinj.node.elasticsearch.protocol", - n("ucoinj.config.option.node.elasticsearch.protocol.description"), + "duniter4j.node.elasticsearch.protocol", + n("duniter4j.config.option.node.elasticsearch.protocol.description"), "http", String.class, false), NODE_ELASTICSEARCH_HOST( - "ucoinj.node.elasticsearch.host", - n("ucoinj.config.option.node.elasticsearch.host.description"), + "duniter4j.node.elasticsearch.host", + n("duniter4j.config.option.node.elasticsearch.host.description"), "localhost", String.class, false), NODE_ELASTICSEARCH_PORT( - "ucoinj.node.elasticsearch.port", - n("ucoinj.config.option.node.elasticsearch.port.description"), + "duniter4j.node.elasticsearch.port", + n("duniter4j.config.option.node.elasticsearch.port.description"), "9200", Integer.class, false), NODE_ELASTICSEARCH_URL( - "ucoinj.node.elasticsearch.url", - n("ucoinj.config.option.node.elasticsearch.url.description"), - "${ucoinj.node.elasticsearch.protocol}://${ucoinj.node.elasticsearch.host}:${ucoinj.node.elasticsearch.port}", + "duniter4j.node.elasticsearch.url", + n("duniter4j.config.option.node.elasticsearch.url.description"), + "${duniter4j.node.elasticsearch.protocol}://${duniter4j.node.elasticsearch.host}:${duniter4j.node.elasticsearch.port}", URL.class, false) ; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/config/ConfigurationProvider.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/config/ConfigurationProvider.java similarity index 94% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/config/ConfigurationProvider.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/config/ConfigurationProvider.java index 05482713120bdd707ec7bd35d8acee3e3f0743eb..5ae912294c60d706194cc6b38cc77309a8cd3c44 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/config/ConfigurationProvider.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/config/ConfigurationProvider.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.config; +package org.duniter.core.client.config; /* * #%L @@ -41,12 +41,12 @@ public class ConfigurationProvider implements ApplicationConfigProvider { @Override public String getName() { - return "ucoinj"; + return "duniter4j"; } @Override public String getDescription(Locale locale) { - return l(locale, "ucoinj.config"); + return l(locale, "duniter4j.config"); } @Override diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/dao/CurrencyDao.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/dao/CurrencyDao.java similarity index 93% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/dao/CurrencyDao.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/dao/CurrencyDao.java index d96bb62655083c92dba0e023baf314d90ca211e3..172255fe2c42d660fa04778a2b7c89cf1d9743bb 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/dao/CurrencyDao.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/dao/CurrencyDao.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.dao; +package org.duniter.core.client.dao; /* * #%L @@ -22,8 +22,8 @@ package io.ucoin.ucoinj.core.client.dao; * #L% */ -import io.ucoin.ucoinj.core.beans.Bean; -import io.ucoin.ucoinj.core.client.model.local.Currency; +import org.duniter.core.beans.Bean; +import org.duniter.core.client.model.local.Currency; import java.util.List; import java.util.Map; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/dao/EntityDao.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/dao/EntityDao.java similarity index 87% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/dao/EntityDao.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/dao/EntityDao.java index ff8b7062b58aa7a2fcc216240c0a29df75200f98..e66e8a779d3c04a7578e0a874ee379beb0c71867 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/dao/EntityDao.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/dao/EntityDao.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.dao; +package org.duniter.core.client.dao; /* * #%L @@ -22,8 +22,8 @@ package io.ucoin.ucoinj.core.client.dao; * #L% */ -import io.ucoin.ucoinj.core.beans.Bean; -import io.ucoin.ucoinj.core.client.model.local.LocalEntity; +import org.duniter.core.beans.Bean; +import org.duniter.core.client.model.local.LocalEntity; /** * Created by blavenie on 29/12/15. diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/dao/PeerDao.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/dao/PeerDao.java similarity index 90% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/dao/PeerDao.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/dao/PeerDao.java index 0e56ab00613255de4b0bd246aa20a16b04e362f7..143981ca1dc0419ef71da70f34cd2316a11f4161 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/dao/PeerDao.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/dao/PeerDao.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.dao; +package org.duniter.core.client.dao; /* * #%L @@ -22,7 +22,7 @@ package io.ucoin.ucoinj.core.client.dao; * #L% */ -import io.ucoin.ucoinj.core.client.model.local.Peer; +import org.duniter.core.client.model.local.Peer; import java.util.List; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/dao/mem/MemoryCurrencyDaoImpl.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/dao/mem/MemoryCurrencyDaoImpl.java similarity index 74% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/dao/mem/MemoryCurrencyDaoImpl.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/dao/mem/MemoryCurrencyDaoImpl.java index 08f8ef0bd38cebaa8aa6de70e5210798b19067df..5d9dffbfa7654f15b080de5b6e7b09ae3e9d7652 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/dao/mem/MemoryCurrencyDaoImpl.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/dao/mem/MemoryCurrencyDaoImpl.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.dao.mem; +package org.duniter.core.client.dao.mem; /* * #%L @@ -22,9 +22,7 @@ package io.ucoin.ucoinj.core.client.dao.mem; * #L% */ -import io.ucoin.ucoinj.core.client.dao.CurrencyDao; -import io.ucoin.ucoinj.core.client.model.local.Currency; -import io.ucoin.ucoinj.core.util.CollectionUtils; +import org.duniter.core.client.dao.CurrencyDao; import java.util.*; @@ -34,12 +32,12 @@ import java.util.*; public class MemoryCurrencyDaoImpl implements CurrencyDao { - private Map<Long, Currency> currencies = new HashMap<>(); + private Map<Long, org.duniter.core.client.model.local.Currency> currencies = new HashMap<>(); private Map<Long, Map<Integer, Long>> currencyUDsByBlock = new HashMap<>(); @Override - public Currency create(final Currency entity) { + public org.duniter.core.client.model.local.Currency create(final org.duniter.core.client.model.local.Currency entity) { long id = getMaxId() + 1; entity.setId(id); @@ -50,31 +48,31 @@ public class MemoryCurrencyDaoImpl implements CurrencyDao { } @Override - public Currency update(final Currency currency) { + public org.duniter.core.client.model.local.Currency update(final org.duniter.core.client.model.local.Currency currency) { currencies.put(currency.getId(), currency); return currency; } @Override - public void remove(final Currency currency) { + public void remove(final org.duniter.core.client.model.local.Currency currency) { currencies.remove(currency.getId()); } @Override - public List<Currency> getCurrencies(long accountId) { - List<Currency> result = new ArrayList<>(); + public List<org.duniter.core.client.model.local.Currency> getCurrencies(long accountId) { + List<org.duniter.core.client.model.local.Currency> result = new ArrayList<>(); result.addAll(currencies.values()); return result; } @Override - public Currency getById(long currencyId) { + public org.duniter.core.client.model.local.Currency getById(long currencyId) { return currencies.get(currencyId); } @Override public String getCurrencyNameById(long currencyId) { - Currency currency = getById(currencyId); + org.duniter.core.client.model.local.Currency currency = getById(currencyId); if (currency == null) { return null; } @@ -83,7 +81,7 @@ public class MemoryCurrencyDaoImpl implements CurrencyDao { @Override public Long getCurrencyIdByName(String currencyName) { - for(Currency currency: currencies.values()) { + for(org.duniter.core.client.model.local.Currency currency: currencies.values()) { if (currencyName.equalsIgnoreCase(currency.getCurrencyName())) { return currency.getId(); } @@ -103,7 +101,7 @@ public class MemoryCurrencyDaoImpl implements CurrencyDao { @Override public long getLastUD(long currencyId) { - Currency currency = getById(currencyId); + org.duniter.core.client.model.local.Currency currency = getById(currencyId); if (currency == null) { return -1; } diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/dao/mem/MemoryPeerDaoImpl.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/dao/mem/MemoryPeerDaoImpl.java similarity index 91% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/dao/mem/MemoryPeerDaoImpl.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/dao/mem/MemoryPeerDaoImpl.java index 3b10de4044ba7ed771d93d9cba4f744500805ee8..d48075bcc2664a95ec54d69d6cd0f34f6ee44e5a 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/dao/mem/MemoryPeerDaoImpl.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/dao/mem/MemoryPeerDaoImpl.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.dao.mem; +package org.duniter.core.client.dao.mem; /* * #%L @@ -22,9 +22,8 @@ package io.ucoin.ucoinj.core.client.dao.mem; * #L% */ -import io.ucoin.ucoinj.core.client.dao.PeerDao; -import io.ucoin.ucoinj.core.client.model.bma.NetworkPeers; -import io.ucoin.ucoinj.core.client.model.local.Peer; +import org.duniter.core.client.dao.PeerDao; +import org.duniter.core.client.model.local.Peer; import java.util.ArrayList; import java.util.HashMap; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/Account.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/Account.java similarity index 94% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/Account.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/Account.java index 7b104c13ddae0d6e074fd8c4edfd68d27ace0a78..b4291040fcabbca875af8b3cbdded1cc3eb064fe 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/Account.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/Account.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model; +package org.duniter.core.client.model; /* * #%L @@ -23,7 +23,7 @@ package io.ucoin.ucoinj.core.client.model; */ -import io.ucoin.ucoinj.core.client.model.local.LocalEntity; +import org.duniter.core.client.model.local.LocalEntity; /** * Created by eis on 07/02/15. diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/BasicIdentity.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/BasicIdentity.java similarity index 97% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/BasicIdentity.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/BasicIdentity.java index aeeaa5b03d88f21ef08bb75a9f4c9a4f285a87a4..f05deb4f61d39705333eb7589feadbfba6a8bffe 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/BasicIdentity.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/BasicIdentity.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model; +package org.duniter.core.client.model; /* * #%L diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/Currency.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/Currency.java similarity index 97% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/Currency.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/Currency.java index 19d5f1f51fa58cccc17e710bc5eaf7da159eb484..102dc2add05b673dbeef2bde5d8f000721e03279 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/Currency.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/Currency.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model; +package org.duniter.core.client.model; /* * #%L @@ -23,7 +23,7 @@ package io.ucoin.ucoinj.core.client.model; */ -import io.ucoin.ucoinj.core.client.model.local.Peer; +import org.duniter.core.client.model.local.Peer; import java.io.Serializable; import java.util.ArrayList; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/Member.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/Member.java similarity index 92% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/Member.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/Member.java index 00dbb237fe683d3789ac8ca25b4285c2da6d0511..315af1bc9b63d4cdadaa72b4163a959702305b8b 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/Member.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/Member.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model; +package org.duniter.core.client.model; /* * #%L @@ -23,7 +23,7 @@ package io.ucoin.ucoinj.core.client.model; */ -import io.ucoin.ucoinj.core.client.model.local.Identity; +import org.duniter.core.client.model.local.Identity; public class Member extends Identity { diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/ModelUtils.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/ModelUtils.java similarity index 96% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/ModelUtils.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/ModelUtils.java index 28d31e341f6ecc1b96d2f30c3602b281d09a6bbf..55ee79535068ce67c59fbe90f621005a5299975f 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/ModelUtils.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/ModelUtils.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model; +package org.duniter.core.client.model; /* * #%L @@ -27,8 +27,8 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import io.ucoin.ucoinj.core.client.model.local.Certification; -import io.ucoin.ucoinj.core.client.model.local.Movement; +import org.duniter.core.client.model.local.Certification; +import org.duniter.core.client.model.local.Movement; /** * Helper class on model entities diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/TxOutput.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/TxOutput.java similarity index 88% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/TxOutput.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/TxOutput.java index 13f9d1ff19f23784952f87ce4c355583fe152794..c0a3a55581cce449f8a0d872f5835545d3881dcf 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/TxOutput.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/TxOutput.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model; +package org.duniter.core.client.model; /* * #%L @@ -33,6 +33,8 @@ public class TxOutput implements Serializable { private long amount; + private int base; + public String getPubKey() { return pubKey; } @@ -47,5 +49,13 @@ public class TxOutput implements Serializable { public void setAmount(long amount) { this.amount = amount; - } + } + + public int getBase() { + return base; + } + + public void setBase(int base) { + this.base = base; + } } diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/BlockchainBlock.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/BlockchainBlock.java similarity index 99% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/BlockchainBlock.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/BlockchainBlock.java index 3702ae181a24800a3736f1c9a9e108f714679753..4430577e2b2493ba00f90948a47d9cc09d08430c 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/BlockchainBlock.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/BlockchainBlock.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma; +package org.duniter.core.client.model.bma; /* * #%L diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/BlockchainMemberships.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/BlockchainMemberships.java similarity index 95% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/BlockchainMemberships.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/BlockchainMemberships.java index 9ad11435ee45be15a075d3eb71bdf3eb663582ed..1f2c36b59bb5453822b4eeb37ef4777f6dc78917 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/BlockchainMemberships.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/BlockchainMemberships.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma; +package org.duniter.core.client.model.bma; /* * #%L @@ -22,7 +22,7 @@ package io.ucoin.ucoinj.core.client.model.bma; * #L% */ -import io.ucoin.ucoinj.core.client.model.BasicIdentity; +import org.duniter.core.client.model.BasicIdentity; import java.io.Serializable; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/BlockchainParameters.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/BlockchainParameters.java similarity index 99% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/BlockchainParameters.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/BlockchainParameters.java index 7f30af3612cc730ef4dfaec90830366eed7aae39..e36c6a5e70717c6b1f489df5107ee0eb9e286b8d 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/BlockchainParameters.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/BlockchainParameters.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma; +package org.duniter.core.client.model.bma; /* * #%L diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/EndpointProtocol.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/EndpointProtocol.java similarity index 94% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/EndpointProtocol.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/EndpointProtocol.java index 838d4f323279594d74e17fabb0d3c692a94d02f4..1f4b2571737a00cb2863b0f7228ef21a1e50cf89 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/EndpointProtocol.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/EndpointProtocol.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma; +package org.duniter.core.client.model.bma; /* * #%L diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/Error.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/Error.java similarity index 93% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/Error.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/Error.java index 37aaef759e42d077cb35415e5eba5b2a2a213827..a30fb1cd3ee3c476b241926e602ef5affdb385fc 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/Error.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/Error.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma; +package org.duniter.core.client.model.bma; import java.io.Serializable; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/ErrorCode.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/ErrorCode.java similarity index 51% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/ErrorCode.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/ErrorCode.java index a934c5b5320aaf35ebe4fcdeebae376bad28690a..33250f1c48303307c0fa6e9e43ed061af838f53c 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/ErrorCode.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/ErrorCode.java @@ -1,10 +1,11 @@ -package io.ucoin.ucoinj.core.client.model.bma; +package org.duniter.core.client.model.bma; /** * Created by blavenie on 31/03/16. */ public interface ErrorCode { - int UID_ALREADY_USED = 2002; + int NO_MATCHING_IDENTITY = 2001; + int UID_ALREADY_USED = 2003; int MEMBERSHRIP_ALREADY_SEND = 2007; } diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/NetworkPeering.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/NetworkPeering.java similarity index 98% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/NetworkPeering.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/NetworkPeering.java index 992b9a66b23ff42f46b8ed2c48e5b87c8f38e803..3fc7e3e9e96546180a91698db6ab42d556b2f632 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/NetworkPeering.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/NetworkPeering.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma; +package org.duniter.core.client.model.bma; /* * #%L diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/NetworkPeers.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/NetworkPeers.java similarity index 97% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/NetworkPeers.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/NetworkPeers.java index 5e245faa934cf030131a01a971db364124c00da9..76f11af08b476332f524deac8d4261bc3b5e4fc3 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/NetworkPeers.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/NetworkPeers.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma; +package org.duniter.core.client.model.bma; /* * #%L diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/Protocol.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/Protocol.java similarity index 83% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/Protocol.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/Protocol.java index 8fe452de02905cd53580a4dfe72a13fe511f8586..2ea95aa275bc4b50f320698d0b59a28e44282397 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/Protocol.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/Protocol.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma; +package org.duniter.core.client.model.bma; /** * Created by blavenie on 31/03/16. diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/TxHistory.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/TxHistory.java similarity index 98% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/TxHistory.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/TxHistory.java index 6662a0ad68c3384043a1f2d8a19e63fea75a900f..abbcab556f03b1721345c5306eff8732146ef4a9 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/TxHistory.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/TxHistory.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma; +package org.duniter.core.client.model.bma; /* * #%L diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/TxSource.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/TxSource.java similarity index 78% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/TxSource.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/TxSource.java index 6ebac959464254978690a71a4309b4a5be0a549a..e1eaf7efa05da681e66849c8e8886b87f39ec627 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/TxSource.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/TxSource.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma; +package org.duniter.core.client.model.bma; /* * #%L @@ -63,9 +63,10 @@ public class TxSource { private static final long serialVersionUID = 8084087351543574142L; private String type; - private int number; - private String fingerprint; + private String identifier; + private String noffset; private long amount; + private int base; @Override @@ -73,9 +74,10 @@ public class TxSource { Source clone = (Source)super.clone(); clone.type = type; - clone.number = number; - clone.fingerprint = fingerprint; + clone.identifier = identifier; + clone.noffset = noffset; clone.amount = amount; + clone.base = base; return clone; } @@ -94,24 +96,20 @@ public class TxSource { this.type = type; } - /** - * The block number where the source has been written - * @return - */ - public int getNumber() { - return number; + public String getIdentifier() { + return identifier; } - public void setNumber(int number) { - this.number = number; + public void setIdentifier(String identifier) { + this.identifier = identifier; } - public String getFingerprint() { - return fingerprint; + public String getNoffset() { + return noffset; } - public void setFingerprint(String fingerprint) { - this.fingerprint = fingerprint; + public void setNoffset(String noffset) { + this.noffset = noffset; } public long getAmount() { @@ -121,6 +119,14 @@ public class TxSource { public void setAmount(long amount) { this.amount = amount; } + + public int getBase() { + return base; + } + + public void setBase(int base) { + this.base = base; + } } diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/WotCertification.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/WotCertification.java similarity index 94% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/WotCertification.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/WotCertification.java index f319dc91a3e317d56ec47f455a85ec7be83d645e..ea0c259c39aaafce39f2afee09ea747c92b9671e 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/WotCertification.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/WotCertification.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma; +package org.duniter.core.client.model.bma; /* * #%L @@ -23,11 +23,9 @@ package io.ucoin.ucoinj.core.client.model.bma; */ -import io.ucoin.ucoinj.core.client.model.bma.WotCertification; -import io.ucoin.ucoinj.core.client.model.local.Identity; +import org.duniter.core.client.model.local.Identity; import java.io.Serializable; -import java.util.List; /** * A list of certifications done to user, or by user diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/WotLookup.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/WotLookup.java similarity index 99% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/WotLookup.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/WotLookup.java index 5b98e37b8ede556cebb54fac1923f54ac9e4c66b..8772e35068a6c96db8867b66cf39da13e0f6183a 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/WotLookup.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/WotLookup.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma; +package org.duniter.core.client.model.bma; /* * #%L diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/EndpointAdapter.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/EndpointAdapter.java similarity index 94% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/EndpointAdapter.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/EndpointAdapter.java index 9071e6a6d0524fdee11c9308130435853d38f7e0..2c8d35b912a8e58c8a2df43a80ea057db3e9cf20 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/EndpointAdapter.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/EndpointAdapter.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma.gson; +package org.duniter.core.client.model.bma.gson; /* * #%L @@ -25,8 +25,8 @@ package io.ucoin.ucoinj.core.client.model.bma.gson; import com.google.gson.TypeAdapter; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import io.ucoin.ucoinj.core.client.model.bma.EndpointProtocol; -import io.ucoin.ucoinj.core.client.model.bma.NetworkPeering; +import org.duniter.core.client.model.bma.EndpointProtocol; +import org.duniter.core.client.model.bma.NetworkPeering; import org.apache.http.conn.util.InetAddressUtils; import java.io.IOException; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/GsonUtils.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/GsonUtils.java similarity index 87% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/GsonUtils.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/GsonUtils.java index 43a19179401a8ab324222802f583c413b79968b6..497ff6600ac68487121e75e9b962e8a392da95cd 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/GsonUtils.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/GsonUtils.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma.gson; +package org.duniter.core.client.model.bma.gson; /* * #%L @@ -25,14 +25,10 @@ package io.ucoin.ucoinj.core.client.model.bma.gson; import com.google.common.collect.Multimap; import com.google.gson.GsonBuilder; -import com.google.gson.internal.bind.MapTypeAdapterFactory; -import io.ucoin.ucoinj.core.client.model.Member; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainBlock; -import io.ucoin.ucoinj.core.client.model.bma.NetworkPeering; -import io.ucoin.ucoinj.core.client.model.local.Identity; +import org.duniter.core.client.model.bma.BlockchainBlock; +import org.duniter.core.client.model.bma.NetworkPeering; import java.util.List; -import java.util.Map; public class GsonUtils { diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/IdentityTypeAdapter.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/IdentityTypeAdapter.java similarity index 95% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/IdentityTypeAdapter.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/IdentityTypeAdapter.java index b69cee8b8dad923a4280a78168074ad05c9be306..387ce6df3a2c0b4d9d789029a35ee72255cad7e3 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/IdentityTypeAdapter.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/IdentityTypeAdapter.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma.gson; +package org.duniter.core.client.model.bma.gson; /* * #%L @@ -24,7 +24,7 @@ package io.ucoin.ucoinj.core.client.model.bma.gson; import com.google.gson.*; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainBlock; +import org.duniter.core.client.model.bma.BlockchainBlock; import org.apache.commons.lang3.StringUtils; import java.lang.reflect.Type; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/JoinerTypeAdapter.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/JoinerTypeAdapter.java similarity index 95% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/JoinerTypeAdapter.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/JoinerTypeAdapter.java index 66c90b2b99e5126bd9f026c286c13170dd7ff7c5..33af16e36fede88b39a6d989ad5c14adaf63aa31 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/JoinerTypeAdapter.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/JoinerTypeAdapter.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma.gson; +package org.duniter.core.client.model.bma.gson; /* * #%L @@ -24,7 +24,7 @@ package io.ucoin.ucoinj.core.client.model.bma.gson; import com.google.gson.*; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainBlock; +import org.duniter.core.client.model.bma.BlockchainBlock; import org.apache.commons.lang3.StringUtils; import java.lang.reflect.Type; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/JsonArrayParser.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/JsonArrayParser.java similarity index 96% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/JsonArrayParser.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/JsonArrayParser.java index a29957cd0fe3cb6b83bc416034df224047518085..9c52222b354018b8905be63cace244dd8a1384a8 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/JsonArrayParser.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/JsonArrayParser.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma.gson; +package org.duniter.core.client.model.bma.gson; /* * #%L @@ -23,7 +23,7 @@ package io.ucoin.ucoinj.core.client.model.bma.gson; */ import com.google.gson.JsonParseException; -import io.ucoin.ucoinj.core.util.CollectionUtils; +import org.duniter.core.util.CollectionUtils; import java.util.ArrayList; import java.util.List; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/JsonAttributeParser.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/JsonAttributeParser.java similarity index 95% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/JsonAttributeParser.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/JsonAttributeParser.java index eaa08c7e9550d87b2e52cc5948c95652b30673a5..0cab493ecd8ad7881fb599673a8fb12b03affa3f 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/JsonAttributeParser.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/JsonAttributeParser.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma.gson; +package org.duniter.core.client.model.bma.gson; /* * #%L @@ -22,8 +22,8 @@ package io.ucoin.ucoinj.core.client.model.bma.gson; * #L% */ -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.util.ObjectUtils; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.util.ObjectUtils; import java.text.DecimalFormat; import java.text.ParseException; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/MultimapTypeAdapter.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/MultimapTypeAdapter.java similarity index 98% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/MultimapTypeAdapter.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/MultimapTypeAdapter.java index 9c705572b4c7388f6bb88a6919e1c9c066f70b25..0a21950ce2ac39b989e8db77a40febfca4128e35 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/MultimapTypeAdapter.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/MultimapTypeAdapter.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma.gson; +package org.duniter.core.client.model.bma.gson; /* * #%L diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/ParameterizedTypeImpl.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/ParameterizedTypeImpl.java similarity index 96% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/ParameterizedTypeImpl.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/ParameterizedTypeImpl.java index 6efce1000d23f1afa8fd781c2636310cab3f4d9c..80a948f279c9d748492dd5b412d5eb208483ba8b 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/ParameterizedTypeImpl.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/ParameterizedTypeImpl.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma.gson; +package org.duniter.core.client.model.bma.gson; /* * #%L diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/RevokedTypeAdapter.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/RevokedTypeAdapter.java similarity index 94% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/RevokedTypeAdapter.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/RevokedTypeAdapter.java index 1625b8110fa528992ccb8b89e405147c48f9c543..4f49b1398fb4e355cf9126c7d89d8702db6fdd09 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/bma/gson/RevokedTypeAdapter.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/gson/RevokedTypeAdapter.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma.gson; +package org.duniter.core.client.model.bma.gson; /* * #%L @@ -24,7 +24,7 @@ package io.ucoin.ucoinj.core.client.model.bma.gson; import com.google.gson.*; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainBlock; +import org.duniter.core.client.model.bma.BlockchainBlock; import org.apache.commons.lang3.StringUtils; import java.lang.reflect.Type; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/elasticsearch/Currency.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/elasticsearch/Currency.java similarity index 93% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/elasticsearch/Currency.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/elasticsearch/Currency.java index 736d356f160fcca4ab1659aa93eedae3ed862ca5..ca67f6979da82525a9aacc05760a1dbe4021c9cd 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/elasticsearch/Currency.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/elasticsearch/Currency.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.elasticsearch; +package org.duniter.core.client.model.elasticsearch; /* * #%L @@ -23,8 +23,8 @@ package io.ucoin.ucoinj.core.client.model.elasticsearch; */ -import io.ucoin.ucoinj.core.client.model.bma.BlockchainParameters; -import io.ucoin.ucoinj.core.client.model.local.Peer; +import org.duniter.core.client.model.bma.BlockchainParameters; +import org.duniter.core.client.model.local.Peer; import java.io.Serializable; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/elasticsearch/Record.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/elasticsearch/Record.java similarity index 93% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/elasticsearch/Record.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/elasticsearch/Record.java index dda9af3248c44e0172ea4cfbd977e27080f93571..96922cd2200c312cd9f17a74b9d8a4a81e7daebb 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/elasticsearch/Record.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/elasticsearch/Record.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.elasticsearch; +package org.duniter.core.client.model.elasticsearch; /** * Created by blavenie on 01/03/16. diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Certification.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Certification.java similarity index 97% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Certification.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Certification.java index aa8c922dfefc4d0f0aabc8daab24f2633146a37f..c1ffc270785de68062d000a81a893a29dc673fe9 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Certification.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Certification.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.local; +package org.duniter.core.client.model.local; /* * #%L @@ -23,7 +23,7 @@ package io.ucoin.ucoinj.core.client.model.local; */ -import io.ucoin.ucoinj.core.util.ObjectUtils; +import org.duniter.core.util.ObjectUtils; /** * A certification, return by <code>/wot/certified-by/[uid]</code> or <code>/wot/certifiers-of/[uid]</code> diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Contact.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Contact.java similarity index 96% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Contact.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Contact.java index 34c5fc877af724c196583d2ad34019351be6f259..b134f54f8420a15e31843892c235bae1e519d1d0 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Contact.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Contact.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.local; +package org.duniter.core.client.model.local; /* * #%L @@ -22,7 +22,7 @@ package io.ucoin.ucoinj.core.client.model.local; * #L% */ -import io.ucoin.ucoinj.core.util.ObjectUtils; +import org.duniter.core.util.ObjectUtils; import java.io.Serializable; import java.util.ArrayList; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Currency.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Currency.java similarity index 95% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Currency.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Currency.java index a1aa0af4fcfd456bbad9c4555a6c4054fcd006fc..cb0fca9de29e3785504d400ecdfc026c504801c3 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Currency.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Currency.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.local; +package org.duniter.core.client.model.local; /* * #%L @@ -24,8 +24,8 @@ package io.ucoin.ucoinj.core.client.model.local; import java.io.Serializable; -import io.ucoin.ucoinj.core.client.model.Account; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainParameters; +import org.duniter.core.client.model.Account; +import org.duniter.core.client.model.bma.BlockchainParameters; /** * Created by eis on 05/02/15. diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Identity.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Identity.java similarity index 94% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Identity.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Identity.java index 9aca1eac866b0d5bb3c8f0ba7ea3772f00acb5f9..8f082680af46b092504317d264cf721607e3cfc6 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Identity.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Identity.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.local; +package org.duniter.core.client.model.local; /* * #%L @@ -23,7 +23,7 @@ package io.ucoin.ucoinj.core.client.model.local; */ -import io.ucoin.ucoinj.core.client.model.BasicIdentity; +import org.duniter.core.client.model.BasicIdentity; public class Identity extends BasicIdentity { diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/LocalEntity.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/LocalEntity.java similarity index 94% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/LocalEntity.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/LocalEntity.java index 79092c42d29264d281b9148b84904c0f9b70515a..770672e2df3312de56703c82f045eb79438d08e3 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/LocalEntity.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/LocalEntity.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.local; +package org.duniter.core.client.model.local; /* * #%L diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Movement.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Movement.java similarity index 98% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Movement.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Movement.java index 7b7a5b53c1b9c1c7b630b839056a8b8ffb4db85d..55822574af94fd113e144c2378fc3a45c996e496 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Movement.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Movement.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.local; +package org.duniter.core.client.model.local; /* * #%L diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Peer.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Peer.java similarity index 98% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Peer.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Peer.java index 1848939beff04028baceda9db6adedc9bc73161a..d5ef507af1906e09c05a83fd21d276432407ba1e 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Peer.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Peer.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.local; +package org.duniter.core.client.model.local; /* * #%L diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Wallet.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Wallet.java similarity index 95% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Wallet.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Wallet.java index c84738c70bb87e86a3f2e6d14bf2df20295d768e..5f31acad8b44b1d61ee2148486b32a1280bee457 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/model/local/Wallet.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Wallet.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.local; +package org.duniter.core.client.model.local; /* * #%L @@ -25,10 +25,10 @@ package io.ucoin.ucoinj.core.client.model.local; import java.io.Serializable; import java.util.Collection; -import io.ucoin.ucoinj.core.client.model.bma.WotCertification; -import io.ucoin.ucoinj.core.util.ObjectUtils; -import io.ucoin.ucoinj.core.util.crypto.CryptoUtils; -import io.ucoin.ucoinj.core.util.crypto.KeyPair; +import org.duniter.core.client.model.bma.WotCertification; +import org.duniter.core.util.ObjectUtils; +import org.duniter.core.util.crypto.CryptoUtils; +import org.duniter.core.util.crypto.KeyPair; /** * A wallet is a user account diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/DataContext.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/DataContext.java similarity index 94% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/DataContext.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/DataContext.java index 9341bea084f9ec557b7f61e8efd573af202a4cae..b4bc2275fa0a3ed1c30cbf55f8b9db45c39e5e0b 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/DataContext.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/DataContext.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service; +package org.duniter.core.client.service; /* * #%L @@ -22,7 +22,7 @@ package io.ucoin.ucoinj.core.client.service; * #L% */ -import io.ucoin.ucoinj.core.beans.Bean; +import org.duniter.core.beans.Bean; import java.io.Closeable; import java.io.IOException; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/HttpService.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/HttpService.java similarity index 86% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/HttpService.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/HttpService.java index ea2056f0c244144fc3c5cc16086216dfd54550ec..633508934cb12c60fc459732b45238d6f1b0f45a 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/HttpService.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/HttpService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service; +package org.duniter.core.client.service; /* * #%L @@ -22,9 +22,9 @@ package io.ucoin.ucoinj.core.client.service; * #L% */ -import io.ucoin.ucoinj.core.beans.Service; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.service.exception.PeerConnectionException; +import org.duniter.core.beans.Service; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.service.exception.PeerConnectionException; import org.apache.http.client.methods.HttpUriRequest; /** diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/HttpServiceImpl.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/HttpServiceImpl.java similarity index 90% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/HttpServiceImpl.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/HttpServiceImpl.java index e0ac4968ad9d1a5a24203579baa1d7135e694706..4e7cdc899642793c372763c1ce2ab34fe7e4b47b 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/HttpServiceImpl.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/HttpServiceImpl.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service; +package org.duniter.core.client.service; /* * #%L @@ -23,15 +23,15 @@ package io.ucoin.ucoinj.core.client.service; */ import com.google.gson.Gson; -import io.ucoin.ucoinj.core.beans.InitializingBean; -import io.ucoin.ucoinj.core.client.config.Configuration; -import io.ucoin.ucoinj.core.client.model.bma.Error; -import io.ucoin.ucoinj.core.client.model.bma.gson.GsonUtils; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.service.exception.HttpBadRequestException; -import io.ucoin.ucoinj.core.client.service.exception.JsonSyntaxException; -import io.ucoin.ucoinj.core.client.service.exception.PeerConnectionException; -import io.ucoin.ucoinj.core.exception.TechnicalException; +import org.duniter.core.beans.InitializingBean; +import org.duniter.core.client.config.Configuration; +import org.duniter.core.client.model.bma.Error; +import org.duniter.core.client.model.bma.gson.GsonUtils; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.service.exception.HttpBadRequestException; +import org.duniter.core.client.service.exception.JsonSyntaxException; +import org.duniter.core.client.service.exception.PeerConnectionException; +import org.duniter.core.exception.TechnicalException; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import org.apache.http.client.HttpClient; @@ -190,24 +190,24 @@ public class HttpServiceImpl implements HttpService, Closeable, InitializingBean } case HttpStatus.SC_UNAUTHORIZED: case HttpStatus.SC_FORBIDDEN: - throw new TechnicalException("ucoinj.client.authentication"); + throw new TechnicalException("duniter4j.client.authentication"); case HttpStatus.SC_BAD_REQUEST: try { Error error = (Error)parseResponse(response, Error.class); throw new HttpBadRequestException(error); } catch(IOException e) { - throw new HttpBadRequestException("ucoinj.client.status" + response.getStatusLine().toString()); + throw new HttpBadRequestException("duniter4j.client.status" + response.getStatusLine().toString()); } default: - throw new TechnicalException("ucoinj.client.status" + response.getStatusLine().toString()); + throw new TechnicalException("duniter4j.client.status" + response.getStatusLine().toString()); } } catch (ConnectException e) { - throw new TechnicalException("ucoinj.client.core.connect", e); + throw new TechnicalException("duniter4j.client.core.connect", e); } catch (SocketTimeoutException e) { - throw new TechnicalException("ucoinj.client.core.timeout", e); + throw new TechnicalException("duniter4j.client.core.timeout", e); } catch (IOException e) { throw new TechnicalException(e.getMessage(), e); diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/ServiceLocator.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/ServiceLocator.java similarity index 84% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/ServiceLocator.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/ServiceLocator.java index 5762b375651d57683122ce2a89844c688c55d80e..c3b70e9e27678dad9dc0df97c974da792069d38e 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/ServiceLocator.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/ServiceLocator.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service; +package org.duniter.core.client.service; /* * #%L @@ -23,16 +23,16 @@ package io.ucoin.ucoinj.core.client.service; */ -import io.ucoin.ucoinj.core.beans.Bean; -import io.ucoin.ucoinj.core.beans.BeanFactory; -import io.ucoin.ucoinj.core.client.service.bma.BlockchainRemoteService; -import io.ucoin.ucoinj.core.client.service.bma.NetworkRemoteService; -import io.ucoin.ucoinj.core.client.service.bma.TransactionRemoteService; -import io.ucoin.ucoinj.core.client.service.bma.WotRemoteService; -import io.ucoin.ucoinj.core.client.service.elasticsearch.CurrencyRegistryRemoteService; -import io.ucoin.ucoinj.core.client.service.local.CurrencyService; -import io.ucoin.ucoinj.core.client.service.local.PeerService; -import io.ucoin.ucoinj.core.service.CryptoService; +import org.duniter.core.beans.Bean; +import org.duniter.core.beans.BeanFactory; +import org.duniter.core.client.service.bma.BlockchainRemoteService; +import org.duniter.core.client.service.bma.NetworkRemoteService; +import org.duniter.core.client.service.bma.TransactionRemoteService; +import org.duniter.core.client.service.bma.WotRemoteService; +import org.duniter.core.client.service.elasticsearch.CurrencyRegistryRemoteService; +import org.duniter.core.client.service.local.CurrencyService; +import org.duniter.core.client.service.local.PeerService; +import org.duniter.core.service.CryptoService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/BaseRemoteServiceImpl.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/BaseRemoteServiceImpl.java similarity index 83% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/BaseRemoteServiceImpl.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/BaseRemoteServiceImpl.java index 5b9e9fc2a1dd2dee22ec3d2b3c422b62d46a769c..753a6398639d87549b3a0cc6a9413c97c3bd03b1 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/BaseRemoteServiceImpl.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/BaseRemoteServiceImpl.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.bma; +package org.duniter.core.client.service.bma; /* * #%L @@ -22,13 +22,12 @@ package io.ucoin.ucoinj.core.client.service.bma; * #L% */ -import io.ucoin.ucoinj.core.beans.InitializingBean; -import io.ucoin.ucoinj.core.beans.Service; -import io.ucoin.ucoinj.core.client.model.bma.Protocol; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.service.HttpService; -import io.ucoin.ucoinj.core.client.service.local.PeerService; -import io.ucoin.ucoinj.core.client.service.ServiceLocator; +import org.duniter.core.beans.InitializingBean; +import org.duniter.core.beans.Service; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.service.HttpService; +import org.duniter.core.client.service.local.PeerService; +import org.duniter.core.client.service.ServiceLocator; import org.apache.http.client.methods.HttpUriRequest; import java.io.IOException; @@ -36,7 +35,7 @@ import java.io.IOException; /** * Created by eis on 05/02/15. */ -public abstract class BaseRemoteServiceImpl implements Service, InitializingBean{ +public abstract class BaseRemoteServiceImpl implements Service, InitializingBean { protected HttpService httpService; protected PeerService peerService; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/BlockchainRemoteService.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/BlockchainRemoteService.java similarity index 85% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/BlockchainRemoteService.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/BlockchainRemoteService.java index 77da05d82a4ab1b4a9267d29feb98124a296e2be..a272f1d6ee8bee382fa71a36ba0f2079ed24418e 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/BlockchainRemoteService.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/BlockchainRemoteService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.bma; +package org.duniter.core.client.service.bma; /* * #%L @@ -22,22 +22,19 @@ package io.ucoin.ucoinj.core.client.service.bma; * #L% */ -import io.ucoin.ucoinj.core.beans.Service; -import io.ucoin.ucoinj.core.client.model.local.Identity; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainBlock; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainMemberships; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainParameters; -import io.ucoin.ucoinj.core.client.model.local.Currency; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.model.local.Wallet; -import io.ucoin.ucoinj.core.client.service.exception.PubkeyAlreadyUsedException; -import io.ucoin.ucoinj.core.client.service.exception.UidAlreadyUsedException; -import io.ucoin.ucoinj.core.client.service.exception.UidMatchAnotherPubkeyException; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.util.websocket.WebsocketClientEndpoint; - -import java.net.URI; -import java.net.URISyntaxException; +import org.duniter.core.beans.Service; +import org.duniter.core.client.model.local.Identity; +import org.duniter.core.client.model.bma.BlockchainBlock; +import org.duniter.core.client.model.bma.BlockchainMemberships; +import org.duniter.core.client.model.bma.BlockchainParameters; +import org.duniter.core.client.model.local.Currency; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.model.local.Wallet; +import org.duniter.core.client.service.exception.PubkeyAlreadyUsedException; +import org.duniter.core.client.service.exception.UidAlreadyUsedException; +import org.duniter.core.client.service.exception.UidMatchAnotherPubkeyException; +import org.duniter.core.util.websocket.WebsocketClientEndpoint; + import java.util.Map; public interface BlockchainRemoteService extends Service { diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/BlockchainRemoteServiceImpl.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/BlockchainRemoteServiceImpl.java similarity index 94% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/BlockchainRemoteServiceImpl.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/BlockchainRemoteServiceImpl.java index 899c676fd0bebc3e4dbbc5b652fca0ff53f2d985..149bfcdc3d8a9a91c32b49e4df9c94422e88c2a8 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/BlockchainRemoteServiceImpl.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/BlockchainRemoteServiceImpl.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.bma; +package org.duniter.core.client.service.bma; /* * #%L @@ -22,29 +22,28 @@ package io.ucoin.ucoinj.core.client.service.bma; * #L% */ -import io.ucoin.ucoinj.core.client.config.Configuration; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainBlock; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainMemberships; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainParameters; -import io.ucoin.ucoinj.core.client.model.bma.Protocol; -import io.ucoin.ucoinj.core.client.model.bma.gson.JsonArrayParser; -import io.ucoin.ucoinj.core.client.model.local.Currency; -import io.ucoin.ucoinj.core.client.model.local.Identity; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.model.local.Wallet; -import io.ucoin.ucoinj.core.client.service.ServiceLocator; -import io.ucoin.ucoinj.core.client.service.exception.HttpBadRequestException; -import io.ucoin.ucoinj.core.client.service.exception.PubkeyAlreadyUsedException; -import io.ucoin.ucoinj.core.client.service.exception.UidAlreadyUsedException; -import io.ucoin.ucoinj.core.client.service.exception.UidMatchAnotherPubkeyException; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.service.CryptoService; -import io.ucoin.ucoinj.core.util.ObjectUtils; -import io.ucoin.ucoinj.core.util.StringUtils; -import io.ucoin.ucoinj.core.util.cache.Cache; -import io.ucoin.ucoinj.core.util.cache.SimpleCache; -import io.ucoin.ucoinj.core.util.crypto.CryptoUtils; -import io.ucoin.ucoinj.core.util.websocket.WebsocketClientEndpoint; +import org.duniter.core.client.config.Configuration; +import org.duniter.core.client.model.bma.BlockchainBlock; +import org.duniter.core.client.model.bma.BlockchainMemberships; +import org.duniter.core.client.model.bma.BlockchainParameters; +import org.duniter.core.client.model.bma.Protocol; +import org.duniter.core.client.model.bma.gson.JsonArrayParser; +import org.duniter.core.client.model.local.Identity; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.model.local.Wallet; +import org.duniter.core.client.service.ServiceLocator; +import org.duniter.core.client.service.exception.HttpBadRequestException; +import org.duniter.core.client.service.exception.PubkeyAlreadyUsedException; +import org.duniter.core.client.service.exception.UidAlreadyUsedException; +import org.duniter.core.client.service.exception.UidMatchAnotherPubkeyException; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.service.CryptoService; +import org.duniter.core.util.ObjectUtils; +import org.duniter.core.util.StringUtils; +import org.duniter.core.util.cache.Cache; +import org.duniter.core.util.cache.SimpleCache; +import org.duniter.core.util.crypto.CryptoUtils; +import org.duniter.core.util.websocket.WebsocketClientEndpoint; import org.apache.http.NameValuePair; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; @@ -214,12 +213,12 @@ public class BlockchainRemoteServiceImpl extends BaseRemoteServiceImpl implement } @Override - public Currency getCurrencyFromPeer(Peer peer) { + public org.duniter.core.client.model.local.Currency getCurrencyFromPeer(Peer peer) { BlockchainParameters parameter = getParameters(peer); BlockchainBlock firstBlock = getBlock(peer, 0); BlockchainBlock lastBlock = getCurrentBlock(peer); - Currency result = new Currency(); + org.duniter.core.client.model.local.Currency result = new org.duniter.core.client.model.local.Currency(); result.setCurrencyName(parameter.getCurrency()); result.setFirstBlockSignature(firstBlock.getSignature()); result.setMembersCount(lastBlock.getMembersCount()); diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/NetworkRemoteService.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/NetworkRemoteService.java similarity index 80% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/NetworkRemoteService.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/NetworkRemoteService.java index e7a86d06973c65d3526e3461004ee47cc9aca391..9e5da699dc8f689ef28850d97af1c4ea5e67531e 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/NetworkRemoteService.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/NetworkRemoteService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.bma; +package org.duniter.core.client.service.bma; /* * #%L @@ -22,10 +22,10 @@ package io.ucoin.ucoinj.core.client.service.bma; * #L% */ -import io.ucoin.ucoinj.core.beans.Service; -import io.ucoin.ucoinj.core.client.model.bma.EndpointProtocol; -import io.ucoin.ucoinj.core.client.model.bma.NetworkPeering; -import io.ucoin.ucoinj.core.client.model.local.Peer; +import org.duniter.core.beans.Service; +import org.duniter.core.client.model.bma.EndpointProtocol; +import org.duniter.core.client.model.bma.NetworkPeering; +import org.duniter.core.client.model.local.Peer; import java.util.List; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/NetworkRemoteServiceImpl.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/NetworkRemoteServiceImpl.java similarity index 92% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/NetworkRemoteServiceImpl.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/NetworkRemoteServiceImpl.java index 687970b24ecba7cdc2e00d0bb1daa5a3fd3b4f31..b00078dbffd8b247916966094dd7e2bf1f27e636 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/NetworkRemoteServiceImpl.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/NetworkRemoteServiceImpl.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.bma; +package org.duniter.core.client.service.bma; /* * #%L @@ -25,12 +25,12 @@ package io.ucoin.ucoinj.core.client.service.bma; import java.util.ArrayList; import java.util.List; -import io.ucoin.ucoinj.core.client.model.bma.EndpointProtocol; -import io.ucoin.ucoinj.core.client.model.bma.NetworkPeering; -import io.ucoin.ucoinj.core.client.model.bma.NetworkPeers; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.util.ObjectUtils; -import io.ucoin.ucoinj.core.util.StringUtils; +import org.duniter.core.client.model.bma.EndpointProtocol; +import org.duniter.core.client.model.bma.NetworkPeering; +import org.duniter.core.client.model.bma.NetworkPeers; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.util.ObjectUtils; +import org.duniter.core.util.StringUtils; /** * Created by eis on 05/02/15. diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/TransactionRemoteService.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/TransactionRemoteService.java similarity index 77% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/TransactionRemoteService.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/TransactionRemoteService.java index 4e0414ffb748e61b50bf35a7c9da15ed7892525f..762422251aed9d24ace64374a33ce065866b0f30 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/TransactionRemoteService.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/TransactionRemoteService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.bma; +package org.duniter.core.client.service.bma; /* * #%L @@ -23,12 +23,12 @@ package io.ucoin.ucoinj.core.client.service.bma; */ -import io.ucoin.ucoinj.core.beans.Service; -import io.ucoin.ucoinj.core.client.model.bma.TxHistory; -import io.ucoin.ucoinj.core.client.model.bma.TxSource; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.model.local.Wallet; -import io.ucoin.ucoinj.core.client.service.exception.InsufficientCreditException; +import org.duniter.core.beans.Service; +import org.duniter.core.client.model.bma.TxHistory; +import org.duniter.core.client.model.bma.TxSource; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.model.local.Wallet; +import org.duniter.core.client.service.exception.InsufficientCreditException; public interface TransactionRemoteService extends Service { diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/TransactionRemoteServiceImpl.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/TransactionRemoteServiceImpl.java similarity index 86% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/TransactionRemoteServiceImpl.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/TransactionRemoteServiceImpl.java index 91179e1bd712e5fef5f8b121476cac4ad5dfaf92..0548f3911c26807277191cf134588da0504982a6 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/TransactionRemoteServiceImpl.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/TransactionRemoteServiceImpl.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.bma; +package org.duniter.core.client.service.bma; /* * #%L @@ -23,20 +23,20 @@ package io.ucoin.ucoinj.core.client.service.bma; */ -import io.ucoin.ucoinj.core.client.model.TxOutput; -import io.ucoin.ucoinj.core.client.model.bma.Protocol; -import io.ucoin.ucoinj.core.client.model.bma.TxHistory; -import io.ucoin.ucoinj.core.client.model.bma.TxSource; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.model.local.Wallet; -import io.ucoin.ucoinj.core.client.service.ServiceLocator; -import io.ucoin.ucoinj.core.client.service.exception.InsufficientCreditException; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.service.CryptoService; -import io.ucoin.ucoinj.core.util.CollectionUtils; -import io.ucoin.ucoinj.core.util.ObjectUtils; -import io.ucoin.ucoinj.core.util.StringUtils; -import io.ucoin.ucoinj.core.util.crypto.DigestUtils; +import org.duniter.core.client.model.TxOutput; +import org.duniter.core.client.model.bma.Protocol; +import org.duniter.core.client.model.bma.TxHistory; +import org.duniter.core.client.model.bma.TxSource; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.model.local.Wallet; +import org.duniter.core.client.service.ServiceLocator; +import org.duniter.core.client.service.exception.InsufficientCreditException; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.service.CryptoService; +import org.duniter.core.util.CollectionUtils; +import org.duniter.core.util.ObjectUtils; +import org.duniter.core.util.StringUtils; +import org.duniter.core.util.crypto.DigestUtils; import org.apache.http.NameValuePair; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; @@ -266,29 +266,28 @@ public class TransactionRemoteServiceImpl extends BaseRemoteServiceImpl implemen // Inputs coins sb.append("Inputs:\n"); for (TxSource.Source input : inputs) { - // INDEX:SOURCE:NUMBER:FINGERPRINT:AMOUNT - sb.append(0).append(':').append(input.getType()).append(':') - .append(input.getNumber()).append(':') - .append(input.getFingerprint()).append(':') - .append(input.getAmount()).append('\n'); + // if D : D:PUBLIC_KEY:BLOCK_ID + // if T : T:T_HASH:T_INDEX + sb.append(input.getType()).append(':') + .append(input.getIdentifier()).append(':') + .append(input.getNoffset()).append('\n'); } // Unlocks - sb.append("Inputs:\n"); - for (TxSource.Source input : inputs) { - // INDEX:SOURCE:NUMBER:FINGERPRINT:AMOUNT - sb.append(0).append(':').append(input.getType()).append(':') - .append(input.getNumber()).append(':') - .append(input.getFingerprint()).append(':') - .append(input.getAmount()).append('\n'); + sb.append("Unlocks:\n"); + for (int i = 0; i< inputs.size() ; i++) { + // INPUT_INDEX:UNLOCK_CONDITION + sb.append(i).append(":SIG(0)").append('\n'); } // Output sb.append("Outputs:\n"); for (TxOutput output : outputs) { - // ISSUERS:AMOUNT - sb.append(output.getPubKey()).append(':') - .append(output.getAmount()).append('\n'); + // AMOUNT:BASE:CONDITIONS + sb.append(output.getAmount()).append(':') + .append(output.getBase()).append(':') + .append("SIG(").append(output.getPubKey()).append(')') + .append('\n'); } // Comment @@ -321,8 +320,8 @@ public class TransactionRemoteServiceImpl extends BaseRemoteServiceImpl implemen for (TxSource.Source input : inputs) { // INDEX:SOURCE:NUMBER:FINGERPRINT:AMOUNT sb.append(0).append(':').append(input.getType()).append(':') - .append(input.getNumber()).append(':') - .append(input.getFingerprint()).append(':') + .append(input.getIdentifier()).append(':') + .append(input.getNoffset()).append(':') .append(input.getAmount()).append('\n'); } diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/WotRemoteService.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/WotRemoteService.java similarity index 86% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/WotRemoteService.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/WotRemoteService.java index 37f0b443ac9c55a6dfe41c7c6cc28af69c8489d4..09fbe9c22895cde0847a613f9b7ba48b704b28b6 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/WotRemoteService.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/WotRemoteService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.bma; +package org.duniter.core.client.service.bma; /* * #%L @@ -22,13 +22,13 @@ package io.ucoin.ucoinj.core.client.service.bma; * #L% */ -import io.ucoin.ucoinj.core.beans.Service; -import io.ucoin.ucoinj.core.client.model.bma.WotCertification; -import io.ucoin.ucoinj.core.client.model.bma.WotLookup; -import io.ucoin.ucoinj.core.client.model.local.Certification; -import io.ucoin.ucoinj.core.client.model.local.Identity; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.model.local.Wallet; +import org.duniter.core.beans.Service; +import org.duniter.core.client.model.bma.WotCertification; +import org.duniter.core.client.model.bma.WotLookup; +import org.duniter.core.client.model.local.Certification; +import org.duniter.core.client.model.local.Identity; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.model.local.Wallet; import java.util.Collection; import java.util.List; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/WotRemoteServiceImpl.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/WotRemoteServiceImpl.java similarity index 97% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/WotRemoteServiceImpl.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/WotRemoteServiceImpl.java index 3ef399ca621e6c846f0f3461858b59e6df456544..2f762ca73d77142968d291204b956ae341a5845e 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/bma/WotRemoteServiceImpl.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/bma/WotRemoteServiceImpl.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.bma; +package org.duniter.core.client.service.bma; /* * #%L @@ -22,19 +22,19 @@ package io.ucoin.ucoinj.core.client.service.bma; * #L% */ -import io.ucoin.ucoinj.core.client.model.ModelUtils; -import io.ucoin.ucoinj.core.client.model.bma.*; -import io.ucoin.ucoinj.core.client.model.local.Certification; -import io.ucoin.ucoinj.core.client.model.local.Identity; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.model.local.Wallet; -import io.ucoin.ucoinj.core.client.service.ServiceLocator; -import io.ucoin.ucoinj.core.client.service.local.CurrencyService; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.service.CryptoService; -import io.ucoin.ucoinj.core.util.CollectionUtils; -import io.ucoin.ucoinj.core.util.ObjectUtils; -import io.ucoin.ucoinj.core.util.crypto.CryptoUtils; +import org.duniter.core.client.model.ModelUtils; +import org.duniter.core.client.model.bma.*; +import org.duniter.core.client.model.local.Certification; +import org.duniter.core.client.model.local.Identity; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.model.local.Wallet; +import org.duniter.core.client.service.ServiceLocator; +import org.duniter.core.client.service.local.CurrencyService; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.service.CryptoService; +import org.duniter.core.util.CollectionUtils; +import org.duniter.core.util.ObjectUtils; +import org.duniter.core.util.crypto.CryptoUtils; import org.apache.http.NameValuePair; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/elasticsearch/CurrencyRegistryRemoteService.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/elasticsearch/CurrencyRegistryRemoteService.java similarity index 83% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/elasticsearch/CurrencyRegistryRemoteService.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/elasticsearch/CurrencyRegistryRemoteService.java index 56f8fad24686422f49a2740e341cc3dad96cf850..67c042241108e90f7dbd51c3afe821d4c8f18e0d 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/elasticsearch/CurrencyRegistryRemoteService.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/elasticsearch/CurrencyRegistryRemoteService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.elasticsearch; +package org.duniter.core.client.service.elasticsearch; /* * #%L @@ -22,10 +22,10 @@ package io.ucoin.ucoinj.core.client.service.elasticsearch; * #L% */ -import io.ucoin.ucoinj.core.beans.Service; -import io.ucoin.ucoinj.core.client.model.elasticsearch.Currency; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.model.local.Wallet; +import org.duniter.core.beans.Service; +import org.duniter.core.client.model.elasticsearch.Currency; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.model.local.Wallet; import java.util.List; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/elasticsearch/CurrencyRegistryRemoteServiceImpl.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/elasticsearch/CurrencyRegistryRemoteServiceImpl.java similarity index 89% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/elasticsearch/CurrencyRegistryRemoteServiceImpl.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/elasticsearch/CurrencyRegistryRemoteServiceImpl.java index 4c452271a724776921e0cd9ff7d12b9b5eb51366..b11d7f7bfe071adb8f0abf769ec81bfe36406af4 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/elasticsearch/CurrencyRegistryRemoteServiceImpl.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/elasticsearch/CurrencyRegistryRemoteServiceImpl.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.elasticsearch; +package org.duniter.core.client.service.elasticsearch; /* * #%L @@ -24,18 +24,17 @@ package io.ucoin.ucoinj.core.client.service.elasticsearch; import com.google.common.base.Joiner; import com.google.gson.Gson; -import io.ucoin.ucoinj.core.beans.InitializingBean; -import io.ucoin.ucoinj.core.beans.Service; -import io.ucoin.ucoinj.core.client.config.Configuration; -import io.ucoin.ucoinj.core.client.model.bma.gson.GsonUtils; -import io.ucoin.ucoinj.core.client.model.elasticsearch.Currency; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.model.local.Wallet; -import io.ucoin.ucoinj.core.client.service.ServiceLocator; -import io.ucoin.ucoinj.core.client.service.bma.BaseRemoteServiceImpl; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.service.CryptoService; -import io.ucoin.ucoinj.core.util.StringUtils; +import org.duniter.core.beans.InitializingBean; +import org.duniter.core.client.config.Configuration; +import org.duniter.core.client.model.bma.gson.GsonUtils; +import org.duniter.core.client.model.elasticsearch.Currency; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.model.local.Wallet; +import org.duniter.core.client.service.ServiceLocator; +import org.duniter.core.client.service.bma.BaseRemoteServiceImpl; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.service.CryptoService; +import org.duniter.core.util.StringUtils; import org.apache.http.HttpStatus; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.utils.URIBuilder; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/HttpBadRequestException.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/HttpBadRequestException.java similarity index 89% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/HttpBadRequestException.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/HttpBadRequestException.java index 32cf18ad670badb1516e40ba87059f4212c78235..742c9cf6f59dca15811399e4f9a5186df929fdec 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/HttpBadRequestException.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/HttpBadRequestException.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.exception; +package org.duniter.core.client.service.exception; /* * #%L @@ -22,8 +22,8 @@ package io.ucoin.ucoinj.core.client.service.exception; * #L% */ -import io.ucoin.ucoinj.core.client.model.bma.Error; -import io.ucoin.ucoinj.core.exception.TechnicalException; +import org.duniter.core.client.model.bma.Error; +import org.duniter.core.exception.TechnicalException; /** * Created by eis on 11/02/15. diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/InsufficientCreditException.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/InsufficientCreditException.java similarity index 91% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/InsufficientCreditException.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/InsufficientCreditException.java index 2c8faf6339a338d4575bea8d4a1a71e6d1641642..20f0b1f0bc43399260b847d3ef436d34323c4557 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/InsufficientCreditException.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/InsufficientCreditException.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.exception; +package org.duniter.core.client.service.exception; /* * #%L @@ -23,7 +23,7 @@ package io.ucoin.ucoinj.core.client.service.exception; */ -import io.ucoin.ucoinj.core.exception.BusinessException; +import org.duniter.core.exception.BusinessException; public class InsufficientCreditException extends BusinessException { diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/JsonSyntaxException.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/JsonSyntaxException.java similarity index 91% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/JsonSyntaxException.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/JsonSyntaxException.java index 8602edbd5ed4c72ad49ff982771e966a91c5787e..1e3bc0896634125e49d15d96765c6df37da63d6a 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/JsonSyntaxException.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/JsonSyntaxException.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.exception; +package org.duniter.core.client.service.exception; /* * #%L @@ -22,7 +22,7 @@ package io.ucoin.ucoinj.core.client.service.exception; * #L% */ -import io.ucoin.ucoinj.core.exception.TechnicalException; +import org.duniter.core.exception.TechnicalException; /** * Created by blavenie on 05/01/16. diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/PeerConnectionException.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/PeerConnectionException.java similarity index 86% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/PeerConnectionException.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/PeerConnectionException.java index 11cfa18f05575bbf663e1997b0f62aefcdc30059..70f6fbce4f030ac3fdbc4f315a66b6cc30b8ffaf 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/PeerConnectionException.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/PeerConnectionException.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.exception; +package org.duniter.core.client.service.exception; /* * #%L @@ -22,12 +22,12 @@ package io.ucoin.ucoinj.core.client.service.exception; * #L% */ -import io.ucoin.ucoinj.core.exception.BusinessException; +import org.duniter.core.exception.BusinessException; /** * Created by eis on 05/02/15. */ -public class PeerConnectionException extends BusinessException{ +public class PeerConnectionException extends BusinessException { public PeerConnectionException() { super(); diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/PubkeyAlreadyUsedException.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/PubkeyAlreadyUsedException.java similarity index 91% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/PubkeyAlreadyUsedException.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/PubkeyAlreadyUsedException.java index 7da2e2af9369ca309038e4ab2ccc622fdc219da8..63eb4cd681953cc8dbff6bb6d53ddfc87cdbb8d3 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/PubkeyAlreadyUsedException.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/PubkeyAlreadyUsedException.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.exception; +package org.duniter.core.client.service.exception; /* * #%L @@ -22,12 +22,12 @@ package io.ucoin.ucoinj.core.client.service.exception; * #L% */ -import io.ucoin.ucoinj.core.exception.BusinessException; +import org.duniter.core.exception.BusinessException; /** * Created by eis on 11/02/15. */ -public class PubkeyAlreadyUsedException extends BusinessException{ +public class PubkeyAlreadyUsedException extends BusinessException { private static final long serialVersionUID = -5260280401104018980L; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/UidAlreadyUsedException.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/UidAlreadyUsedException.java similarity index 87% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/UidAlreadyUsedException.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/UidAlreadyUsedException.java index 382badffdfa4f798d0477a374c6151e5b5fad0a1..6067c9abde6450f5f74ac0649161d82f4f3599c4 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/UidAlreadyUsedException.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/UidAlreadyUsedException.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.exception; +package org.duniter.core.client.service.exception; /* * #%L @@ -22,12 +22,12 @@ package io.ucoin.ucoinj.core.client.service.exception; * #L% */ -import io.ucoin.ucoinj.core.exception.BusinessException; +import org.duniter.core.exception.BusinessException; /** * Created by eis on 11/02/15. */ -public class UidAlreadyUsedException extends BusinessException{ +public class UidAlreadyUsedException extends BusinessException { private static final long serialVersionUID = -5260280401104018980L; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/UidAndPubkeyNotFoundException.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/UidAndPubkeyNotFoundException.java similarity index 91% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/UidAndPubkeyNotFoundException.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/UidAndPubkeyNotFoundException.java index 269aea406c932c7ca12d470b2814b1734ace01eb..e3f50d3676adc1eb2b84ab20a5fe520b4f0488b9 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/UidAndPubkeyNotFoundException.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/UidAndPubkeyNotFoundException.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.exception; +package org.duniter.core.client.service.exception; /* * #%L @@ -22,12 +22,12 @@ package io.ucoin.ucoinj.core.client.service.exception; * #L% */ -import io.ucoin.ucoinj.core.exception.BusinessException; +import org.duniter.core.exception.BusinessException; /** * Created by eis on 11/02/15. */ -public class UidAndPubkeyNotFoundException extends BusinessException{ +public class UidAndPubkeyNotFoundException extends BusinessException { private static final long serialVersionUID = -5260280401104018980L; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/UidMatchAnotherPubkeyException.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/UidMatchAnotherPubkeyException.java similarity index 92% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/UidMatchAnotherPubkeyException.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/UidMatchAnotherPubkeyException.java index 42cc90a0dc95b1370293b116368c7a2cb131943e..48e9c4c78949dae5b34eec7dd4fea763d30d4943 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/exception/UidMatchAnotherPubkeyException.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/exception/UidMatchAnotherPubkeyException.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.exception; +package org.duniter.core.client.service.exception; /* * #%L @@ -22,7 +22,7 @@ package io.ucoin.ucoinj.core.client.service.exception; * #L% */ -import io.ucoin.ucoinj.core.exception.BusinessException; +import org.duniter.core.exception.BusinessException; /** * Created by eis on 11/02/15. diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/local/CurrencyService.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/local/CurrencyService.java similarity index 93% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/local/CurrencyService.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/local/CurrencyService.java index e527fa3e4f8b8e22ab145a1cc37d683492849914..3dbdd24659484c7f877680459bdcc7fc52af800a 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/local/CurrencyService.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/local/CurrencyService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.local; +package org.duniter.core.client.service.local; /* * #%L @@ -22,8 +22,8 @@ package io.ucoin.ucoinj.core.client.service.local; * #L% */ -import io.ucoin.ucoinj.core.beans.Service; -import io.ucoin.ucoinj.core.client.model.local.Currency; +import org.duniter.core.beans.Service; +import org.duniter.core.client.model.local.Currency; import java.util.List; import java.util.Map; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/local/CurrencyServiceImpl.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/local/CurrencyServiceImpl.java similarity index 93% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/local/CurrencyServiceImpl.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/local/CurrencyServiceImpl.java index acfc17f223fcb22acd3eb7b4ded22aa5cb8e1af6..a14816869547ba1d2c4f608aaa0cbb8c44fa4e14 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/local/CurrencyServiceImpl.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/local/CurrencyServiceImpl.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.local; +package org.duniter.core.client.service.local; /* * #%L @@ -22,15 +22,15 @@ package io.ucoin.ucoinj.core.client.service.local; * #L% */ -import io.ucoin.ucoinj.core.beans.InitializingBean; -import io.ucoin.ucoinj.core.client.dao.CurrencyDao; -import io.ucoin.ucoinj.core.client.model.local.Currency; -import io.ucoin.ucoinj.core.client.service.ServiceLocator; -import io.ucoin.ucoinj.core.client.service.bma.BlockchainRemoteService; -import io.ucoin.ucoinj.core.util.ObjectUtils; -import io.ucoin.ucoinj.core.util.StringUtils; -import io.ucoin.ucoinj.core.util.cache.Cache; -import io.ucoin.ucoinj.core.util.cache.SimpleCache; +import org.duniter.core.beans.InitializingBean; +import org.duniter.core.client.dao.CurrencyDao; +import org.duniter.core.client.model.local.Currency; +import org.duniter.core.client.service.ServiceLocator; +import org.duniter.core.client.service.bma.BlockchainRemoteService; +import org.duniter.core.util.ObjectUtils; +import org.duniter.core.util.StringUtils; +import org.duniter.core.util.cache.Cache; +import org.duniter.core.util.cache.SimpleCache; import java.io.IOException; import java.util.List; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/local/PeerService.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/local/PeerService.java similarity index 90% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/local/PeerService.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/local/PeerService.java index 1ce9198b839d30965ee7478953d5736b7fbfdabe..103e8a2b0d4f61fa3f2279b8d776430f7633b30e 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/local/PeerService.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/local/PeerService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.local; +package org.duniter.core.client.service.local; /* * #%L @@ -22,8 +22,8 @@ package io.ucoin.ucoinj.core.client.service.local; * #L% */ -import io.ucoin.ucoinj.core.beans.Service; -import io.ucoin.ucoinj.core.client.model.local.Peer; +import org.duniter.core.beans.Service; +import org.duniter.core.client.model.local.Peer; import java.util.List; diff --git a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/local/PeerServiceImpl.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/local/PeerServiceImpl.java similarity index 89% rename from ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/local/PeerServiceImpl.java rename to duniter4j-core-client/src/main/java/org/duniter/core/client/service/local/PeerServiceImpl.java index 6aa50a84c321c73bb7990961ca58baabca7c6da9..c40d34a813c919b67861a7122ca62c5f655a4547 100644 --- a/ucoinj-core-client/src/main/java/io/ucoin/ucoinj/core/client/service/local/PeerServiceImpl.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/service/local/PeerServiceImpl.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.local; +package org.duniter.core.client.service.local; /* * #%L @@ -22,17 +22,17 @@ package io.ucoin.ucoinj.core.client.service.local; * #L% */ -import io.ucoin.ucoinj.core.beans.InitializingBean; -import io.ucoin.ucoinj.core.client.dao.PeerDao; -import io.ucoin.ucoinj.core.client.model.local.Currency; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.service.ServiceLocator; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.util.CollectionUtils; -import io.ucoin.ucoinj.core.util.ObjectUtils; -import io.ucoin.ucoinj.core.util.StringUtils; -import io.ucoin.ucoinj.core.util.cache.Cache; -import io.ucoin.ucoinj.core.util.cache.SimpleCache; +import org.duniter.core.beans.InitializingBean; +import org.duniter.core.client.dao.PeerDao; +import org.duniter.core.client.model.local.Currency; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.service.ServiceLocator; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.util.CollectionUtils; +import org.duniter.core.util.ObjectUtils; +import org.duniter.core.util.StringUtils; +import org.duniter.core.util.cache.Cache; +import org.duniter.core.util.cache.SimpleCache; import java.io.IOException; import java.util.ArrayList; diff --git a/duniter4j-core-client/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider b/duniter4j-core-client/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider new file mode 100644 index 0000000000000000000000000000000000000000..2e0d6ef9009994b4f99ff2299b5ff3850b4f1892 --- /dev/null +++ b/duniter4j-core-client/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider @@ -0,0 +1 @@ +org.duniter.core.client.config.ConfigurationProvider diff --git a/ucoinj-core-client/src/main/resources/log4j.properties b/duniter4j-core-client/src/main/resources/log4j.properties similarity index 84% rename from ucoinj-core-client/src/main/resources/log4j.properties rename to duniter4j-core-client/src/main/resources/log4j.properties index b2fd2fc15a7643b69e464846753c54f220fbf163..d5aafd2484ff31ebeefdd3043dbb34df31a4eb55 100644 --- a/ucoinj-core-client/src/main/resources/log4j.properties +++ b/duniter4j-core-client/src/main/resources/log4j.properties @@ -8,8 +8,8 @@ log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %5p (%c:%L) - %m%n # ucoin levels -log4j.logger.io.ucoin=DEBUG -log4j.logger.io.ucoin.client.core.service.AbstractNetworkService=WARN +log4j.logger.org.duniter=DEBUG +log4j.logger.org.duniter.core.client.service.bma.AbstractNetworkService=WARN log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.file=ucoin-client.log diff --git a/ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/TestFixtures.java b/duniter4j-core-client/src/test/java/org/duniter/core/client/TestFixtures.java similarity index 88% rename from ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/TestFixtures.java rename to duniter4j-core-client/src/test/java/org/duniter/core/client/TestFixtures.java index 6fc82f03b8febc479704d6459899af9bfb0589fc..a08ab9ca7130c8d85bcd5e5c508c86739a9e08b8 100644 --- a/ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/TestFixtures.java +++ b/duniter4j-core-client/src/test/java/org/duniter/core/client/TestFixtures.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client; +package org.duniter.core.client; /* * #%L @@ -23,7 +23,7 @@ package io.ucoin.ucoinj.core.client; */ -public class TestFixtures extends io.ucoin.ucoinj.core.test.TestFixtures{ +public class TestFixtures extends org.duniter.core.test.TestFixtures { public long getDefaultCurrencyId() { diff --git a/ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/TestResource.java b/duniter4j-core-client/src/test/java/org/duniter/core/client/TestResource.java similarity index 88% rename from ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/TestResource.java rename to duniter4j-core-client/src/test/java/org/duniter/core/client/TestResource.java index 2eadccc47b1222c38267d45a5dd3506fb7a804ec..28d37dbd7cfc0f9d60788df39c13dd291ccc6321 100644 --- a/ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/TestResource.java +++ b/duniter4j-core-client/src/test/java/org/duniter/core/client/TestResource.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client; +package org.duniter.core.client; /* * #%L @@ -24,10 +24,10 @@ package io.ucoin.ucoinj.core.client; import com.google.common.collect.Lists; -import io.ucoin.ucoinj.core.client.config.Configuration; -import io.ucoin.ucoinj.core.client.config.ConfigurationOption; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.service.ServiceLocator; +import org.duniter.core.client.config.Configuration; +import org.duniter.core.client.config.ConfigurationOption; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.service.ServiceLocator; import org.apache.commons.io.FileUtils; import org.junit.runner.Description; import org.nuiton.i18n.I18n; @@ -41,7 +41,7 @@ import java.io.IOException; import java.util.List; import java.util.Locale; -public class TestResource extends io.ucoin.ucoinj.core.test.TestResource { +public class TestResource extends org.duniter.core.test.TestResource { private static final Logger log = LoggerFactory.getLogger(TestResource.class); @@ -53,13 +53,13 @@ public class TestResource extends io.ucoin.ucoinj.core.test.TestResource { return new TestResource(configName); } - private io.ucoin.ucoinj.core.client.TestFixtures fixtures = new io.ucoin.ucoinj.core.client.TestFixtures(); + private TestFixtures fixtures = new TestFixtures(); protected TestResource(String configName) { super(configName); } - public io.ucoin.ucoinj.core.client.TestFixtures getFixtures() { + public TestFixtures getFixtures() { return fixtures; } @@ -92,11 +92,11 @@ public class TestResource extends io.ucoin.ucoinj.core.test.TestResource { * @return the prefix to use to retrieve configuration files */ protected String getConfigFilesPrefix() { - return "ucoinj-core-client-test"; + return "duniter4j-core-client-test"; } protected String getI18nBundleName() { - return "ucoinj-core-client-i18n"; + return "duniter4j-core-client-i18n"; } /* -- -- */ diff --git a/ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/model/bma/gson/JsonArrayParserTest.java b/duniter4j-core-client/src/test/java/org/duniter/core/client/model/bma/gson/JsonArrayParserTest.java similarity index 96% rename from ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/model/bma/gson/JsonArrayParserTest.java rename to duniter4j-core-client/src/test/java/org/duniter/core/client/model/bma/gson/JsonArrayParserTest.java index 92d8a911f2ca990d90b073e197c54491f1ecf22c..2b1e6d596be3dc982b82d58fcbb7ba20346a7e07 100644 --- a/ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/model/bma/gson/JsonArrayParserTest.java +++ b/duniter4j-core-client/src/test/java/org/duniter/core/client/model/bma/gson/JsonArrayParserTest.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.model.bma.gson; +package org.duniter.core.client.model.bma.gson; /* * #%L diff --git a/ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/service/bma/BlockchainRemoteServiceTest.java b/duniter4j-core-client/src/test/java/org/duniter/core/client/service/bma/BlockchainRemoteServiceTest.java similarity index 87% rename from ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/service/bma/BlockchainRemoteServiceTest.java rename to duniter4j-core-client/src/test/java/org/duniter/core/client/service/bma/BlockchainRemoteServiceTest.java index 966730bc4947213638e379b8ecf2a6e27f6ec542..6cc3727362f7f0e051b8baf9d765c78b0db7a9fc 100644 --- a/ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/service/bma/BlockchainRemoteServiceTest.java +++ b/duniter4j-core-client/src/test/java/org/duniter/core/client/service/bma/BlockchainRemoteServiceTest.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.bma; +package org.duniter.core.client.service.bma; /* * #%L @@ -25,18 +25,18 @@ package io.ucoin.ucoinj.core.client.service.bma; import com.google.gson.Gson; import com.google.gson.JsonSyntaxException; -import io.ucoin.ucoinj.core.client.TestResource; -import io.ucoin.ucoinj.core.client.config.Configuration; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainBlock; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainParameters; -import io.ucoin.ucoinj.core.client.model.bma.ErrorCode; -import io.ucoin.ucoinj.core.client.model.bma.gson.GsonUtils; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.model.local.Wallet; -import io.ucoin.ucoinj.core.client.service.ServiceLocator; -import io.ucoin.ucoinj.core.client.service.exception.HttpBadRequestException; -import io.ucoin.ucoinj.core.util.crypto.CryptoUtils; -import io.ucoin.ucoinj.core.util.websocket.WebsocketClientEndpoint; +import org.duniter.core.client.TestResource; +import org.duniter.core.client.config.Configuration; +import org.duniter.core.client.model.bma.BlockchainBlock; +import org.duniter.core.client.model.bma.BlockchainParameters; +import org.duniter.core.client.model.bma.ErrorCode; +import org.duniter.core.client.model.bma.gson.GsonUtils; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.model.local.Wallet; +import org.duniter.core.client.service.ServiceLocator; +import org.duniter.core.client.service.exception.HttpBadRequestException; +import org.duniter.core.util.crypto.CryptoUtils; +import org.duniter.core.util.websocket.WebsocketClientEndpoint; import org.junit.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/service/bma/NetworkRemoteServiceTest.java b/duniter4j-core-client/src/test/java/org/duniter/core/client/service/bma/NetworkRemoteServiceTest.java similarity index 85% rename from ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/service/bma/NetworkRemoteServiceTest.java rename to duniter4j-core-client/src/test/java/org/duniter/core/client/service/bma/NetworkRemoteServiceTest.java index bc8909a602c85b2a8bb765a5da0f0523d817eecc..5544aee2482de27386ee170b4a20a7d4dd27c80a 100644 --- a/ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/service/bma/NetworkRemoteServiceTest.java +++ b/duniter4j-core-client/src/test/java/org/duniter/core/client/service/bma/NetworkRemoteServiceTest.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.bma; +package org.duniter.core.client.service.bma; /* * #%L @@ -23,12 +23,12 @@ package io.ucoin.ucoinj.core.client.service.bma; */ -import io.ucoin.ucoinj.core.client.TestResource; -import io.ucoin.ucoinj.core.client.config.Configuration; -import io.ucoin.ucoinj.core.client.model.bma.EndpointProtocol; -import io.ucoin.ucoinj.core.client.model.bma.NetworkPeering; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.service.ServiceLocator; +import org.duniter.core.client.TestResource; +import org.duniter.core.client.config.Configuration; +import org.duniter.core.client.model.bma.EndpointProtocol; +import org.duniter.core.client.model.bma.NetworkPeering; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.service.ServiceLocator; import org.junit.Assert; import org.junit.Before; import org.junit.ClassRule; diff --git a/ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/service/bma/TransactionRemoteServiceTest.java b/duniter4j-core-client/src/test/java/org/duniter/core/client/service/bma/TransactionRemoteServiceTest.java similarity index 86% rename from ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/service/bma/TransactionRemoteServiceTest.java rename to duniter4j-core-client/src/test/java/org/duniter/core/client/service/bma/TransactionRemoteServiceTest.java index 5b3dfdd8395b95ec579ba783c6cdb8d8dff397c8..fedb8309c4c15a7bab5c1e5f556866d6cb87e346 100644 --- a/ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/service/bma/TransactionRemoteServiceTest.java +++ b/duniter4j-core-client/src/test/java/org/duniter/core/client/service/bma/TransactionRemoteServiceTest.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.bma; +package org.duniter.core.client.service.bma; /* * #%L @@ -23,13 +23,13 @@ package io.ucoin.ucoinj.core.client.service.bma; */ -import io.ucoin.ucoinj.core.client.TestResource; -import io.ucoin.ucoinj.core.client.config.Configuration; -import io.ucoin.ucoinj.core.client.model.bma.TxSource; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.model.local.Wallet; -import io.ucoin.ucoinj.core.client.service.ServiceLocator; -import io.ucoin.ucoinj.core.util.crypto.CryptoUtils; +import org.duniter.core.client.TestResource; +import org.duniter.core.client.config.Configuration; +import org.duniter.core.client.model.bma.TxSource; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.model.local.Wallet; +import org.duniter.core.client.service.ServiceLocator; +import org.duniter.core.util.crypto.CryptoUtils; import org.junit.Assert; import org.junit.Before; import org.junit.ClassRule; diff --git a/ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/service/bma/WotRemoteServiceTest.java b/duniter4j-core-client/src/test/java/org/duniter/core/client/service/bma/WotRemoteServiceTest.java similarity index 87% rename from ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/service/bma/WotRemoteServiceTest.java rename to duniter4j-core-client/src/test/java/org/duniter/core/client/service/bma/WotRemoteServiceTest.java index 487e47b72c3b71ed82817d5527299108b258ee35..db37320572e0b3f0e2890ff1b6c890e8463fe006 100644 --- a/ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/service/bma/WotRemoteServiceTest.java +++ b/duniter4j-core-client/src/test/java/org/duniter/core/client/service/bma/WotRemoteServiceTest.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.bma; +package org.duniter.core.client.service.bma; /* * #%L @@ -23,17 +23,19 @@ package io.ucoin.ucoinj.core.client.service.bma; */ -import io.ucoin.ucoinj.core.client.TestResource; -import io.ucoin.ucoinj.core.client.config.Configuration; -import io.ucoin.ucoinj.core.client.model.bma.*; -import io.ucoin.ucoinj.core.client.model.local.Identity; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.model.local.Wallet; -import io.ucoin.ucoinj.core.client.service.ServiceLocator; -import io.ucoin.ucoinj.core.client.service.exception.HttpBadRequestException; -import io.ucoin.ucoinj.core.util.CollectionUtils; -import io.ucoin.ucoinj.core.util.crypto.CryptoUtils; -import io.ucoin.ucoinj.core.util.crypto.SecretBox; +import org.duniter.core.client.TestResource; +import org.duniter.core.client.config.Configuration; +import org.duniter.core.client.model.bma.ErrorCode; +import org.duniter.core.client.model.local.Identity; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.model.local.Wallet; +import org.duniter.core.client.service.ServiceLocator; +import org.duniter.core.client.service.exception.HttpBadRequestException; +import org.duniter.core.util.CollectionUtils; +import org.duniter.core.util.crypto.CryptoUtils; +import org.duniter.core.client.model.bma.BlockchainBlock; +import org.duniter.core.client.model.bma.WotCertification; +import org.duniter.core.client.model.bma.WotLookup; import org.junit.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/service/elasticsearch/CurrencyRegistryRemoteServiceTest.java b/duniter4j-core-client/src/test/java/org/duniter/core/client/service/elasticsearch/CurrencyRegistryRemoteServiceTest.java similarity index 88% rename from ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/service/elasticsearch/CurrencyRegistryRemoteServiceTest.java rename to duniter4j-core-client/src/test/java/org/duniter/core/client/service/elasticsearch/CurrencyRegistryRemoteServiceTest.java index 530a51e70f56779e4d489eda3564eb0198eb5d6c..03933ed7ed8a3310fd187bfb5b4f64fa8f5cb128 100644 --- a/ucoinj-core-client/src/test/java/io/ucoin/ucoinj/core/client/service/elasticsearch/CurrencyRegistryRemoteServiceTest.java +++ b/duniter4j-core-client/src/test/java/org/duniter/core/client/service/elasticsearch/CurrencyRegistryRemoteServiceTest.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.client.service.elasticsearch; +package org.duniter.core.client.service.elasticsearch; /* * #%L @@ -22,14 +22,14 @@ package io.ucoin.ucoinj.core.client.service.elasticsearch; * #L% */ -import io.ucoin.ucoinj.core.client.TestResource; -import io.ucoin.ucoinj.core.client.config.Configuration; -import io.ucoin.ucoinj.core.client.model.Currency; -import io.ucoin.ucoinj.core.client.model.bma.gson.GsonUtils; -import io.ucoin.ucoinj.core.client.model.local.Wallet; -import io.ucoin.ucoinj.core.client.service.ServiceLocator; -import io.ucoin.ucoinj.core.service.CryptoService; -import io.ucoin.ucoinj.core.util.crypto.CryptoUtils; +import org.duniter.core.client.TestResource; +import org.duniter.core.client.config.Configuration; +import org.duniter.core.client.model.Currency; +import org.duniter.core.client.model.bma.gson.GsonUtils; +import org.duniter.core.client.model.local.Wallet; +import org.duniter.core.client.service.ServiceLocator; +import org.duniter.core.service.CryptoService; +import org.duniter.core.util.crypto.CryptoUtils; import org.junit.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/duniter4j-core-client/src/test/resources/META-INF/services/org.duniter.core.beans.Bean b/duniter4j-core-client/src/test/resources/META-INF/services/org.duniter.core.beans.Bean new file mode 100644 index 0000000000000000000000000000000000000000..e4fdb2bbd7e5e975380f1b3256c23970d322ba73 --- /dev/null +++ b/duniter4j-core-client/src/test/resources/META-INF/services/org.duniter.core.beans.Bean @@ -0,0 +1,12 @@ +org.duniter.core.client.service.bma.BlockchainRemoteServiceImpl +org.duniter.core.client.service.bma.NetworkRemoteServiceImpl +org.duniter.core.client.service.bma.WotRemoteServiceImpl +org.duniter.core.client.service.bma.TransactionRemoteServiceImpl +org.duniter.core.client.service.elasticsearch.CurrencyRegistryRemoteServiceImpl +org.duniter.core.service.Ed25519CryptoServiceImpl +org.duniter.core.client.service.HttpServiceImpl +org.duniter.core.client.service.DataContext +org.duniter.core.client.service.local.PeerServiceImpl +org.duniter.core.client.service.local.CurrencyServiceImpl +org.duniter.core.client.dao.mem.MemoryCurrencyDaoImpl +org.duniter.core.client.dao.mem.MemoryPeerDaoImpl \ No newline at end of file diff --git a/duniter4j-core-client/src/test/resources/duniter4j-core-client-test.properties b/duniter4j-core-client/src/test/resources/duniter4j-core-client-test.properties new file mode 100644 index 0000000000000000000000000000000000000000..cde2f72e2d138f03ab5bfeb72dbf8468fa6baf2e --- /dev/null +++ b/duniter4j-core-client/src/test/resources/duniter4j-core-client-test.properties @@ -0,0 +1,15 @@ +#duniter4j.node.host=metab.ucoin.io +#duniter4j.node.host=metab.ucoin.fr + +#duniter4j.node.host=192.168.0.28 +#duniter4j.node.port=9201 + +duniter4j.node.host=twiced.fr +duniter4j.node.port=9330 + + +duniter4j.node.elasticsearch.host=localhost +duniter4j.node.elasticsearch.port=9200 + +#duniter4j.node.elasticsearch.rest.host=www.data.ucoin.fr +#duniter4j.node.elasticsearch.rest.port=80 diff --git a/ucoinj-core-client/src/test/resources/log4j.properties b/duniter4j-core-client/src/test/resources/log4j.properties similarity index 75% rename from ucoinj-core-client/src/test/resources/log4j.properties rename to duniter4j-core-client/src/test/resources/log4j.properties index aaa242d703bd3b591811389c3cd33fdf279c21ff..ba8baa96361d9d318fa87bd3b9f09318ef51c4f9 100644 --- a/ucoinj-core-client/src/test/resources/log4j.properties +++ b/duniter4j-core-client/src/test/resources/log4j.properties @@ -8,10 +8,10 @@ log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %5p (%c:%L) - %m%n # ucoin levels -log4j.logger.io.ucoin.ucoinj=INFO -#log4j.logger.io.ucoin.ucoinj.core.client.service=DEBUG -log4j.logger.io.ucoin.ucoinj.core.client.service.bma=DEBUG -log4j.logger.io.ucoin.ucoinj.core.beans=WARN +log4j.logger.org.duniter=INFO +#log4j.logger.org.duniter.core.client.service=DEBUG +log4j.logger.org.duniter.core.client.service.bma=DEBUG +log4j.logger.org.duniter.core.beans=WARN log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.file=ucoin-client.log diff --git a/ucoinj-core-shared/LICENSE b/duniter4j-core-shared/LICENSE similarity index 100% rename from ucoinj-core-shared/LICENSE rename to duniter4j-core-shared/LICENSE diff --git a/ucoinj-core-shared/lib/sodium.dll b/duniter4j-core-shared/lib/sodium.dll similarity index 100% rename from ucoinj-core-shared/lib/sodium.dll rename to duniter4j-core-shared/lib/sodium.dll diff --git a/ucoinj-core-shared/pom.xml b/duniter4j-core-shared/pom.xml similarity index 92% rename from ucoinj-core-shared/pom.xml rename to duniter4j-core-shared/pom.xml index 86d94fd2500d8341101a3494db0656390d6feb8f..a65dc535fa17d7bed5892e635fbf9fd73b274f15 100644 --- a/ucoinj-core-shared/pom.xml +++ b/duniter4j-core-shared/pom.xml @@ -2,18 +2,18 @@ <modelVersion>4.0.0</modelVersion> <parent> - <groupId>io.ucoin</groupId> - <artifactId>ucoinj</artifactId> + <groupId>org.duniter</groupId> + <artifactId>duniter4j</artifactId> <version>0.1-SNAPSHOT</version> </parent> - <groupId>io.ucoin</groupId> - <artifactId>ucoinj-core-shared</artifactId> + <groupId>org.duniter</groupId> + <artifactId>duniter4j-core-shared</artifactId> <packaging>jar</packaging> - <name>UCoin Java :: Core Shared</name> + <name>Duniter4j :: Core Shared</name> <properties> - <i18n.bundleOutputName>ucoinj-core-i18n</i18n.bundleOutputName> + <i18n.bundleOutputName>duniter4j-core-i18n</i18n.bundleOutputName> <i18n.generateCsvFile>true</i18n.generateCsvFile> <i18n.bundleCsvFile> ${maven.gen.dir}/resources/META-INF/${i18n.bundleOutputName}.csv @@ -21,7 +21,6 @@ <config.i18nBundleName>${i18n.bundleOutputName}</config.i18nBundleName> <maven.jar.main.class> - io.ucoin.client.core.UCoinClientCore </maven.jar.main.class> </properties> diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/beans/Bean.java b/duniter4j-core-shared/src/main/java/org/duniter/core/beans/Bean.java similarity index 95% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/beans/Bean.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/beans/Bean.java index 344bc38d3c31687308695db8ca6cb7dd5cf8081b..104a9553d90f60aee2bda8f3f659d7a3de0e86cb 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/beans/Bean.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/beans/Bean.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.beans; +package org.duniter.core.beans; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/beans/BeanFactory.java b/duniter4j-core-shared/src/main/java/org/duniter/core/beans/BeanFactory.java similarity index 97% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/beans/BeanFactory.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/beans/BeanFactory.java index 941397ae75098312d25f69eaac115d5bfd2a7bb4..71f975a7532135efe4019838ae1e7f9d7999ea08 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/beans/BeanFactory.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/beans/BeanFactory.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.beans; +package org.duniter.core.beans; /* * #%L @@ -22,7 +22,7 @@ package io.ucoin.ucoinj.core.beans; * #L% */ -import io.ucoin.ucoinj.core.exception.TechnicalException; +import org.duniter.core.exception.TechnicalException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/beans/InitializingBean.java b/duniter4j-core-shared/src/main/java/org/duniter/core/beans/InitializingBean.java similarity index 96% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/beans/InitializingBean.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/beans/InitializingBean.java index d121d1e6e94aa283cecf93fb7ba7438d9e15c856..c3e3648feca16c5e950d3177a0b501a479fe6bae 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/beans/InitializingBean.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/beans/InitializingBean.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.beans; +package org.duniter.core.beans; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/beans/Service.java b/duniter4j-core-shared/src/main/java/org/duniter/core/beans/Service.java similarity index 96% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/beans/Service.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/beans/Service.java index 152daf1fdc99b47a57ee4823fb85dc3c874418c4..44fdfb509bf2b6273965dea036e6d97679b2d6ae 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/beans/Service.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/beans/Service.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.beans; +package org.duniter.core.beans; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/exception/BusinessException.java b/duniter4j-core-shared/src/main/java/org/duniter/core/exception/BusinessException.java similarity index 97% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/exception/BusinessException.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/exception/BusinessException.java index ede4ac46bdd103ead16807ee4280fa70db8d147d..44e87d20ea967c40030e6f0f40a6e2fe79428f3f 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/exception/BusinessException.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/exception/BusinessException.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.exception; +package org.duniter.core.exception; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/exception/TechnicalException.java b/duniter4j-core-shared/src/main/java/org/duniter/core/exception/TechnicalException.java similarity index 97% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/exception/TechnicalException.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/exception/TechnicalException.java index ab430c542aabc4013c6521533316f8f9b33deb02..7ee6bf94d8a94caab999560cf5957f4862b10a6a 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/exception/TechnicalException.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/exception/TechnicalException.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.exception; +package org.duniter.core.exception; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/model/ProgressionModel.java b/duniter4j-core-shared/src/main/java/org/duniter/core/model/ProgressionModel.java similarity index 98% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/model/ProgressionModel.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/model/ProgressionModel.java index 8748457275d5448db40cf9c0cf8b26f28df44644..714c6b64e97f9a572dc8d1bf325df7638958d8ee 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/model/ProgressionModel.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/model/ProgressionModel.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.model; +package org.duniter.core.model; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/model/ProgressionModelImpl.java b/duniter4j-core-shared/src/main/java/org/duniter/core/model/ProgressionModelImpl.java similarity index 85% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/model/ProgressionModelImpl.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/model/ProgressionModelImpl.java index e11cb2108b033527d3e1beae85794c0d18da7d38..0a2f94595d2c8fc62bfb021d4f595fbc62eb57e0 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/model/ProgressionModelImpl.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/model/ProgressionModelImpl.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.model; +package org.duniter.core.model; /* * #%L @@ -78,7 +78,7 @@ public class ProgressionModelImpl implements ProgressionModel, Serializable { public synchronized void setTask(String task) { String oldValue = this.task; this.task = task; - propertyChangeSupport.firePropertyChange(ProgressionModel.PROPERTY_TASK, oldValue, this.task); + propertyChangeSupport.firePropertyChange(PROPERTY_TASK, oldValue, this.task); setMessage(task); } @@ -91,14 +91,14 @@ public class ProgressionModelImpl implements ProgressionModel, Serializable { public synchronized void setMessage(String progressionMessage) { String oldValue = this.message; this.message = progressionMessage; - propertyChangeSupport.firePropertyChange(ProgressionModel.PROPERTY_MESSAGE, oldValue, this.message); + propertyChangeSupport.firePropertyChange(PROPERTY_MESSAGE, oldValue, this.message); } @Override public synchronized void setTotal(int total) { int oldValue = this.total; this.total = total; - propertyChangeSupport.firePropertyChange(ProgressionModel.PROPERTY_TOTAL, oldValue, this.total); + propertyChangeSupport.firePropertyChange(PROPERTY_TOTAL, oldValue, this.total); } @Override @@ -110,7 +110,7 @@ public class ProgressionModelImpl implements ProgressionModel, Serializable { public synchronized void setCurrent(int current) { int oldValue = this.current; this.current = current; - propertyChangeSupport.firePropertyChange(ProgressionModel.PROPERTY_CURRENT, oldValue, this.current); + propertyChangeSupport.firePropertyChange(PROPERTY_CURRENT, oldValue, this.current); } @Override @@ -143,7 +143,7 @@ public class ProgressionModelImpl implements ProgressionModel, Serializable { if (!cancel) { boolean oldValue = this.cancel; this.cancel = true; - propertyChangeSupport.firePropertyChange(ProgressionModel.PROPERTY_CANCEL, oldValue, this.cancel); + propertyChangeSupport.firePropertyChange(PROPERTY_CANCEL, oldValue, this.cancel); } } @@ -159,7 +159,7 @@ public class ProgressionModelImpl implements ProgressionModel, Serializable { public synchronized void setStatus(Status progressionStatus) { Status oldValue = this.status; this.status = progressionStatus; - propertyChangeSupport.firePropertyChange(ProgressionModel.PROPERTY_STATUS, oldValue, this.status); + propertyChangeSupport.firePropertyChange(PROPERTY_STATUS, oldValue, this.status); } diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/service/CryptoService.java b/duniter4j-core-shared/src/main/java/org/duniter/core/service/CryptoService.java similarity index 93% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/service/CryptoService.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/service/CryptoService.java index e2030dd506cb20463b005466a5e8f4c6fd328f88..2da1b39d93016041f32ab44c8fb406c6566f95f0 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/service/CryptoService.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/service/CryptoService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.service; +package org.duniter.core.service; /* * #%L @@ -23,8 +23,8 @@ package io.ucoin.ucoinj.core.service; */ -import io.ucoin.ucoinj.core.beans.Bean; -import io.ucoin.ucoinj.core.util.crypto.KeyPair; +import org.duniter.core.beans.Bean; +import org.duniter.core.util.crypto.KeyPair; /** diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/service/Ed25519CryptoServiceImpl.java b/duniter4j-core-shared/src/main/java/org/duniter/core/service/Ed25519CryptoServiceImpl.java similarity index 78% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/service/Ed25519CryptoServiceImpl.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/service/Ed25519CryptoServiceImpl.java index d3fd5e68cc50584f022d0d78f4a07d85b7b36a84..57575d810e83fb1daefc00455de952ee69b83509 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/service/Ed25519CryptoServiceImpl.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/service/Ed25519CryptoServiceImpl.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.service; +package org.duniter.core.service; /* * #%L @@ -24,18 +24,16 @@ package io.ucoin.ucoinj.core.service; import com.lambdaworks.crypto.SCrypt; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.util.crypto.CryptoUtils; -import io.ucoin.ucoinj.core.util.crypto.KeyPair; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.util.crypto.CryptoUtils; +import org.duniter.core.util.crypto.KeyPair; import jnr.ffi.byref.LongLongByReference; import org.abstractj.kalium.NaCl; import org.abstractj.kalium.NaCl.Sodium; +import org.abstractj.kalium.crypto.Util; -import java.math.BigInteger; import java.security.GeneralSecurityException; -import static io.ucoin.ucoinj.core.util.crypto.CryptoUtils.*; - /** * Crypto services (sign...) @@ -72,8 +70,8 @@ public class Ed25519CryptoServiceImpl implements CryptoService { public byte[] getSeed(String salt, String password) { try { byte[] seed = SCrypt.scrypt( - decodeAscii(password), - decodeAscii(salt), + CryptoUtils.decodeAscii(password), + CryptoUtils.decodeAscii(salt), SCRYPT_PARAMS_N, SCRYPT_PARAMS_r, SCRYPT_PARAMS_p, SEED_BYTES); return seed; @@ -91,9 +89,9 @@ public class Ed25519CryptoServiceImpl implements CryptoService { @Override public KeyPair getKeyPairFromSeed(byte[] seed) { - byte[] secretKey = zeros(SECRETKEY_BYTES); - byte[] publicKey = zeros(PUBLICKEY_BYTES); - isValid(naCl.crypto_sign_ed25519_seed_keypair(publicKey, secretKey, seed), + byte[] secretKey = CryptoUtils.zeros(SECRETKEY_BYTES); + byte[] publicKey = CryptoUtils.zeros(PUBLICKEY_BYTES); + Util.isValid(naCl.crypto_sign_ed25519_seed_keypair(publicKey, secretKey, seed), "Failed to generate a key pair"); return new KeyPair(publicKey, secretKey); @@ -101,33 +99,33 @@ public class Ed25519CryptoServiceImpl implements CryptoService { @Override public String sign(String message, byte[] secretKey) { - byte[] messageBinary = decodeUTF8(message); - return encodeBase64( + byte[] messageBinary = CryptoUtils.decodeUTF8(message); + return CryptoUtils.encodeBase64( sign(messageBinary, secretKey) ); } @Override public String sign(String message, String secretKey) { - byte[] messageBinary = decodeUTF8(message); - byte[] secretKeyBinary = decodeBase58(secretKey); - return encodeBase64( + byte[] messageBinary = CryptoUtils.decodeUTF8(message); + byte[] secretKeyBinary = CryptoUtils.decodeBase58(secretKey); + return CryptoUtils.encodeBase64( sign(messageBinary, secretKeyBinary) ); } @Override public boolean verify(String message, String signature, String publicKey) { - byte[] messageBinary = decodeUTF8(message); - byte[] signatureBinary = decodeBase64(signature); - byte[] publicKeyBinary = decodeBase58(publicKey); + byte[] messageBinary = CryptoUtils.decodeUTF8(message); + byte[] signatureBinary = CryptoUtils.decodeBase64(signature); + byte[] publicKeyBinary = CryptoUtils.decodeBase58(publicKey); return verify(messageBinary, signatureBinary, publicKeyBinary); } @Override public String hash(String message) { byte[] hash = new byte[Sodium.SHA256BYTES]; - byte[] messageBinary = decodeUTF8(message); + byte[] messageBinary = CryptoUtils.decodeUTF8(message); naCl.crypto_hash_sha256(hash, messageBinary, messageBinary.length); return bytesToHex(hash).toUpperCase(); } @@ -135,12 +133,12 @@ public class Ed25519CryptoServiceImpl implements CryptoService { /* -- Internal methods -- */ protected byte[] sign(byte[] message, byte[] secretKey) { - byte[] signature = prependZeros(SIGNATURE_BYTES, message); + byte[] signature = Util.prependZeros(SIGNATURE_BYTES, message); LongLongByReference smLen = new LongLongByReference(0); naCl.crypto_sign_ed25519(signature, smLen, message, message.length, secretKey); - signature = slice(signature, 0, SIGNATURE_BYTES); + signature = Util.slice(signature, 0, SIGNATURE_BYTES); - checkLength(signature, SIGNATURE_BYTES); + Util.checkLength(signature, SIGNATURE_BYTES); return signature; } diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/test/TestFixtures.java b/duniter4j-core-shared/src/main/java/org/duniter/core/test/TestFixtures.java similarity index 96% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/test/TestFixtures.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/test/TestFixtures.java index 8ec6f536ef0aa4ffb6a44e9003e53360c7621216..6cbe16429f1aa9be55c958631a2b7465821de987 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/test/TestFixtures.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/test/TestFixtures.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.test; +package org.duniter.core.test; /* * #%L @@ -27,11 +27,11 @@ package io.ucoin.ucoinj.core.test; public class TestFixtures { public String getCurrency() { - return "super_currency"; + return "test_net"; } public String getUid() { - return "abc"; + return "gab"; } public String getUserSalt() { diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/test/TestResource.java b/duniter4j-core-shared/src/main/java/org/duniter/core/test/TestResource.java similarity index 96% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/test/TestResource.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/test/TestResource.java index e7b06bdc4f0c9a49ebef433f2fcb4ca23d19487d..4bd2475e678610afb14befb072828541d475e7ff 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/test/TestResource.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/test/TestResource.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.test; +package org.duniter.core.test; /* * #%L @@ -24,8 +24,8 @@ package io.ucoin.ucoinj.core.test; import com.google.common.base.Preconditions; -import io.ucoin.ucoinj.core.util.FileUtils; -import io.ucoin.ucoinj.core.util.StringUtils; +import org.duniter.core.util.FileUtils; +import org.duniter.core.util.StringUtils; import org.abstractj.kalium.NaCl; import org.junit.rules.TestRule; import org.junit.runner.Description; @@ -129,7 +129,7 @@ public class TestResource implements TestRule { * @return the prefix to use to retrieve configuration files */ protected String getConfigFilesPrefix() { - return "ucoinj-test"; + return "duniter4j-test"; } protected File getTestSpecificDirectory(Class<?> testClass, String name) throws IOException { diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/CollectionUtils.java b/duniter4j-core-shared/src/main/java/org/duniter/core/util/CollectionUtils.java similarity index 98% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/CollectionUtils.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/util/CollectionUtils.java index 63d5646ff39511241b617830659a5b5d25845df3..f686b38b7fd876bc5f923875d11e642ec99b1bd2 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/CollectionUtils.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/util/CollectionUtils.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.util; +package org.duniter.core.util; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/CommandLinesUtils.java b/duniter4j-core-shared/src/main/java/org/duniter/core/util/CommandLinesUtils.java similarity index 97% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/CommandLinesUtils.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/util/CommandLinesUtils.java index afb9a021645b06451b566910985601b528a6e170..6b254663abed86d6412d4c776847d69420a4492a 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/CommandLinesUtils.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/util/CommandLinesUtils.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.util; +package org.duniter.core.util; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/FileUtils.java b/duniter4j-core-shared/src/main/java/org/duniter/core/util/FileUtils.java similarity index 97% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/FileUtils.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/util/FileUtils.java index 452f6a3abc060612516321ba339699a275e2b5fc..c3a21550dd03143e2c28725b8b736a0508f156cb 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/FileUtils.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/util/FileUtils.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.util; +package org.duniter.core.util; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/ObjectUtils.java b/duniter4j-core-shared/src/main/java/org/duniter/core/util/ObjectUtils.java similarity index 98% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/ObjectUtils.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/util/ObjectUtils.java index 7a99f0033fb17d34cc04bb03762df167ad5b91bf..533ea93ac2b4887eb59b284e68a246d7762c4b31 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/ObjectUtils.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/util/ObjectUtils.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.util; +package org.duniter.core.util; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/StringUtils.java b/duniter4j-core-shared/src/main/java/org/duniter/core/util/StringUtils.java similarity index 98% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/StringUtils.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/util/StringUtils.java index b47620917b5fd32c7d30f7e3f2ff2df679b79f8a..944a563365d62855d18f44a3fac9453bf86ad235 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/StringUtils.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/util/StringUtils.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.util; +package org.duniter.core.util; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/cache/Cache.java b/duniter4j-core-shared/src/main/java/org/duniter/core/util/cache/Cache.java similarity index 97% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/cache/Cache.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/util/cache/Cache.java index 6fdfb7504bc7d68b838dcfca1cbedfaff0eac75c..9c19ca8872c24ab8f79a52429891b899f5837afe 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/cache/Cache.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/util/cache/Cache.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.util.cache; +package org.duniter.core.util.cache; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/cache/SimpleCache.java b/duniter4j-core-shared/src/main/java/org/duniter/core/util/cache/SimpleCache.java similarity index 99% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/cache/SimpleCache.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/util/cache/SimpleCache.java index dc5ec7408680b0f73680f60635e3f85e23b9327d..b7496dc94a13e518af17ca82460d609a70589eec 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/cache/SimpleCache.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/util/cache/SimpleCache.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.util.cache; +package org.duniter.core.util.cache; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/AddressFormatException.java b/duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/AddressFormatException.java similarity index 95% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/AddressFormatException.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/AddressFormatException.java index 7c535bc16bc7c1453003cba6fc4cee8225817bae..52a522087c8181b98159364ac109ba06b59e20b3 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/AddressFormatException.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/AddressFormatException.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.util.crypto; +package org.duniter.core.util.crypto; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/Base58.java b/duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/Base58.java similarity index 99% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/Base58.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/Base58.java index 9a71909f0e3cfe7cea8f351f720c88a3d9e2239f..afe2175e86d5c6c853aee74e19e59f79f9f139e2 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/Base58.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/Base58.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.util.crypto; +package org.duniter.core.util.crypto; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/CryptoUtils.java b/duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/CryptoUtils.java similarity index 95% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/CryptoUtils.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/CryptoUtils.java index 63affb21d1441e274234ecd1b4fc858137465121..3451ff62fa3bd4e5511777fe11a6ad559cbd67ba 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/CryptoUtils.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/CryptoUtils.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.util.crypto; +package org.duniter.core.util.crypto; /* * #%L @@ -24,7 +24,7 @@ package io.ucoin.ucoinj.core.util.crypto; import com.lambdaworks.codec.Base64; -import io.ucoin.ucoinj.core.exception.TechnicalException; +import org.duniter.core.exception.TechnicalException; import org.abstractj.kalium.crypto.Util; import java.nio.charset.Charset; diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/DigestUtils.java b/duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/DigestUtils.java similarity index 98% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/DigestUtils.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/DigestUtils.java index 63d1afebcae7ad5d452d93180a5bd1f4e5d59c8c..da072505968ed428a91abc238ba4bcbd47d51666 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/DigestUtils.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/DigestUtils.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.util.crypto; +package org.duniter.core.util.crypto; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/KeyPair.java b/duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/KeyPair.java similarity index 96% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/KeyPair.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/KeyPair.java index d7b84f1c52275a44dbe54e95ab03fb1c0e00d716..e77a371b4eb74e5fec840128f34ac99b8130f016 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/KeyPair.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/KeyPair.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.util.crypto; +package org.duniter.core.util.crypto; /* * #%L diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/SecretBox.java b/duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/SecretBox.java similarity index 87% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/SecretBox.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/SecretBox.java index 9bd943098e558cc0a1cb5b29a8458431a008b9eb..bf866d8dd6d9e0aa00f799024f588269cfe1685b 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/crypto/SecretBox.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/util/crypto/SecretBox.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.util.crypto; +package org.duniter.core.util.crypto; /* * #%L @@ -24,15 +24,13 @@ package io.ucoin.ucoinj.core.util.crypto; import com.lambdaworks.crypto.SCrypt; -import io.ucoin.ucoinj.core.exception.TechnicalException; +import org.duniter.core.exception.TechnicalException; import jnr.ffi.byref.LongLongByReference; import org.abstractj.kalium.crypto.Util; import java.security.GeneralSecurityException; -import static io.ucoin.ucoinj.core.util.crypto.CryptoUtils.*; -import static io.ucoin.ucoinj.core.util.crypto.CryptoUtils.slice; -import static io.ucoin.ucoinj.core.util.crypto.CryptoUtils.zeros; +import static org.duniter.core.util.crypto.CryptoUtils.zeros; import static org.abstractj.kalium.NaCl.Sodium.*; import static org.abstractj.kalium.NaCl.sodium; import static org.abstractj.kalium.crypto.Util.checkLength; @@ -60,8 +58,8 @@ public class SecretBox { public SecretBox(byte[] seed) { checkLength(seed, SEED_LENGTH); this.seed = seed; - this.secretKey = zeros(SECRETKEY_BYTES * 2); - byte[] publicKey = zeros(PUBLICKEY_BYTES); + this.secretKey = CryptoUtils.zeros(SECRETKEY_BYTES * 2); + byte[] publicKey = CryptoUtils.zeros(PUBLICKEY_BYTES); isValid(sodium().crypto_sign_ed25519_seed_keypair(publicKey, secretKey, seed), "Failed to generate a key pair"); this.pubKey = Base58.encode(publicKey); @@ -84,8 +82,8 @@ public class SecretBox { } public String sign(String message) { - byte[] messageBinary = decodeUTF8(message); - return encodeBase64( + byte[] messageBinary = CryptoUtils.decodeUTF8(message); + return CryptoUtils.encodeBase64( sign(messageBinary) ); } @@ -94,7 +92,7 @@ public class SecretBox { byte[] signature = Util.prependZeros(SIGNATURE_BYTES, message); LongLongByReference bufferLen = new LongLongByReference(0); sodium().crypto_sign_ed25519(signature, bufferLen, message, message.length, secretKey); - signature = slice(signature, 0, SIGNATURE_BYTES); + signature = Util.slice(signature, 0, SIGNATURE_BYTES); checkLength(signature, SIGNATURE_BYTES); return signature; @@ -124,8 +122,8 @@ public class SecretBox { public static byte[] computeSeedFromSaltAndPassword(String salt, String password) { try { byte[] seed = SCrypt.scrypt( - decodeAscii(password), - decodeAscii(salt), + CryptoUtils.decodeAscii(password), + CryptoUtils.decodeAscii(salt), SCRYPT_PARAMS_N, SCRYPT_PARAMS_r, SCRYPT_PARAMS_p, SEED_LENGTH); return seed; diff --git a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/websocket/WebsocketClientEndpoint.java b/duniter4j-core-shared/src/main/java/org/duniter/core/util/websocket/WebsocketClientEndpoint.java similarity index 97% rename from ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/websocket/WebsocketClientEndpoint.java rename to duniter4j-core-shared/src/main/java/org/duniter/core/util/websocket/WebsocketClientEndpoint.java index 84744898a1b5c852788c04b368a6b8b58f3e378e..c0f674c173770ab89aa6a5e9cbc62039878138d2 100644 --- a/ucoinj-core-shared/src/main/java/io/ucoin/ucoinj/core/util/websocket/WebsocketClientEndpoint.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/util/websocket/WebsocketClientEndpoint.java @@ -1,7 +1,7 @@ -package io.ucoin.ucoinj.core.util.websocket; +package org.duniter.core.util.websocket; import com.google.common.collect.Lists; -import io.ucoin.ucoinj.core.util.CollectionUtils; +import org.duniter.core.util.CollectionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/duniter4j-core-shared/src/main/resources/META-INF/services/org.duniter.core.beans.Bean b/duniter4j-core-shared/src/main/resources/META-INF/services/org.duniter.core.beans.Bean new file mode 100644 index 0000000000000000000000000000000000000000..9f44afdb46ce426cae8cc2c9237126f47a4c41f7 --- /dev/null +++ b/duniter4j-core-shared/src/main/resources/META-INF/services/org.duniter.core.beans.Bean @@ -0,0 +1 @@ +org.duniter.core.service.Ed25519CryptoServiceImpl \ No newline at end of file diff --git a/ucoinj-cesium/redirector.err b/duniter4j-core-shared/src/main/resources/i18n/duniter-core-shared_en_GB.properties similarity index 100% rename from ucoinj-cesium/redirector.err rename to duniter4j-core-shared/src/main/resources/i18n/duniter-core-shared_en_GB.properties diff --git a/ucoinj-cesium/src/main/assembly/standalone.xml b/duniter4j-core-shared/src/main/resources/i18n/duniter-core-shared_fr_FR.properties similarity index 100% rename from ucoinj-cesium/src/main/assembly/standalone.xml rename to duniter4j-core-shared/src/main/resources/i18n/duniter-core-shared_fr_FR.properties diff --git a/ucoinj-core-shared/src/test/java/io/ucoin/ucoinj/core/service/Ed25519CryptoServiceTest.java b/duniter4j-core-shared/src/test/java/org/duniter/core/service/Ed25519CryptoServiceTest.java similarity index 91% rename from ucoinj-core-shared/src/test/java/io/ucoin/ucoinj/core/service/Ed25519CryptoServiceTest.java rename to duniter4j-core-shared/src/test/java/org/duniter/core/service/Ed25519CryptoServiceTest.java index 00d38f5f158a928158cf09317e34bd68c3013031..9473e6fd87b7abccc831c98fc04d9d1beecc2f4f 100644 --- a/ucoinj-core-shared/src/test/java/io/ucoin/ucoinj/core/service/Ed25519CryptoServiceTest.java +++ b/duniter4j-core-shared/src/test/java/org/duniter/core/service/Ed25519CryptoServiceTest.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.service; +package org.duniter.core.service; /* * #%L @@ -23,14 +23,12 @@ package io.ucoin.ucoinj.core.service; */ -import io.ucoin.ucoinj.core.test.TestFixtures; -import io.ucoin.ucoinj.core.util.crypto.Base58; -import io.ucoin.ucoinj.core.util.crypto.SecretBox; +import org.duniter.core.test.TestFixtures; +import org.duniter.core.util.crypto.Base58; +import org.duniter.core.util.crypto.SecretBox; import org.junit.Assert; import org.junit.Before; import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import java.io.UnsupportedEncodingException; diff --git a/ucoinj-core-shared/src/test/java/io/ucoin/ucoinj/core/util/crypto/SecretBoxTest.java b/duniter4j-core-shared/src/test/java/org/duniter/core/util/crypto/SecretBoxTest.java similarity index 95% rename from ucoinj-core-shared/src/test/java/io/ucoin/ucoinj/core/util/crypto/SecretBoxTest.java rename to duniter4j-core-shared/src/test/java/org/duniter/core/util/crypto/SecretBoxTest.java index c466725ebe5eef43d915f2442d98dcc89506019d..30ceb36d19b0104409efcef94bc64c3fd630d14d 100644 --- a/ucoinj-core-shared/src/test/java/io/ucoin/ucoinj/core/util/crypto/SecretBoxTest.java +++ b/duniter4j-core-shared/src/test/java/org/duniter/core/util/crypto/SecretBoxTest.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.core.util.crypto; +package org.duniter.core.util.crypto; /* * #%L @@ -23,7 +23,7 @@ package io.ucoin.ucoinj.core.util.crypto; */ -import io.ucoin.ucoinj.core.test.TestFixtures; +import org.duniter.core.test.TestFixtures; import org.abstractj.kalium.keys.SigningKey; import org.abstractj.kalium.keys.VerifyKey; import org.junit.Assert; @@ -108,7 +108,7 @@ public class SecretBoxTest { fixtures.getUid(), "1420881879"); byte[] message = CryptoUtils.decodeUTF8(utf8Message); - String expectedSignatureBase64 = "TMgQysT7JwY8XwemskwWb8LBDJybLUsnxqaaUvSteIYpOxRiB92gkFQQcGpBwq4hAwhEiqBAiFkiXIozppDDDg=="; + String expectedSignatureBase64 = "SYO77ymZmw4S3pGLxnF5zosGHdDHIEPJEKs6dM2KrFphftmnKgjmc+krq7uNsyryfNipW206BT9zRLuFFpiPBg=="; // Call sign byte[] signature = secretBox.sign(message); diff --git a/ucoinj-core-shared/src/test/resources/log4j.properties b/duniter4j-core-shared/src/test/resources/log4j.properties similarity index 75% rename from ucoinj-core-shared/src/test/resources/log4j.properties rename to duniter4j-core-shared/src/test/resources/log4j.properties index 83496cefd60e1884b601e0b9ac66a68ee7166271..59099e768bd6908551ac75cd4c6b5a1ba51f6532 100644 --- a/ucoinj-core-shared/src/test/resources/log4j.properties +++ b/duniter4j-core-shared/src/test/resources/log4j.properties @@ -8,12 +8,12 @@ log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %5p (%c:%L) - %m%n # ucoin levels -log4j.logger.io.ucoin.ucoinj=INFO -#log4j.logger.io.ucoin.ucoinj.core.client.service=DEBUG -#log4j.appender.io.ucoin.ucoinj.core.beans=DEBUG +log4j.logger.org.duniter=INFO +#log4j.logger.org.duniter.core.client.service=DEBUG +#log4j.appender.org.duniter.core.beans=DEBUG log4j.appender.file=org.apache.log4j.RollingFileAppender -log4j.appender.file.file=ucoin-core-shared.log +log4j.appender.file.file=duniterj4-core-shared.log log4j.appender.file.MaxFileSize=10MB log4j.appender.file.MaxBackupIndex=4 diff --git a/ucoinj-elasticsearch/src/license/THIRD-PARTY.properties b/duniter4j-elasticsearch/src/license/THIRD-PARTY.properties similarity index 100% rename from ucoinj-elasticsearch/src/license/THIRD-PARTY.properties rename to duniter4j-elasticsearch/src/license/THIRD-PARTY.properties diff --git a/duniter4j-elasticsearch/src/main/assembly/full/README.txt b/duniter4j-elasticsearch/src/main/assembly/full/README.txt new file mode 100644 index 0000000000000000000000000000000000000000..2cb4d8c6f52b6f5314014647f35522eec151eea5 --- /dev/null +++ b/duniter4j-elasticsearch/src/main/assembly/full/README.txt @@ -0,0 +1,15 @@ +Starting duniter4j-ElasticSearch +-------------------------------- + +# under Linux + +./duniter4j-elasticsearch.sh + +# Sous windows + +duniter4j-elasticsearch.exe + +Help +---- + +duniter4j-elasticsearch.<sh|exe> --help diff --git a/ucoinj-elasticsearch/src/main/assembly/help.xml b/duniter4j-elasticsearch/src/main/assembly/help.xml similarity index 100% rename from ucoinj-elasticsearch/src/main/assembly/help.xml rename to duniter4j-elasticsearch/src/main/assembly/help.xml diff --git a/ucoinj-elasticsearch/src/main/assembly/i18n.xml b/duniter4j-elasticsearch/src/main/assembly/i18n.xml similarity index 92% rename from ucoinj-elasticsearch/src/main/assembly/i18n.xml rename to duniter4j-elasticsearch/src/main/assembly/i18n.xml index 008c050913e10f0ead8f39057908b94873a5610a..50fbbe7bc7211100d98c0c0b5ae3636a23ac19e0 100644 --- a/ucoinj-elasticsearch/src/main/assembly/i18n.xml +++ b/duniter4j-elasticsearch/src/main/assembly/i18n.xml @@ -35,8 +35,8 @@ <directory>target/classes/META-INF</directory> <outputDirectory/> <includes> - <include>ucoinj-elasticsearch-i18n*.properties</include> - <include>ucoinj-elasticsearch-i18n*.csv</include> + <include>duniter4j-elasticsearch-i18n*.properties</include> + <include>duniter4j-elasticsearch-i18n*.csv</include> </includes> </fileSet> diff --git a/ucoinj-elasticsearch/src/main/assembly/min/README.txt b/duniter4j-elasticsearch/src/main/assembly/min/README.txt similarity index 61% rename from ucoinj-elasticsearch/src/main/assembly/min/README.txt rename to duniter4j-elasticsearch/src/main/assembly/min/README.txt index fedac4d3495b61106419802e911322141e052305..b81a83da2cc459f0f3025e6c9d58ea2f23b451bc 100644 --- a/ucoinj-elasticsearch/src/main/assembly/min/README.txt +++ b/duniter4j-elasticsearch/src/main/assembly/min/README.txt @@ -6,7 +6,7 @@ ------------------------------------ Start a ElastoicSearch node : - > ucoinj-elasticsearch.<bat|sh> --start + > duniter4j-elasticsearch.<bat|sh> --start To show help (list all options) : - > ucoinj-elasticsearch.<bat|sh> --help + > duniter4j-elasticsearch.<bat|sh> --help diff --git a/ucoinj-elasticsearch/src/main/assembly/min/ucoinj-elasticsearch.bat b/duniter4j-elasticsearch/src/main/assembly/min/ucoinj-elasticsearch.bat similarity index 78% rename from ucoinj-elasticsearch/src/main/assembly/min/ucoinj-elasticsearch.bat rename to duniter4j-elasticsearch/src/main/assembly/min/ucoinj-elasticsearch.bat index d2486eebda815a79a8b87a153270ed35e1102522..8ecbcc427200525463e85af5427b74f2c3d976f7 100644 --- a/ucoinj-elasticsearch/src/main/assembly/min/ucoinj-elasticsearch.bat +++ b/duniter4j-elasticsearch/src/main/assembly/min/ucoinj-elasticsearch.bat @@ -11,7 +11,7 @@ set APP_BASEDIR=%CD% set JAVA_COMMAND=%JAVA_HOME%\bin\java set APP_LOG_FILE=%APP_BASEDIR%\data\${project.artifactId}-${project.version}.log set JAVA_OPTS=-Xmx1G -set APP_CONF_FILE=%APP_BASEDIR%\ucoinj.config +set APP_CONF_FILE=%APP_BASEDIR%\duniter4j.config if not exist "%JAVA_HOME%" goto no_java @@ -32,7 +32,7 @@ echo . set OLDDIR=%CD% cd /d %~dp0% -call "%JAVA_COMMAND%" %JAVA_OPTS% "-Ducoinj.log.file=%APP_LOG_FILE%" ""-Ducoinj-elasticsearch.config=%APP_CONF_FILE%" -Djna.nosys=true -jar ${project.build.finalName}.${project.packaging} %1 %2 %3 %4 %5 %6 %7 %8 %9 +call "%JAVA_COMMAND%" %JAVA_OPTS% "-Dduniter4j.log.file=%APP_LOG_FILE%" ""-Dduniter4j-elasticsearch.config=%APP_CONF_FILE%" -Djna.nosys=true -jar ${project.build.finalName}.${project.packaging} %1 %2 %3 %4 %5 %6 %7 %8 %9 set exitcode=%ERRORLEVEL% echo Stop with exitcode: %exitcode% cd %OLDDIR% diff --git a/ucoinj-elasticsearch/src/main/assembly/min/ucoinj-elasticsearch.sh b/duniter4j-elasticsearch/src/main/assembly/min/ucoinj-elasticsearch.sh similarity index 79% rename from ucoinj-elasticsearch/src/main/assembly/min/ucoinj-elasticsearch.sh rename to duniter4j-elasticsearch/src/main/assembly/min/ucoinj-elasticsearch.sh index 95d3ce2d6c02e772a70befdfaa8eb529f0df3839..e220bf1fb6dc7c85a7ea0e83d95244fa56bad0ed 100644 --- a/ucoinj-elasticsearch/src/main/assembly/min/ucoinj-elasticsearch.sh +++ b/duniter4j-elasticsearch/src/main/assembly/min/ucoinj-elasticsearch.sh @@ -9,7 +9,7 @@ export JAVA_HOME=/usr/lib/jvm/default-java export APP_BASEDIR=$REP export JAVA_COMMAND=$JAVA_HOME/bin/java export APP_LOG_FILE=$APP_BASEDIR/logs/${project.artifactId}-${project.version}.log -export APP_CONF_FILE=$APP_BASEDIR/ucoinj.config +export APP_CONF_FILE=$APP_BASEDIR/duniter4j.config cd $APP_BASEDIR @@ -25,7 +25,7 @@ if [ -d $JAVA_HOME ]; then echo "launch java" echo "java command: $JAVA_COMMAND" - $JAVA_COMMAND $MEMORY $APP_JVM_OPTS -Ducoinj.log.file=$APP_LOG_FILE -Ducoinj-elasticsearch.config=$APP_CONF_FILE -Djna.nosys=true -jar ${project.build.finalName}.${project.packaging} $* + $JAVA_COMMAND $MEMORY $APP_JVM_OPTS -Dduniter4j.log.file=$APP_LOG_FILE -Dduniter4j-elasticsearch.config=$APP_CONF_FILE -Djna.nosys=true -jar ${project.build.finalName}.${project.packaging} $* exitcode=$? echo "Stop ${project.name} with exitcode: $exitcode" exit $exitcode diff --git a/ucoinj-elasticsearch/src/main/assembly/min/ucoinj.config b/duniter4j-elasticsearch/src/main/assembly/min/ucoinj.config similarity index 72% rename from ucoinj-elasticsearch/src/main/assembly/min/ucoinj.config rename to duniter4j-elasticsearch/src/main/assembly/min/ucoinj.config index 0dd9a0b52ffc737ec90419c78cdb14b92f96126f..5423a51bcac3f39148cd7efd1b1bab3c26c9e2af 100644 --- a/ucoinj-elasticsearch/src/main/assembly/min/ucoinj.config +++ b/duniter4j-elasticsearch/src/main/assembly/min/ucoinj.config @@ -6,40 +6,40 @@ # Node host # Could be override using option : '-h <host>' -#ucoinj.node.host=metab.ucoin.io +#duniter4j.node.host=metab.ucoin.io # Node port # Could be override using option : '-p <port>' -#ucoinj.node.port=9201 +#duniter4j.node.port=9201 # ---------------------------------------------------------- # ES Node # ---------------------------------------------------------- # ES Cluster name -# By default: 'ucoinj-elacticsearch' +# By default: 'duniter4j-elacticsearch' # See ES config 'cluster.name' -#ucoinj.elasticsearch.cluster.name=ucoinj-elacticsearch +#duniter4j.elasticsearch.cluster.name=duniter4j-elacticsearch # Should start a embedded ES node # By default: false -#ucoinj.elasticsearch.embedded.enable=true +#duniter4j.elasticsearch.embedded.enable=true # If not embedded: ES Node Host # Could be override using option : '-esh <host>' -#ucoinj.elasticsearch.host=192.168.0.5 +#duniter4j.elasticsearch.host=192.168.0.5 # If not embedded: ES Node Port # Could be override using option : '-esp <port>' -#ucoinj.elasticsearch.port=9300 +#duniter4j.elasticsearch.port=9300 # If embedded: Only for a local use (do not connect to other nodes on cluster) # By default: false # See ES config 'local' -#ucoinj.elasticsearch.local=true +#duniter4j.elasticsearch.local=true # If embedded: Open a port for HTTP access # By default: true # See ES config 'http.enable' -#ucoinj.elasticsearch.http.enable=false +#duniter4j.elasticsearch.http.enable=false diff --git a/ucoinj-elasticsearch-plugin/src/main/assembly/min/version.appup b/duniter4j-elasticsearch/src/main/assembly/min/version.appup similarity index 100% rename from ucoinj-elasticsearch-plugin/src/main/assembly/min/version.appup rename to duniter4j-elasticsearch/src/main/assembly/min/version.appup diff --git a/ucoinj-elasticsearch-plugin/src/main/assembly/plugin.xml b/duniter4j-elasticsearch/src/main/assembly/plugin.xml similarity index 100% rename from ucoinj-elasticsearch-plugin/src/main/assembly/plugin.xml rename to duniter4j-elasticsearch/src/main/assembly/plugin.xml diff --git a/ucoinj-elasticsearch/src/main/assembly/standalone.xml b/duniter4j-elasticsearch/src/main/assembly/standalone.xml similarity index 90% rename from ucoinj-elasticsearch/src/main/assembly/standalone.xml rename to duniter4j-elasticsearch/src/main/assembly/standalone.xml index 58b11dec59f75f3e9bc79a9466fd8e63f33b6b6c..fba0a0b03ac74b501da4439fc3db779ec347ab5c 100644 --- a/ucoinj-elasticsearch/src/main/assembly/standalone.xml +++ b/duniter4j-elasticsearch/src/main/assembly/standalone.xml @@ -58,8 +58,8 @@ <filtered>true</filtered> <fileMode>0755</fileMode> <includes> - <include>ucoinj-elasticsearch.sh</include> - <include>ucoinj-elasticsearch.bat</include> + <include>duniter4j-elasticsearch.sh</include> + <include>duniter4j-elasticsearch.bat</include> <include>version.appup</include> <include>README*</include> </includes> @@ -70,7 +70,7 @@ <directory>src/main/assembly/min</directory> <outputDirectory/> <includes> - <include>ucoinj.config</include> + <include>duniter4j.config</include> </includes> </fileSet> @@ -79,8 +79,8 @@ <directory>target/classes/META-INF</directory> <outputDirectory>i18n</outputDirectory> <includes> - <include>ucoinj-elasticsearch-i18n*.properties</include> - <include>ucoinj-elasticsearch-i18n*.csv</include> + <include>duniter4j-elasticsearch-i18n*.properties</include> + <include>duniter4j-elasticsearch-i18n*.csv</include> </includes> </fileSet> <fileSet> diff --git a/duniter4j-elasticsearch/src/main/filtered-resources/duniter4j.config b/duniter4j-elasticsearch/src/main/filtered-resources/duniter4j.config new file mode 100644 index 0000000000000000000000000000000000000000..03d3b6b239c795f9b3e0c9fa0bf49273718b4a77 --- /dev/null +++ b/duniter4j-elasticsearch/src/main/filtered-resources/duniter4j.config @@ -0,0 +1,4 @@ +duniter4j.version=${project.version} +duniter4j.site.url=${project.url} +duniter4j.inceptionYear=${project.inceptionYear} +duniter4j.organizationName=${license.organizationName} diff --git a/ucoinj-elasticsearch/src/main/filtered-resources/log4j.properties b/duniter4j-elasticsearch/src/main/filtered-resources/log4j.properties similarity index 75% rename from ucoinj-elasticsearch/src/main/filtered-resources/log4j.properties rename to duniter4j-elasticsearch/src/main/filtered-resources/log4j.properties index 4fe203ed757aa9c18a64b21ab6e5dffd61d147b8..553bc6d0c9cdbe276cfe7af687e42670ef4c9968 100644 --- a/ucoinj-elasticsearch/src/main/filtered-resources/log4j.properties +++ b/duniter4j-elasticsearch/src/main/filtered-resources/log4j.properties @@ -8,11 +8,11 @@ log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %5p %m%n -# uCoinj levels -log4j.logger.io.ucoin.ucoinj=INFO -#log4j.logger.io.ucoin.ucoinj.core.client=DEBUG -#log4j.logger.io.ucoin.ucoinj.core.client.service=DEBUG -log4j.logger.io.ucoin.ucoinj.elasticsearch=DEBUG +# Duniter4j levels +log4j.logger.org.duniter=INFO +#log4j.logger.org.duniter.core.client=DEBUG +#log4j.logger.org.duniter.core.client.service=DEBUG +log4j.logger.org.duniter.elasticsearch=DEBUG # Other frameworks levels log4j.logger.org.nuiton.util=WARN @@ -21,7 +21,7 @@ log4j.logger.org.elasticsearch=WARN #log4j.logger.org.elasticsearch=INFO log4j.appender.file=org.apache.log4j.RollingFileAppender -log4j.appender.file.file=${ucoinj.log.file} +log4j.appender.file.file=${duniter4j.log.file} log4j.appender.file.MaxFileSize=10MB log4j.appender.file.MaxBackupIndex=4 diff --git a/ucoinj-elasticsearch-plugin/src/main/filtered-resources/plugin-descriptor.properties b/duniter4j-elasticsearch/src/main/filtered-resources/plugin-descriptor.properties similarity index 53% rename from ucoinj-elasticsearch-plugin/src/main/filtered-resources/plugin-descriptor.properties rename to duniter4j-elasticsearch/src/main/filtered-resources/plugin-descriptor.properties index 6a54716d6a9c44daa9f65f46d77623339ad8f46d..c3cb24e2be69e87d02276b7a8c536ab9122f032e 100644 --- a/ucoinj-elasticsearch-plugin/src/main/filtered-resources/plugin-descriptor.properties +++ b/duniter4j-elasticsearch/src/main/filtered-resources/plugin-descriptor.properties @@ -1,11 +1,11 @@ -name=ucoinj-elasticsearch +name=duniter4j-elasticsearch #description=${project.description} -description=ucoinj-elasticsearch +description=duniter4j-elasticsearch version=1.0 #version=${project.version} -site=false +site=true jvm=true -classname=io.ucoin.ucoinj.elasticsearch.plugin.Plugin +classname=org.duniter.elasticsearch.plugin.Plugin java.version=1.7 elasticsearch.version=2.3.1 isolated=false \ No newline at end of file diff --git a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/RestModule.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/RestModule.java similarity index 73% rename from ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/RestModule.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/RestModule.java index 52a958d971812c2b7273be7566509017638ff262..a3ea3b97dace55240006e558c18c81d1197ca7bc 100644 --- a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/RestModule.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/RestModule.java @@ -1,8 +1,8 @@ -package io.ucoin.ucoinj.elasticsearch.action; +package org.duniter.elasticsearch.action; /* * #%L - * ucoinj-elasticsearch-plugin + * duniter4j-elasticsearch-plugin * %% * Copyright (C) 2014 - 2016 EIS * %% @@ -22,11 +22,11 @@ package io.ucoin.ucoinj.elasticsearch.action; * #L% */ -import io.ucoin.ucoinj.elasticsearch.action.currency.RestCurrencyIndexAction; -import io.ucoin.ucoinj.elasticsearch.action.market.RestMarketRecordIndexAction; -import io.ucoin.ucoinj.elasticsearch.action.registry.RestRegistryRecordIndexAction; -import io.ucoin.ucoinj.elasticsearch.action.security.RestSecurityAuthAction; -import io.ucoin.ucoinj.elasticsearch.action.security.RestSecurityGetChallengeAction; +import org.duniter.elasticsearch.action.currency.RestCurrencyIndexAction; +import org.duniter.elasticsearch.action.market.RestMarketRecordIndexAction; +import org.duniter.elasticsearch.action.registry.RestRegistryRecordIndexAction; +import org.duniter.elasticsearch.action.security.RestSecurityAuthAction; +import org.duniter.elasticsearch.action.security.RestSecurityGetChallengeAction; import org.elasticsearch.common.inject.AbstractModule; import org.elasticsearch.common.inject.Module; diff --git a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/currency/RestCurrencyIndexAction.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/currency/RestCurrencyIndexAction.java similarity index 91% rename from ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/currency/RestCurrencyIndexAction.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/currency/RestCurrencyIndexAction.java index 0409273ee9307a379738b7e1e0c497fe92da78aa..5721c65fd116c768036f0b2b5b1b38dbb6f5d415 100644 --- a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/currency/RestCurrencyIndexAction.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/currency/RestCurrencyIndexAction.java @@ -1,8 +1,8 @@ -package io.ucoin.ucoinj.elasticsearch.action.currency; +package org.duniter.elasticsearch.action.currency; /* * #%L - * ucoinj-elasticsearch-plugin + * duniter4j-elasticsearch-plugin * %% * Copyright (C) 2014 - 2016 EIS * %% @@ -22,7 +22,6 @@ package io.ucoin.ucoinj.elasticsearch.action.currency; * #L% */ -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; import org.elasticsearch.client.Client; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.settings.Settings; diff --git a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/market/RestMarketRecordIndexAction.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/market/RestMarketRecordIndexAction.java similarity index 91% rename from ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/market/RestMarketRecordIndexAction.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/market/RestMarketRecordIndexAction.java index 5fe953ac23be97069a1306578d5a269367b8e50c..ac3bc19334e7cb17e9d8538bf8d5f91e02ea7b66 100644 --- a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/market/RestMarketRecordIndexAction.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/market/RestMarketRecordIndexAction.java @@ -1,8 +1,8 @@ -package io.ucoin.ucoinj.elasticsearch.action.market; +package org.duniter.elasticsearch.action.market; /* * #%L - * ucoinj-elasticsearch-plugin + * duniter4j-elasticsearch-plugin * %% * Copyright (C) 2014 - 2016 EIS * %% @@ -22,8 +22,8 @@ package io.ucoin.ucoinj.elasticsearch.action.market; * #L% */ -import io.ucoin.ucoinj.core.exception.BusinessException; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; +import org.duniter.core.exception.BusinessException; +import org.duniter.elasticsearch.service.ServiceLocator; import org.elasticsearch.client.Client; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.logging.ESLogger; diff --git a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/registry/RestRegistryRecordIndexAction.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/registry/RestRegistryRecordIndexAction.java similarity index 91% rename from ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/registry/RestRegistryRecordIndexAction.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/registry/RestRegistryRecordIndexAction.java index 7ff22b2772cf90c97dad5dbcc0f6281dcd8b36b2..c3c0c707f44b1b2e75fc82e28b43c3e3495af93c 100644 --- a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/registry/RestRegistryRecordIndexAction.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/registry/RestRegistryRecordIndexAction.java @@ -1,8 +1,8 @@ -package io.ucoin.ucoinj.elasticsearch.action.registry; +package org.duniter.elasticsearch.action.registry; /* * #%L - * ucoinj-elasticsearch-plugin + * duniter4j-elasticsearch-plugin * %% * Copyright (C) 2014 - 2016 EIS * %% @@ -22,8 +22,8 @@ package io.ucoin.ucoinj.elasticsearch.action.registry; * #L% */ -import io.ucoin.ucoinj.core.exception.BusinessException; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; +import org.duniter.core.exception.BusinessException; +import org.duniter.elasticsearch.service.ServiceLocator; import org.elasticsearch.client.Client; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.logging.ESLogger; diff --git a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/security/RestSecurityAuthAction.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/security/RestSecurityAuthAction.java similarity index 86% rename from ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/security/RestSecurityAuthAction.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/security/RestSecurityAuthAction.java index a9a3ec3e8235448045052d87f0cf0f6b721ac357..d6ff67cf20396b920e18f01ec5c69e3d0291ae52 100644 --- a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/security/RestSecurityAuthAction.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/security/RestSecurityAuthAction.java @@ -1,8 +1,8 @@ -package io.ucoin.ucoinj.elasticsearch.action.security; +package org.duniter.elasticsearch.action.security; /* * #%L - * ucoinj-elasticsearch-plugin + * duniter4j-elasticsearch-plugin * %% * Copyright (C) 2014 - 2016 EIS * %% @@ -22,11 +22,11 @@ package io.ucoin.ucoinj.elasticsearch.action.security; * #L% */ -import io.ucoin.ucoinj.core.client.model.bma.gson.GsonUtils; -import io.ucoin.ucoinj.core.util.StringUtils; -import io.ucoin.ucoinj.elasticsearch.security.challenge.ChallengeMessageStore; -import io.ucoin.ucoinj.elasticsearch.security.token.SecurityTokenStore; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; +import org.duniter.core.client.model.bma.gson.GsonUtils; +import org.duniter.core.util.StringUtils; +import org.duniter.elasticsearch.security.challenge.ChallengeMessageStore; +import org.duniter.elasticsearch.security.token.SecurityTokenStore; +import org.duniter.elasticsearch.service.ServiceLocator; import org.elasticsearch.client.Client; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.logging.ESLogger; @@ -34,7 +34,6 @@ import org.elasticsearch.common.logging.ESLoggerFactory; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.rest.*; -import static org.elasticsearch.rest.RestRequest.Method.GET; import static org.elasticsearch.rest.RestRequest.Method.POST; import static org.elasticsearch.rest.RestStatus.FORBIDDEN; import static org.elasticsearch.rest.RestStatus.OK; diff --git a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/security/RestSecurityGetChallengeAction.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/security/RestSecurityGetChallengeAction.java similarity index 91% rename from ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/security/RestSecurityGetChallengeAction.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/security/RestSecurityGetChallengeAction.java index dfb0513a43098558afb99147674ca5fb62ee3a21..416b75ffac1d0601ee2a71a6341efa98e42467cc 100644 --- a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/action/security/RestSecurityGetChallengeAction.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/action/security/RestSecurityGetChallengeAction.java @@ -1,8 +1,8 @@ -package io.ucoin.ucoinj.elasticsearch.action.security; +package org.duniter.elasticsearch.action.security; /* * #%L - * ucoinj-elasticsearch-plugin + * duniter4j-elasticsearch-plugin * %% * Copyright (C) 2014 - 2016 EIS * %% @@ -22,7 +22,7 @@ package io.ucoin.ucoinj.elasticsearch.action.security; * #L% */ -import io.ucoin.ucoinj.elasticsearch.security.challenge.ChallengeMessageStore; +import org.duniter.elasticsearch.security.challenge.ChallengeMessageStore; import org.elasticsearch.client.Client; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.settings.Settings; diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/Main.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/cli/Main.java similarity index 88% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/Main.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/cli/Main.java index f4b187ed6dc942a984d4190289e2fd43d89fdf00..02560623b30161762f3b0edd3f15c908bce19e94 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/Main.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/cli/Main.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch; +package org.duniter.elasticsearch.cli; /* * #%L @@ -24,14 +24,14 @@ package io.ucoin.ucoinj.elasticsearch; import com.google.common.collect.Lists; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.util.CommandLinesUtils; -import io.ucoin.ucoinj.core.util.StringUtils; -import io.ucoin.ucoinj.elasticsearch.config.Configuration; -import io.ucoin.ucoinj.elasticsearch.config.ConfigurationAction; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; -import io.ucoin.ucoinj.elasticsearch.util.Desktop; -import io.ucoin.ucoinj.elasticsearch.util.DesktopPower; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.util.CommandLinesUtils; +import org.duniter.core.util.StringUtils; +import org.duniter.elasticsearch.config.Configuration; +import org.duniter.elasticsearch.config.ConfigurationAction; +import org.duniter.elasticsearch.service.ServiceLocator; +import org.duniter.elasticsearch.util.Desktop; +import org.duniter.elasticsearch.util.DesktopPower; import org.apache.commons.io.FileUtils; import org.elasticsearch.common.logging.ESLogger; import org.elasticsearch.common.logging.ESLoggerFactory; @@ -66,7 +66,7 @@ public class Main { public void run(String[] args) { if (log.isInfoEnabled()) { - log.info("Starting uCoinj :: ElasticSearch Indexer with arguments " + Arrays.toString(args)); + log.info("Starting duniter4j :: ElasticSearch Indexer with arguments " + Arrays.toString(args)); } // By default, start @@ -78,7 +78,7 @@ public class Main { arguments.removeAll(Arrays.asList(ConfigurationAction.HELP.aliases)); // Could override config file name (useful for dev) - String configFile = "ucoinj-elasticsearch.config"; + String configFile = "duniter4j-elasticsearch.config"; if (System.getProperty(configFile) != null) { configFile = System.getProperty(configFile); configFile = configFile.replaceAll("\\\\", "/"); @@ -137,7 +137,7 @@ public class Main { while (!quit) { String userInput = CommandLinesUtils.readInput( String.format(TITLE, - "uCoinj :: Elasticsearch successfully started", + "duniter4j :: Elasticsearch successfully started", ">> To quit, press [Q] or [enter]"), "Q", true); quit = StringUtils.isNotBlank(userInput) && "Q".equalsIgnoreCase(userInput); @@ -165,7 +165,7 @@ public class Main { } } - log.info("uCoinj :: ElasticSearch Indexer successfully stopped"); + log.info("duniter4j :: ElasticSearch Indexer successfully stopped"); } protected void initI18n(Configuration config) throws IOException { @@ -197,7 +197,7 @@ public class Main { } protected String getI18nBundleName() { - return "ucoinj-elasticsearch-i18n"; + return "duniter4j-elasticsearch-i18n"; } /** diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/action/HelpAction.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/cli/action/HelpCliAction.java similarity index 92% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/action/HelpAction.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/cli/action/HelpCliAction.java index 83a288025b83ccdd40facef0263dce432bc80f69..5fd18e0be55780c9e0aa94c360046f299aecf043 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/action/HelpAction.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/cli/action/HelpCliAction.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.action; +package org.duniter.elasticsearch.cli.action; /* * #%L @@ -24,12 +24,12 @@ package io.ucoin.ucoinj.elasticsearch.action; * #L% */ -public class HelpAction { +public class HelpCliAction { public void show() { StringBuilder sb = new StringBuilder(); - sb.append("Usage: ucoinj-elaticsearch.<sh|bat> <commands> [options]\n\n") + sb.append("Usage: duniter4j-elaticsearch.<sh|bat> <commands> [options]\n\n") .append("Commands:\n\n") .append(" start Start elastic search node\n") .append(" index Index blocks from BMA Node\n") diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/action/IndexerAction.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/cli/action/IndexerCliAction.java similarity index 86% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/action/IndexerAction.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/cli/action/IndexerCliAction.java index 062d2320b5975d957db463d81f1f7a71e42b9105..eebd836b418f3635c240b17f97ab8054b0d0fd47 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/action/IndexerAction.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/cli/action/IndexerCliAction.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.action; +package org.duniter.elasticsearch.cli.action; /* * #%L @@ -24,27 +24,27 @@ package io.ucoin.ucoinj.elasticsearch.action; * #L% */ -import io.ucoin.ucoinj.core.client.model.bma.BlockchainParameters; -import io.ucoin.ucoinj.core.client.model.bma.gson.GsonUtils; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.service.bma.BlockchainRemoteService; -import io.ucoin.ucoinj.core.util.websocket.WebsocketClientEndpoint; -import io.ucoin.ucoinj.elasticsearch.config.Configuration; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; -import io.ucoin.ucoinj.elasticsearch.service.currency.BlockIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.market.MarketCategoryIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.market.MarketRecordIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.registry.RegistryCategoryIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.registry.RegistryCitiesIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.registry.RegistryCurrencyIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.registry.RegistryRecordIndexerService; +import org.duniter.core.client.model.bma.BlockchainParameters; +import org.duniter.core.client.model.bma.gson.GsonUtils; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.service.bma.BlockchainRemoteService; +import org.duniter.core.util.websocket.WebsocketClientEndpoint; +import org.duniter.elasticsearch.config.Configuration; +import org.duniter.elasticsearch.service.ServiceLocator; +import org.duniter.elasticsearch.service.currency.BlockIndexerService; +import org.duniter.elasticsearch.service.market.MarketCategoryIndexerService; +import org.duniter.elasticsearch.service.market.MarketRecordIndexerService; +import org.duniter.elasticsearch.service.registry.RegistryCategoryIndexerService; +import org.duniter.elasticsearch.service.registry.RegistryCitiesIndexerService; +import org.duniter.elasticsearch.service.registry.RegistryCurrencyIndexerService; +import org.duniter.elasticsearch.service.registry.RegistryRecordIndexerService; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class IndexerAction { +public class IndexerCliAction { /* Logger */ - private static final Logger log = LoggerFactory.getLogger(IndexerAction.class); + private static final Logger log = LoggerFactory.getLogger(IndexerCliAction.class); public void indexBlocksFromNode() { diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/action/NodeAction.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/cli/action/NodeCliAction.java similarity index 82% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/action/NodeAction.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/cli/action/NodeCliAction.java index 94ded39bace18a0c1ea7f3d61c9de1468c8638b8..1559d01dd12e8efb3cf7dab7c2b9043e790be51b 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/action/NodeAction.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/cli/action/NodeCliAction.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.action; +package org.duniter.elasticsearch.cli.action; /* * #%L @@ -24,18 +24,18 @@ package io.ucoin.ucoinj.elasticsearch.action; * #L% */ -import io.ucoin.ucoinj.elasticsearch.config.Configuration; -import io.ucoin.ucoinj.elasticsearch.service.ElasticSearchService; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; -import io.ucoin.ucoinj.elasticsearch.service.market.MarketCategoryIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.market.MarketRecordIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.registry.RegistryCurrencyIndexerService; +import org.duniter.elasticsearch.config.Configuration; +import org.duniter.elasticsearch.service.ElasticSearchService; +import org.duniter.elasticsearch.service.ServiceLocator; +import org.duniter.elasticsearch.service.market.MarketCategoryIndexerService; +import org.duniter.elasticsearch.service.market.MarketRecordIndexerService; +import org.duniter.elasticsearch.service.registry.RegistryCurrencyIndexerService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class NodeAction { +public class NodeCliAction { /* Logger */ - private static final Logger log = LoggerFactory.getLogger(NodeAction.class); + private static final Logger log = LoggerFactory.getLogger(NodeCliAction.class); public void start() { diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/Configuration.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/config/Configuration.java similarity index 94% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/Configuration.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/config/Configuration.java index 26412f8fc8a4eeb8c8fae81a0bdb197c320e9aea..18b0db44a0199316bab4fc35df4c321faa1942ba 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/Configuration.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/config/Configuration.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.config; +package org.duniter.elasticsearch.config; /* * #%L @@ -24,7 +24,7 @@ package io.ucoin.ucoinj.elasticsearch.config; import com.google.common.base.Charsets; -import io.ucoin.ucoinj.core.exception.TechnicalException; +import org.duniter.core.exception.TechnicalException; import org.nuiton.config.ApplicationConfig; import org.nuiton.config.ApplicationConfigHelper; import org.nuiton.config.ApplicationConfigProvider; @@ -34,7 +34,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.File; -import java.net.URL; import java.util.Locale; import java.util.Set; @@ -64,8 +63,8 @@ public class Configuration { Configuration.instance = instance; // Cascade the application config to the client module - io.ucoin.ucoinj.core.client.config.Configuration clientConfig = new io.ucoin.ucoinj.core.client.config.Configuration(instance.getApplicationConfig()); - io.ucoin.ucoinj.core.client.config.Configuration.setInstance(clientConfig); + org.duniter.core.client.config.Configuration clientConfig = new org.duniter.core.client.config.Configuration(instance.getApplicationConfig()); + org.duniter.core.client.config.Configuration.setInstance(clientConfig); } protected final String[] optionKeyToNotSave; @@ -122,7 +121,7 @@ public class Configuration { applicationConfig.parse(args); } catch (ArgumentsParserException e) { - throw new TechnicalException(t("ucoinj.config.parse.error"), e); + throw new TechnicalException(t("duniter4j.config.parse.error"), e); } // TODO Review this, this is very dirty to do this... @@ -149,8 +148,8 @@ public class Configuration { appBasedir.getAbsolutePath()); // Init other configuration - io.ucoin.ucoinj.core.client.config.Configuration coreConfig = new io.ucoin.ucoinj.core.client.config.Configuration(applicationConfig); - io.ucoin.ucoinj.core.client.config.Configuration.setInstance(coreConfig); + org.duniter.core.client.config.Configuration coreConfig = new org.duniter.core.client.config.Configuration(applicationConfig); + org.duniter.core.client.config.Configuration.setInstance(coreConfig); } /** diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/ConfigurationAction.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/config/ConfigurationAction.java similarity index 60% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/ConfigurationAction.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/config/ConfigurationAction.java index c092948c41af175f771b6723d186a0a8f2e30fea..c3cc408bd3c0fc56bf0b962353cd730063fb3569 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/ConfigurationAction.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/config/ConfigurationAction.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.config; +package org.duniter.elasticsearch.config; /* * #%L @@ -24,26 +24,26 @@ package io.ucoin.ucoinj.elasticsearch.config; * #L% */ -import io.ucoin.ucoinj.elasticsearch.action.HelpAction; -import io.ucoin.ucoinj.elasticsearch.action.IndexerAction; -import io.ucoin.ucoinj.elasticsearch.action.NodeAction; +import org.duniter.elasticsearch.cli.action.HelpCliAction; +import org.duniter.elasticsearch.cli.action.IndexerCliAction; +import org.duniter.elasticsearch.cli.action.NodeCliAction; import org.nuiton.config.ConfigActionDef; public enum ConfigurationAction implements ConfigActionDef { - HELP(HelpAction.class.getName() + "#show", "--help"), + HELP(HelpCliAction.class.getName() + "#show", "--help"), - START(NodeAction.class.getName() + "#start", "start"), + START(NodeCliAction.class.getName() + "#start", "start"), - INDEX_BLOCKS(IndexerAction.class.getName() + "#indexBlocksFromNode", "index"), + INDEX_BLOCKS(IndexerCliAction.class.getName() + "#indexBlocksFromNode", "index"), - RESET_ALL_DATA(IndexerAction.class.getName() + "#resetAllData", "reset-data"), + RESET_ALL_DATA(IndexerCliAction.class.getName() + "#resetAllData", "reset-data"), - RESET_BLOCKS(IndexerAction.class.getName() + "#resetDataBlocks", "reset-blocks"), + RESET_BLOCKS(IndexerCliAction.class.getName() + "#resetDataBlocks", "reset-blocks"), - RESET_MARKET(IndexerAction.class.getName() + "#resetMarketRecords", "reset-market"), + RESET_MARKET(IndexerCliAction.class.getName() + "#resetMarketRecords", "reset-market"), - RESET_REGISTRY(IndexerAction.class.getName() + "#resetRegistry", "reset-registry"); + RESET_REGISTRY(IndexerCliAction.class.getName() + "#resetRegistry", "reset-registry"); public String action; public String[] aliases; diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/ConfigurationOption.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/config/ConfigurationOption.java similarity index 64% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/ConfigurationOption.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/config/ConfigurationOption.java index ee5b588e8259f899e8dfdee49ad1eded36d06fe0..0e15103b3f09642d6320439cc346d25b7e0d3072 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/ConfigurationOption.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/config/ConfigurationOption.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.config; +package org.duniter.elasticsearch.config; /* * #%L @@ -48,44 +48,44 @@ public enum ConfigurationOption implements ConfigOptionDef { BASEDIR( - "ucoinj.basedir", - n("ucoinj.config.option.basedir.description"), + "duniter4j.basedir", + n("duniter4j.config.option.basedir.description"), "${user.home}/.config/duniter-es", File.class), DATA_DIRECTORY( - "ucoinj.data.directory", - n("ucoinj.config.option.data.directory.description"), - "${ucoinj.basedir}/data", + "duniter4j.data.directory", + n("duniter4j.config.option.data.directory.description"), + "${duniter4j.basedir}/data", File.class), TEMP_DIRECTORY( - "ucoinj.temp.directory", - n("ucoinj.config.option.temp.directory.description"), - "${ucoinj.basedir}/temp", + "duniter4j.temp.directory", + n("duniter4j.config.option.temp.directory.description"), + "${duniter4j.basedir}/temp", File.class), PLUGINS_DIRECTORY( - "ucoinj.plugins.directory", - n("ucoinj.config.option.plugins.directory.description"), - "${ucoinj.basedir}/plugins", + "duniter4j.plugins.directory", + n("duniter4j.config.option.plugins.directory.description"), + "${duniter4j.basedir}/plugins", File.class), LAUNCH_MODE( - "ucoinj.launch.mode", - n("ucoinj.config.option.launch.mode.description"), + "duniter4j.launch.mode", + n("duniter4j.config.option.launch.mode.description"), "dev", String.class), I18N_DIRECTORY( - "ucoinj.i18n.directory", - n("ucoinj.config.option.i18n.directory.description"), - "${ucoinj.basedir}/i18n", + "duniter4j.i18n.directory", + n("duniter4j.config.option.i18n.directory.description"), + "${duniter4j.basedir}/i18n", File.class), VERSION( - "ucoinj.version", - n("ucoinj.config.option.version.description"), + "duniter4j.version", + n("duniter4j.config.option.version.description"), "1.0", Version.class), @@ -94,120 +94,120 @@ public enum ConfigurationOption implements ConfigOptionDef { // ------------------------------------------------------------------------// I18N_LOCALE( - "ucoinj.i18n.locale", - n("ucoinj.config.option.i18n.locale.description"), + "duniter4j.i18n.locale", + n("duniter4j.config.option.i18n.locale.description"), Locale.FRANCE.getCountry(), Locale.class, false), NODE_BMA_HOST( - "ucoinj.node.host", - n("ucoinj.config.option.node.host.description"), + "duniter4j.node.host", + n("duniter4j.config.option.node.host.description"), "metab.ucoin.io", String.class, false), NODE_BMA_PORT( - "ucoinj.node.port", - n("ucoinj.config.option.node.port.description"), + "duniter4j.node.port", + n("duniter4j.config.option.node.port.description"), "9201", Integer.class, false), NODE_BMA_URL( - "ucoinj.node.url", - n("ucoinj.config.option.node.port.description"), - "${ucoinj.node.protocol}://${ucoinj.node.host}:${ucoinj.node.port}", + "duniter4j.node.url", + n("duniter4j.config.option.node.port.description"), + "${duniter4j.node.protocol}://${duniter4j.node.host}:${duniter4j.node.port}", URL.class, false), HOST( - "ucoinj.elasticsearch.host", - n("ucoinj.config.option.elasticsearch.host.description"), + "duniter4j.elasticsearch.host", + n("duniter4j.config.option.elasticsearch.host.description"), "localhost", String.class, false), PORT( - "ucoinj.elasticsearch.port", - n("ucoinj.config.option.node.elasticsearch.port.description"), + "duniter4j.elasticsearch.port", + n("duniter4j.config.option.node.elasticsearch.port.description"), "9300", Integer.class, false), NETWORK_HOST( - "ucoinj.elasticsearch.network.host", - n("ucoinj.config.option.elasticsearch.network.host.description"), + "duniter4j.elasticsearch.network.host", + n("duniter4j.config.option.elasticsearch.network.host.description"), "_local_", String.class, false), DAEMON( - "ucoinj.elasticsearch.daemon", - n("ucoinj.config.option.node.elasticsearch.daemon.description"), + "duniter4j.elasticsearch.daemon", + n("duniter4j.config.option.node.elasticsearch.daemon.description"), "false", Boolean.class, false), EMBEDDED_ENABLE( - "ucoinj.elasticsearch.embedded.enable", - n("ucoinj.config.option.elasticsearch.embedded.enable.description"), + "duniter4j.elasticsearch.embedded.enable", + n("duniter4j.config.option.elasticsearch.embedded.enable.description"), "false", Boolean.class, false), LOCAL_ENABLE( - "ucoinj.elasticsearch.local", - n("ucoinj.config.option.elasticsearch.local.description"), + "duniter4j.elasticsearch.local", + n("duniter4j.config.option.elasticsearch.local.description"), "false", Boolean.class, false), HTTP_ENABLE( - "ucoinj.elasticsearch.http.enable", - n("ucoinj.config.option.node.elasticsearch.http.enable.description"), + "duniter4j.elasticsearch.http.enable", + n("duniter4j.config.option.node.elasticsearch.http.enable.description"), "true", Boolean.class, false), CLUSTER_NAME( - "ucoinj.elasticsearch.cluster.name", - n("ucoinj.config.option.elasticsearch.cluster.name.description"), - "ucoinj-elasticsearch", + "duniter4j.elasticsearch.cluster.name", + n("duniter4j.config.option.elasticsearch.cluster.name.description"), + "duniter4j-elasticsearch", String.class, false), INDEX_BULK_ENABLE( - "ucoinj.elasticsearch.bulk.enable", - n("ucoinj.config.option.elasticsearch.bulk.enable.description"), + "duniter4j.elasticsearch.bulk.enable", + n("duniter4j.config.option.elasticsearch.bulk.enable.description"), "true", Boolean.class, false), INDEX_BULK_SIZE( - "ucoinj.elasticsearch.bulk.size", - n("ucoinj.config.option.elasticsearch.bulk.size.description"), + "duniter4j.elasticsearch.bulk.size", + n("duniter4j.config.option.elasticsearch.bulk.size.description"), "1000", Integer.class, false), INDEX_STRING_ANALYZER( - "ucoinj.elasticsearch.string.analyzer", - n("ucoinj.config.option.elasticsearch.string.analyze.description"), + "duniter4j.elasticsearch.string.analyzer", + n("duniter4j.config.option.elasticsearch.string.analyze.description"), "french", String.class, false), TASK_EXECUTOR_QUEUE_CAPACITY( - "ucoinj.elasticsearch.tasks.queueCapacity", - n("ucoinj.config.option.tasks.queueCapacity.description"), + "duniter4j.elasticsearch.tasks.queueCapacity", + n("duniter4j.config.option.tasks.queueCapacity.description"), "50", Integer.class, false), TASK_EXECUTOR_TIME_TO_IDLE( - "ucoinj.elasticsearch.tasks.timeToIdle", - "ucoinj.elasticsearch.tasks.timeToIdle.description", + "duniter4j.elasticsearch.tasks.timeToIdle", + "duniter4j.elasticsearch.tasks.timeToIdle.description", "180", // 180s = 3min Integer.class, false) diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/ConfigurationProvider.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/config/ConfigurationProvider.java similarity index 93% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/ConfigurationProvider.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/config/ConfigurationProvider.java index 85e01d4fdf057577c7566cc275b098a9fe2fa10b..c82d0f1fd9f1424258c3afc8aa6289879474944f 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/ConfigurationProvider.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/config/ConfigurationProvider.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.config; +package org.duniter.elasticsearch.config; /* * #%L @@ -41,12 +41,12 @@ public class ConfigurationProvider implements ApplicationConfigProvider { @Override public String getName() { - return "ucoinj"; + return "duniter4j"; } @Override public String getDescription(Locale locale) { - return l(locale, "ucoinj-elasticsearch.config"); + return l(locale, "duniter4j-elasticsearch.config"); } @Override diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/model/Currency.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/model/Currency.java similarity index 93% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/model/Currency.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/model/Currency.java index e89d2b24a22a5df31cdae2b83254ca0b2810deab..33ff95f9296e118aff9c991b564b47941a78e5d6 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/model/Currency.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/model/Currency.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.model; +package org.duniter.elasticsearch.model; /* * #%L @@ -23,8 +23,8 @@ package io.ucoin.ucoinj.elasticsearch.model; */ -import io.ucoin.ucoinj.core.client.model.bma.BlockchainParameters; -import io.ucoin.ucoinj.core.client.model.local.Peer; +import org.duniter.core.client.model.bma.BlockchainParameters; +import org.duniter.core.client.model.local.Peer; import java.io.Serializable; diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/model/SearchResult.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/model/SearchResult.java similarity index 89% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/model/SearchResult.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/model/SearchResult.java index e7013ad2145c3ef9bd0d4a37fb50304eaef44361..541bc634fe9ad0dbe33e8fd029a1528d979ae6af 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/model/SearchResult.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/model/SearchResult.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.model; +package org.duniter.elasticsearch.model; /* * #%L @@ -23,9 +23,6 @@ package io.ucoin.ucoinj.elasticsearch.model; */ -import io.ucoin.ucoinj.core.client.model.bma.BlockchainParameters; -import io.ucoin.ucoinj.core.client.model.local.Peer; - import java.io.Serializable; /** diff --git a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/plugin/Plugin.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/plugin/Plugin.java similarity index 81% rename from ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/plugin/Plugin.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/plugin/Plugin.java index 08c02368a46ae401ff84242ba2527667248bc9dc..f43f00381a95cd1d70d43635424078243cd5622a 100644 --- a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/plugin/Plugin.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/plugin/Plugin.java @@ -1,8 +1,8 @@ -package io.ucoin.ucoinj.elasticsearch.plugin; +package org.duniter.elasticsearch.plugin; /* * #%L - * ucoinj-elasticsearch-plugin + * duniter4j-elasticsearch-plugin * %% * Copyright (C) 2014 - 2016 EIS * %% @@ -23,8 +23,8 @@ package io.ucoin.ucoinj.elasticsearch.plugin; */ import com.google.common.collect.Lists; -import io.ucoin.ucoinj.elasticsearch.action.RestModule; -import io.ucoin.ucoinj.elasticsearch.security.SecurityModule; +import org.duniter.elasticsearch.action.RestModule; +import org.duniter.elasticsearch.security.SecurityModule; import org.elasticsearch.common.inject.Module; import java.util.Collection; @@ -33,12 +33,12 @@ public class Plugin extends org.elasticsearch.plugins.Plugin { @Override public String name() { - return "ucoinj-elasticsearch"; + return "duniter4j-elasticsearch"; } @Override public String description() { - return "uCoinj ElasticSearch Plugin"; + return "duniter4j ElasticSearch Plugin"; } @Override diff --git a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/security/SecurityModule.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/security/SecurityModule.java similarity index 82% rename from ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/security/SecurityModule.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/security/SecurityModule.java index ba266cdf7fbd1bbae5ee92b86e871a829dfd70a8..ed497aeca2374342cace3ab640cfffc31431ad8d 100644 --- a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/security/SecurityModule.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/security/SecurityModule.java @@ -1,8 +1,8 @@ -package io.ucoin.ucoinj.elasticsearch.security; +package org.duniter.elasticsearch.security; /* * #%L - * ucoinj-elasticsearch-plugin + * duniter4j-elasticsearch-plugin * %% * Copyright (C) 2014 - 2016 EIS * %% @@ -22,8 +22,8 @@ package io.ucoin.ucoinj.elasticsearch.security; * #L% */ -import io.ucoin.ucoinj.elasticsearch.security.challenge.ChallengeMessageStore; -import io.ucoin.ucoinj.elasticsearch.security.token.SecurityTokenStore; +import org.duniter.elasticsearch.security.challenge.ChallengeMessageStore; +import org.duniter.elasticsearch.security.token.SecurityTokenStore; import org.elasticsearch.common.inject.AbstractModule; import org.elasticsearch.common.inject.Module; diff --git a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/security/challenge/ChallengeMessageStore.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/security/challenge/ChallengeMessageStore.java similarity index 88% rename from ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/security/challenge/ChallengeMessageStore.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/security/challenge/ChallengeMessageStore.java index a1cc23d75afcec1a47ce7e33df880f64edcdb0a7..4a918717b293d5d0019853d502cbcab667f87080 100644 --- a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/security/challenge/ChallengeMessageStore.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/security/challenge/ChallengeMessageStore.java @@ -1,8 +1,8 @@ -package io.ucoin.ucoinj.elasticsearch.security.challenge; +package org.duniter.elasticsearch.security.challenge; /* * #%L - * uCoinj :: UI Wicket + * duniter4j :: UI Wicket * %% * Copyright (C) 2014 - 2016 EIS * %% @@ -26,8 +26,8 @@ import com.google.common.base.Preconditions; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; -import io.ucoin.ucoinj.core.util.ObjectUtils; -import io.ucoin.ucoinj.core.util.StringUtils; +import org.duniter.core.util.ObjectUtils; +import org.duniter.core.util.StringUtils; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.logging.ESLogger; import org.elasticsearch.common.logging.ESLoggerFactory; @@ -49,8 +49,8 @@ public class ChallengeMessageStore { @Inject public ChallengeMessageStore(Settings settings) { - this.prefix = settings.get("ucoinj.auth.challenge.prefix", "ucoinj-challenge-"); - this.validityDurationInSeconds = settings.getAsInt("ucoinj.auth.challengeValidityDuration", 10); + this.prefix = settings.get("duniter4j.auth.challenge.prefix", "duniter4j-challenge-"); + this.validityDurationInSeconds = settings.getAsInt("duniter4j.auth.challengeValidityDuration", 10); this.chalengeMessageCache = initGeneratedMessageCache(); } diff --git a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/security/token/SecurityTokenStore.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/security/token/SecurityTokenStore.java similarity index 88% rename from ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/security/token/SecurityTokenStore.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/security/token/SecurityTokenStore.java index 94d9e98fab076c2b33e98ac8a79b6ae29097cde5..ff61ad270b05cc670a8709ca8ed70cb2cfe2ab50 100644 --- a/ucoinj-elasticsearch-plugin/src/main/java/io/ucoin/ucoinj/elasticsearch/security/token/SecurityTokenStore.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/security/token/SecurityTokenStore.java @@ -1,8 +1,8 @@ -package io.ucoin.ucoinj.elasticsearch.security.token; +package org.duniter.elasticsearch.security.token; /* * #%L - * uCoinj :: UI Wicket + * duniter4j :: UI Wicket * %% * Copyright (C) 2014 - 2016 EIS * %% @@ -26,8 +26,8 @@ import com.google.common.base.Preconditions; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; -import io.ucoin.ucoinj.core.util.ObjectUtils; -import io.ucoin.ucoinj.core.util.StringUtils; +import org.duniter.core.util.ObjectUtils; +import org.duniter.core.util.StringUtils; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.logging.ESLogger; import org.elasticsearch.common.logging.ESLoggerFactory; @@ -48,8 +48,8 @@ public class SecurityTokenStore { @Inject public SecurityTokenStore(Settings settings) { - this.prefix = settings.get("ucoinj.auth.token.prefix", "ucoinj-"); - this.validityDurationInSeconds = settings.getAsInt("ucoinj.auth.tokenValidityDuration", 30*60 /*30min*/ ); + this.prefix = settings.get("duniter4j.auth.token.prefix", "duniter4j-"); + this.validityDurationInSeconds = settings.getAsInt("duniter4j.auth.tokenValidityDuration", 30*60 /*30min*/ ); this.tokenCache = initGeneratedMessageCache(); } diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/BaseIndexerService.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/BaseIndexerService.java similarity index 96% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/BaseIndexerService.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/BaseIndexerService.java index e0f9367c5694e1835a53b66811b22aa3127cd305..12a0c323a8b7826a37b3a91e168cbe1060500ff7 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/BaseIndexerService.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/BaseIndexerService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service; +package org.duniter.elasticsearch.service; /* * #%L @@ -25,10 +25,10 @@ package io.ucoin.ucoinj.elasticsearch.service; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.base.Preconditions; -import io.ucoin.ucoinj.core.beans.Bean; -import io.ucoin.ucoinj.core.beans.InitializingBean; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.util.StringUtils; +import org.duniter.core.beans.Bean; +import org.duniter.core.beans.InitializingBean; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.util.StringUtils; import org.elasticsearch.action.admin.indices.delete.DeleteIndexRequestBuilder; import org.elasticsearch.action.admin.indices.exists.indices.IndicesExistsRequestBuilder; import org.elasticsearch.action.admin.indices.exists.indices.IndicesExistsResponse; diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/ElasticSearchService.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/ElasticSearchService.java similarity index 95% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/ElasticSearchService.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/ElasticSearchService.java index 0b84f165ca9d477acd648f37e764744e81ee08e6..df87b5ef9f58221687ea4d2eae5146c826006754 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/ElasticSearchService.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/ElasticSearchService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service; +package org.duniter.elasticsearch.service; /* * #%L @@ -24,11 +24,11 @@ package io.ucoin.ucoinj.elasticsearch.service; import com.fasterxml.jackson.databind.ObjectMapper; -import io.ucoin.ucoinj.core.beans.Bean; -import io.ucoin.ucoinj.core.beans.InitializingBean; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.util.StringUtils; -import io.ucoin.ucoinj.elasticsearch.config.Configuration; +import org.duniter.core.beans.Bean; +import org.duniter.core.beans.InitializingBean; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.util.StringUtils; +import org.duniter.elasticsearch.config.Configuration; import org.elasticsearch.client.Client; import org.elasticsearch.client.transport.TransportClient; import org.elasticsearch.common.logging.ESLoggerFactory; @@ -234,7 +234,7 @@ public class ElasticSearchService implements Bean,InitializingBean, Closeable { .put("path.home", config.getBasedir()) .put("path.data", dataDirectory); - if (io.ucoin.ucoinj.core.util.StringUtils.isNotBlank(clusterName)) { + if (StringUtils.isNotBlank(clusterName)) { settings.put("cluster.name", clusterName); } else { diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/ExecutorService.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/ExecutorService.java similarity index 81% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/ExecutorService.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/ExecutorService.java index c0076f338494002b5c9d8be797cc177cb8cf3062..266d34af8ce04417b1911ba9aa4750d954484303 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/ExecutorService.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/ExecutorService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service; +package org.duniter.elasticsearch.service; /* * #%L @@ -23,10 +23,10 @@ package io.ucoin.ucoinj.elasticsearch.service; */ -import io.ucoin.ucoinj.core.beans.Service; -import io.ucoin.ucoinj.core.model.ProgressionModel; -import io.ucoin.ucoinj.elasticsearch.service.task.Job; -import io.ucoin.ucoinj.elasticsearch.service.task.JobVO; +import org.duniter.core.beans.Service; +import org.duniter.core.model.ProgressionModel; +import org.duniter.elasticsearch.service.task.Job; +import org.duniter.elasticsearch.service.task.JobVO; import java.util.List; import java.util.Locale; diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/ExecutorServiceImpl.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/ExecutorServiceImpl.java similarity index 91% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/ExecutorServiceImpl.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/ExecutorServiceImpl.java index db08101c74fc89d43569af0fb2ff5be9a80ebd43..7cc58b18873f65fcc4625a40cdc4cca6a2e73bf3 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/ExecutorServiceImpl.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/ExecutorServiceImpl.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service; +package org.duniter.elasticsearch.service; /* * #%L @@ -31,14 +31,14 @@ import com.google.common.cache.LoadingCache; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.util.concurrent.*; -import io.ucoin.ucoinj.core.beans.InitializingBean; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.model.ProgressionModel; -import io.ucoin.ucoinj.core.model.ProgressionModelImpl; -import io.ucoin.ucoinj.elasticsearch.config.Configuration; -import io.ucoin.ucoinj.elasticsearch.service.task.Job; -import io.ucoin.ucoinj.elasticsearch.service.task.JobFuture; -import io.ucoin.ucoinj.elasticsearch.service.task.JobVO; +import org.duniter.core.beans.InitializingBean; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.model.ProgressionModel; +import org.duniter.core.model.ProgressionModelImpl; +import org.duniter.elasticsearch.config.Configuration; +import org.duniter.elasticsearch.service.task.Job; +import org.duniter.elasticsearch.service.task.JobFuture; +import org.duniter.elasticsearch.service.task.JobVO; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -127,7 +127,7 @@ public class ExecutorServiceImpl implements ExecutorService, InitializingBean { @Override public void execute(Runnable runnable) { - execute(runnable, "ucoinj|job|" + System.currentTimeMillis(), null, Locale.getDefault(), new ProgressionModelImpl()); + execute(runnable, "duniter4j|job|" + System.currentTimeMillis(), null, Locale.getDefault(), new ProgressionModelImpl()); } @Override @@ -150,7 +150,7 @@ public class ExecutorServiceImpl implements ExecutorService, InitializingBean { // Execute the job shedule(jobId, job, - l(locale, "ucoinj.task.starting"), + l(locale, "duniter4j.task.starting"), locale); return job; @@ -175,7 +175,7 @@ public class ExecutorServiceImpl implements ExecutorService, InitializingBean { // System job String issuer = job.getIssuer(); if (StringUtils.isBlank(issuer)) { - issuer = I18n.t("ucoinj.task.issuer.system"); + issuer = I18n.t("duniter4j.task.issuer.system"); } JobVO jobVO = new JobVO( @@ -228,7 +228,7 @@ public class ExecutorServiceImpl implements ExecutorService, InitializingBean { // Set progression as as 'waiting execution' final ProgressionModel progressionModel = job.getProgressionModel(); progressionModel.setTask(taskMessage); - progressionModel.setMessage(l(locale, "ucoinj.executor.task.waitingExecution")); + progressionModel.setMessage(l(locale, "duniter4j.executor.task.waitingExecution")); progressionModel.setStatus(ProgressionModel.Status.WAITING_EXECUTION); diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/ServiceLocator.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/ServiceLocator.java similarity index 76% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/ServiceLocator.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/ServiceLocator.java index 237565bd85bc67689d973f2652f9782b003c54ed..d5ecf7553073bba0d90c3583468b98c18c63be7c 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/ServiceLocator.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/ServiceLocator.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service; +package org.duniter.elasticsearch.service; /* * #%L @@ -23,17 +23,17 @@ package io.ucoin.ucoinj.elasticsearch.service; */ -import io.ucoin.ucoinj.elasticsearch.service.currency.BlockIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.market.MarketCategoryIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.market.MarketRecordIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.registry.RegistryCategoryIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.registry.RegistryCurrencyIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.registry.RegistryRecordIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.registry.RegistryCitiesIndexerService; +import org.duniter.elasticsearch.service.currency.BlockIndexerService; +import org.duniter.elasticsearch.service.market.MarketCategoryIndexerService; +import org.duniter.elasticsearch.service.market.MarketRecordIndexerService; +import org.duniter.elasticsearch.service.registry.RegistryCategoryIndexerService; +import org.duniter.elasticsearch.service.registry.RegistryCurrencyIndexerService; +import org.duniter.elasticsearch.service.registry.RegistryRecordIndexerService; +import org.duniter.elasticsearch.service.registry.RegistryCitiesIndexerService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class ServiceLocator extends io.ucoin.ucoinj.core.client.service.ServiceLocator { +public class ServiceLocator extends org.duniter.core.client.service.ServiceLocator { /* Logger */ @@ -45,7 +45,7 @@ public class ServiceLocator extends io.ucoin.ucoinj.core.client.service.ServiceL private static ServiceLocator instance = new ServiceLocator(); static { - io.ucoin.ucoinj.core.client.service.ServiceLocator.setInstance(instance); + org.duniter.core.client.service.ServiceLocator.setInstance(instance); } public static ServiceLocator instance() { diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/currency/BlockIndexerService.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/currency/BlockIndexerService.java similarity index 93% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/currency/BlockIndexerService.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/currency/BlockIndexerService.java index af21900edbf65b93a1848390ac1a9ccb7d22bbdd..1812b0bec716726fd8f43641693089262302f42e 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/currency/BlockIndexerService.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/currency/BlockIndexerService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service.currency; +package org.duniter.elasticsearch.service.currency; /* * #%L @@ -27,28 +27,28 @@ import com.google.common.base.Objects; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; import com.google.gson.Gson; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainBlock; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainParameters; -import io.ucoin.ucoinj.core.client.model.bma.EndpointProtocol; -import io.ucoin.ucoinj.core.client.model.bma.gson.GsonUtils; -import io.ucoin.ucoinj.core.client.model.bma.gson.JsonAttributeParser; -import io.ucoin.ucoinj.core.client.model.elasticsearch.Currency; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.service.bma.BlockchainRemoteService; -import io.ucoin.ucoinj.core.client.service.bma.NetworkRemoteService; -import io.ucoin.ucoinj.core.client.service.exception.HttpBadRequestException; -import io.ucoin.ucoinj.core.client.service.exception.JsonSyntaxException; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.model.ProgressionModel; -import io.ucoin.ucoinj.core.model.ProgressionModelImpl; -import io.ucoin.ucoinj.core.util.CollectionUtils; -import io.ucoin.ucoinj.core.util.ObjectUtils; -import io.ucoin.ucoinj.core.util.StringUtils; -import io.ucoin.ucoinj.elasticsearch.config.Configuration; -import io.ucoin.ucoinj.elasticsearch.service.BaseIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; -import io.ucoin.ucoinj.elasticsearch.service.exception.DuplicateIndexIdException; -import io.ucoin.ucoinj.elasticsearch.service.registry.RegistryCurrencyIndexerService; +import org.duniter.core.client.model.bma.BlockchainBlock; +import org.duniter.core.client.model.bma.BlockchainParameters; +import org.duniter.core.client.model.bma.EndpointProtocol; +import org.duniter.core.client.model.bma.gson.GsonUtils; +import org.duniter.core.client.model.bma.gson.JsonAttributeParser; +import org.duniter.core.client.model.elasticsearch.Currency; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.service.bma.BlockchainRemoteService; +import org.duniter.core.client.service.bma.NetworkRemoteService; +import org.duniter.core.client.service.exception.HttpBadRequestException; +import org.duniter.core.client.service.exception.JsonSyntaxException; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.model.ProgressionModel; +import org.duniter.core.model.ProgressionModelImpl; +import org.duniter.core.util.CollectionUtils; +import org.duniter.core.util.ObjectUtils; +import org.duniter.core.util.StringUtils; +import org.duniter.elasticsearch.config.Configuration; +import org.duniter.elasticsearch.service.BaseIndexerService; +import org.duniter.elasticsearch.service.ServiceLocator; +import org.duniter.elasticsearch.service.exception.DuplicateIndexIdException; +import org.duniter.elasticsearch.service.registry.RegistryCurrencyIndexerService; import org.elasticsearch.action.ActionFuture; import org.elasticsearch.action.admin.indices.create.CreateIndexRequestBuilder; import org.elasticsearch.action.bulk.BulkItemResponse; @@ -142,8 +142,8 @@ public class BlockIndexerService extends BaseIndexerService { } String currencyName = parameter.getCurrency(); - progressionModel.setTask(I18n.t("ucoinj.blockIndexerService.indexLastBlocks.task", currencyName, peer.getHost(), peer.getPort())); - log.info(I18n.t("ucoinj.blockIndexerService.indexLastBlocks.task", + progressionModel.setTask(I18n.t("duniter4j.blockIndexerService.indexLastBlocks.task", currencyName, peer.getHost(), peer.getPort())); + log.info(I18n.t("duniter4j.blockIndexerService.indexLastBlocks.task", currencyName, config.getNodeBmaHost(), config.getNodeBmaPort())); // Create index currency if need @@ -196,7 +196,7 @@ public class BlockIndexerService extends BaseIndexerService { // If some blocks are missing, try to get it using other peers if (CollectionUtils.isNotEmpty(missingBlocks)) { - progressionModel.setTask(I18n.t("ucoinj.blockIndexerService.indexLastBlocks.otherPeers.task", currencyName)); + progressionModel.setTask(I18n.t("duniter4j.blockIndexerService.indexLastBlocks.otherPeers.task", currencyName)); missingBlocks = indexMissingBlocksFromOtherPeers(peer, currentBlock, missingBlocks, 1); } @@ -382,7 +382,7 @@ public class BlockIndexerService extends BaseIndexerService { String currencyName = blockCurrencyParser.getValueAsString(json); int number = blockNumberParser.getValueAsInt(json); - log.info(I18n.t("ucoinj.blockIndexerService.indexBlock", currencyName, peer, number)); + log.info(I18n.t("duniter4j.blockIndexerService.indexBlock", currencyName, peer, number)); // Preparing indexBlocksFromNode IndexRequestBuilder indexRequest = getClient().prepareIndex(currencyName, INDEX_TYPE_BLOCK) @@ -648,7 +648,7 @@ public class BlockIndexerService extends BaseIndexerService { if (progressionModel.isCancel()) { progressionModel.setStatus(ProgressionModel.Status.STOPPED); if (log.isInfoEnabled()) { - log.info(I18n.t("ucoinj.blockIndexerService.indexLastBlocks.stopped", peer)); + log.info(I18n.t("duniter4j.blockIndexerService.indexLastBlocks.stopped", peer)); } return missingBlockNumbers; } @@ -691,7 +691,7 @@ public class BlockIndexerService extends BaseIndexerService { if (progressionModel.isCancel()) { progressionModel.setStatus(ProgressionModel.Status.STOPPED); if (log.isInfoEnabled()) { - log.info(I18n.t("ucoinj.blockIndexerService.indexLastBlocks.stopped", currencyName, peer.getUrl())); + log.info(I18n.t("duniter4j.blockIndexerService.indexLastBlocks.stopped", currencyName, peer.getUrl())); } return missingBlockNumbers; } @@ -907,9 +907,9 @@ public class BlockIndexerService extends BaseIndexerService { int pct = (curNumber - firstNumber) * 100 / (lastNumber - firstNumber); progressionModel.setCurrent(pct); - progressionModel.setMessage(I18n.t("ucoinj.blockIndexerService.indexLastBlocks.progress", currencyName, peer, curNumber, lastNumber, pct)); + progressionModel.setMessage(I18n.t("duniter4j.blockIndexerService.indexLastBlocks.progress", currencyName, peer, curNumber, lastNumber, pct)); if (log.isInfoEnabled()) { - log.info(I18n.t("ucoinj.blockIndexerService.indexLastBlocks.progress", currencyName, peer, curNumber, lastNumber, pct)); + log.info(I18n.t("duniter4j.blockIndexerService.indexLastBlocks.progress", currencyName, peer, curNumber, lastNumber, pct)); } } diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/exception/AccessDeniedException.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/exception/AccessDeniedException.java similarity index 91% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/exception/AccessDeniedException.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/exception/AccessDeniedException.java index 8c984799063ca868e066f0e5e6da98bccf8654c2..ce06a30fdc332b3288b93e0881ecf850b417595a 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/exception/AccessDeniedException.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/exception/AccessDeniedException.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service.exception; +package org.duniter.elasticsearch.service.exception; /* * #%L @@ -23,7 +23,7 @@ package io.ucoin.ucoinj.elasticsearch.service.exception; */ -import io.ucoin.ucoinj.core.exception.BusinessException; +import org.duniter.core.exception.BusinessException; /** * Created by Benoit on 03/04/2015. diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/exception/DuplicateIndexIdException.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/exception/DuplicateIndexIdException.java similarity index 91% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/exception/DuplicateIndexIdException.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/exception/DuplicateIndexIdException.java index eb535b140d792708e6f8cda819602345d5a0f089..c0972a95405eb872f439cbd418752c09331be8c8 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/exception/DuplicateIndexIdException.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/exception/DuplicateIndexIdException.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service.exception; +package org.duniter.elasticsearch.service.exception; /* * #%L @@ -23,7 +23,7 @@ package io.ucoin.ucoinj.elasticsearch.service.exception; */ -import io.ucoin.ucoinj.core.exception.BusinessException; +import org.duniter.core.exception.BusinessException; /** * Created by Benoit on 03/04/2015. diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/exception/InvalidFormatException.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/exception/InvalidFormatException.java similarity index 79% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/exception/InvalidFormatException.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/exception/InvalidFormatException.java index 36966cde773a749708491e28c8615e3b97ecac4b..020ee7a4d2561cae50f882ee03aaaf453460078b 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/exception/InvalidFormatException.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/exception/InvalidFormatException.java @@ -1,6 +1,6 @@ -package io.ucoin.ucoinj.elasticsearch.service.exception; +package org.duniter.elasticsearch.service.exception; -import io.ucoin.ucoinj.core.exception.BusinessException; +import org.duniter.core.exception.BusinessException; /** * Created by blavenie on 01/03/16. diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/exception/InvalidSignatureException.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/exception/InvalidSignatureException.java similarity index 91% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/exception/InvalidSignatureException.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/exception/InvalidSignatureException.java index fa977061bee567b844941adb1c3e85dbb6bb1b22..c6e0c4b68f2c2cf6f4a0d8ab9fec7dfc2545aafb 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/exception/InvalidSignatureException.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/exception/InvalidSignatureException.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service.exception; +package org.duniter.elasticsearch.service.exception; /* * #%L @@ -23,7 +23,7 @@ package io.ucoin.ucoinj.elasticsearch.service.exception; */ -import io.ucoin.ucoinj.core.exception.BusinessException; +import org.duniter.core.exception.BusinessException; /** * Created by Benoit on 03/04/2015. diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/market/MarketCategoryIndexerService.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/market/MarketCategoryIndexerService.java similarity index 91% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/market/MarketCategoryIndexerService.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/market/MarketCategoryIndexerService.java index 2791037ed03709484a79895f3fe22e2891ee4bfa..212d093bc1c2113c53a21bd42b7539db9b6f25dd 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/market/MarketCategoryIndexerService.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/market/MarketCategoryIndexerService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service.market; +package org.duniter.elasticsearch.service.market; /* * #%L @@ -24,18 +24,11 @@ package io.ucoin.ucoinj.elasticsearch.service.market; import com.fasterxml.jackson.core.JsonProcessingException; -import com.google.gson.Gson; -import io.ucoin.ucoinj.core.client.model.bma.gson.GsonUtils; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.util.StringUtils; -import io.ucoin.ucoinj.elasticsearch.config.Configuration; -import io.ucoin.ucoinj.elasticsearch.service.BaseIndexerService; +import org.duniter.core.exception.TechnicalException; +import org.duniter.elasticsearch.service.BaseIndexerService; import org.elasticsearch.action.admin.indices.create.CreateIndexRequestBuilder; -import org.elasticsearch.action.bulk.BulkRequest; import org.elasticsearch.action.index.IndexRequestBuilder; import org.elasticsearch.action.index.IndexResponse; -import org.elasticsearch.client.Requests; -import org.elasticsearch.common.bytes.BytesArray; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.common.xcontent.XContentFactory; diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/market/MarketRecordIndexerService.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/market/MarketRecordIndexerService.java similarity index 92% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/market/MarketRecordIndexerService.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/market/MarketRecordIndexerService.java index 312f92dde4d49ff28a2be3aa0531c0bff3cff0da..4ad5db3dae83cd6b2b507aed330752011be76e21 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/market/MarketRecordIndexerService.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/market/MarketRecordIndexerService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service.market; +package org.duniter.elasticsearch.service.market; /* * #%L @@ -27,19 +27,17 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.collect.Sets; -import com.google.gson.Gson; import com.google.gson.JsonSyntaxException; -import io.ucoin.ucoinj.core.client.model.bma.gson.GsonUtils; -import io.ucoin.ucoinj.core.client.model.elasticsearch.Record; -import io.ucoin.ucoinj.core.client.service.bma.WotRemoteService; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.service.CryptoService; -import io.ucoin.ucoinj.core.util.StringUtils; -import io.ucoin.ucoinj.elasticsearch.config.Configuration; -import io.ucoin.ucoinj.elasticsearch.service.BaseIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; -import io.ucoin.ucoinj.elasticsearch.service.exception.InvalidFormatException; -import io.ucoin.ucoinj.elasticsearch.service.exception.InvalidSignatureException; +import org.duniter.core.client.model.elasticsearch.Record; +import org.duniter.core.client.service.bma.WotRemoteService; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.service.CryptoService; +import org.duniter.core.util.StringUtils; +import org.duniter.elasticsearch.config.Configuration; +import org.duniter.elasticsearch.service.BaseIndexerService; +import org.duniter.elasticsearch.service.ServiceLocator; +import org.duniter.elasticsearch.service.exception.InvalidFormatException; +import org.duniter.elasticsearch.service.exception.InvalidSignatureException; import org.elasticsearch.action.admin.indices.create.CreateIndexRequestBuilder; import org.elasticsearch.action.index.IndexRequestBuilder; import org.elasticsearch.action.index.IndexResponse; diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/registry/RegistryCategoryIndexerService.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/registry/RegistryCategoryIndexerService.java similarity index 89% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/registry/RegistryCategoryIndexerService.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/registry/RegistryCategoryIndexerService.java index 24b34ef487c110e6be6c94fb29040dec85a30f7b..278634cdee5df3ffe5ec4bf2fe54369b4edb669a 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/registry/RegistryCategoryIndexerService.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/registry/RegistryCategoryIndexerService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service.registry; +package org.duniter.elasticsearch.service.registry; /* * #%L @@ -24,29 +24,20 @@ package io.ucoin.ucoinj.elasticsearch.service.registry; import com.fasterxml.jackson.core.JsonProcessingException; -import com.google.gson.Gson; -import io.ucoin.ucoinj.core.client.model.bma.gson.GsonUtils; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.util.StringUtils; -import io.ucoin.ucoinj.elasticsearch.config.Configuration; -import io.ucoin.ucoinj.elasticsearch.service.BaseIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.util.StringUtils; +import org.duniter.elasticsearch.config.Configuration; +import org.duniter.elasticsearch.service.BaseIndexerService; import org.elasticsearch.action.admin.indices.create.CreateIndexRequestBuilder; -import org.elasticsearch.action.bulk.BulkRequest; import org.elasticsearch.action.index.IndexRequestBuilder; import org.elasticsearch.action.index.IndexResponse; -import org.elasticsearch.client.Requests; -import org.elasticsearch.common.bytes.BytesArray; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.common.xcontent.XContentFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.BufferedReader; import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; /** * Created by Benoit on 30/03/2015. diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/registry/RegistryCitiesIndexerService.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/registry/RegistryCitiesIndexerService.java similarity index 96% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/registry/RegistryCitiesIndexerService.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/registry/RegistryCitiesIndexerService.java index f674ef444f5cf747971f50096dfa531065ce449a..7eb7759dd77ddc08d65187aa5fe22ee26bbe36fd 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/registry/RegistryCitiesIndexerService.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/registry/RegistryCitiesIndexerService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service.registry; +package org.duniter.elasticsearch.service.registry; /* * #%L @@ -26,11 +26,11 @@ package io.ucoin.ucoinj.elasticsearch.service.registry; import com.fasterxml.jackson.core.JsonProcessingException; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; -import io.ucoin.ucoinj.core.client.model.bma.gson.GsonUtils; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.util.StringUtils; -import io.ucoin.ucoinj.elasticsearch.config.Configuration; -import io.ucoin.ucoinj.elasticsearch.service.BaseIndexerService; +import org.duniter.core.client.model.bma.gson.GsonUtils; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.util.StringUtils; +import org.duniter.elasticsearch.config.Configuration; +import org.duniter.elasticsearch.service.BaseIndexerService; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; import org.elasticsearch.action.admin.indices.create.CreateIndexRequestBuilder; @@ -54,7 +54,7 @@ public class RegistryCitiesIndexerService extends BaseIndexerService { private static final String CITIES_SOURCE_CLASSPATH_FILE = "cities/countriesToCities.json"; - private static final String CITIES_SOURCE_FILE2 = "/home/blavenie/git/ucoin-io/ucoinj/ucoinj-elasticsearch/src/main/misc/geoflar-communes-2015.geojson"; + private static final String CITIES_SOURCE_FILE2 = "/home/blavenie/git/ucoin-io/duniter4j/duniter4j-elasticsearch/src/main/misc/geoflar-communes-2015.geojson"; public static final String INDEX_NAME = "registry"; public static final String INDEX_TYPE = "city"; diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/registry/RegistryCurrencyIndexerService.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/registry/RegistryCurrencyIndexerService.java similarity index 95% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/registry/RegistryCurrencyIndexerService.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/registry/RegistryCurrencyIndexerService.java index f99cbfd2993624d3a19e55214e1cf92f7a167d95..087e6a5fb085c91ee8fde96e33a346857c60e474 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/registry/RegistryCurrencyIndexerService.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/registry/RegistryCurrencyIndexerService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service.registry; +package org.duniter.elasticsearch.service.registry; /* * #%L @@ -27,22 +27,22 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.google.common.base.Preconditions; import com.google.common.collect.Lists; import com.google.gson.Gson; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainBlock; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainParameters; -import io.ucoin.ucoinj.core.client.model.bma.gson.GsonUtils; -import io.ucoin.ucoinj.core.client.model.elasticsearch.Currency; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.service.bma.BlockchainRemoteService; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.service.CryptoService; -import io.ucoin.ucoinj.core.util.ObjectUtils; -import io.ucoin.ucoinj.elasticsearch.model.SearchResult; -import io.ucoin.ucoinj.elasticsearch.service.BaseIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; -import io.ucoin.ucoinj.elasticsearch.service.currency.BlockIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.exception.AccessDeniedException; -import io.ucoin.ucoinj.elasticsearch.service.exception.DuplicateIndexIdException; -import io.ucoin.ucoinj.elasticsearch.service.exception.InvalidSignatureException; +import org.duniter.core.client.model.bma.BlockchainBlock; +import org.duniter.core.client.model.bma.BlockchainParameters; +import org.duniter.core.client.model.bma.gson.GsonUtils; +import org.duniter.core.client.model.elasticsearch.Currency; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.service.bma.BlockchainRemoteService; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.service.CryptoService; +import org.duniter.core.util.ObjectUtils; +import org.duniter.elasticsearch.model.SearchResult; +import org.duniter.elasticsearch.service.BaseIndexerService; +import org.duniter.elasticsearch.service.ServiceLocator; +import org.duniter.elasticsearch.service.currency.BlockIndexerService; +import org.duniter.elasticsearch.service.exception.AccessDeniedException; +import org.duniter.elasticsearch.service.exception.DuplicateIndexIdException; +import org.duniter.elasticsearch.service.exception.InvalidSignatureException; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ArrayUtils; import org.elasticsearch.action.admin.indices.create.CreateIndexRequestBuilder; diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/registry/RegistryRecordIndexerService.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/registry/RegistryRecordIndexerService.java similarity index 92% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/registry/RegistryRecordIndexerService.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/registry/RegistryRecordIndexerService.java index 8cba7acde996ac8ef2e93a9fa068bdea72ffcf6a..8daf712d40be7da405b89d13a04fecb8f891bc82 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/registry/RegistryRecordIndexerService.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/registry/RegistryRecordIndexerService.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service.registry; +package org.duniter.elasticsearch.service.registry; /* * #%L @@ -29,17 +29,17 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.collect.Sets; import com.google.gson.Gson; import com.google.gson.JsonSyntaxException; -import io.ucoin.ucoinj.core.client.model.bma.gson.GsonUtils; -import io.ucoin.ucoinj.core.client.model.elasticsearch.Record; -import io.ucoin.ucoinj.core.client.service.bma.WotRemoteService; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.service.CryptoService; -import io.ucoin.ucoinj.core.util.StringUtils; -import io.ucoin.ucoinj.elasticsearch.config.Configuration; -import io.ucoin.ucoinj.elasticsearch.service.BaseIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; -import io.ucoin.ucoinj.elasticsearch.service.exception.InvalidFormatException; -import io.ucoin.ucoinj.elasticsearch.service.exception.InvalidSignatureException; +import org.duniter.core.client.model.bma.gson.GsonUtils; +import org.duniter.core.client.model.elasticsearch.Record; +import org.duniter.core.client.service.bma.WotRemoteService; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.service.CryptoService; +import org.duniter.core.util.StringUtils; +import org.duniter.elasticsearch.config.Configuration; +import org.duniter.elasticsearch.service.BaseIndexerService; +import org.duniter.elasticsearch.service.ServiceLocator; +import org.duniter.elasticsearch.service.exception.InvalidFormatException; +import org.duniter.elasticsearch.service.exception.InvalidSignatureException; import org.elasticsearch.action.admin.indices.create.CreateIndexRequestBuilder; import org.elasticsearch.action.index.IndexRequestBuilder; import org.elasticsearch.action.index.IndexResponse; diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/task/Job.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/task/Job.java similarity index 91% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/task/Job.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/task/Job.java index a1d7be77b9a40be5ebf73c8ff7644ad5077d6903..dccfc4a538a76b837ff9e9e4c51ac9339796d95b 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/task/Job.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/task/Job.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service.task; +package org.duniter.elasticsearch.service.task; /* * #%L @@ -24,10 +24,10 @@ package io.ucoin.ucoinj.elasticsearch.service.task; * #L% */ -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.model.ProgressionModel; -import io.ucoin.ucoinj.core.util.ObjectUtils; -import io.ucoin.ucoinj.elasticsearch.config.Configuration; +import org.duniter.core.exception.TechnicalException; +import org.duniter.core.model.ProgressionModel; +import org.duniter.core.util.ObjectUtils; +import org.duniter.elasticsearch.config.Configuration; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -152,7 +152,7 @@ public class Job implements java.lang.Runnable { protected void onSuccess() { progressionModel.setCurrent(100); progressionModel.setTask(""); - progressionModel.setMessage(t("ucoinj.job.success")); + progressionModel.setMessage(t("duniter4j.job.success")); progressionModel.setStatus(ProgressionModel.Status.SUCCESS); } @@ -162,9 +162,9 @@ public class Job implements java.lang.Runnable { protected void checkJobInterruption() { if (this.interrupted) { if (log.isInfoEnabled()) { - log.info(t("ucoinj.job.stopping")); + log.info(t("duniter4j.job.stopping")); } - throw new TechnicalException(t("ucoinj.job.stopped"), new InterruptedException()); + throw new TechnicalException(t("duniter4j.job.stopped"), new InterruptedException()); } } diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/task/JobFuture.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/task/JobFuture.java similarity index 97% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/task/JobFuture.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/task/JobFuture.java index 09c0cd39290ac2737cd742ab095051b68ed98510..92a202f5d5677dbdbc2ad7b4d4c0a746e806ac65 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/task/JobFuture.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/task/JobFuture.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service.task; +package org.duniter.elasticsearch.service.task; /* * #%L diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/task/JobVO.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/task/JobVO.java similarity index 95% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/task/JobVO.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/task/JobVO.java index b240eb9872edcfdd15e6dcfb8537f9696c351800..5e58be60682593b52d2d91f6818866a83e458368 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/task/JobVO.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/service/task/JobVO.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service.task; +package org.duniter.elasticsearch.service.task; /* * #%L diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/Desktop.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/Desktop.java similarity index 94% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/Desktop.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/Desktop.java index 6c981a2055b51ebb2d0f5cfefc9f8311e20c82ea..670ad02f06ea2947d70715d1ed9972cfaef569d1 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/Desktop.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/Desktop.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.util; +package org.duniter.elasticsearch.util; /* * #%L @@ -25,7 +25,7 @@ package io.ucoin.ucoinj.elasticsearch.util; */ -import io.ucoin.ucoinj.elasticsearch.util.os.win.WindowsPower; +import org.duniter.elasticsearch.util.os.win.WindowsPower; import org.apache.commons.lang3.SystemUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/DesktopPower.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/DesktopPower.java similarity index 96% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/DesktopPower.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/DesktopPower.java index 5228126ac640506b10543348b8a7fac11b66478f..70030d4cb40a79247bd5a75fce21599c064d7772 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/DesktopPower.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/DesktopPower.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.util; +package org.duniter.elasticsearch.util; /* * #%L diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/WindowsPower.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/WindowsPower.java similarity index 92% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/WindowsPower.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/WindowsPower.java index 8e03e46d78e16df58af1f985eca54d97e67aed16..eff638201756b12f2ea4f9c8d8ba806dfd9783bf 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/WindowsPower.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/WindowsPower.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.util.os.win; +package org.duniter.elasticsearch.util.os.win; /* * #%L @@ -31,13 +31,13 @@ import com.sun.jna.platform.win32.WinDef.*; import com.sun.jna.platform.win32.WinUser.HHOOK; import com.sun.jna.platform.win32.WinUser.HOOKPROC; import com.sun.jna.platform.win32.WinUser.MSG; -import io.ucoin.ucoinj.elasticsearch.util.DesktopPower; -import io.ucoin.ucoinj.elasticsearch.util.os.win.handle.CWPSSTRUCT; -import io.ucoin.ucoinj.elasticsearch.util.os.win.handle.HANDLER_ROUTINE; -import io.ucoin.ucoinj.elasticsearch.util.os.win.handle.WNDPROC; -import io.ucoin.ucoinj.elasticsearch.util.os.win.libs.Kernel32Ex; -import io.ucoin.ucoinj.elasticsearch.util.os.win.wrap.GetLastErrorException; -import io.ucoin.ucoinj.elasticsearch.util.os.win.wrap.WNDCLASSEXWrap; +import org.duniter.elasticsearch.util.DesktopPower; +import org.duniter.elasticsearch.util.os.win.handle.CWPSSTRUCT; +import org.duniter.elasticsearch.util.os.win.handle.HANDLER_ROUTINE; +import org.duniter.elasticsearch.util.os.win.handle.WNDPROC; +import org.duniter.elasticsearch.util.os.win.libs.Kernel32Ex; +import org.duniter.elasticsearch.util.os.win.wrap.GetLastErrorException; +import org.duniter.elasticsearch.util.os.win.wrap.WNDCLASSEXWrap; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/handle/CWPSSTRUCT.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/handle/CWPSSTRUCT.java similarity index 95% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/handle/CWPSSTRUCT.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/handle/CWPSSTRUCT.java index 96ecbcc3a9a6df1f63819c4152c102a2238892ed..671a1e2309feb0d17801ba2fb6f2d97883d61985 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/handle/CWPSSTRUCT.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/handle/CWPSSTRUCT.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.util.os.win.handle; +package org.duniter.elasticsearch.util.os.win.handle; /* * #%L diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/handle/HANDLER_ROUTINE.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/handle/HANDLER_ROUTINE.java similarity index 94% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/handle/HANDLER_ROUTINE.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/handle/HANDLER_ROUTINE.java index 65a71c00e40b4a8c8f673e5e54d05aeba9348883..5995d47bbab0cb93479549721370d10fdb7a512b 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/handle/HANDLER_ROUTINE.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/handle/HANDLER_ROUTINE.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.util.os.win.handle; +package org.duniter.elasticsearch.util.os.win.handle; /* * #%L diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/handle/WNDPROC.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/handle/WNDPROC.java similarity index 95% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/handle/WNDPROC.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/handle/WNDPROC.java index 92175f6e78954146e3ddaf9368a067326a01203c..113d77ae75be4ddc962352caf63520bc23a8601c 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/handle/WNDPROC.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/handle/WNDPROC.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.util.os.win.handle; +package org.duniter.elasticsearch.util.os.win.handle; /* * #%L diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/libs/Kernel32Ex.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/libs/Kernel32Ex.java similarity index 92% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/libs/Kernel32Ex.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/libs/Kernel32Ex.java index c5f3a3f134caa0630bed16ddfa35c0d2d953d7b3..ffcfa722e60ed49f22c3c3c2a32281922d35db57 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/libs/Kernel32Ex.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/libs/Kernel32Ex.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.util.os.win.libs; +package org.duniter.elasticsearch.util.os.win.libs; /* * #%L @@ -27,7 +27,7 @@ package io.ucoin.ucoinj.elasticsearch.util.os.win.libs; import com.sun.jna.Library; import com.sun.jna.Native; import com.sun.jna.win32.W32APIOptions; -import io.ucoin.ucoinj.elasticsearch.util.os.win.handle.HANDLER_ROUTINE; +import org.duniter.elasticsearch.util.os.win.handle.HANDLER_ROUTINE; public interface Kernel32Ex extends Library { diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/wrap/GetLastErrorException.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/wrap/GetLastErrorException.java similarity index 95% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/wrap/GetLastErrorException.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/wrap/GetLastErrorException.java index 0ad62eb85e1fc4e8acd687749316ba34c349167b..29f3e87ca35e4f481927fccfec70dcb5fde88e0a 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/wrap/GetLastErrorException.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/wrap/GetLastErrorException.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.util.os.win.wrap; +package org.duniter.elasticsearch.util.os.win.wrap; /* * #%L diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/wrap/WNDCLASSEXWrap.java b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/wrap/WNDCLASSEXWrap.java similarity index 94% rename from ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/wrap/WNDCLASSEXWrap.java rename to duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/wrap/WNDCLASSEXWrap.java index c1c7c6996f9f8dbff217662f12caed86b749e6bf..a50d8c1a46ba396a5f1818775fd7fd1d9aebd553 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/util/os/win/wrap/WNDCLASSEXWrap.java +++ b/duniter4j-elasticsearch/src/main/java/org/duniter/elasticsearch/util/os/win/wrap/WNDCLASSEXWrap.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.util.os.win.wrap; +package org.duniter.elasticsearch.util.os.win.wrap; /* * #%L @@ -29,7 +29,7 @@ import com.sun.jna.platform.win32.User32; import com.sun.jna.platform.win32.WinDef.ATOM; import com.sun.jna.platform.win32.WinDef.HINSTANCE; import com.sun.jna.platform.win32.WinUser; -import io.ucoin.ucoinj.elasticsearch.util.os.win.handle.WNDPROC; +import org.duniter.elasticsearch.util.os.win.handle.WNDPROC; public class WNDCLASSEXWrap { diff --git a/ucoinj-elasticsearch/src/main/misc/cities-fr.geoJson.txt b/duniter4j-elasticsearch/src/main/misc/cities-fr.geoJson.txt similarity index 100% rename from ucoinj-elasticsearch/src/main/misc/cities-fr.geoJson.txt rename to duniter4j-elasticsearch/src/main/misc/cities-fr.geoJson.txt diff --git a/ucoinj-elasticsearch/src/main/misc/registry-categories-naf2008_liste_n5.ods b/duniter4j-elasticsearch/src/main/misc/registry-categories-naf2008_liste_n5.ods similarity index 100% rename from ucoinj-elasticsearch/src/main/misc/registry-categories-naf2008_liste_n5.ods rename to duniter4j-elasticsearch/src/main/misc/registry-categories-naf2008_liste_n5.ods diff --git a/duniter4j-elasticsearch/src/main/resources/META-INF/services/org.duniter.core.beans.Bean b/duniter4j-elasticsearch/src/main/resources/META-INF/services/org.duniter.core.beans.Bean new file mode 100644 index 0000000000000000000000000000000000000000..4f29772ad54387f9140130477dd5a590bf8d0345 --- /dev/null +++ b/duniter4j-elasticsearch/src/main/resources/META-INF/services/org.duniter.core.beans.Bean @@ -0,0 +1,22 @@ +org.duniter.core.client.service.bma.BlockchainRemoteServiceImpl +org.duniter.core.client.service.bma.NetworkRemoteServiceImpl +org.duniter.core.client.service.bma.WotRemoteServiceImpl +org.duniter.core.client.service.bma.TransactionRemoteServiceImpl +org.duniter.core.client.service.elasticsearch.CurrencyRegistryRemoteServiceImpl +org.duniter.core.service.Ed25519CryptoServiceImpl +org.duniter.core.client.service.HttpServiceImpl +org.duniter.core.client.service.DataContext +org.duniter.core.client.service.local.PeerServiceImpl +org.duniter.core.client.service.local.CurrencyServiceImpl +org.duniter.core.client.dao.mem.MemoryCurrencyDaoImpl +org.duniter.core.client.dao.mem.MemoryPeerDaoImpl +org.duniter.elasticsearch.service.ElasticSearchService +org.duniter.elasticsearch.service.currency.BlockIndexerService +org.duniter.elasticsearch.service.ExecutorServiceImpl +org.duniter.elasticsearch.service.market.MarketRecordIndexerService +org.duniter.elasticsearch.service.market.MarketCategoryIndexerService +org.duniter.elasticsearch.service.registry.RegistryCurrencyIndexerService +org.duniter.elasticsearch.service.registry.RegistryRecordIndexerService +org.duniter.elasticsearch.service.registry.RegistryCategoryIndexerService +org.duniter.elasticsearch.service.registry.RegistryCitiesIndexerService + diff --git a/duniter4j-elasticsearch/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider b/duniter4j-elasticsearch/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider new file mode 100644 index 0000000000000000000000000000000000000000..f70e2417e5e77245a868ea71b4cf87e3650e853b --- /dev/null +++ b/duniter4j-elasticsearch/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider @@ -0,0 +1 @@ +org.duniter.elasticsearch.config.ConfigurationProvider diff --git a/duniter4j-elasticsearch/src/main/resources/i18n/ucoinj-elasticsearch_en_GB.properties b/duniter4j-elasticsearch/src/main/resources/i18n/ucoinj-elasticsearch_en_GB.properties new file mode 100644 index 0000000000000000000000000000000000000000..77a2c0aec9ea89542b8ee93664c4e0ae9b67298e --- /dev/null +++ b/duniter4j-elasticsearch/src/main/resources/i18n/ucoinj-elasticsearch_en_GB.properties @@ -0,0 +1,51 @@ +duniter4j-elasticsearch.config= +duniter4j.blockIndexerService.indexBlock=[%s] [%s] Indexing block \#%s +duniter4j.blockIndexerService.indexLastBlocks.otherPeers.task=Indexing missing blocks of [%s] from other peers +duniter4j.blockIndexerService.indexLastBlocks.progress=[%s] [%s] Indexing block \#%s / %s (%s%%)... +duniter4j.blockIndexerService.indexLastBlocks.stopped=[%s] [%s] Indexing last block - stopped +duniter4j.blockIndexerService.indexLastBlocks.task=Indexing last blocks of [%s] from peer [%s\:%s]... +duniter4j.config.option.basedir.description= +duniter4j.config.option.cache.directory.description= +duniter4j.config.option.data.directory.description= +duniter4j.config.option.elasticsearch.bulk.enable.description= +duniter4j.config.option.elasticsearch.bulk.size.description= +duniter4j.config.option.elasticsearch.cluster.name.description= +duniter4j.config.option.elasticsearch.embedded.enable.description= +duniter4j.config.option.elasticsearch.host.description= +duniter4j.config.option.elasticsearch.local.description= +duniter4j.config.option.i18n.directory.description= +duniter4j.config.option.i18n.locale.description= +duniter4j.config.option.index.parallel_processing.description= +duniter4j.config.option.node.elasticsearch.cluster.name.description= +duniter4j.config.option.node.elasticsearch.clusterName.description= +duniter4j.config.option.node.elasticsearch.embeddeb.description= +duniter4j.config.option.node.elasticsearch.embeddeb.http.description= +duniter4j.config.option.node.elasticsearch.embeddeb.local.description= +duniter4j.config.option.node.elasticsearch.embedded.enable.description= +duniter4j.config.option.node.elasticsearch.embedded.http.enable.description= +duniter4j.config.option.node.elasticsearch.embedded.local.description= +duniter4j.config.option.node.elasticsearch.host.description= +duniter4j.config.option.node.elasticsearch.http.enable.description= +duniter4j.config.option.node.elasticsearch.local.clusterName.description= +duniter4j.config.option.node.elasticsearch.local.description= +duniter4j.config.option.node.elasticsearch.port.description= +duniter4j.config.option.node.elasticsearch.protocol.description= +duniter4j.config.option.node.elasticsearch.rest.host.description= +duniter4j.config.option.node.elasticsearch.rest.port.description= +duniter4j.config.option.node.elasticsearch.rest.protocol.description= +duniter4j.config.option.node.elasticsearch.rest.url.description= +duniter4j.config.option.node.host.description= +duniter4j.config.option.node.port.description= +duniter4j.config.option.node.protocol.description= +duniter4j.config.option.plugins.directory.description= +duniter4j.config.option.taskExecutor.queueCapacity.description= +duniter4j.config.option.tasks.queueCapacity.description= +duniter4j.config.option.tmp.directory.description= +duniter4j.config.option.version.description= +duniter4j.config.parse.error= +duniter4j.executor.task.waitingExecution= +duniter4j.job.stopped= +duniter4j.job.stopping= +duniter4j.job.success= +duniter4j.task.issuer.system=System +duniter4j.task.starting=Starting task... diff --git a/duniter4j-elasticsearch/src/main/resources/i18n/ucoinj-elasticsearch_fr_FR.properties b/duniter4j-elasticsearch/src/main/resources/i18n/ucoinj-elasticsearch_fr_FR.properties new file mode 100644 index 0000000000000000000000000000000000000000..9a9c287b5aa7adc634d189df50b6c1c0c63c3236 --- /dev/null +++ b/duniter4j-elasticsearch/src/main/resources/i18n/ucoinj-elasticsearch_fr_FR.properties @@ -0,0 +1,51 @@ +duniter4j-elasticsearch.config= +duniter4j.blockIndexerService.indexBlock=[%s] [%s] Indexing block \#%s +duniter4j.blockIndexerService.indexLastBlocks.otherPeers.task=Indexing missing blocks of [%s] from other peers +duniter4j.blockIndexerService.indexLastBlocks.progress=[%s] [%s] Indexing block \#%s / %s (%s%%)... +duniter4j.blockIndexerService.indexLastBlocks.stopped=[%s] [%s] Indexing last block - stopped +duniter4j.blockIndexerService.indexLastBlocks.task=Indexing last blocks of [%s] from peer [%s\:%s]... +duniter4j.config.option.basedir.description= +duniter4j.config.option.cache.directory.description= +duniter4j.config.option.data.directory.description= +duniter4j.config.option.elasticsearch.bulk.enable.description= +duniter4j.config.option.elasticsearch.bulk.size.description= +duniter4j.config.option.elasticsearch.cluster.name.description= +duniter4j.config.option.elasticsearch.embedded.enable.description= +duniter4j.config.option.elasticsearch.host.description= +duniter4j.config.option.elasticsearch.local.description= +duniter4j.config.option.i18n.directory.description= +duniter4j.config.option.i18n.locale.description= +duniter4j.config.option.index.parallel_processing.description= +duniter4j.config.option.node.elasticsearch.cluster.name.description= +duniter4j.config.option.node.elasticsearch.clusterName.description= +duniter4j.config.option.node.elasticsearch.embeddeb.description= +duniter4j.config.option.node.elasticsearch.embeddeb.http.description= +duniter4j.config.option.node.elasticsearch.embeddeb.local.description= +duniter4j.config.option.node.elasticsearch.embedded.enable.description= +duniter4j.config.option.node.elasticsearch.embedded.http.enable.description= +duniter4j.config.option.node.elasticsearch.embedded.local.description= +duniter4j.config.option.node.elasticsearch.host.description= +duniter4j.config.option.node.elasticsearch.http.enable.description= +duniter4j.config.option.node.elasticsearch.local.clusterName.description= +duniter4j.config.option.node.elasticsearch.local.description= +duniter4j.config.option.node.elasticsearch.port.description= +duniter4j.config.option.node.elasticsearch.protocol.description= +duniter4j.config.option.node.elasticsearch.rest.host.description= +duniter4j.config.option.node.elasticsearch.rest.port.description= +duniter4j.config.option.node.elasticsearch.rest.protocol.description= +duniter4j.config.option.node.elasticsearch.rest.url.description= +duniter4j.config.option.node.host.description= +duniter4j.config.option.node.port.description= +duniter4j.config.option.node.protocol.description= +duniter4j.config.option.plugins.directory.description= +duniter4j.config.option.taskExecutor.queueCapacity.description= +duniter4j.config.option.tasks.queueCapacity.description= +duniter4j.config.option.tmp.directory.description= +duniter4j.config.option.version.description= +duniter4j.config.parse.error= +duniter4j.executor.task.waitingExecution= +duniter4j.job.stopped= +duniter4j.job.stopping= +duniter4j.job.success= +duniter4j.task.issuer.system=Système +duniter4j.task.starting=Démarrage du traitement... diff --git a/ucoinj-elasticsearch/src/main/resources/market-categories-bulk-insert.json b/duniter4j-elasticsearch/src/main/resources/market-categories-bulk-insert.json similarity index 100% rename from ucoinj-elasticsearch/src/main/resources/market-categories-bulk-insert.json rename to duniter4j-elasticsearch/src/main/resources/market-categories-bulk-insert.json diff --git a/ucoinj-elasticsearch/src/main/resources/registry-categories-bulk-insert.json b/duniter4j-elasticsearch/src/main/resources/registry-categories-bulk-insert.json similarity index 100% rename from ucoinj-elasticsearch/src/main/resources/registry-categories-bulk-insert.json rename to duniter4j-elasticsearch/src/main/resources/registry-categories-bulk-insert.json diff --git a/ucoinj-elasticsearch-plugin/src/test/es-home/config/elasticsearch.yml b/duniter4j-elasticsearch/src/test/es-home/config/elasticsearch.yml similarity index 100% rename from ucoinj-elasticsearch-plugin/src/test/es-home/config/elasticsearch.yml rename to duniter4j-elasticsearch/src/test/es-home/config/elasticsearch.yml diff --git a/ucoinj-elasticsearch-plugin/src/test/es-home/config/logging.yml b/duniter4j-elasticsearch/src/test/es-home/config/logging.yml similarity index 100% rename from ucoinj-elasticsearch-plugin/src/test/es-home/config/logging.yml rename to duniter4j-elasticsearch/src/test/es-home/config/logging.yml diff --git a/ucoinj-elasticsearch-plugin/src/test/es-home/config/shield/logging.yml b/duniter4j-elasticsearch/src/test/es-home/config/shield/logging.yml similarity index 100% rename from ucoinj-elasticsearch-plugin/src/test/es-home/config/shield/logging.yml rename to duniter4j-elasticsearch/src/test/es-home/config/shield/logging.yml diff --git a/ucoinj-elasticsearch-plugin/src/test/es-home/config/shield/role_mapping.yml b/duniter4j-elasticsearch/src/test/es-home/config/shield/role_mapping.yml similarity index 100% rename from ucoinj-elasticsearch-plugin/src/test/es-home/config/shield/role_mapping.yml rename to duniter4j-elasticsearch/src/test/es-home/config/shield/role_mapping.yml diff --git a/ucoinj-elasticsearch-plugin/src/test/es-home/config/shield/roles.yml b/duniter4j-elasticsearch/src/test/es-home/config/shield/roles.yml similarity index 100% rename from ucoinj-elasticsearch-plugin/src/test/es-home/config/shield/roles.yml rename to duniter4j-elasticsearch/src/test/es-home/config/shield/roles.yml diff --git a/ucoinj-elasticsearch-plugin/src/test/es-home/config/shield/users b/duniter4j-elasticsearch/src/test/es-home/config/shield/users similarity index 100% rename from ucoinj-elasticsearch-plugin/src/test/es-home/config/shield/users rename to duniter4j-elasticsearch/src/test/es-home/config/shield/users diff --git a/ucoinj-elasticsearch-plugin/src/test/es-home/config/shield/users_roles b/duniter4j-elasticsearch/src/test/es-home/config/shield/users_roles similarity index 100% rename from ucoinj-elasticsearch-plugin/src/test/es-home/config/shield/users_roles rename to duniter4j-elasticsearch/src/test/es-home/config/shield/users_roles diff --git a/ucoinj-elasticsearch-plugin/src/test/es-home/logs/elasticsearch-access.log b/duniter4j-elasticsearch/src/test/es-home/logs/elasticsearch-access.log similarity index 100% rename from ucoinj-elasticsearch-plugin/src/test/es-home/logs/elasticsearch-access.log rename to duniter4j-elasticsearch/src/test/es-home/logs/elasticsearch-access.log diff --git a/ucoinj-elasticsearch-plugin/src/test/es-home/logs/elasticsearch.log b/duniter4j-elasticsearch/src/test/es-home/logs/elasticsearch.log similarity index 100% rename from ucoinj-elasticsearch-plugin/src/test/es-home/logs/elasticsearch.log rename to duniter4j-elasticsearch/src/test/es-home/logs/elasticsearch.log diff --git a/ucoinj-elasticsearch-plugin/src/test/es-home/logs/elasticsearch_deprecation.log b/duniter4j-elasticsearch/src/test/es-home/logs/elasticsearch_deprecation.log similarity index 100% rename from ucoinj-elasticsearch-plugin/src/test/es-home/logs/elasticsearch_deprecation.log rename to duniter4j-elasticsearch/src/test/es-home/logs/elasticsearch_deprecation.log diff --git a/ucoinj-elasticsearch-plugin/src/test/es-home/logs/elasticsearch_index_indexing_slowlog.log b/duniter4j-elasticsearch/src/test/es-home/logs/elasticsearch_index_indexing_slowlog.log similarity index 100% rename from ucoinj-elasticsearch-plugin/src/test/es-home/logs/elasticsearch_index_indexing_slowlog.log rename to duniter4j-elasticsearch/src/test/es-home/logs/elasticsearch_index_indexing_slowlog.log diff --git a/ucoinj-elasticsearch-plugin/src/test/es-home/logs/elasticsearch_index_search_slowlog.log b/duniter4j-elasticsearch/src/test/es-home/logs/elasticsearch_index_search_slowlog.log similarity index 100% rename from ucoinj-elasticsearch-plugin/src/test/es-home/logs/elasticsearch_index_search_slowlog.log rename to duniter4j-elasticsearch/src/test/es-home/logs/elasticsearch_index_search_slowlog.log diff --git a/ucoinj-elasticsearch-plugin/LICENSE b/duniter4j-elasticsearch/src/test/es-home/plugins/ucoinj-elasticsearch/LICENSE similarity index 100% rename from ucoinj-elasticsearch-plugin/LICENSE rename to duniter4j-elasticsearch/src/test/es-home/plugins/ucoinj-elasticsearch/LICENSE diff --git a/duniter4j-elasticsearch/src/test/es-home/plugins/ucoinj-elasticsearch/plugin-descriptor.properties b/duniter4j-elasticsearch/src/test/es-home/plugins/ucoinj-elasticsearch/plugin-descriptor.properties new file mode 100644 index 0000000000000000000000000000000000000000..b79e053107fb852c551df8d9cabec9579e3bf1f9 --- /dev/null +++ b/duniter4j-elasticsearch/src/test/es-home/plugins/ucoinj-elasticsearch/plugin-descriptor.properties @@ -0,0 +1,9 @@ +name=duniter4j-elasticsearch +description=duniter4j :: ElasticSearch Plugin +version=0.1-SNAPSHOT +site=false +jvm=true +classname=io.ucoin.duniter4j.elasticsearch.plugin.Plugin +java.version=1.7 +elasticsearch.version=2.3.1 +isolated=false \ No newline at end of file diff --git a/ucoinj-elasticsearch/src/test/java/io/ucoin/ucoinj/elasticsearch/TestFixtures.java b/duniter4j-elasticsearch/src/test/java/org/duniter/elasticsearch/TestFixtures.java similarity index 87% rename from ucoinj-elasticsearch/src/test/java/io/ucoin/ucoinj/elasticsearch/TestFixtures.java rename to duniter4j-elasticsearch/src/test/java/org/duniter/elasticsearch/TestFixtures.java index eeb1c1e15db8b6ec470414c08efaa9cb70a0ce0f..36f093303027109c68ee24aa3e8d1b763c865daf 100644 --- a/ucoinj-elasticsearch/src/test/java/io/ucoin/ucoinj/elasticsearch/TestFixtures.java +++ b/duniter4j-elasticsearch/src/test/java/org/duniter/elasticsearch/TestFixtures.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch; +package org.duniter.elasticsearch; /* * #%L @@ -23,6 +23,6 @@ package io.ucoin.ucoinj.elasticsearch; */ -public class TestFixtures extends io.ucoin.ucoinj.core.test.TestFixtures{ +public class TestFixtures extends org.duniter.core.test.TestFixtures { } diff --git a/ucoinj-elasticsearch/src/test/java/io/ucoin/ucoinj/elasticsearch/TestResource.java b/duniter4j-elasticsearch/src/test/java/org/duniter/elasticsearch/TestResource.java similarity index 91% rename from ucoinj-elasticsearch/src/test/java/io/ucoin/ucoinj/elasticsearch/TestResource.java rename to duniter4j-elasticsearch/src/test/java/org/duniter/elasticsearch/TestResource.java index 8ff2d538f957fe0bfc6f3875073927c8bd2a6f6e..bd9114cb61711aeecfebfeac55b3160905533493 100644 --- a/ucoinj-elasticsearch/src/test/java/io/ucoin/ucoinj/elasticsearch/TestResource.java +++ b/duniter4j-elasticsearch/src/test/java/org/duniter/elasticsearch/TestResource.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch; +package org.duniter.elasticsearch; /* * #%L @@ -24,9 +24,9 @@ package io.ucoin.ucoinj.elasticsearch; import com.google.common.collect.Lists; -import io.ucoin.ucoinj.core.client.service.ServiceLocator; -import io.ucoin.ucoinj.elasticsearch.config.Configuration; -import io.ucoin.ucoinj.elasticsearch.config.ConfigurationOption; +import org.duniter.core.client.service.ServiceLocator; +import org.duniter.elasticsearch.config.Configuration; +import org.duniter.elasticsearch.config.ConfigurationOption; import org.apache.commons.io.FileUtils; import org.junit.runner.Description; import org.nuiton.i18n.I18n; @@ -40,7 +40,7 @@ import java.io.IOException; import java.util.List; import java.util.Locale; -public class TestResource extends io.ucoin.ucoinj.core.test.TestResource { +public class TestResource extends org.duniter.core.test.TestResource { private static final Logger log = LoggerFactory.getLogger(TestResource.class); @@ -82,11 +82,11 @@ public class TestResource extends io.ucoin.ucoinj.core.test.TestResource { * @return the prefix to use to retrieve configuration files */ protected String getConfigFilesPrefix() { - return "ucoinj-elasticsearch-test"; + return "duniter4j-elasticsearch-test"; } protected String getI18nBundleName() { - return "ucoinj-elasticsearch-i18n"; + return "duniter4j-elasticsearch-i18n"; } /* -- -- */ diff --git a/ucoinj-elasticsearch/src/test/java/io/ucoin/ucoinj/elasticsearch/service/RegistryRecordIndexerServiceTest.java b/duniter4j-elasticsearch/src/test/java/org/duniter/elasticsearch/service/RegistryRecordIndexerServiceTest.java similarity index 89% rename from ucoinj-elasticsearch/src/test/java/io/ucoin/ucoinj/elasticsearch/service/RegistryRecordIndexerServiceTest.java rename to duniter4j-elasticsearch/src/test/java/org/duniter/elasticsearch/service/RegistryRecordIndexerServiceTest.java index 7a439360439f3e22b658657c81db84398a3dbc60..223141ebed7f41ae4743d3670c950e68e8abc153 100644 --- a/ucoinj-elasticsearch/src/test/java/io/ucoin/ucoinj/elasticsearch/service/RegistryRecordIndexerServiceTest.java +++ b/duniter4j-elasticsearch/src/test/java/org/duniter/elasticsearch/service/RegistryRecordIndexerServiceTest.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service; +package org.duniter.elasticsearch.service; /* * #%L @@ -22,8 +22,8 @@ package io.ucoin.ucoinj.elasticsearch.service; * #L% */ -import io.ucoin.ucoinj.elasticsearch.TestResource; -import io.ucoin.ucoinj.elasticsearch.service.registry.RegistryRecordIndexerService; +import org.duniter.elasticsearch.TestResource; +import org.duniter.elasticsearch.service.registry.RegistryRecordIndexerService; import org.junit.Before; import org.junit.ClassRule; import org.junit.Test; diff --git a/ucoinj-elasticsearch/src/test/java/io/ucoin/ucoinj/elasticsearch/service/currency/BlockIndexerServiceTest.java b/duniter4j-elasticsearch/src/test/java/org/duniter/elasticsearch/service/currency/BlockIndexerServiceTest.java similarity index 92% rename from ucoinj-elasticsearch/src/test/java/io/ucoin/ucoinj/elasticsearch/service/currency/BlockIndexerServiceTest.java rename to duniter4j-elasticsearch/src/test/java/org/duniter/elasticsearch/service/currency/BlockIndexerServiceTest.java index 189deec3e3308b8d471e67352e7189989c52706d..247a750238c0503ac97a922884045dd5b731addb 100644 --- a/ucoinj-elasticsearch/src/test/java/io/ucoin/ucoinj/elasticsearch/service/currency/BlockIndexerServiceTest.java +++ b/duniter4j-elasticsearch/src/test/java/org/duniter/elasticsearch/service/currency/BlockIndexerServiceTest.java @@ -1,4 +1,4 @@ -package io.ucoin.ucoinj.elasticsearch.service.currency; +package org.duniter.elasticsearch.service.currency; /* * #%L @@ -23,12 +23,12 @@ package io.ucoin.ucoinj.elasticsearch.service.currency; */ -import io.ucoin.ucoinj.core.client.config.Configuration; -import io.ucoin.ucoinj.core.client.model.bma.BlockchainBlock; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.client.service.bma.BlockchainRemoteService; -import io.ucoin.ucoinj.elasticsearch.TestResource; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; +import org.duniter.core.client.config.Configuration; +import org.duniter.core.client.model.bma.BlockchainBlock; +import org.duniter.core.client.model.local.Peer; +import org.duniter.core.client.service.bma.BlockchainRemoteService; +import org.duniter.elasticsearch.TestResource; +import org.duniter.elasticsearch.service.ServiceLocator; import org.junit.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/duniter4j-elasticsearch/src/test/resources/META-INF/services/org.duniter.core.beans.Bean b/duniter4j-elasticsearch/src/test/resources/META-INF/services/org.duniter.core.beans.Bean new file mode 100644 index 0000000000000000000000000000000000000000..e9859d08f075cbd5e51a77d03de934617eae2838 --- /dev/null +++ b/duniter4j-elasticsearch/src/test/resources/META-INF/services/org.duniter.core.beans.Bean @@ -0,0 +1,13 @@ +org.duniter.core.client.service.bma.BlockchainRemoteServiceImpl +org.duniter.core.client.service.bma.NetworkRemoteServiceImpl +org.duniter.core.client.service.bma.WotRemoteServiceImpl +org.duniter.core.client.service.bma.TransactionRemoteServiceImpl +org.duniter.core.service.Ed25519CryptoServiceImpl +org.duniter.core.client.service.HttpServiceImpl +org.duniter.core.client.service.DataContext +org.duniter.core.client.service.local.PeerServiceImpl +org.duniter.core.client.service.local.CurrencyServiceImpl +org.duniter.core.client.dao.mem.MemoryCurrencyDaoImpl +org.duniter.core.client.dao.mem.MemoryPeerDaoImpl +org.duniter.elasticsearch.service.ElasticSearchService +org.duniter.elasticsearch.service.registry.RegistryCurrencyIndexerService \ No newline at end of file diff --git a/duniter4j-elasticsearch/src/test/resources/duniter4j-elasticsearch-localhost-node.properties b/duniter4j-elasticsearch/src/test/resources/duniter4j-elasticsearch-localhost-node.properties new file mode 100644 index 0000000000000000000000000000000000000000..38d7a5d9655c9a5bb5babc7487d246139417a8ff --- /dev/null +++ b/duniter4j-elasticsearch/src/test/resources/duniter4j-elasticsearch-localhost-node.properties @@ -0,0 +1,12 @@ +duniter4j.node.host=metab.ucoin.fr +duniter4j.node.port=9201 + +duniter4j.elasticsearch.embedded.enable=false +duniter4j.elasticsearch.local=fals +duniter4j.elasticsearch.http.enable=false +duniter4j.elasticsearch.cluster.name=duniter4j-elacticsearch-test + +#duniter4j.elasticsearch.cluster.name=duniter4j-elacticsearch + +duniter4j.elasticsearch.host=localhost +duniter4j.elasticsearch.port=9300 diff --git a/duniter4j-elasticsearch/src/test/resources/duniter4j-elasticsearch-test.properties b/duniter4j-elasticsearch/src/test/resources/duniter4j-elasticsearch-test.properties new file mode 100644 index 0000000000000000000000000000000000000000..27e326f1e7a5e4a4ee67c86df9ca03e8c5b6d2df --- /dev/null +++ b/duniter4j-elasticsearch/src/test/resources/duniter4j-elasticsearch-test.properties @@ -0,0 +1,16 @@ +duniter4j.node.host=metab.ucoin.fr +duniter4j.node.port=9201 + +duniter4j.basedir=target/es-home + +#duniter4j.elasticsearch.data +#duniter4j.elasticsearch.embedded.enable=true +duniter4j.elasticsearch.local=false +duniter4j.elasticsearch.http.enable=true +duniter4j.elasticsearch.cluster.name=duniter4j-elasticsearch + +#duniter4j.elasticsearch.cluster.name=duniter4j-elacticsearch + +duniter4j.elasticsearch.embedded.enable=false +duniter4j.elasticsearch.host=192.168.0.5 +duniter4j.elasticsearch.port=9300 diff --git a/ucoinj-elasticsearch/src/test/resources/log4j.properties b/duniter4j-elasticsearch/src/test/resources/log4j.properties similarity index 61% rename from ucoinj-elasticsearch/src/test/resources/log4j.properties rename to duniter4j-elasticsearch/src/test/resources/log4j.properties index 983dbe9f1a1d91d9794428b5209e0ead5e002478..2712b72e0f06c247e8b96a4b1265f95105fda739 100644 --- a/ucoinj-elasticsearch/src/test/resources/log4j.properties +++ b/duniter4j-elasticsearch/src/test/resources/log4j.properties @@ -7,12 +7,11 @@ log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %5p (%c:%L) - [%t] %m%n -# uCoinj levels -log4j.logger.io.ucoin=INFO -log4j.logger.io.ucoin.ucoinj.elasticsearch=DEBUG -#log4j.logger.io.ucoin.ucoinj=DEBUG -#log4j.logger.io.ucoin.ucoinj.core=WARN -#log4j.logger.io.ucoin.ucoinj.elasticsearch=DEBUG +# duniter4j levels +log4j.logger.org.duniter=INFO +#log4j.logger.org.duniter=DEBUG +log4j.logger.org.duniter.core=WARN +log4j.logger.org.duniter.elasticsearch=DEBUG # Other frameworks levels log4j.logger.org.elasticsearch=INFO diff --git a/ucoinj-elasticsearch/src/test/resources/registry-test-records.json b/duniter4j-elasticsearch/src/test/resources/registry-test-records.json similarity index 100% rename from ucoinj-elasticsearch/src/test/resources/registry-test-records.json rename to duniter4j-elasticsearch/src/test/resources/registry-test-records.json diff --git a/pom.xml b/pom.xml index b0ec73511f6573fb61343d90f091b77fe807303a..fd45639bc440447bff1e8069c9bb2a9e538f78b5 100644 --- a/pom.xml +++ b/pom.xml @@ -1,8 +1,8 @@ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> - <groupId>io.ucoin</groupId> - <artifactId>ucoinj</artifactId> + <groupId>org.duniter</groupId> + <artifactId>duniter4j</artifactId> <version>0.1-SNAPSHOT</version> <packaging>pom</packaging> <name>UCoin Java Client</name> @@ -33,17 +33,9 @@ <nuitonI18nVersion>3.3</nuitonI18nVersion> <!-- UI versions --> - <wicket.version>7.0.0-M5</wicket.version> - <wicketstuff.version>7.0.0-M5</wicketstuff.version> - <jquery-ui.version>7.0.0-M5</jquery-ui.version> <spring.version>4.2.1.RELEASE</spring.version> - <spring-security.version>4.0.2.RELEASE</spring-security.version> <aspectj.version>1.8.7</aspectj.version> - <yuicompressor-maven-plugin.version>1.3.0</yuicompressor-maven-plugin.version> - <htmlcompressor-maven-plugin.version>1.3</htmlcompressor-maven-plugin.version> - <servlet-api.version>2.5</servlet-api.version> - <!-- Unit test --> <junit.version>4.12</junit.version> <jetty.version>9.0.4.v20130625</jetty.version> @@ -88,10 +80,10 @@ <distribution.site.repository>scp://${distribution.site.host}/var/www</distribution.site.repository> <distribution.site.projectId>reefdb</distribution.site.projectId> <distribution.repository.id>eis-nexus-deploy</distribution.repository.id> - <distribution.repository.url>http://nexus.e-is.pro/nexus/content/repositories/ucoinj-releases</distribution.repository.url> + <distribution.repository.url>http://nexus.e-is.pro/nexus/content/repositories/duniter4j-releases</distribution.repository.url> <distribution.internet.url>${distribution.repository.url}</distribution.internet.url> <distribution.snapshotRepository.id>eis-nexus-deploy</distribution.snapshotRepository.id> - <distribution.snapshotRepository.url>http://nexus.e-is.pro/nexus/content/repositories/ucoinj-snapshots</distribution.snapshotRepository.url> + <distribution.snapshotRepository.url>http://nexus.e-is.pro/nexus/content/repositories/duniter4j-snapshots</distribution.snapshotRepository.url> <github.global.server>github</github.global.server> </properties> @@ -107,34 +99,24 @@ <inceptionYear>2014</inceptionYear> <modules> - <module>ucoinj-core-shared</module> - <module>ucoinj-core-client</module> - <module>ucoinj-elasticsearch</module> - <module>ucoinj-ui-wicket</module> - <module>ucoinj-elasticsearch-plugin</module> - <module>ucoinj-cesium</module> + <module>duniter4j-core-shared</module> + <module>duniter4j-core-client</module> + <module>duniter4j-elasticsearch</module> </modules> <scm> - <url>https://github.com/ucoin-io/ucoinj/</url> - <connection>scm:svn:https://github.com/ucoin-io/ucoinj/</connection> - <developerConnection>scm:svn:https://github.com/ucoin-io/ucoinj/</developerConnection> + <url>https://github.com/ucoin-io/duniter4j/</url> + <connection>scm:svn:https://github.com/ucoin-io/duniter4j/</connection> + <developerConnection>scm:svn:https://github.com/ucoin-io/duniter4j/</developerConnection> </scm> <issueManagement> <system>GitHub</system> - <url>https://github.com/ucoin-io/ucoinj/issues</url> + <url>https://github.com/ucoin-io/duniter4j/issues</url> </issueManagement> <dependencyManagement> <dependencies> - - <dependency> - <groupId>io.ucoin</groupId> - <artifactId>ucoinj-core</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> @@ -558,8 +540,8 @@ <!-- Repositories needed to find the dependencies --> <repositories> <repository> - <id>ucoinj-public-group</id> - <url>http://nexus.e-is.pro/nexus/content/groups/ucoinj</url> + <id>duniter4j-public-group</id> + <url>http://nexus.e-is.pro/nexus/content/groups/duniter4j</url> <snapshots> <enabled>true</enabled> <checksumPolicy>fail</checksumPolicy> @@ -657,7 +639,7 @@ <properties> <exec.mainClass>${maven.jar.main.class}</exec.mainClass> <exec.classpathScope>runtime</exec.classpathScope> - <ucoinj.log.file>${project.build.directory}/exec.log</ucoinj.log.file> + <duniter4j.log.file>${project.build.directory}/exec.log</duniter4j.log.file> </properties> </profile> @@ -842,7 +824,7 @@ <escapeHTML>false</escapeHTML> <feedType>rss_2.0</feedType> <issueLinkTemplatePerSystem> - <default>https://github.com/blavenie/ucoinj/issues/%ISSUE%</default> + <default>https://github.com/blavenie/duniter4j/issues/%ISSUE%</default> </issueLinkTemplatePerSystem> </configuration> </plugin> @@ -875,7 +857,7 @@ </reportSet> </reportSets> <configuration> - <i18nBundleName>ucoinj-i18n</i18nBundleName> + <i18nBundleName>duniter4j-i18n</i18nBundleName> <verbose>true</verbose> <showOptionDetail>true</showOptionDetail> <outputEncoding>UTF-8</outputEncoding> diff --git a/ucoinj-cesium/README.md b/ucoinj-cesium/README.md deleted file mode 100644 index 6c556ca8de9d1231760e8c3b661a73127529ac70..0000000000000000000000000000000000000000 --- a/ucoinj-cesium/README.md +++ /dev/null @@ -1,10 +0,0 @@ -uCoinj Cesium -============= - -## Test it - - -```bash -cd src/main/cesium -ionic serve -``` diff --git a/ucoinj-cesium/pom.xml b/ucoinj-cesium/pom.xml deleted file mode 100644 index 03c37937a00a947b291f567f9f29268d752f49e9..0000000000000000000000000000000000000000 --- a/ucoinj-cesium/pom.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <parent> - <artifactId>ucoinj</artifactId> - <groupId>io.ucoin</groupId> - <version>0.1-SNAPSHOT</version> - </parent> - <modelVersion>4.0.0</modelVersion> - - <artifactId>ucoinj-cesium</artifactId> - -</project> \ No newline at end of file diff --git a/ucoinj-cesium/redirector.out b/ucoinj-cesium/redirector.out deleted file mode 100644 index 9b92690788c7c893ccbf3355051d9bede66ffe8e..0000000000000000000000000000000000000000 --- a/ucoinj-cesium/redirector.out +++ /dev/null @@ -1,18 +0,0 @@ -[1m[32mRunning live reload server:[39m[22m undefined -[1m[32mWatching:[39m[22m 0=www/**/*, 1=!www/lib/**/* -[1m[32mRunning dev server: [39m[22m http://localhost:8100 -[1m[32mIonic server commands, enter:[39m[22m - restart[32m or [39mr[32m to restart the client app from the root[39m - goto[32m or [39mg[32m and a url to have the app navigate to the given url[39m - consolelogs[32m or [39mc[32m to enable/disable console log output[39m - serverlogs[32m or [39ms[32m to enable/disable server log output[39m - quit[32m or [39mq[32m to shutdown the server and exit[39m - -ionic $ [1m[32mIonic server commands, enter:[39m[22m - restart[32m or [39mr[32m to restart the client app from the root[39m - goto[32m or [39mg[32m and a url to have the app navigate to the given url[39m - consolelogs[32m or [39mc[32m to enable/disable console log output[39m - serverlogs[32m or [39ms[32m to enable/disable server log output[39m - quit[32m or [39mq[32m to shutdown the server and exit[39m - -ionic $ \ No newline at end of file diff --git a/ucoinj-cesium/src/main/cesium b/ucoinj-cesium/src/main/cesium deleted file mode 160000 index 740da406a9b2f3c72f5c31bb7ad4a42c18e212c5..0000000000000000000000000000000000000000 --- a/ucoinj-cesium/src/main/cesium +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 740da406a9b2f3c72f5c31bb7ad4a42c18e212c5 diff --git a/ucoinj-core-client/i18n/ucoinj-core-client-i18n-definition.properties b/ucoinj-core-client/i18n/ucoinj-core-client-i18n-definition.properties deleted file mode 100644 index 98837564c8b794dd144203f64797151e9d8b142b..0000000000000000000000000000000000000000 --- a/ucoinj-core-client/i18n/ucoinj-core-client-i18n-definition.properties +++ /dev/null @@ -1,7 +0,0 @@ -#Generated by org.nuiton.i18n.init.UserI18nInitializer -#Tue Dec 29 10:46:20 CET 2015 -locales=fr_FR,en_GB -bundles.en_GB=i18n/nuiton-utils_en_GB.properties,i18n/ucoinj-core-client_en_GB.properties -version=1.0 -encoding=UTF-8 -bundles.fr_FR=i18n/nuiton-utils_fr_FR.properties,i18n/ucoinj-core-client_fr_FR.properties diff --git a/ucoinj-core-client/i18n/ucoinj-core-client-i18n_en_GB.properties b/ucoinj-core-client/i18n/ucoinj-core-client-i18n_en_GB.properties deleted file mode 100644 index 70412fbc38b57ace633acac5e9ff884b0f7a6c76..0000000000000000000000000000000000000000 --- a/ucoinj-core-client/i18n/ucoinj-core-client-i18n_en_GB.properties +++ /dev/null @@ -1,69 +0,0 @@ -#Tue Dec 29 10:39:49 CET 2015 -nuitonutil.config.moving.conf=Moving old configuration file from %s to %s -nuitonutil.debug.objectutil.create=Try to create %s with %s -nuitonutil.debug.objectutil.instantiate=Can't instantiate %s with params %s -nuitonutil.debug.objectutil.invoke=Invoke %s with %s -nuitonutil.error.add.url.in.classloader=Can't add url in classloader %1$s for reason %2$s -nuitonutil.error.applicationconfig.save=Can't save config in file %s -nuitonutil.error.cant.instanciate.class=Class %s can't be instanciated with %s -nuitonutil.error.class.with.more.than.one.constructor=Your class %s has more than one constructor -nuitonutil.error.convert.file.to.url=Can't convert %s for reason %s -nuitonutil.error.convertor.noValue=No value specified for converter %s -nuitonutil.error.could.not.addPCL=Could not add the PropertychangeListener %1$s on object %2$s for following reason \: %3$s -nuitonutil.error.could.not.find.MD5=Could not find MD5 algorithm -nuitonutil.error.could.not.removePCL=Could remove the PropertychangeListener %1$s from object %2$s for following reason \: %3$s -nuitonutil.error.get.url.from.zip=Error while reading %s \: %s -nuitonutil.error.no.convertor=no convertor found for type %2$s and objet '%1$s' -nuitonutil.error.not.an.enum=The type %1$s ins not an Enum type -nuitonutil.error.null.parameter=The parameter %1$s is null\! -nuitonutil.error.resource.not.found=Can't find resource \: %s -nuitonutil.error.unfound.assignable.argument=Can't find assignable argument for %s in %s -nuitonutil.error.unfound.month=could not found month from '%s', use default month '%s' -nuitonutil.error.unknown.url.type=could not treate unknown type of url %1$s -nuitonutil.error.url.convertor=a problem occurs while converting value '%s' with url convertor %s for reason %s -nuitonutil.error.version.convertor=Could not convert version %1$s with converter %2$s for reason \: %3$s -nuitonutil.error.version.pattern=Pattern of version not found for %1$s -nuitonutil.fileCompletion.cancel=.. to cancel or return to parent directory -nuitonutil.fileCompletion.enter=Enter to display file list, or to complete path -nuitonutil.fileCompletion.exit=Enter "\!q" to exit -nuitonutil.fileCompletion.save=Enter "\!s" in the end of the file name to save -nuitonutil.month.april=april -nuitonutil.month.august=august -nuitonutil.month.december=december -nuitonutil.month.february=february -nuitonutil.month.january=january -nuitonutil.month.july=july -nuitonutil.month.june=june -nuitonutil.month.march=march -nuitonutil.month.may=may -nuitonutil.month.november=november -nuitonutil.month.october=october -nuitonutil.month.september=september -ucoinj.config= -ucoinj.config.option.basedir.description= -ucoinj.config.option.cache.directory.description= -ucoinj.config.option.data.directory.description= -ucoinj.config.option.i18n.directory.description= -ucoinj.config.option.i18n.locale.description= -ucoinj.config.option.inceptionYear.description= -ucoinj.config.option.node.currency.description= -ucoinj.config.option.node.elasticsearch.host.description= -ucoinj.config.option.node.elasticsearch.local.clusterName.description= -ucoinj.config.option.node.elasticsearch.local.description= -ucoinj.config.option.node.elasticsearch.port.description= -ucoinj.config.option.node.elasticsearch.protocol.description= -ucoinj.config.option.node.elasticsearch.rest.host.description= -ucoinj.config.option.node.elasticsearch.rest.port.description= -ucoinj.config.option.node.elasticsearch.rest.protocol.description= -ucoinj.config.option.node.elasticsearch.rest.url.description= -ucoinj.config.option.node.host.description= -ucoinj.config.option.node.port.description= -ucoinj.config.option.node.protocol.description= -ucoinj.config.option.node.timeout.description= -ucoinj.config.option.organizationName.description= -ucoinj.config.option.passwd.description= -ucoinj.config.option.salt.description= -ucoinj.config.option.site.url.description= -ucoinj.config.option.tmp.directory.description= -ucoinj.config.option.version.description= -ucoinj.config.parse.error= diff --git a/ucoinj-core-client/i18n/ucoinj-core-client-i18n_fr_FR.properties b/ucoinj-core-client/i18n/ucoinj-core-client-i18n_fr_FR.properties deleted file mode 100644 index 0a11a60c86e5e24afa6213e94fff77e1fbad1d9f..0000000000000000000000000000000000000000 --- a/ucoinj-core-client/i18n/ucoinj-core-client-i18n_fr_FR.properties +++ /dev/null @@ -1,70 +0,0 @@ -#Tue Dec 29 10:39:49 CET 2015 -nuitonutil.config.moving.conf=Déplacement du fichier de configuration depuis %s vers %s -nuitonutil.debug.objectutil.create=Essaye de créer %s avec %s -nuitonutil.debug.objectutil.instantiate=Ne peut pas instancier %s avec les paramêtres %s -nuitonutil.debug.objectutil.invoke=Invocation de %s avec %s -nuitonutil.error.add.url.in.classloader=Impossible d'ajouter une url dans le classloader %s pour la raison \: %s -nuitonutil.error.applicationconfig.save=Impossible de sauvegarder le fichier de configuration dans %s -nuitonutil.error.cant.instanciate.class=La Classe %s n'a pas pu être instanciée avec %s -nuitonutil.error.class.with.more.than.one.constructor=Votre classe %s a plus d'un constructeur -nuitonutil.error.convert.file.to.url=Le fichier '%1$s' n'a pas pu être converti en URL pour la raison suivante \: %2$S -nuitonutil.error.convertor.noValue=Aucune valeur à convertir pour le convertisseur %s -nuitonutil.error.could.not.addPCL=N'a pas pu ajouté le PropertychangeListener %1$s sur l'objet %2$s pour la raison suivante \: %3$s -nuitonutil.error.could.not.find.MD5=L'algorithme MD5 n'a pas été trouvé\! -nuitonutil.error.could.not.removePCL=N'a pas pu enlevé le PropertychangeListener %1$s sur l'objet %2$s pour la raison suivante \: %3$s -nuitonutil.error.get.url.from.zip=Erreur lors de la lecture du fichier compressé %1$s \: %2$s -nuitonutil.error.no.convertor=Aucun convertisseur trouvé pour le type %2$s et l''objet '%1$s' -nuitonutil.error.not.an.enum=Le type %1$s n'est pas une enumeration java -nuitonutil.error.null.parameter=Le paramètre '%1$s' est null\! -nuitonutil.error.resource.not.found=Impossible de trouver la ressource \: %s -nuitonutil.error.unfound.assignable.argument=N'a pas pu trouver un argument assignable pour %s dans %s -nuitonutil.error.unfound.month=n'a pas pu trouvé le mois à partir de '%s', utilise le mois par défaut '%s' -nuitonutil.error.unknown.url.type=could not treate unknown type of url %1$s -nuitonutil.error.url.convertor=Un problème est apparu lors de la convertion en url de '%s' avec le convertisseur %s pour la raison suivante \: %s -nuitonutil.error.version.convertor=N'a pas pu convertir la valeur %1$s avec le converter %2$s pour la raison suivante \: %3$s -nuitonutil.error.version.pattern=Pattern de version non connu pour %1$s -nuitonutil.fileCompletion.cancel=.. pour annuler ou pour revenir au repertoire précédent -nuitonutil.fileCompletion.enter=Entrer pour afficher la liste des fichiers, ou pour compléter le chemin -nuitonutil.fileCompletion.exit=Saisir "\!q" pour quitter -nuitonutil.fileCompletion.save=Saisir "\!s" a la fin du nom de fichier pour l'enregistrer -nuitonutil.month.april=avril -nuitonutil.month.august=août -nuitonutil.month.december=décembre -nuitonutil.month.february=février -nuitonutil.month.january=janvier -nuitonutil.month.july=juillet -nuitonutil.month.june=juin -nuitonutil.month.march=mars -nuitonutil.month.may=mai -nuitonutil.month.november=novembre -nuitonutil.month.october=octobre -nuitonutil.month.september=septembre -quadrige2.config.parse.error=Erreur lors de la lecture de la ligne de commande -ucoinj.config= -ucoinj.config.option.basedir.description= -ucoinj.config.option.cache.directory.description= -ucoinj.config.option.data.directory.description= -ucoinj.config.option.i18n.directory.description= -ucoinj.config.option.i18n.locale.description= -ucoinj.config.option.inceptionYear.description= -ucoinj.config.option.node.currency.description= -ucoinj.config.option.node.elasticsearch.host.description= -ucoinj.config.option.node.elasticsearch.local.clusterName.description= -ucoinj.config.option.node.elasticsearch.local.description= -ucoinj.config.option.node.elasticsearch.port.description= -ucoinj.config.option.node.elasticsearch.protocol.description= -ucoinj.config.option.node.elasticsearch.rest.host.description= -ucoinj.config.option.node.elasticsearch.rest.port.description= -ucoinj.config.option.node.elasticsearch.rest.protocol.description= -ucoinj.config.option.node.elasticsearch.rest.url.description= -ucoinj.config.option.node.host.description= -ucoinj.config.option.node.port.description= -ucoinj.config.option.node.protocol.description= -ucoinj.config.option.node.timeout.description= -ucoinj.config.option.organizationName.description= -ucoinj.config.option.passwd.description= -ucoinj.config.option.salt.description= -ucoinj.config.option.site.url.description= -ucoinj.config.option.tmp.directory.description= -ucoinj.config.option.version.description= -ucoinj.config.parse.error= diff --git a/ucoinj-core-client/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider b/ucoinj-core-client/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider deleted file mode 100644 index 51bc7a282dfae6f9ccaa742477b67d543eb6805d..0000000000000000000000000000000000000000 --- a/ucoinj-core-client/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider +++ /dev/null @@ -1 +0,0 @@ -io.ucoin.ucoinj.core.client.config.ConfigurationProvider diff --git a/ucoinj-core-client/src/main/resources/i18n/ucoinj-core-client_en_GB.properties b/ucoinj-core-client/src/main/resources/i18n/ucoinj-core-client_en_GB.properties deleted file mode 100644 index 3bb9992b919e3cf6be4d88181e31ab52c5b65699..0000000000000000000000000000000000000000 --- a/ucoinj-core-client/src/main/resources/i18n/ucoinj-core-client_en_GB.properties +++ /dev/null @@ -1,30 +0,0 @@ -ucoinj.config= -ucoinj.config.option.basedir.description= -ucoinj.config.option.cache.directory.description= -ucoinj.config.option.data.directory.description= -ucoinj.config.option.i18n.directory.description= -ucoinj.config.option.i18n.locale.description= -ucoinj.config.option.inceptionYear.description= -ucoinj.config.option.network.timeout.description= -ucoinj.config.option.node.currency.description= -ucoinj.config.option.node.elasticsearch.host.description= -ucoinj.config.option.node.elasticsearch.local.clusterName.description= -ucoinj.config.option.node.elasticsearch.local.description= -ucoinj.config.option.node.elasticsearch.port.description= -ucoinj.config.option.node.elasticsearch.protocol.description= -ucoinj.config.option.node.elasticsearch.rest.host.description= -ucoinj.config.option.node.elasticsearch.rest.port.description= -ucoinj.config.option.node.elasticsearch.rest.protocol.description= -ucoinj.config.option.node.elasticsearch.rest.url.description= -ucoinj.config.option.node.elasticsearch.url.description= -ucoinj.config.option.node.host.description= -ucoinj.config.option.node.port.description= -ucoinj.config.option.node.protocol.description= -ucoinj.config.option.node.timeout.description= -ucoinj.config.option.organizationName.description= -ucoinj.config.option.passwd.description= -ucoinj.config.option.salt.description= -ucoinj.config.option.site.url.description= -ucoinj.config.option.tmp.directory.description= -ucoinj.config.option.version.description= -ucoinj.config.parse.error= diff --git a/ucoinj-core-client/src/main/resources/i18n/ucoinj-core-client_fr_FR.properties b/ucoinj-core-client/src/main/resources/i18n/ucoinj-core-client_fr_FR.properties deleted file mode 100644 index 1cae31705e6daf8317c07c9ec442a72e8a6c3d55..0000000000000000000000000000000000000000 --- a/ucoinj-core-client/src/main/resources/i18n/ucoinj-core-client_fr_FR.properties +++ /dev/null @@ -1,31 +0,0 @@ -quadrige2.config.parse.error=Erreur lors de la lecture de la ligne de commande -ucoinj.config= -ucoinj.config.option.basedir.description= -ucoinj.config.option.cache.directory.description= -ucoinj.config.option.data.directory.description= -ucoinj.config.option.i18n.directory.description= -ucoinj.config.option.i18n.locale.description= -ucoinj.config.option.inceptionYear.description= -ucoinj.config.option.network.timeout.description= -ucoinj.config.option.node.currency.description= -ucoinj.config.option.node.elasticsearch.host.description= -ucoinj.config.option.node.elasticsearch.local.clusterName.description= -ucoinj.config.option.node.elasticsearch.local.description= -ucoinj.config.option.node.elasticsearch.port.description= -ucoinj.config.option.node.elasticsearch.protocol.description= -ucoinj.config.option.node.elasticsearch.rest.host.description= -ucoinj.config.option.node.elasticsearch.rest.port.description= -ucoinj.config.option.node.elasticsearch.rest.protocol.description= -ucoinj.config.option.node.elasticsearch.rest.url.description= -ucoinj.config.option.node.elasticsearch.url.description= -ucoinj.config.option.node.host.description= -ucoinj.config.option.node.port.description= -ucoinj.config.option.node.protocol.description= -ucoinj.config.option.node.timeout.description= -ucoinj.config.option.organizationName.description= -ucoinj.config.option.passwd.description= -ucoinj.config.option.salt.description= -ucoinj.config.option.site.url.description= -ucoinj.config.option.tmp.directory.description= -ucoinj.config.option.version.description= -ucoinj.config.parse.error= diff --git a/ucoinj-core-client/src/test/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean b/ucoinj-core-client/src/test/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean deleted file mode 100644 index ea1d12da2ffe7ead9557024a3ea85b25942efc20..0000000000000000000000000000000000000000 --- a/ucoinj-core-client/src/test/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean +++ /dev/null @@ -1,12 +0,0 @@ -io.ucoin.ucoinj.core.client.service.bma.BlockchainRemoteServiceImpl -io.ucoin.ucoinj.core.client.service.bma.NetworkRemoteServiceImpl -io.ucoin.ucoinj.core.client.service.bma.WotRemoteServiceImpl -io.ucoin.ucoinj.core.client.service.bma.TransactionRemoteServiceImpl -io.ucoin.ucoinj.core.client.service.elasticsearch.CurrencyRegistryRemoteServiceImpl -io.ucoin.ucoinj.core.service.Ed25519CryptoServiceImpl -io.ucoin.ucoinj.core.client.service.HttpServiceImpl -io.ucoin.ucoinj.core.client.service.DataContext -io.ucoin.ucoinj.core.client.service.local.PeerServiceImpl -io.ucoin.ucoinj.core.client.service.local.CurrencyServiceImpl -io.ucoin.ucoinj.core.client.dao.mem.MemoryCurrencyDaoImpl -io.ucoin.ucoinj.core.client.dao.mem.MemoryPeerDaoImpl \ No newline at end of file diff --git a/ucoinj-core-client/src/test/resources/ucoinj-core-client-test.properties b/ucoinj-core-client/src/test/resources/ucoinj-core-client-test.properties deleted file mode 100644 index 935715198000eb25cd750d3e407c66c67c7a4e97..0000000000000000000000000000000000000000 --- a/ucoinj-core-client/src/test/resources/ucoinj-core-client-test.properties +++ /dev/null @@ -1,15 +0,0 @@ -#ucoinj.node.host=metab.ucoin.io -#ucoinj.node.host=metab.ucoin.fr - -#ucoinj.node.host=192.168.0.28 -#ucoinj.node.port=9201 - -ucoinj.node.host=twiced.fr -ucoinj.node.port=9330 - - -ucoinj.node.elasticsearch.host=localhost -ucoinj.node.elasticsearch.port=9200 - -#ucoinj.node.elasticsearch.rest.host=www.data.ucoin.fr -#ucoinj.node.elasticsearch.rest.port=80 diff --git a/ucoinj-core-shared/src/main/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean b/ucoinj-core-shared/src/main/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean deleted file mode 100644 index 5b3708cff6d13b03f0bf09fa072162e489e33f98..0000000000000000000000000000000000000000 --- a/ucoinj-core-shared/src/main/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean +++ /dev/null @@ -1 +0,0 @@ -io.ucoin.ucoinj.core.service.Ed25519CryptoServiceImpl \ No newline at end of file diff --git a/ucoinj-core-shared/src/main/resources/i18n/ucoinj-core-shared_en_GB.properties b/ucoinj-core-shared/src/main/resources/i18n/ucoinj-core-shared_en_GB.properties deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/ucoinj-core-shared/src/main/resources/i18n/ucoinj-core-shared_fr_FR.properties b/ucoinj-core-shared/src/main/resources/i18n/ucoinj-core-shared_fr_FR.properties deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/ucoinj-elasticsearch-plugin/LICENSE.txt b/ucoinj-elasticsearch-plugin/LICENSE.txt deleted file mode 100644 index 94a9ed024d3859793618152ea559a168bbcbb5e2..0000000000000000000000000000000000000000 --- a/ucoinj-elasticsearch-plugin/LICENSE.txt +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - <program> Copyright (C) <year> <name of author> - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -<http://www.gnu.org/licenses/>. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -<http://www.gnu.org/philosophy/why-not-lgpl.html>. diff --git a/ucoinj-elasticsearch-plugin/pom.xml b/ucoinj-elasticsearch-plugin/pom.xml deleted file mode 100644 index f4106a640d8d9a76e97102a492a40847519a491d..0000000000000000000000000000000000000000 --- a/ucoinj-elasticsearch-plugin/pom.xml +++ /dev/null @@ -1,182 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <parent> - <artifactId>ucoinj</artifactId> - <groupId>io.ucoin</groupId> - <version>0.1-SNAPSHOT</version> - </parent> - <modelVersion>4.0.0</modelVersion> - - <artifactId>ucoinj-elasticsearch-plugin</artifactId> - - <description>uCoinj :: ElasticSearch Plugin</description> - - <properties> - <!-- bundle configuration --> - <bundlePrefix>ucoinj-elasticsearch-with-plugin-${project.version}</bundlePrefix> - - <maven.jar.main.class>io.ucoin.ucoinj.elasticsearch.Main</maven.jar.main.class> - </properties> - - <dependencies> - <dependency> - <groupId>org.elasticsearch</groupId> - <artifactId>elasticsearch</artifactId> - <scope>compile</scope> - </dependency> - - <dependency> - <groupId>io.ucoin</groupId> - <artifactId>ucoinj-elasticsearch</artifactId> - <version>${project.version}</version> - </dependency> - - <!-- LOGGING DEPENDENCIES - SLF4J --> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-api</artifactId> - </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-log4j12</artifactId> - <optional>true</optional> - </dependency> - <dependency> - <groupId>log4j</groupId> - <artifactId>log4j</artifactId> - <optional>true</optional> - </dependency> - - </dependencies> - - <build> - <resources> - <resource> - <directory>src/main/filtered-resources</directory> - <filtering>true</filtering> - <includes> - <include>**/*.properties</include> - </includes> - </resource> - <resource> - <directory>src/main/resources</directory> - <includes> - <include>**/*</include> - </includes> - </resource> - </resources> - - <plugins> - <plugin> - <artifactId>maven-jar-plugin</artifactId> - <configuration> - <archive> - <manifest> - <useUniqueVersions>false</useUniqueVersions> - <addClasspath>true</addClasspath> - <classpathPrefix>./lib/</classpathPrefix> - </manifest> - </archive> - </configuration> - </plugin> - - <plugin> - <artifactId>maven-assembly-plugin</artifactId> - <executions> - <execution> - <id>assembly-plugin</id> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - <configuration> - <appendAssemblyId>false</appendAssemblyId> - <outputDirectory>${project.build.directory}/releases/</outputDirectory> - <descriptors> - <descriptor>${basedir}/src/main/assembly/plugin.xml</descriptor> - </descriptors> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </build> - - <profiles> - <profile> - <id>run</id> - <activation> - <activeByDefault>false</activeByDefault> - </activation> - <properties> - <ucoinj.basedir>${project.build.directory}</ucoinj.basedir> - <ucoinj.plugins.directory>${basedir}}/src/test/es-home/plugins</ucoinj.plugins.directory> - <es.http.cors.allow-origin>*</es.http.cors.allow-origin> - <exec.args> - start index --host metab.ucoin.fr --port 9201 - </exec.args> - <ucoinj.log.file>${project.build.directory}/exec.log</ucoinj.log.file> - </properties> - </profile> - - <profile> - <id>default-bundle</id> - <activation> - <property> - <name>performRelease</name> - <value>true</value> - </property> - </activation> - <build> - <defaultGoal>package</defaultGoal> - <plugins> - <plugin> - <artifactId>maven-dependency-plugin</artifactId> - <executions> - <execution> - <id>copy-dependencies</id> - <goals> - <goal>copy-dependencies</goal> - </goals> - <phase>prepare-package</phase> - <configuration> - <overWriteReleases>false</overWriteReleases> - <overWriteSnapshots>true</overWriteSnapshots> - <overWriteIfNewer>true</overWriteIfNewer> - <outputDirectory>${project.build.directory}/lib</outputDirectory> - <silent>true</silent> - <includeScope>runtime</includeScope> - <excludeScope>test</excludeScope> - </configuration> - </execution> - </executions> - </plugin> - - <plugin> - <artifactId>maven-assembly-plugin</artifactId> - <executions> - <execution> - <id>assembly-standalone</id> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - <configuration> - <attach>true</attach> - <finalName>${bundlePrefix}</finalName> - <descriptors> - <descriptor> - src/main/assembly/standalone.xml - </descriptor> - </descriptors> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </build> - </profile> - </profiles> -</project> \ No newline at end of file diff --git a/ucoinj-elasticsearch-plugin/src/license/THIRD-PARTY.properties b/ucoinj-elasticsearch-plugin/src/license/THIRD-PARTY.properties deleted file mode 100644 index 391aca3f8b920d357fba376a48bfef3085c33149..0000000000000000000000000000000000000000 --- a/ucoinj-elasticsearch-plugin/src/license/THIRD-PARTY.properties +++ /dev/null @@ -1,26 +0,0 @@ -# Generated by org.codehaus.mojo.license.AddThirdPartyMojo -#------------------------------------------------------------------------------- -# Already used licenses in project : -# - ASL, version 2 -# - Apache License 2.0 -# - Apache License Version 2.0 -# - BSD License -# - CC0 1.0 Universal -# - CDDL+GPL -# - COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 -# - Dual license consisting of the CDDL v1.1 and GPL v2 -# - General Public License (GPL) v3 -# - Indiana University Extreme! Lab Software License, vesion 1.1.1 -# - LGPL, version 2.1 -# - Lesser General Public License (LGPL) v 3.0 -# - Lesser General Public License (LPGL) -# - Lesser General Public License (LPGL) v 2.1 -# - MIT License -# - Public Domain, per Creative Commons CC0 -# - The Apache Software License, Version 2.0 -#------------------------------------------------------------------------------- -# Please fill the missing licenses for dependencies : -# -# -#Tue Mar 22 17:20:05 CET 2016 -commons-primitives--commons-primitives--1.0=The Apache Software License, Version 2.0 diff --git a/ucoinj-elasticsearch-plugin/src/main/assembly/full/README.txt b/ucoinj-elasticsearch-plugin/src/main/assembly/full/README.txt deleted file mode 100644 index f829e714b3fde179842644d9ee4f846a23d4108e..0000000000000000000000000000000000000000 --- a/ucoinj-elasticsearch-plugin/src/main/assembly/full/README.txt +++ /dev/null @@ -1,15 +0,0 @@ -Starting uCoinj-ElasticSearch --------------------------------- - -# under Linux - -./ucoinj-elasticsearch.sh - -# Sous windows - -ucoinj-elasticsearch.exe - -Help ----- - -ucoinj-elasticsearch.<sh|exe> --help diff --git a/ucoinj-elasticsearch-plugin/src/main/assembly/min/README.txt b/ucoinj-elasticsearch-plugin/src/main/assembly/min/README.txt deleted file mode 100644 index fedac4d3495b61106419802e911322141e052305..0000000000000000000000000000000000000000 --- a/ucoinj-elasticsearch-plugin/src/main/assembly/min/README.txt +++ /dev/null @@ -1,12 +0,0 @@ - - README - - ${project.name} Help - - ------------------------------------ - -Start a ElastoicSearch node : - > ucoinj-elasticsearch.<bat|sh> --start - -To show help (list all options) : - > ucoinj-elasticsearch.<bat|sh> --help diff --git a/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj-elasticsearch.bat b/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj-elasticsearch.bat deleted file mode 100644 index 289b26db9b10e0916e542eec40855640391e46f3..0000000000000000000000000000000000000000 --- a/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj-elasticsearch.bat +++ /dev/null @@ -1,47 +0,0 @@ -@echo off - -REM Comment out this line to specify your JAVA path: -REM SET JAVA_HOME=<path_to_java> - - -set OLDDIR=%CD% -cd /d %~dp0% - -set APP_BASEDIR=%CD% -set JAVA_COMMAND=%JAVA_HOME%\bin\java -set APP_LOG_FILE=%APP_BASEDIR%\data\${project.artifactId}-${project.version}.log -set JAVA_OPTS=-Xmx1G -set APP_CONF_FILE=%APP_BASEDIR%\ucoinj.config - -if not exist "%JAVA_HOME%" goto no_java - -echo =============================================================================== -echo . -echo ${project.name} -echo . -echo JAVA: %JAVA_COMMAND% -echo . -echo JAVA_OPTS: %JAVA_OPTS% -echo . -echo log file: %APP_LOG_FILE% -echo . -echo =============================================================================== -echo . - - -set OLDDIR=%CD% -cd /d %~dp0% - -call "%JAVA_COMMAND%" %JAVA_OPTS% "-Ducoinj.basedir=%APP_BASEDIR%" "-Ducoinj.plugins.directory=%APP_BASEDIR%\plugins" "-Ducoinj.log.file=%APP_LOG_FILE%" "-Ducoinj-elasticsearch.config=%APP_CONF_FILE%" -Ducoinj.launch.mode=full -Djna.nosys=true -Des.http.cors.allow-origin=* -jar ucoinj-elasticsearch-plugin-${project.version}.jar %1 %2 %3 %4 %5 %6 %7 %8 %9 -set exitcode=%ERRORLEVEL% -echo Stop with exitcode: %exitcode% -cd %OLDDIR% -exit /b %exitcode% -goto end - -no_java: -echo "Java not detected ! Please set environment variable JAVA_HOME before launching," -echo "or edit the file 'launch.bat' and insert this line :" -echo " SET JAVA_HOME=<path_to_java>" - -:end diff --git a/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj-elasticsearch.sh b/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj-elasticsearch.sh deleted file mode 100644 index d0fd97f8fa393b65cc5e6e897723f0caa1041e56..0000000000000000000000000000000000000000 --- a/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj-elasticsearch.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -REP=$(dirname $0) -cd $REP - -#Comment out this line to specify your JAVA path: -export JAVA_HOME=/usr/lib/jvm/default-java - -export APP_BASEDIR=$REP -export JAVA_COMMAND=$JAVA_HOME/bin/java -export APP_LOG_FILE=$APP_BASEDIR/logs/${project.artifactId}-${project.version}.log -export APP_CONF_FILE=$APP_BASEDIR/ucoinj.config - -cd $APP_BASEDIR - -if [ -d $JAVA_HOME ]; then - echo "${project.name}" - echo " basedir: $APP_BASEDIR" - echo " jre home: $JAVA_HOME" - echo " log file: $APP_LOG_FILE" - - MEMORY="-Xmx1G" - #APP_JVM_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8000" - - echo "launch java" - echo "java command: $JAVA_COMMAND" - - $JAVA_COMMAND $MEMORY $APP_JVM_OPTS -Ducoinj.basedir=$APP_BASEDIR -Ducoinj.plugins.directory=$APP_BASEDIR/plugins -Ducoinj.log.file=$APP_LOG_FILE -Ducoinj-elasticsearch.config=$APP_CONF_FILE -Ducoinj.launch.mode=full -Djna.nosys=true -Des.http.cors.allow-origin=* -jar ucoinj-elasticsearch-plugin-${project.version}.jar $* - - exitcode=$? - echo "Stop ${project.name} with exitcode: $exitcode" - exit $exitcode - -else - echo "Java not detected ! Please set environment variable JAVA_HOME before launching," - echo "or edit the file 'launch.sh' and insert this line :" - echo " export JAVA_HOME=<path_to_java>" -fi - diff --git a/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj.config b/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj.config deleted file mode 100644 index 923c0857cc657de3d48c2b387c4c39606318a43f..0000000000000000000000000000000000000000 --- a/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj.config +++ /dev/null @@ -1,54 +0,0 @@ -#Basic config - -# ---------------------------------------------------------- -# Node to use for blockchain indexation. Must have a BMA API -# ---------------------------------------------------------- - -# Node host -# Could be override using option : '-h <host>' -#ucoinj.node.host=metab.ucoin.io - -# Node port -# Could be override using option : '-p <port>' -#ucoinj.node.port=9201 - -# ---------------------------------------------------------- -# ES Node -# ---------------------------------------------------------- - -# ES Cluster name -# By default: 'ucoinj-elacticsearch' -# See ES config 'cluster.name' -#ucoinj.elasticsearch.cluster.name=ucoinj-elacticsearch - -# Should start a embedded ES node -# By default: false -#ucoinj.elasticsearch.embedded.enable=true - -# ES Node Host -# THe node to connect (if NOT embedded node) -# By default: 'localhost' -#ucoinj.elasticsearch.host=<ES_Node_IP> - -# If not embedded: ES Node Port -# Could be override using option : '-esp <port>' -#ucoinj.elasticsearch.port=9300 - -# If embedded: Only for a local use (do not connect to other nodes on cluster) -# By default: false -# See ES config 'local' -#ucoinj.elasticsearch.local=true - -# If embedded: Open a port for HTTP access -# By default: true -# See ES config 'http.enable' -#ucoinj.elasticsearch.http.enable=false - -# ES Node Network Host (if http enable) -# Allow values : (see https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-network.html) -# any IP address, or 'localhost' -# _[networkInterface]_ for addresses of a network interface, for example _eth0_ or _en0_. -# _local_ for any loopback addresses on the system -# -# By default: '_local_' -#ucoinj.elasticsearch.network.host=_eth0_ diff --git a/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinjd b/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinjd deleted file mode 100644 index db9af92deed067eefb01150d28315699560f8786..0000000000000000000000000000000000000000 --- a/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinjd +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/sh -e - -DAEMON="/opt/ucoinj-elasticsearch/ucoinj-elasticsearch.sh" #ligne de commande du programme -daemon_OPT="start --daemon" #argument à utiliser par le programme -DAEMONUSER="laetitia" #utilisateur du programme -daemon_NAME="ucoinjd" #Nom du programme (doit être identique à l'exécutable) - -PATH="/sbin:/bin:/usr/sbin:/usr/bin" #Ne pas toucher - -test -x $DAEMON || exit 0 - -. /lib/lsb/init-functions - -d_start () { - log_daemon_msg "Starting system $daemon_NAME Daemon" - start-stop-daemon --name ucoinjd --background --start --quiet --chuid $DAEMONUSER --exec $DAEMON -- $daemon_OPT - log_end_msg $? -} - -d_stop () { - log_daemon_msg "Stopping system $daemon_NAME Daemon" - start-stop-daemon --name ucoinjd --stop --retry 5 --quiet - log_end_msg $? -} - -case "$1" in - - start|stop) - d_${1} - ;; - - restart|reload|force-reload) - d_stop - d_start - ;; - - force-stop) - d_stop - killall -q $daemon_NAME || true - sleep 2 - killall -q -9 $daemon_NAME || true - ;; - - status) - status_of_proc "$daemon_NAME" "$DAEMON" "system-wide $daemon_NAME" && exit 0 || exit $? - ;; - *) - echo "Usage: /etc/init.d/$daemon_NAME {start|stop|force-stop|restart|reload|force-reload|status}" - exit 1 - ;; -esac -exit 0 diff --git a/ucoinj-elasticsearch-plugin/src/main/assembly/standalone.xml b/ucoinj-elasticsearch-plugin/src/main/assembly/standalone.xml deleted file mode 100644 index 61936330f577821377bd27691869d1dfb936e0a2..0000000000000000000000000000000000000000 --- a/ucoinj-elasticsearch-plugin/src/main/assembly/standalone.xml +++ /dev/null @@ -1,112 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - #%L - allegro-obsdeb :: UI :: Swing - $Id:$ - $HeadURL:$ - %% - Copyright (C) 2009 - 2013 Ifremer - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - #L% - --> - -<assembly - xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd"> - <id>standalone</id> - <formats> - <format>zip</format> - </formats> - - <fileSets> - - <fileSet> - <directory>target</directory> - <outputDirectory/> - <includes> - <include>${project.build.finalName}.${project.packaging}</include> - </includes> - </fileSet> - - <fileSet> - <directory>target/lib</directory> - <outputDirectory>lib</outputDirectory> - <includes> - <include>*.jar</include> - </includes> - <excludes> - <exclude>junit-*.jar</exclude> - </excludes> - </fileSet> - - <fileSet> - <directory>src/main/assembly/min</directory> - <outputDirectory/> - <filtered>true</filtered> - <fileMode>0755</fileMode> - <includes> - <include>ucoinj-elasticsearch.sh</include> - <include>ucoinj-elasticsearch.bat</include> - <include>version.appup</include> - <include>README*</include> - </includes> - </fileSet> - - <!-- configuration file --> - <fileSet> - <directory>src/main/assembly/min</directory> - <outputDirectory/> - <includes> - <include>ucoinj.config</include> - </includes> - </fileSet> - - <!-- plugin descriptor file --> - <fileSet> - <directory>src/main/filtered-resources</directory> - <outputDirectory>plugins/ucoinj-elasticseacrh-plugin</outputDirectory> - <filtered>true</filtered> - <includes> - <include>plugin-descriptor.properties</include> - </includes> - </fileSet> - - <!-- I18N component --> - <fileSet> - <directory>target/classes/META-INF</directory> - <outputDirectory>i18n</outputDirectory> - <includes> - <include>ucoinj-elasticsearch-i18n*.properties</include> - <include>ucoinj-elasticsearch-i18n*.csv</include> - </includes> - </fileSet> - <fileSet> - <directory>src/main/assembly/min</directory> - <outputDirectory>i18n</outputDirectory> - <filtered>true</filtered> - <includes> - <include>version.appup</include> - </includes> - </fileSet> - - <fileSet> - <includes> - <include>LICENSE*</include> - </includes> - </fileSet> - - </fileSets> -</assembly> diff --git a/ucoinj-elasticsearch-plugin/src/main/resources/es-plugin.properties b/ucoinj-elasticsearch-plugin/src/main/resources/es-plugin.properties deleted file mode 100644 index 3a2628e6fbe12134f0f095c2887c015cbff2274a..0000000000000000000000000000000000000000 --- a/ucoinj-elasticsearch-plugin/src/main/resources/es-plugin.properties +++ /dev/null @@ -1 +0,0 @@ -plugin=io.ucoin.ucoinj.elasticsearch.Plugin diff --git a/ucoinj-elasticsearch-plugin/src/test/es-home/plugins/ucoinj-elasticsearch/LICENSE b/ucoinj-elasticsearch-plugin/src/test/es-home/plugins/ucoinj-elasticsearch/LICENSE deleted file mode 100644 index 94a9ed024d3859793618152ea559a168bbcbb5e2..0000000000000000000000000000000000000000 --- a/ucoinj-elasticsearch-plugin/src/test/es-home/plugins/ucoinj-elasticsearch/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - <program> Copyright (C) <year> <name of author> - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -<http://www.gnu.org/licenses/>. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -<http://www.gnu.org/philosophy/why-not-lgpl.html>. diff --git a/ucoinj-elasticsearch-plugin/src/test/es-home/plugins/ucoinj-elasticsearch/plugin-descriptor.properties b/ucoinj-elasticsearch-plugin/src/test/es-home/plugins/ucoinj-elasticsearch/plugin-descriptor.properties deleted file mode 100644 index de5abaf5d82cd0b505463db827c2ac9b7be10c69..0000000000000000000000000000000000000000 --- a/ucoinj-elasticsearch-plugin/src/test/es-home/plugins/ucoinj-elasticsearch/plugin-descriptor.properties +++ /dev/null @@ -1,9 +0,0 @@ -name=ucoinj-elasticsearch -description=uCoinj :: ElasticSearch Plugin -version=0.1-SNAPSHOT -site=false -jvm=true -classname=io.ucoin.ucoinj.elasticsearch.plugin.Plugin -java.version=1.7 -elasticsearch.version=2.3.1 -isolated=false \ No newline at end of file diff --git a/ucoinj-elasticsearch-plugin/src/test/java/io/ucoin/ucoinj/elasticsearch/plugin/StartES.java b/ucoinj-elasticsearch-plugin/src/test/java/io/ucoin/ucoinj/elasticsearch/plugin/StartES.java deleted file mode 100644 index 8966a5b2ed81d1c66c13f408dcc3b020bf16cca2..0000000000000000000000000000000000000000 --- a/ucoinj-elasticsearch-plugin/src/test/java/io/ucoin/ucoinj/elasticsearch/plugin/StartES.java +++ /dev/null @@ -1,66 +0,0 @@ -package io.ucoin.ucoinj.elasticsearch.plugin; - -/* - * #%L - * ucoinj-elasticsearch-plugin - * %% - * Copyright (C) 2014 - 2016 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import com.google.common.collect.Lists; -import org.elasticsearch.bootstrap.Elasticsearch; - -import java.io.File; -import java.util.Arrays; -import java.util.List; - -/** - * Created by blavenie on 02/02/16. - */ -public class StartES { - - public StartES() { - - } - - public static void main(String args[]) { - List<String> argList = Lists.newArrayList(); - if (args != null && args.length > 0) { - argList.addAll(Arrays.asList(args)); - } - - // path.data - String pathData = null; - if (argList.size() == 1) { - pathData = argList.get(0); - argList.remove(pathData); - } - else { - pathData = System.getProperty("tmp.dir") + File.separator + "elasticsearch-plugin-unit-test"; - } - - System.setProperty("es.path.home", "src/test/es-home"); - System.setProperty("es.path.data", pathData + File.separator + "data"); - System.setProperty("es.http.enable", "true"); - - argList.add("start"); - - Elasticsearch.main(argList.toArray(new String[argList.size()])); - - } -} diff --git a/ucoinj-elasticsearch-plugin/src/test/resources/log4j.properties b/ucoinj-elasticsearch-plugin/src/test/resources/log4j.properties deleted file mode 100644 index 3615f59d4a1e06e83216893bb80a96d885d93fe7..0000000000000000000000000000000000000000 --- a/ucoinj-elasticsearch-plugin/src/test/resources/log4j.properties +++ /dev/null @@ -1,25 +0,0 @@ -### -# Global logging configuration -log4j.rootLogger=ERROR, stdout, file - -# Console output -log4j.appender.stdout=org.apache.log4j.ConsoleAppender -log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %5p (%c:%L) - %m%n - -# File output -log4j.appender.file=org.apache.log4j.RollingFileAppender -log4j.appender.file.file=target/ucoinj-elasticsearch-plugin.log -log4j.appender.file.MaxFileSize=10MB -log4j.appender.file.MaxBackupIndex=4 -log4j.appender.file.layout=org.apache.log4j.PatternLayout -log4j.appender.file.layout.ConversionPattern=%d{ISO8601} %5p %c - %m%n - -# uCoinJ levels -log4j.logger.io.ucoin.ucoinj=INFO -log4j.logger.io.ucoin.ucoinj.elasticsearch=DEBUG -#log4j.logger.io.ucoin.ucoinj.elasticsearch.action=DEBUG -#log4j.logger.io.ucoin.ucoinj.core.client.service=DEBUG - -# Other frameworks levels -log4j.logger.org.elasticsearch=INFO \ No newline at end of file diff --git a/ucoinj-elasticsearch/LICENSE b/ucoinj-elasticsearch/LICENSE deleted file mode 100644 index 94a9ed024d3859793618152ea559a168bbcbb5e2..0000000000000000000000000000000000000000 --- a/ucoinj-elasticsearch/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - <program> Copyright (C) <year> <name of author> - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -<http://www.gnu.org/licenses/>. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -<http://www.gnu.org/philosophy/why-not-lgpl.html>. diff --git a/ucoinj-elasticsearch/LICENSE.txt b/ucoinj-elasticsearch/LICENSE.txt deleted file mode 100644 index 94a9ed024d3859793618152ea559a168bbcbb5e2..0000000000000000000000000000000000000000 --- a/ucoinj-elasticsearch/LICENSE.txt +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - <program> Copyright (C) <year> <name of author> - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -<http://www.gnu.org/licenses/>. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -<http://www.gnu.org/philosophy/why-not-lgpl.html>. diff --git a/ucoinj-elasticsearch/pom.xml b/ucoinj-elasticsearch/pom.xml deleted file mode 100644 index 2a7414d5f9cff3c40b324566edfd0df0459b4dd9..0000000000000000000000000000000000000000 --- a/ucoinj-elasticsearch/pom.xml +++ /dev/null @@ -1,285 +0,0 @@ -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>io.ucoin</groupId> - <artifactId>ucoinj</artifactId> - <version>0.1-SNAPSHOT</version> - </parent> - - <groupId>io.ucoin</groupId> - <artifactId>ucoinj-elasticsearch</artifactId> - <packaging>jar</packaging> - <name>UCoin Java Client :: ElasticSearch Indexer</name> - - <properties> - <!-- bundle configuration --> - <bundlePrefix>ucoinj-elasticsearch-${project.version}</bundlePrefix> - - <!-- i18n configuration --> - <i18n.bundleOutputName>ucoinj-elasticsearch-i18n</i18n.bundleOutputName> - <i18n.generateCsvFile>true</i18n.generateCsvFile> - <i18n.bundleCsvFile> - ${maven.gen.dir}/resources/META-INF/${i18n.bundleOutputName}.csv - </i18n.bundleCsvFile> - <config.i18nBundleName>${i18n.bundleOutputName}</config.i18nBundleName> - - <maven.jar.main.class> - io.ucoin.ucoinj.elasticsearch.Main - </maven.jar.main.class> - - <ucoinj-elasticsearch.config>${project.basedir}/src/test/resources/ucoinj-elasticsearch-test.properties</ucoinj-elasticsearch.config> - </properties> - - <dependencies> - <dependency> - <groupId>io.ucoin</groupId> - <artifactId>ucoinj-core-client</artifactId> - <version>${project.version}</version> - </dependency> - <!-- LOGGING DEPENDENCIES - SLF4J --> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-api</artifactId> - </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-log4j12</artifactId> - <optional>true</optional> - </dependency> - <dependency> - <groupId>log4j</groupId> - <artifactId>log4j</artifactId> - <optional>true</optional> - </dependency> - - <!-- Elastic Search --> - <dependency> - <groupId>org.elasticsearch</groupId> - <artifactId>elasticsearch</artifactId> - </dependency> - <dependency> - <groupId>com.fasterxml.jackson.core</groupId> - <artifactId>jackson-databind</artifactId> - </dependency> - - <!-- JNA (need for OS shutdown hook) --> - <dependency> - <groupId>net.java.dev.jna</groupId> - <artifactId>jna</artifactId> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>net.java.dev.jna</groupId> - <artifactId>jna-platform</artifactId> - </dependency> - - <!-- Unit test --> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <scope>test</scope> - </dependency> - </dependencies> - - <build> - <resources> - <resource> - <directory>src/main/filtered-resources</directory> - <filtering>true</filtering> - <includes> - <include>*.config</include> - <include>*.properties</include> - </includes> - </resource> - <resource> - <directory>src/main/resources</directory> - <filtering>false</filtering> - </resource> - </resources> - - <plugins> - <plugin> - <artifactId>maven-jar-plugin</artifactId> - <configuration> - <archive> - <manifest> - <useUniqueVersions>false</useUniqueVersions> - <addClasspath>true</addClasspath> - <classpathPrefix>./lib/</classpathPrefix> - </manifest> - </archive> - </configuration> - </plugin> - - <plugin> - <groupId>org.nuiton.i18n</groupId> - <artifactId>i18n-maven-plugin</artifactId> - - <executions> - <execution> - <id>scan-sources</id> - <configuration> - <entries> - <entry> - <specificGoal>parserValidation</specificGoal> - <basedir>${maven.src.dir}/main/java/</basedir> - <includes> - <param>**/**-validation.xml</param> - </includes> - </entry> - </entries> - </configuration> - <goals> - <goal>parserJava</goal> - <goal>parserValidation</goal> - <goal>gen</goal> - </goals> - </execution> - <execution> - <id>make-bundle</id> - <goals> - <goal>bundle</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - - <profiles> - <profile> - <id>default-bundle</id> - <activation> - <property> - <name>performRelease</name> - <value>true</value> - </property> - </activation> - <build> - <defaultGoal>package</defaultGoal> - <plugins> - <plugin> - <artifactId>maven-dependency-plugin</artifactId> - <executions> - <execution> - <id>copy-dependencies</id> - <goals> - <goal>copy-dependencies</goal> - </goals> - <phase>prepare-package</phase> - <configuration> - <overWriteReleases>false</overWriteReleases> - <overWriteSnapshots>true</overWriteSnapshots> - <overWriteIfNewer>true</overWriteIfNewer> - <outputDirectory>${project.build.directory}/lib</outputDirectory> - <silent>true</silent> - <includeScope>runtime</includeScope> - <excludeScope>test</excludeScope> - </configuration> - </execution> - </executions> - </plugin> - - <plugin> - <artifactId>maven-assembly-plugin</artifactId> - <executions> - <execution> - <id>assembly-standalone</id> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - <configuration> - <attach>true</attach> - <finalName>${bundlePrefix}</finalName> - <descriptors> - <descriptor> - src/main/assembly/standalone.xml - </descriptor> - <descriptor> - src/main/assembly/i18n.xml - </descriptor> - <descriptor> - src/main/assembly/help.xml - </descriptor> - </descriptors> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </build> - </profile> - - <!-- use this profile to run the main class --> - <profile> - <id>run</id> - <activation> - <activeByDefault>false</activeByDefault> - </activation> - <build> - <defaultGoal>package</defaultGoal> - <plugins> - <plugin> - <artifactId>maven-enforcer-plugin</artifactId> - <executions> - <execution> - <id>check-run</id> - <goals> - <goal>enforce</goal> - </goals> - <phase>initialize</phase> - <configuration> - <rules> - <requireProperty> - <property>maven.jar.main.class</property> - <message>Could not find the "maven.jar.main.class" - required property, use - -Dmaven.jar.main.class=your.main.class.fqn - </message> - </requireProperty> - </rules> - <ignoreCache>true</ignoreCache> - <failFast>true</failFast> - <fail>true</fail> - </configuration> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>exec-maven-plugin</artifactId> - <executions> - <execution> - <id>run</id> - <goals> - <goal>java</goal> - </goals> - <phase>compile</phase> - <configuration> - <mainClass>${exec.mainClass}</mainClass> - <classpathScope>${exec.classpathScope}</classpathScope> - <commandlineArgs>start</commandlineArgs> - <systemProperties> - <property > - <key>ucoinj-elasticsearch.config</key> - <value>${ucoinj-elasticsearch.config}</value> - </property> - </systemProperties> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </build> - - <properties> - <exec.mainClass>${maven.jar.main.class}</exec.mainClass> - <exec.classpathScope>runtime</exec.classpathScope> - <ucoinj.log.file>${project.build.directory}/exec.log</ucoinj.log.file> - </properties> - </profile> - </profiles> -</project> diff --git a/ucoinj-elasticsearch/src/main/assembly/full/README.txt b/ucoinj-elasticsearch/src/main/assembly/full/README.txt deleted file mode 100644 index f829e714b3fde179842644d9ee4f846a23d4108e..0000000000000000000000000000000000000000 --- a/ucoinj-elasticsearch/src/main/assembly/full/README.txt +++ /dev/null @@ -1,15 +0,0 @@ -Starting uCoinj-ElasticSearch --------------------------------- - -# under Linux - -./ucoinj-elasticsearch.sh - -# Sous windows - -ucoinj-elasticsearch.exe - -Help ----- - -ucoinj-elasticsearch.<sh|exe> --help diff --git a/ucoinj-elasticsearch/src/main/assembly/min/version.appup b/ucoinj-elasticsearch/src/main/assembly/min/version.appup deleted file mode 100644 index f2ab45c3b0ef08a7742373cd3434573d500b3b22..0000000000000000000000000000000000000000 --- a/ucoinj-elasticsearch/src/main/assembly/min/version.appup +++ /dev/null @@ -1 +0,0 @@ -${project.version} \ No newline at end of file diff --git a/ucoinj-elasticsearch/src/main/filtered-resources/ucoinj.config b/ucoinj-elasticsearch/src/main/filtered-resources/ucoinj.config deleted file mode 100644 index 267e81bf077ecb4fbf41c0039d4e03fe6d0a19fe..0000000000000000000000000000000000000000 --- a/ucoinj-elasticsearch/src/main/filtered-resources/ucoinj.config +++ /dev/null @@ -1,4 +0,0 @@ -ucoinj.version=${project.version} -ucoinj.site.url=${project.url} -ucoinj.inceptionYear=${project.inceptionYear} -ucoinj.organizationName=${license.organizationName} diff --git a/ucoinj-elasticsearch/src/main/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean b/ucoinj-elasticsearch/src/main/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean deleted file mode 100644 index 32427c9dcf4a3b778e9d9f7d136aaf8770160499..0000000000000000000000000000000000000000 --- a/ucoinj-elasticsearch/src/main/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean +++ /dev/null @@ -1,22 +0,0 @@ -io.ucoin.ucoinj.core.client.service.bma.BlockchainRemoteServiceImpl -io.ucoin.ucoinj.core.client.service.bma.NetworkRemoteServiceImpl -io.ucoin.ucoinj.core.client.service.bma.WotRemoteServiceImpl -io.ucoin.ucoinj.core.client.service.bma.TransactionRemoteServiceImpl -io.ucoin.ucoinj.core.client.service.elasticsearch.CurrencyRegistryRemoteServiceImpl -io.ucoin.ucoinj.core.service.Ed25519CryptoServiceImpl -io.ucoin.ucoinj.core.client.service.HttpServiceImpl -io.ucoin.ucoinj.core.client.service.DataContext -io.ucoin.ucoinj.core.client.service.local.PeerServiceImpl -io.ucoin.ucoinj.core.client.service.local.CurrencyServiceImpl -io.ucoin.ucoinj.core.client.dao.mem.MemoryCurrencyDaoImpl -io.ucoin.ucoinj.core.client.dao.mem.MemoryPeerDaoImpl -io.ucoin.ucoinj.elasticsearch.service.ElasticSearchService -io.ucoin.ucoinj.elasticsearch.service.currency.BlockIndexerService -io.ucoin.ucoinj.elasticsearch.service.ExecutorServiceImpl -io.ucoin.ucoinj.elasticsearch.service.market.MarketRecordIndexerService -io.ucoin.ucoinj.elasticsearch.service.market.MarketCategoryIndexerService -io.ucoin.ucoinj.elasticsearch.service.registry.RegistryCurrencyIndexerService -io.ucoin.ucoinj.elasticsearch.service.registry.RegistryRecordIndexerService -io.ucoin.ucoinj.elasticsearch.service.registry.RegistryCategoryIndexerService -io.ucoin.ucoinj.elasticsearch.service.registry.RegistryCitiesIndexerService - diff --git a/ucoinj-elasticsearch/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider b/ucoinj-elasticsearch/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider deleted file mode 100644 index 8bd14945d41a3db3c001078b923362c2405443d3..0000000000000000000000000000000000000000 --- a/ucoinj-elasticsearch/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider +++ /dev/null @@ -1 +0,0 @@ -io.ucoin.ucoinj.elasticsearch.config.ConfigurationProvider diff --git a/ucoinj-elasticsearch/src/main/resources/cities b/ucoinj-elasticsearch/src/main/resources/cities deleted file mode 160000 index 046dbef8958383f6a1460b90df89131add880bfb..0000000000000000000000000000000000000000 --- a/ucoinj-elasticsearch/src/main/resources/cities +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 046dbef8958383f6a1460b90df89131add880bfb diff --git a/ucoinj-elasticsearch/src/main/resources/i18n/ucoinj-elasticsearch_en_GB.properties b/ucoinj-elasticsearch/src/main/resources/i18n/ucoinj-elasticsearch_en_GB.properties deleted file mode 100644 index ae447d1c84a83379f4838ccbd6f593890e7a8ab8..0000000000000000000000000000000000000000 --- a/ucoinj-elasticsearch/src/main/resources/i18n/ucoinj-elasticsearch_en_GB.properties +++ /dev/null @@ -1,51 +0,0 @@ -ucoinj-elasticsearch.config= -ucoinj.blockIndexerService.indexBlock=[%s] [%s] Indexing block \#%s -ucoinj.blockIndexerService.indexLastBlocks.otherPeers.task=Indexing missing blocks of [%s] from other peers -ucoinj.blockIndexerService.indexLastBlocks.progress=[%s] [%s] Indexing block \#%s / %s (%s%%)... -ucoinj.blockIndexerService.indexLastBlocks.stopped=[%s] [%s] Indexing last block - stopped -ucoinj.blockIndexerService.indexLastBlocks.task=Indexing last blocks of [%s] from peer [%s\:%s]... -ucoinj.config.option.basedir.description= -ucoinj.config.option.cache.directory.description= -ucoinj.config.option.data.directory.description= -ucoinj.config.option.elasticsearch.bulk.enable.description= -ucoinj.config.option.elasticsearch.bulk.size.description= -ucoinj.config.option.elasticsearch.cluster.name.description= -ucoinj.config.option.elasticsearch.embedded.enable.description= -ucoinj.config.option.elasticsearch.host.description= -ucoinj.config.option.elasticsearch.local.description= -ucoinj.config.option.i18n.directory.description= -ucoinj.config.option.i18n.locale.description= -ucoinj.config.option.index.parallel_processing.description= -ucoinj.config.option.node.elasticsearch.cluster.name.description= -ucoinj.config.option.node.elasticsearch.clusterName.description= -ucoinj.config.option.node.elasticsearch.embeddeb.description= -ucoinj.config.option.node.elasticsearch.embeddeb.http.description= -ucoinj.config.option.node.elasticsearch.embeddeb.local.description= -ucoinj.config.option.node.elasticsearch.embedded.enable.description= -ucoinj.config.option.node.elasticsearch.embedded.http.enable.description= -ucoinj.config.option.node.elasticsearch.embedded.local.description= -ucoinj.config.option.node.elasticsearch.host.description= -ucoinj.config.option.node.elasticsearch.http.enable.description= -ucoinj.config.option.node.elasticsearch.local.clusterName.description= -ucoinj.config.option.node.elasticsearch.local.description= -ucoinj.config.option.node.elasticsearch.port.description= -ucoinj.config.option.node.elasticsearch.protocol.description= -ucoinj.config.option.node.elasticsearch.rest.host.description= -ucoinj.config.option.node.elasticsearch.rest.port.description= -ucoinj.config.option.node.elasticsearch.rest.protocol.description= -ucoinj.config.option.node.elasticsearch.rest.url.description= -ucoinj.config.option.node.host.description= -ucoinj.config.option.node.port.description= -ucoinj.config.option.node.protocol.description= -ucoinj.config.option.plugins.directory.description= -ucoinj.config.option.taskExecutor.queueCapacity.description= -ucoinj.config.option.tasks.queueCapacity.description= -ucoinj.config.option.tmp.directory.description= -ucoinj.config.option.version.description= -ucoinj.config.parse.error= -ucoinj.executor.task.waitingExecution= -ucoinj.job.stopped= -ucoinj.job.stopping= -ucoinj.job.success= -ucoinj.task.issuer.system=System -ucoinj.task.starting=Starting task... diff --git a/ucoinj-elasticsearch/src/main/resources/i18n/ucoinj-elasticsearch_fr_FR.properties b/ucoinj-elasticsearch/src/main/resources/i18n/ucoinj-elasticsearch_fr_FR.properties deleted file mode 100644 index 1b9bcb1fd8123e19040043581ab97d51d00bc698..0000000000000000000000000000000000000000 --- a/ucoinj-elasticsearch/src/main/resources/i18n/ucoinj-elasticsearch_fr_FR.properties +++ /dev/null @@ -1,51 +0,0 @@ -ucoinj-elasticsearch.config= -ucoinj.blockIndexerService.indexBlock=[%s] [%s] Indexing block \#%s -ucoinj.blockIndexerService.indexLastBlocks.otherPeers.task=Indexing missing blocks of [%s] from other peers -ucoinj.blockIndexerService.indexLastBlocks.progress=[%s] [%s] Indexing block \#%s / %s (%s%%)... -ucoinj.blockIndexerService.indexLastBlocks.stopped=[%s] [%s] Indexing last block - stopped -ucoinj.blockIndexerService.indexLastBlocks.task=Indexing last blocks of [%s] from peer [%s\:%s]... -ucoinj.config.option.basedir.description= -ucoinj.config.option.cache.directory.description= -ucoinj.config.option.data.directory.description= -ucoinj.config.option.elasticsearch.bulk.enable.description= -ucoinj.config.option.elasticsearch.bulk.size.description= -ucoinj.config.option.elasticsearch.cluster.name.description= -ucoinj.config.option.elasticsearch.embedded.enable.description= -ucoinj.config.option.elasticsearch.host.description= -ucoinj.config.option.elasticsearch.local.description= -ucoinj.config.option.i18n.directory.description= -ucoinj.config.option.i18n.locale.description= -ucoinj.config.option.index.parallel_processing.description= -ucoinj.config.option.node.elasticsearch.cluster.name.description= -ucoinj.config.option.node.elasticsearch.clusterName.description= -ucoinj.config.option.node.elasticsearch.embeddeb.description= -ucoinj.config.option.node.elasticsearch.embeddeb.http.description= -ucoinj.config.option.node.elasticsearch.embeddeb.local.description= -ucoinj.config.option.node.elasticsearch.embedded.enable.description= -ucoinj.config.option.node.elasticsearch.embedded.http.enable.description= -ucoinj.config.option.node.elasticsearch.embedded.local.description= -ucoinj.config.option.node.elasticsearch.host.description= -ucoinj.config.option.node.elasticsearch.http.enable.description= -ucoinj.config.option.node.elasticsearch.local.clusterName.description= -ucoinj.config.option.node.elasticsearch.local.description= -ucoinj.config.option.node.elasticsearch.port.description= -ucoinj.config.option.node.elasticsearch.protocol.description= -ucoinj.config.option.node.elasticsearch.rest.host.description= -ucoinj.config.option.node.elasticsearch.rest.port.description= -ucoinj.config.option.node.elasticsearch.rest.protocol.description= -ucoinj.config.option.node.elasticsearch.rest.url.description= -ucoinj.config.option.node.host.description= -ucoinj.config.option.node.port.description= -ucoinj.config.option.node.protocol.description= -ucoinj.config.option.plugins.directory.description= -ucoinj.config.option.taskExecutor.queueCapacity.description= -ucoinj.config.option.tasks.queueCapacity.description= -ucoinj.config.option.tmp.directory.description= -ucoinj.config.option.version.description= -ucoinj.config.parse.error= -ucoinj.executor.task.waitingExecution= -ucoinj.job.stopped= -ucoinj.job.stopping= -ucoinj.job.success= -ucoinj.task.issuer.system=Système -ucoinj.task.starting=Démarrage du traitement... diff --git a/ucoinj-elasticsearch/src/test/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean b/ucoinj-elasticsearch/src/test/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean deleted file mode 100644 index 19a694133250aaea47b9fc07fde9dc74557ebb97..0000000000000000000000000000000000000000 --- a/ucoinj-elasticsearch/src/test/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean +++ /dev/null @@ -1,13 +0,0 @@ -io.ucoin.ucoinj.core.client.service.bma.BlockchainRemoteServiceImpl -io.ucoin.ucoinj.core.client.service.bma.NetworkRemoteServiceImpl -io.ucoin.ucoinj.core.client.service.bma.WotRemoteServiceImpl -io.ucoin.ucoinj.core.client.service.bma.TransactionRemoteServiceImpl -io.ucoin.ucoinj.core.service.Ed25519CryptoServiceImpl -io.ucoin.ucoinj.core.client.service.HttpServiceImpl -io.ucoin.ucoinj.core.client.service.DataContext -io.ucoin.ucoinj.core.client.service.local.PeerServiceImpl -io.ucoin.ucoinj.core.client.service.local.CurrencyServiceImpl -io.ucoin.ucoinj.core.client.dao.mem.MemoryCurrencyDaoImpl -io.ucoin.ucoinj.core.client.dao.mem.MemoryPeerDaoImpl -io.ucoin.ucoinj.elasticsearch.service.ElasticSearchService -io.ucoin.ucoinj.elasticsearch.service.registry.RegistryCurrencyIndexerService \ No newline at end of file diff --git a/ucoinj-elasticsearch/src/test/resources/ucoinj-elasticsearch-localhost-node.properties b/ucoinj-elasticsearch/src/test/resources/ucoinj-elasticsearch-localhost-node.properties deleted file mode 100644 index 260a6299accefae4b5d80ac1e850b6122f35e2c3..0000000000000000000000000000000000000000 --- a/ucoinj-elasticsearch/src/test/resources/ucoinj-elasticsearch-localhost-node.properties +++ /dev/null @@ -1,12 +0,0 @@ -ucoinj.node.host=metab.ucoin.fr -ucoinj.node.port=9201 - -ucoinj.elasticsearch.embedded.enable=false -ucoinj.elasticsearch.local=fals -ucoinj.elasticsearch.http.enable=false -ucoinj.elasticsearch.cluster.name=ucoinj-elacticsearch-test - -#ucoinj.elasticsearch.cluster.name=ucoinj-elacticsearch - -ucoinj.elasticsearch.host=localhost -ucoinj.elasticsearch.port=9300 diff --git a/ucoinj-elasticsearch/src/test/resources/ucoinj-elasticsearch-test.properties b/ucoinj-elasticsearch/src/test/resources/ucoinj-elasticsearch-test.properties deleted file mode 100644 index cd4ab389bc1587c1114e43f5f1a0a02782c02885..0000000000000000000000000000000000000000 --- a/ucoinj-elasticsearch/src/test/resources/ucoinj-elasticsearch-test.properties +++ /dev/null @@ -1,16 +0,0 @@ -ucoinj.node.host=metab.ucoin.fr -ucoinj.node.port=9201 - -ucoinj.basedir=target/es-home - -#ucoinj.elasticsearch.data -#ucoinj.elasticsearch.embedded.enable=true -ucoinj.elasticsearch.local=false -ucoinj.elasticsearch.http.enable=true -ucoinj.elasticsearch.cluster.name=ucoinj-elasticsearch - -#ucoinj.elasticsearch.cluster.name=ucoinj-elacticsearch - -ucoinj.elasticsearch.embedded.enable=false -ucoinj.elasticsearch.host=192.168.0.5 -ucoinj.elasticsearch.port=9300 diff --git a/ucoinj-ui-wicket/LICENSE b/ucoinj-ui-wicket/LICENSE deleted file mode 100644 index 94a9ed024d3859793618152ea559a168bbcbb5e2..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - <program> Copyright (C) <year> <name of author> - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -<http://www.gnu.org/licenses/>. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -<http://www.gnu.org/philosophy/why-not-lgpl.html>. diff --git a/ucoinj-ui-wicket/lib/sodium.dll b/ucoinj-ui-wicket/lib/sodium.dll deleted file mode 100644 index 986554430c9f0440cf50bdbb4fd8a42e604dba98..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/lib/sodium.dll and /dev/null differ diff --git a/ucoinj-ui-wicket/pom.xml b/ucoinj-ui-wicket/pom.xml deleted file mode 100644 index 15e509f2f1d78c92cb30c971330c4ab7be065cdf..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/pom.xml +++ /dev/null @@ -1,500 +0,0 @@ -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>io.ucoin</groupId> - <artifactId>ucoinj</artifactId> - <version>0.1-SNAPSHOT</version> - </parent> - - <groupId>io.ucoin</groupId> - <artifactId>ucoinj-ui-wicket</artifactId> - <packaging>war</packaging> - <name>uCoinj :: UI Wicket</name> - - <properties> - <performRelease>false</performRelease> - <jetty.reload>automatic</jetty.reload> - - <!-- bundle configuration --> - <bundlePrefix>ucoinj-web-${project.version}</bundlePrefix> - <bundle.jvmArgs>-server -Xmx1g -Xms512m -XX:MaxPermSize=128M -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=50 -XX:+ScavengeBeforeFullGC -XX:+CMSScavengeBeforeRemark</bundle.jvmArgs> - - <!-- Unit test --> - <ucoin.log.file>${project.build.directory}/${bundlePrefix}.log</ucoin.log.file> - <wicket.configuration>development</wicket.configuration> - <synchro-web.config>${project.basedir}/src/test/resources/ucoinj-ui-wicket-test.properties</synchro-web.config> - <ucoinj.log.file>${project.build.directory}/${bundlePrefix}.log</ucoinj.log.file> - </properties> - - <dependencies> - <dependency> - <groupId>io.ucoin</groupId> - <artifactId>ucoinj-core-client</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>io.ucoin</groupId> - <artifactId>ucoinj-core-shared</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>io.ucoin</groupId> - <artifactId>ucoinj-elasticsearch</artifactId> - <version>${project.version}</version> - </dependency> - - <!-- WICKET DEPENDENCIES --> - <dependency> - <groupId>org.apache.wicket</groupId> - <artifactId>wicket-core</artifactId> - </dependency> - <dependency> - <groupId>org.apache.wicket</groupId> - <artifactId>wicket-extensions</artifactId> - </dependency> - <dependency> - <groupId>org.apache.wicket</groupId> - <artifactId>wicket-auth-roles</artifactId> - </dependency> - <dependency> - <groupId>org.apache.wicket</groupId> - <artifactId>wicket-ioc</artifactId> - </dependency> - <dependency> - <groupId>org.apache.wicket</groupId> - <artifactId>wicket-datetime</artifactId> - </dependency> - <dependency> - <groupId>org.apache.wicket</groupId> - <artifactId>wicket-spring</artifactId> - </dependency> - <dependency> - <groupId>com.googlecode.wicket-jquery-ui</groupId> - <artifactId>wicket-jquery-ui</artifactId> - <version>${wicket.version}</version> - </dependency> - - <!-- GoogleGSON for WICKET-JQUERY link --> - <dependency> - <groupId>com.google.code.gson</groupId> - <artifactId>gson</artifactId> - </dependency> - - <dependency> - <groupId>com.google.guava</groupId> - <artifactId>guava</artifactId> - </dependency> - - <!-- Spring, for security and rest services --> - <dependency> - <groupId>org.springframework.security</groupId> - <artifactId>spring-security-web</artifactId> - </dependency> - <dependency> - <groupId>org.springframework.security</groupId> - <artifactId>spring-security-config</artifactId> - </dependency> - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-core</artifactId> - </dependency> - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-beans</artifactId> - <version>${spring.version}</version> - </dependency> - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-context</artifactId> - </dependency> - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-web</artifactId> - </dependency> - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-webmvc</artifactId> - </dependency> - <dependency> - <groupId>org.aspectj</groupId> - <artifactId>aspectjweaver</artifactId> - </dependency> - - <!-- LOGGING DEPENDENCIES - SLF4J --> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-api</artifactId> - </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-log4j12</artifactId> - </dependency> - <dependency> - <groupId>log4j</groupId> - <artifactId>log4j</artifactId> - </dependency> - - <!-- JUNIT DEPENDENCY FOR TESTING --> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.eclipse.jetty.aggregate</groupId> - <artifactId>jetty-all</artifactId> - </dependency> - - </dependencies> - <build> - <finalName>${project.parent.artifactId}-${project.version}</finalName> - <resources> - <resource> - <directory>src/main/filtered-resources</directory> - <filtering>true</filtering> - <includes> - <include>*.properties</include> - </includes> - </resource> - <resource> - <directory>src/main/resources</directory> - <filtering>true</filtering> - <includes> - <include>*.properties</include> - </includes> - </resource> - <resource> - <directory>src/main/resources</directory> - <filtering>false</filtering> - <includes> - <include>**/*</include> - </includes> - <excludes> - <exclude>*.properties</exclude> - </excludes> - </resource> - <resource> - <directory>src/main/java</directory> - <filtering>false</filtering> - <includes> - <include>**</include> - </includes> - <excludes> - <exclude>**/*.java</exclude> - </excludes> - </resource> - </resources> - <testResources> - <testResource> - <filtering>false</filtering> - <directory>src/test/resources</directory> - </testResource> - <testResource> - <filtering>false</filtering> - <directory>src/test/java</directory> - <includes> - <include>**</include> - </includes> - <excludes> - <exclude>**/*.java</exclude> - </excludes> - </testResource> - </testResources> - - <plugins> - <plugin> - <artifactId>maven-war-plugin</artifactId> - <configuration> - <!-- excludes the Eclipse output directory --> - <warSourceExcludes>WEB-INF/classes/**/*.*</warSourceExcludes> - <warSourceIncludes>**/*.*</warSourceIncludes> - <filteringDeploymentDescriptors>true</filteringDeploymentDescriptors> - <warName>${bundlePrefix}</warName> - <webResources> - <resource> - <filtering>true</filtering> - <directory>src/main/webapp/META-INF</directory> - <targetPath>META-INF</targetPath> - <includes> - <include>context.xml</include> - </includes> - </resource> - </webResources> - </configuration> - </plugin> - </plugins> - </build> - - <profiles> - - <!-- Run the war into a jetty server --> - <profile> - <id>run</id> - <properties> - <jetty.docroot>${project.build.directory}/jetty-docroot</jetty.docroot> - <jetty.forked.debug.port>4000</jetty.forked.debug.port> - <jetty.forked.jvmArgs> - -XX:+HeapDumpOnOutOfMemoryError -Xrunjdwp:transport=dt_socket,address=${jetty.forked.debug.port},server=y,suspend=n - </jetty.forked.jvmArgs> - <jetty.port>8080</jetty.port> - <maven.jar.main.class>fake</maven.jar.main.class> - </properties> - <build> - <defaultGoal></defaultGoal> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-resources-plugin</artifactId> - <version>2.4.3</version> - <executions> - <execution> - <!-- need to filtering web.xml before launching jetty --> - <id>prepare-jetty-docroot</id> - <phase>prepare-package</phase> - <goals> - <goal>copy-resources</goal> - </goals> - <configuration> - <outputDirectory>${jetty.docroot}</outputDirectory> - <resources> - <resource> - <directory>${project.basedir}/src/main/webapp</directory> - <filtering>true</filtering> - <includes> - <include>WEB-INF/web.xml</include> - </includes> - </resource> - </resources> - </configuration> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>org.eclipse.jetty</groupId> - <artifactId>jetty-maven-plugin</artifactId> - <executions> - <execution> - <id>run</id> - <phase>prepare-package</phase> - <goals> - <!--goal>run-forked</goal--> - <goal>run</goal> - </goals> - </execution> - </executions> - <configuration> - <war>target/${project.parent.artifactId}-${project.version}.war</war> - <!-- required to run jetty:stop goal --> - <stopPort>9696</stopPort> - <stopKey>ucoinj</stopKey> - <systemProperties> - <systemProperty> - <name>ucoinj-web.config</name> - <value>${project.basedir}/src/test/resources/ucoinj-ui-wicket-test.properties</value> - </systemProperty> - <systemProperty> - <name>jetty.port</name> - <value>${jetty.port}</value> - </systemProperty> - <systemProperty> - <name>log4j.configuration</name> - <value>file://${project.basedir}/src/test/resources/log4j.properties</value> - </systemProperty> - </systemProperties> - <jvmArgs>${jetty.forked.jvmArgs}</jvmArgs> - <reload>${jetty.reload}</reload> - <useProvidedScope>true</useProvidedScope> - <webXml>${jetty.docroot}/WEB-INF/web.xml</webXml> - <scanTargetPatterns> - <scanTargetPattern> - <directory>${project.basedir}/target/classes</directory> - </scanTargetPattern> - <scanTargetPattern> - <directory>${project.basedir}/src/main/webapp</directory> - <excludes> - <exclude>**/*.css</exclude> - <exclude>**/*.png</exclude> - <exclude>**/*.jpg</exclude> - </excludes> - </scanTargetPattern> - </scanTargetPatterns> - </configuration> - <dependencies> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-api</artifactId> - <version>${slf4j.version}</version> - </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-log4j12</artifactId> - <version>${slf4j.version}</version> - </dependency> - <dependency> - <groupId>log4j</groupId> - <artifactId>log4j</artifactId> - <version>${log4j.version}</version> - </dependency> - </dependencies> - </plugin> - - <plugin> - <artifactId>maven-enforcer-plugin</artifactId> - <inherited>false</inherited> - <configuration> - <skip>true</skip> - </configuration> - </plugin> - - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>exec-maven-plugin</artifactId> - <inherited>false</inherited> - <configuration> - <skip>true</skip> - </configuration> - </plugin> - </plugins> - </build> - </profile> - - <profile> - <id>add-release-properties</id> - <activation> - <property> - <name>performRelease</name> - <value>true</value> - </property> - </activation> - <properties> - <!-- configure log file for tomcat --> - <ucoin.log.file>$\{catalina.base\}/logs/${bundlePrefix}.log</ucoin.log.file> - <!-- wicket servlet into deployment configuration --> - <wicket.configuration>deployment</wicket.configuration> - </properties> - </profile> - - <profile> - <id>minimized-web-resources</id> - <activation> - <!-- FIXME BL : unable this cause a StackOverflowException - property> - <name>performRelease</name> - <value>true</value> - </property--> - </activation> - <build> - <defaultGoal>package</defaultGoal> - <plugins> - <plugin> - <groupId>net.alchim31.maven</groupId> - <artifactId>yuicompressor-maven-plugin</artifactId> - <executions> - <execution> - <goals> - <goal>compress</goal> - </goals> - </execution> - </executions> - <configuration> - <!-- Don't output in the default webapp location, since the war plugin - will overwrite the files in there with the original, uncompressed ones. --> - <webappDirectory>${project.build.directory}/generated-sources/webapp</webappDirectory> - <jswarn>false</jswarn> - <statistics>false</statistics> - <!-- Overwrite existing files --> - <nosuffix>true</nosuffix> - <!-- paths to js and css files (inside src/main/webapp) --> - <includes> - <!--<include>**/*.js</include> LPT 22/08/2013 : javaScript file compression excluded because jquery.tokeninput.js or jquery.watermark.js fails on web render --> - <include>**/*.css</include> - </includes> - <excludes> - <!-- exclude somes js with errors --> - <exclude>**/CPPlaybar.js</exclude> - <!-- exclude minized js and other files --> - <exclude>**/*.min.js</exclude> - <exclude>**/*.min.css</exclude> - <exclude>**/*.java</exclude> - <exclude>**/*.html</exclude> - <exclude>**/*.properties</exclude> - <exclude>**/*.xml</exclude> - <exclude>**/*.png</exclude> - <exclude>**/*.gif</exclude> - <exclude>**/*.jpg</exclude> - <exclude>**/*.jpeg</exclude> - </excludes> - </configuration> - </plugin> - <plugin> - <groupId>com.tunyk.mvn.plugins.htmlcompressor</groupId> - <artifactId>htmlcompressor-maven-plugin</artifactId> - <configuration> - <goalPrefix>htmlcompressor</goalPrefix> - <removeComments>true</removeComments> - <encoding>utf-8</encoding> - <compressCss>true</compressCss> - <compressJavaScript>true</compressJavaScript> - <javascriptHtmlSprite>false</javascriptHtmlSprite> - <removeIntertagSpaces>true</removeIntertagSpaces> - <predefinedPreservePatterns> - <predefinedPreservePattern>SERVER_SCRIPT_TAG_PATTERN</predefinedPreservePattern> - </predefinedPreservePatterns> - <fileExt> - <fileExt>html</fileExt> - </fileExt> - </configuration> - <executions> - <execution> - <id>HTML compression (from files in src/main/webapp)</id> - <phase>process-resources</phase> - <goals> - <goal>html</goal> - </goals> - <configuration> - <srcFolder>${project.basedir}/src/main/webapp</srcFolder> - <targetFolder>${project.build.directory}/generated-sources/webapp</targetFolder> - </configuration> - </execution> - <execution> - <id>HTML compression (from files found in classpath)</id> - <phase>compile</phase> - <goals> - <goal>html</goal> - </goals> - <configuration> - <srcFolder>${project.basedir}/src/main/java</srcFolder> - <targetFolder>${project.build.directory}/classes</targetFolder> - </configuration> - </execution> - </executions> - </plugin> - <plugin> - <artifactId>maven-war-plugin</artifactId> - <configuration> - <!-- Add minified resources into the final WAR --> - <webResources> - <resource> - <directory>${project.build.directory}/generated-sources/webapp</directory> - <targetPath>/</targetPath> - <filtering>false</filtering> - </resource> - <resource> - <filtering>true</filtering> - <directory>src/main/webapp/META-INF</directory> - <targetPath>META-INF</targetPath> - <includes> - <include>context.xml</include> - </includes> - </resource> - </webResources> - </configuration> - </plugin> - </plugins> - </build> - </profile> - </profiles> - -</project> diff --git a/ucoinj-ui-wicket/src/main/filtered-resources/log4j.properties b/ucoinj-ui-wicket/src/main/filtered-resources/log4j.properties deleted file mode 100644 index 20b4634ce432bf1ca1bd13d578b308a2212f4031..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/filtered-resources/log4j.properties +++ /dev/null @@ -1,30 +0,0 @@ - -# Global logging configuration -log4j.rootLogger=ERROR, stdout, file - -# Console output -log4j.appender.stdout=org.apache.log4j.ConsoleAppender -log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %5p %m%n - -# file logging (compatible with Ifremer/RIC) -log4j.appender.file=org.apache.log4j.DailyRollingFileAppender -log4j.appender.file.file=${ucoinj.log.file} -log4j.appender.file.DatePattern='.'yyyy-MM-dd -log4j.appender.file.layout=org.apache.log4j.PatternLayout -log4j.appender.file.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm:ss} %5p (%F:%L) %M %m%n - -# uCoinj levels -log4j.logger.io.ucoin.ucoinj=INFO -#log4j.logger.io.ucoin.ucoinj.core=WARN -#log4j.logger.io.ucoin.ucoinj.elasticsearch=DEBUG - -# Other frameworks levels -log4j.logger.org.nuiton.util=WARN -log4j.logger.org.nuiton.config=WARN -log4j.logger.org.nuiton.converter=WARN -log4j.logger.org.apache.commons.beanutils=WARN -log4j.logger.org.apache.wicket=WARN -log4j.logger.org.elasticsearch=WARN -log4j.logger.org.springframework=DEBUG -log4j.logger.org.springframework.security=TRACE diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/application/Application.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/application/Application.java deleted file mode 100644 index 5b02da5f04f7705c2ae932e532bb9c65e6985083..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/application/Application.java +++ /dev/null @@ -1,139 +0,0 @@ -package io.ucoin.ucoinj.web.application; - -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.elasticsearch.config.ConfigurationOption; -import io.ucoin.ucoinj.elasticsearch.service.registry.RegistryCurrencyIndexerService; -import io.ucoin.ucoinj.web.config.WebConfiguration; -import io.ucoin.ucoinj.web.pages.admin.JobManagerPage; -import io.ucoin.ucoinj.web.pages.admin.ToolsPage; -import io.ucoin.ucoinj.web.pages.home.HomePage; -import io.ucoin.ucoinj.web.pages.login.LoginPage; -import io.ucoin.ucoinj.web.pages.registry.CurrencyPage; -import io.ucoin.ucoinj.web.pages.registry.CurrencyRegistryPage; -import io.ucoin.ucoinj.web.pages.wallet.WalletPage; -import io.ucoin.ucoinj.web.service.ServiceLocator; -import org.apache.wicket.authroles.authentication.AbstractAuthenticatedWebSession; -import org.apache.wicket.authroles.authentication.AuthenticatedWebApplication; -import org.apache.wicket.markup.html.WebPage; -import org.apache.wicket.util.time.Duration; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Component; - -@Component("wicketApplication") -public class Application extends AuthenticatedWebApplication { - - private static final Logger log = LoggerFactory.getLogger(Application.class); - - private WebConfiguration config; - - public Application() { - config = WebConfiguration.instance(); - } - - /** - * @see org.apache.wicket.Application#init() - */ - @Override - public void init() { - super.init(); - // add the capability to gather extended browser info stuff like screen resolution - getRequestCycleSettings().setGatherExtendedBrowserInfo(true); - // set the default page timeout - getRequestCycleSettings().setTimeout(Duration.minutes(10)); - // set the UTF-8 charset - getRequestCycleSettings().setResponseRequestEncoding("UTF-8"); - getMarkupSettings().setDefaultMarkupEncoding("UTF-8"); - - mountPage("home", getHomePage()); - mountPage("currency/${currencyName}", CurrencyPage.class); - mountPage("admin/tools", ToolsPage.class); - mountPage("admin/jobs", JobManagerPage.class); - mountPage("login", LoginPage.class); - mountPage("wallet", WalletPage.class); - mountPage("currency-form", CurrencyRegistryPage.class); - - getMarkupSettings().setStripWicketTags(true); - - // Starting services - startServices(); - } - - /** - * @see org.apache.wicket.Application#getHomePage() - */ - @Override - public Class getHomePage() { - return HomePage.class; - } - - @Override - protected Class<? extends AbstractAuthenticatedWebSession> getWebSessionClass() { - return WebSession.class; - } - - @Override - protected Class<? extends WebPage> getSignInPageClass() { - return LoginPage.class; - } - - public WebConfiguration getConfiguration() { - return config; - } - - - - /* -- protected methods -- */ - - protected void startServices() { - try { - // Make sure the service locator is initialized - ServiceLocator.initDefault(getServletContext()); - } - catch(TechnicalException e) { - log.error("Error during services initialization: " + e.getMessage()); - throw new TechnicalException("Error during services initialization: " + e.getMessage(), e); - } - - // local node - boolean localEsNode = config.getApplicationConfig().getOptionAsBoolean(ConfigurationOption.LOCAL_ENABLE.getKey()); - if (localEsNode) { - - // Make sure main index exists - RegistryCurrencyIndexerService currencyIndexerService = ServiceLocator.instance().getRegistryCurrencyIndexerService(); - currencyIndexerService.createIndexIfNotExists(); - - // Make sure currency from default peer exists - try { - Peer peer = new Peer(config.getNodeHost(), config.getNodePort()); - currencyIndexerService.indexCurrencyFromPeer(peer); - } - catch(Exception e) { - } - } - } -} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/application/Application.properties b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/application/Application.properties deleted file mode 100644 index ccd23379d84e6de76027e29bb3ff4226d9c9d12a..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/application/Application.properties +++ /dev/null @@ -1,22 +0,0 @@ -base.pageTitle=uCoin registry -base.homeLink=Home -home.headerTitle=<h1>Welcome to <b>uCoin</b> registry</h1><h2>A open registry for all your <i>uCoin</i> currencies</h2> -base.footer=UCoin client v${version} -login.salt=Login or email (your crypto salt) -login.password=Password -login.header=Login -login.button=Login -login.failed=Authentification Failed - -home.search.hint=Search a currency name -home.searchButton=Search -home.result.divider.currency=Currencies -searchText=Search - -tools.startIndexLastBlocks=Index new blocks - -jobmanager.title=Job manager -jobmanager.jobs=Number of running jobs: ${jobCount} -jobmanager.issuer=User: ${issuer} - -currency.header=Currency \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/application/Application_fr.utf8.properties b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/application/Application_fr.utf8.properties deleted file mode 100644 index 277f57db256d0c76e17f9f46a25f2aece08a3034..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/application/Application_fr.utf8.properties +++ /dev/null @@ -1,19 +0,0 @@ -base.homeLink=Accueil -base.pageTitle=uCoin registry -home.headerTitle=<h1>Bienvenue dans <b>uCoin</b> registry</h1><h2>Un registre ouvert pour toutes vos monnaies <i>uCoin</i></h2> -base.footer=uCoin registry v${version} -home.title=uCoin registry - Discover free currencies -home.search.hint=Rechercher une monnaie -home.searchButton=Rechercher -home.result.divider.currency=Monnaies -searchText=Rechercher - -currency.register.pubkey=Votre clef publique (dans la monnaie) -currency.register.currencyJson=Information (format JSON) de la monnaie -currency.register.signature=Signature (du champ pr�c�dent) - -tools.startIndexLastBlocks=Indexer les nouveaux blocks - -jobmanager.title=Gestionnaire de traitements -jobmanager.jobs=Nombre d'importation en cours : ${jobCount} -jobmanager.issuer=Utilisateur : ${issuer} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/application/WebSession.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/application/WebSession.java deleted file mode 100644 index 3df54962abfc612c8f852af47992e3a90be396dc..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/application/WebSession.java +++ /dev/null @@ -1,75 +0,0 @@ -package io.ucoin.ucoinj.web.application; - -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -import org.apache.wicket.authroles.authentication.AuthenticatedWebSession; -import org.apache.wicket.authroles.authorization.strategies.role.Roles; -import org.apache.wicket.request.Request; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; -import org.springframework.security.core.Authentication; -import org.springframework.security.core.AuthenticationException; -import org.springframework.security.core.context.SecurityContextHolder; - -public class WebSession extends AuthenticatedWebSession { - final static Logger log = LoggerFactory.getLogger(WebSession.class); - - private static final long serialVersionUID = 1L; - - public WebSession(Request request) { - super(request); - } - - @Override - public Roles getRoles() { - return null; - } - - @Override - public boolean authenticate(String username, String password) throws AuthenticationException { - /*ServiceLocator serviceLocator = ServiceLocator.instance(); - boolean authenticated; - try { - Authentication authentication = serviceLocator.getAuthenticationManager().authenticate(new UsernamePasswordAuthenticationToken(username, password)); - SecurityContextHolder.getContext().setAuthentication(authentication); - authenticated = authentication.isAuthenticated(); - } catch (AuthenticationException e) { - String errorMessage = String.format("Authentication failed for user '%s' with error : %s", username, e.getLocalizedMessage()); - if (log.isDebugEnabled()) { - log.warn(errorMessage, e); - } - else { - log.warn(errorMessage, e); - } - throw e; - } - return authenticated; - */ - return true; - } - - - -} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/components/behavior/FocusOnLoadBehavior.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/components/behavior/FocusOnLoadBehavior.java deleted file mode 100644 index bfc7e6f48503e8e7503c20cbe4f9b79d930362ab..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/components/behavior/FocusOnLoadBehavior.java +++ /dev/null @@ -1,53 +0,0 @@ -package io.ucoin.ucoinj.web.components.behavior; - -/* - * #%L - * SIH-Adagio Extractor web UI - * %% - * Copyright (C) 2012 - 2013 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -import org.apache.wicket.Component; -import org.apache.wicket.ajax.AbstractDefaultAjaxBehavior; -import org.apache.wicket.ajax.AjaxRequestTarget; -import org.apache.wicket.markup.head.IHeaderResponse; -import org.apache.wicket.markup.head.OnDomReadyHeaderItem; - -public class FocusOnLoadBehavior extends AbstractDefaultAjaxBehavior { - /** - * Focus the component after loading - */ - private static final long serialVersionUID = -4369132303242175903L; - - @Override - public void renderHead(Component component, IHeaderResponse response) { - super.renderHead(component, response); - String javascript = "setTimeout(\"$('#" + component.getMarkupId() + "').focus()\", 100);" ; - response.render(OnDomReadyHeaderItem.forScript(javascript)); - } - - @Override - protected void respond(AjaxRequestTarget target) { - } - - @Override - public boolean isTemporary(Component component) { - return true; - } -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/components/progressionModel/ProgressionPanel.html b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/components/progressionModel/ProgressionPanel.html deleted file mode 100644 index d78c44250b0a31827859f5e3eb58321b71508858..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/components/progressionModel/ProgressionPanel.html +++ /dev/null @@ -1,28 +0,0 @@ -<!-- - #%L - SIH-Adagio Extractor web UI - %% - Copyright (C) 2012 - 2013 Ifremer - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public - License along with this program. If not, see - <http://www.gnu.org/licenses/gpl-3.0.html>. - #L% - --> -<html xmlns:wicket="https://git1-us-west.apache.org/repos/asf/wicket/repo?p=wicket.git;a=blob_plain;f=wicket-core/src/main/resources/META-INF/wicket.xsd;hb=HEAD"> - <wicket:panel> - <span wicket:id="taskLabel">[task]</span> - <div wicket:id="progress"></div> - <div wicket:id="feedback" style="width: 100%;"></div> - </wicket:panel> -</html> diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/components/progressionModel/ProgressionPanel.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/components/progressionModel/ProgressionPanel.java deleted file mode 100644 index 3e2d463a4d90bc3f304316e1a641ad87efc9a063..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/components/progressionModel/ProgressionPanel.java +++ /dev/null @@ -1,172 +0,0 @@ -package io.ucoin.ucoinj.web.components.progressionModel; - -/* - * #%L - * SIH-Adagio :: UI for Core Allegro - * $Id:$ - * $HeadURL:$ - * %% - * Copyright (C) 2012 - 2014 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import com.googlecode.wicket.jquery.ui.panel.JQueryFeedbackPanel; -import com.googlecode.wicket.jquery.ui.widget.progressbar.ProgressBar; -import io.ucoin.ucoinj.core.model.ProgressionModel; -import org.apache.wicket.ajax.AbstractAjaxTimerBehavior; -import org.apache.wicket.ajax.AjaxRequestTarget; -import org.apache.wicket.markup.html.basic.Label; -import org.apache.wicket.markup.html.panel.FeedbackPanel; -import org.apache.wicket.markup.html.panel.Panel; -import org.apache.wicket.model.IModel; -import org.apache.wicket.model.PropertyModel; -import org.apache.wicket.util.time.Duration; - - -public class ProgressionPanel extends Panel { - private static final long serialVersionUID = 1L; - - private final AbstractAjaxTimerBehavior timer; - private final ProgressBar progressBar; - private final FeedbackPanel feedback; - private final Label taskLabel; - - private boolean stopped = false; - - public ProgressionPanel(String id, IModel<ProgressionModel> model) { - super(id, model); - - // Timer - timer = new AbstractAjaxTimerBehavior(Duration.ONE_SECOND) { - private static final long serialVersionUID = 1L; - - @Override - protected void onTimer(AjaxRequestTarget target) { - if (stopped) { - ProgressionPanel.this.stop(target); - return; - } - ProgressionModel progressionModel = getModelObject(); - if (progressionModel != null) { - synchronized (progressionModel) { - if (progressionModel.getStatus() == ProgressionModel.Status.FAILED || - progressionModel.getStatus() == ProgressionModel.Status.STOPPED) { - error(progressionModel.getMessage()); - } else { - info(progressionModel.getMessage()); - } - } - } - progressBar.refresh(target); - target.add(feedback, progressBar, taskLabel); - } - }; - add(timer); - - // Job label - taskLabel = new Label("taskLabel", new PropertyModel<String>(model, "task")); - taskLabel.setOutputMarkupId(true); - add(taskLabel); - - // ProgressBar - this.progressBar = new ProgressBar("progress", new PropertyModel<Integer>(model, "current")) { - - private static final long serialVersionUID = 1L; - - @Override - protected void onComplete(AjaxRequestTarget target) - { - timer.stop(target); // wicket6 - getFeedbackMessages().clear(); - - ProgressionPanel.this.onComplete(target); - - } - }; - // progressBar.add(new AjaxSelfUpdatingTimerBehavior(Duration.ONE_SECOND)); - progressBar.setOutputMarkupId(true); - progressBar.setVisibilityAllowed(true); - add(progressBar); - - // FeedbackPanel - feedback = new JQueryFeedbackPanel("feedback", this); - feedback.setOutputMarkupId(true); - add(feedback); - - } - - @Override - protected void onConfigure() { - super.onConfigure(); - - ProgressionModel progressionModel = getModelObject(); - if (progressionModel != null) { - synchronized (progressionModel) { - if (progressionModel.getStatus() == ProgressionModel.Status.FAILED || - progressionModel.getStatus() == ProgressionModel.Status.STOPPED) { - error(progressionModel.getMessage()); - } - else { - info(progressionModel.getMessage()); - } - } - } - } - - public void setModelObject(ProgressionModel progressionModel) { - if (getDefaultModelObject() != progressionModel) { - setDefaultModelObject(progressionModel); - } - } - - public void setModel(IModel<ProgressionModel> model) { - setDefaultModel(model); - } - - public void restart(AjaxRequestTarget target) { - stopped = false; - if (timer.isStopped()) { - timer.restart(target); - } - } - - public void stop(AjaxRequestTarget target) { - if (!timer.isStopped()) { - timer.stop(target); - } - stopped = true; - } - - public void onComplete(AjaxRequestTarget target) { - // could be override by subclass - } - - public IModel<ProgressionModel> getModel() { - @SuppressWarnings("unchecked") - IModel<ProgressionModel> result = (IModel<ProgressionModel>) getDefaultModel(); - return result; - } - - public ProgressionModel getModelObject() { - return (ProgressionModel)getDefaultModelObject(); - } - - /* -- Internal methods -- */ - - - -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/config/WebConfiguration.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/config/WebConfiguration.java deleted file mode 100644 index 7dcd51c4fd2757ee5e3dc5aa0f4d3caa33817040..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/config/WebConfiguration.java +++ /dev/null @@ -1,197 +0,0 @@ -package io.ucoin.ucoinj.web.config; - -/* - * #%L - * SIH-Adagio :: UI for Core Allegro - * $Id:$ - * $HeadURL:$ - * %% - * Copyright (C) 2012 - 2014 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import io.ucoin.ucoinj.core.client.config.Configuration; -import io.ucoin.ucoinj.core.client.config.ConfigurationOption; -import io.ucoin.ucoinj.core.client.service.ServiceLocator; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.core.util.StringUtils; -import io.ucoin.ucoinj.core.util.crypto.CryptoUtils; -import org.nuiton.config.ApplicationConfig; -import org.nuiton.util.version.Version; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer; - -import javax.naming.InitialContext; -import javax.naming.NamingException; -import java.io.File; -import java.util.Locale; -import java.util.Properties; - -public class WebConfiguration extends PropertyPlaceholderConfigurer { - - private static final String CONFIG_FILE_NAME = "ucoinj-web.config"; - - private static final String CONFIG_FILE_ENV_PROPERTY = CONFIG_FILE_NAME; - - private static final String CONFIG_FILE_JNDI_NAME = "java:comp/env/" + CONFIG_FILE_NAME; - - /* Logger */ - private static final Logger log = LoggerFactory.getLogger(WebConfiguration.class); - - private static WebConfiguration instance; - - public static WebConfiguration instance() { - return instance; - } - - static { - String configFile = getWebConfigFile(); - if (log.isDebugEnabled()) { - log.debug(String.format("Loading configuration from file [%s]", configFile)); - } - if (new File(configFile).exists() == false) { - log.warn(String.format("Configuration file not found [%s]. Make sure the path is correct.", configFile)); - } - instance = new WebConfiguration(configFile); - } - - private Configuration delegate; - - public WebConfiguration(String file, String... args) { - delegate = new Configuration(file, args); - Configuration.setInstance(delegate); - - io.ucoin.ucoinj.elasticsearch.config.Configuration esConfig = new io.ucoin.ucoinj.elasticsearch.config.Configuration(getApplicationConfig()); - io.ucoin.ucoinj.elasticsearch.config.Configuration.setInstance(esConfig); - - // Init Crypto (NaCL lib...) - initCrypto(); - } - - public Version getVersion() { - return delegate.getVersion(); - } - - public Locale getI18nLocale() { - return delegate.getI18nLocale(); - } - - public ApplicationConfig getApplicationConfig() { - return delegate.getApplicationConfig(); - } - - public String getVersionAsString() { - return getVersion().toString(); - } - - public String getUserPubkey() { - String pubkey = getApplicationConfig().getOption(WebConfigurationOption.USER_PUBKEY.getKey()); - if (StringUtils.isBlank(pubkey)) { - return null; - } - - // Compute the key (from salt/password) - pubkey = computeUserPubkey(); - if (StringUtils.isBlank(pubkey)) { - return null; - } - - // Store computed pubkey back into config - getApplicationConfig().setOption(WebConfigurationOption.USER_PUBKEY.getKey(), pubkey); - return pubkey; - } - - public String getNodeHost() { - return delegate.getNodeHost(); - } - - public int getNodePort() { - return delegate.getNodePort(); - } - - /* -- Internal methods -- */ - protected static String getWebConfigFile() { - // Could override config file name (useful for dev) - String configFile = CONFIG_FILE_NAME; - if (System.getProperty(CONFIG_FILE_ENV_PROPERTY) != null) { - configFile = System.getProperty(CONFIG_FILE_ENV_PROPERTY); - configFile = configFile.replaceAll("\\\\", "/"); - } - else { - try { - InitialContext ic = new InitialContext(); - String jndiPathToConfFile = (String) ic.lookup(CONFIG_FILE_JNDI_NAME); - if (StringUtils.isNotBlank(jndiPathToConfFile)) { - configFile = jndiPathToConfFile; - } - } catch (NamingException e) { - log.warn(String.format("Error while reading JNDI initial context. Skip configuration path override, from context [%s]", CONFIG_FILE_JNDI_NAME)); - } - } - - return configFile; - } - - protected void initCrypto() { - if (log.isInfoEnabled()) { - log.info("Starts Sodium (NaCL) library"); - } - - try { - // This call will load the sodium library - ServiceLocator.instance().getCryptoService(); - } catch (Throwable e) { - throw new TechnicalException("Crypto lib (NaCL) initialization failed. Make sure sodium has been installed (or add library into a ./lib directory).", e); - } - } - - /** - * Compute the user pubkey, from salt+password in config. - * If salt or password are missed, return null - * @return - */ - protected String computeUserPubkey() { - String salt = getApplicationConfig().getOption(WebConfigurationOption.USER_SALT.getKey()); - String password = getApplicationConfig().getOption(WebConfigurationOption.USER_PASSWORD.getKey()); - if (io.ucoin.ucoinj.core.util.StringUtils.isNotBlank(salt) - && io.ucoin.ucoinj.core.util.StringUtils.isNotBlank(password)) { - byte[] pubKey = ServiceLocator.instance().getCryptoService().getKeyPair(salt, password).getPubKey(); - return CryptoUtils.encodeBase58(pubKey); - } - else { - return null; - } - } - - @Override - protected String resolvePlaceholder(String placeholder, Properties props) { - if (getApplicationConfig() == null) { - throw new TechnicalException( - "delegate.getApplicationConfig() must not be null. Please initialize Configuration instance with a not null applicationConfig BEFORE starting Spring."); - } - - // Try to resolve placeholder from application configuration - String optionValue = getApplicationConfig().getOption(placeholder); - if (optionValue != null) { - return optionValue; - } - - // If not found in configuration, delegate to the default Spring mecanism - return super.resolvePlaceholder(placeholder, props); - } -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/config/WebConfigurationOption.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/config/WebConfigurationOption.java deleted file mode 100644 index 4ff05152bdfd1cff374a19afdc26dba0d45e27a3..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/config/WebConfigurationOption.java +++ /dev/null @@ -1,159 +0,0 @@ -package io.ucoin.ucoinj.web.config; - -/* - * #%L - * Tutti :: Persistence - * $Id: TuttiConfigurationOption.java 1441 2013-12-09 20:13:47Z tchemit $ - * $HeadURL: http://svn.forge.codelutin.com/svn/tutti/trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfigurationOption.java $ - * %% - * Copyright (C) 2012 - 2013 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import org.nuiton.config.ConfigOptionDef; -import org.nuiton.util.Version; - -import java.io.File; -import java.net.URL; -import java.util.Locale; - -import static org.nuiton.i18n.I18n.n; - -/** - * All application configuration options. - * - * @author Benoit Lavenier <benoit.lavenier@e-is.pro> - * @since 1.0 - */ -public enum WebConfigurationOption implements ConfigOptionDef { - - // ------------------------------------------------------------------------// - // -- READ-WRITE OPTIONS ---------------------------------------------------// - // ------------------------------------------------------------------------// - - SECURITY_TYPE( - "ucoinj.security.type", - n("ucoinj.config.option.security.type.description"), - "pubkey", - String.class, - false), - - USER_SALT( - "ucoinj.salt", - n("ucoinj.config.option.salt.description"), - "", - String.class, - false), - - USER_PASSWORD( - "ucoinj.password", - n("ucoinj.config.option.password.description"), - "", - String.class, - false), - - USER_PUBKEY( - "ucoinj.pubkey", - n("ucoinj.config.option.pubkey.description"), - "", - String.class, - false), - ; - - /** Configuration key. */ - private final String key; - - /** I18n key of option description */ - private final String description; - - /** Type of option */ - private final Class<?> type; - - /** Default value of option. */ - private String defaultValue; - - /** Flag to not keep option value on disk */ - private boolean isTransient; - - /** Flag to not allow option value modification */ - private boolean isFinal; - - WebConfigurationOption(String key, - String description, - String defaultValue, - Class<?> type, - boolean isTransient) { - this.key = key; - this.description = description; - this.defaultValue = defaultValue; - this.type = type; - this.isTransient = isTransient; - this.isFinal = isTransient; - } - - WebConfigurationOption(String key, - String description, - String defaultValue, - Class<?> type) { - this(key, description, defaultValue, type, true); - } - - @Override - public String getKey() { - return key; - } - - @Override - public Class<?> getType() { - return type; - } - - @Override - public String getDescription() { - return description; - } - - @Override - public String getDefaultValue() { - return defaultValue; - } - - @Override - public boolean isTransient() { - return isTransient; - } - - @Override - public boolean isFinal() { - return isFinal; - } - - @Override - public void setDefaultValue(String defaultValue) { - this.defaultValue = defaultValue; - } - - @Override - public void setTransient(boolean newValue) { - // not used - } - - @Override - public void setFinal(boolean newValue) { - // not used - } -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/config/WebConfigurationProvider.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/config/WebConfigurationProvider.java deleted file mode 100644 index b53a225eb45b44c9b3c91277ceafdf70e59ac8ec..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/config/WebConfigurationProvider.java +++ /dev/null @@ -1,63 +0,0 @@ -package io.ucoin.ucoinj.web.config; - -/* - * #%L - * Tutti :: Persistence - * $Id: TuttiConfigurationProvider.java 1418 2013-12-01 21:18:22Z tchemit $ - * $HeadURL: http://svn.forge.codelutin.com/svn/tutti/trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfigurationProvider.java $ - * %% - * Copyright (C) 2012 - 2013 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import io.ucoin.ucoinj.elasticsearch.config.ConfigurationAction; -import io.ucoin.ucoinj.elasticsearch.config.ConfigurationOption; -import org.nuiton.config.ApplicationConfigProvider; -import org.nuiton.config.ConfigActionDef; -import org.nuiton.config.ConfigOptionDef; - -import java.util.Locale; - -import static org.nuiton.i18n.I18n.l; - -/** - * Config provider (for site generation). - * - * @author Benoit Lavenier <benoit.lavenier@e-is.pro> - */ -public class WebConfigurationProvider implements ApplicationConfigProvider { - - @Override - public String getName() { - return "ucoinj-web"; - } - - @Override - public String getDescription(Locale locale) { - return l(locale, "ucoinj-web.config"); - } - - @Override - public ConfigOptionDef[] getOptions() { - return WebConfigurationOption.values(); - } - - @Override - public ConfigActionDef[] getActions() { - return new ConfigActionDef[0]; - } -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/model/WicketProgressionModel.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/model/WicketProgressionModel.java deleted file mode 100644 index ef718da57c30717a020ce0a24145c4efd9223603..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/model/WicketProgressionModel.java +++ /dev/null @@ -1,45 +0,0 @@ -package io.ucoin.ucoinj.web.model; - -/* - * #%L - * uCoinj :: UI Wicket - * %% - * Copyright (C) 2014 - 2016 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; -import org.apache.wicket.model.LoadableDetachableModel; - -public class WicketProgressionModel extends LoadableDetachableModel<io.ucoin.ucoinj.core.model.ProgressionModel> { - - private static final long serialVersionUID = 1L; - - private final String jobId; - - public WicketProgressionModel(String jobId) { - this.jobId = jobId; - } - - @Override - protected io.ucoin.ucoinj.core.model.ProgressionModel load() { - io.ucoin.ucoinj.core.model.ProgressionModel object = ServiceLocator.instance().getExecutorService().getProgressionByJobId(jobId); - return object; - } - - -} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/BasePage.html b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/BasePage.html deleted file mode 100644 index 3dd8b4a56e78306af062c58e802bd09c5b470e1f..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/BasePage.html +++ /dev/null @@ -1,70 +0,0 @@ -<!-- - #%L - UCoin Java Client :: Web - %% - Copyright (C) 2014 - 2015 EIS - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public - License along with this program. If not, see - <http://www.gnu.org/licenses/gpl-3.0.html>. - #L% - --> -<html xmlns:wicket="http://git-wip-us.apache.org/repos/asf/wicket/repo?p=wicket.git;a=blob_plain;f=wicket-core/src/main/resources/META-INF/wicket-1.5.xsd;hb=master"> -<head> - <title wicket:id="pageTitle">uCoinj :: Web</title> - - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - <meta wicket:id="contentLanguage" http-equiv="Content-Language" content=""> - <meta name="format-detection" content="telephone=no"> - <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1"> - <meta name="apple-mobile-web-app-capable" content="yes"> - <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> - <meta name="msapplication-tap-highlight" content="no"> - <meta charset=utf-8 /> - - <link rel="shortcut icon" href="favicon.ico"> - - <link type="text/css" rel="stylesheet" href="css/jquery-mobile/jquery.mobile-1.4.5.min.css"> - <link type="text/css" rel="stylesheet" href="css/ucoinj/jquery.mobile.override.css"> - <link type="text/css" rel="stylesheet" href="css/ucoinj/ucoinj.css"/> - - <script src="js/jquery-2.1.4.min.js"></script> - <script src="js/jquery.mobile-1.4.5.min.js"></script> - <script src="js/scrypt-em.js"></script> - <script src="js/nacl_factory.js"></script> - <script src="js/base58.js"></script> - <script src="js/base64.js"></script> - <script src="js/ucoinj.js"></script> - <script src="js/app.js"></script> - - <wicket:header-items/> - -</head> -<body class="ui-mobile-viewport ui-overlay-a"> - <div data-role="page" data-theme="a"> - <div wicket:id="feedback"></div> - - <div role="main" class="ui-content"> - <wicket:child /> - </div> - - <div data-role="footer" data-position="fixed" data-theme="d"> - <!-- TODO fix this (bad URL when in /currency/metab_brouzouf) - <wicket:link> - <a href="home/HomePage.html" data-icon="home" class="ui-btn-right"><wicket:message key="base.homeLink">[home]</wicket:message></a> - </wicket:link>--> - <h1><wicket:message key="base.footer"><span wicket:id="version">[version]</span></wicket:message></h1> - </div> - </div> -</body> -</html> \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/BasePage.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/BasePage.java deleted file mode 100644 index cf097cc3672289425bdc30c21b8d3a9b3f4fa593..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/BasePage.java +++ /dev/null @@ -1,88 +0,0 @@ -package io.ucoin.ucoinj.web.pages; - -/* - * #%L - * SIH-Adagio Extractor web UI - * %% - * Copyright (C) 2012 - 2013 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -import com.googlecode.wicket.jquery.ui.panel.JQueryFeedbackPanel; -import io.ucoin.ucoinj.web.application.Application; -import io.ucoin.ucoinj.web.application.WebSession; -import io.ucoin.ucoinj.web.config.WebConfiguration; -import org.apache.wicket.AttributeModifier; -import org.apache.wicket.markup.html.WebMarkupContainer; -import org.apache.wicket.markup.html.WebPage; -import org.apache.wicket.markup.html.basic.Label; -import org.apache.wicket.markup.html.panel.FeedbackPanel; -import org.apache.wicket.model.StringResourceModel; -import org.apache.wicket.request.mapper.parameter.PageParameters; - -public class BasePage extends WebPage { - - private static final long serialVersionUID = 2589483412605551035L; - - private FeedbackPanel feedback = null; - - public BasePage(final PageParameters parameters) { - WebSession session = (WebSession)getSession(); - - // page title - add(new Label("pageTitle", new StringResourceModel("base.pageTitle", this, null))); - - // contentLanguage - WebMarkupContainer contentLanguage = new WebMarkupContainer("contentLanguage"); - contentLanguage.add(new AttributeModifier("content", session.getLocale().toString())); - add(contentLanguage); - - feedback = new JQueryFeedbackPanel("feedback"); - feedback.setOutputMarkupId(true); - add(feedback); - - // In NOT compact mode : update version - String version = getConfiguration().getVersionAsString(); - if (version == null) { - version = ""; - } - add(new Label("version", version)); - } - - - public final WebSession getWebSession() { - return (WebSession)getSession(); - } - - public final Application getWebApplication() { - return (Application)getApplication(); - } - - public final WebConfiguration getConfiguration() { - return getWebApplication().getConfiguration(); - } - - - public void setUseGlobalFeedback(boolean useGlobalFeedback) { - feedback.setVisibilityAllowed(useGlobalFeedback); - } - - protected FeedbackPanel getFeedbackPanel() { - return feedback; - } -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/admin/JobManagerPage.html b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/admin/JobManagerPage.html deleted file mode 100644 index 2b20feaf19ea7f36f1d36a977d784c434ed532d6..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/admin/JobManagerPage.html +++ /dev/null @@ -1,53 +0,0 @@ -<!-- - #%L - SIH-Adagio :: UI for Core Allegro - $Id:$ - $HeadURL:$ - %% - Copyright (C) 2012 - 2014 Ifremer - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public - License along with this program. If not, see - <http://www.gnu.org/licenses/gpl-3.0.html>. - #L% - --> -<html - xmlns:wicket="http://git-wip-us.apache.org/repos/asf/wicket/repo?p=wicket.git;a=blob_plain;f=wicket-core/src/main/resources/META-INF/wicket-1.5.xsd;hb=master"> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<title>Job manager</title> -</head> -<body> - <wicket:extend> - - <!-- Import --> - <div class="subtitle"> - <wicket:message key="jobmanager.jobs"> - <span wicket:id="jobCount">[jobCount]</span> - </wicket:message> - </div> - <p> - <ul> - <li class="jm-list" wicket:id="jobList"> - <div class="jm-user"> - <wicket:message key="jobmanager.issuer"> - <span wicket:id="issuer">[issuer]</span> - </wicket:message> - </div> - <div class="jm-progressbar" wicket:id="progress">[progress]</div> - </li> - </ul> - </p> - </wicket:extend> -</body> -</html> diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/admin/JobManagerPage.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/admin/JobManagerPage.java deleted file mode 100644 index a1ca2decb5c7732c87c23dd0786ffcb82b83cfd7..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/admin/JobManagerPage.java +++ /dev/null @@ -1,102 +0,0 @@ -package io.ucoin.ucoinj.web.pages.admin; - -/* - * #%L - * SIH-Adagio :: UI for Core Allegro - * $Id:$ - * $HeadURL:$ - * %% - * Copyright (C) 2012 - 2014 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -import io.ucoin.ucoinj.web.components.progressionModel.ProgressionPanel; -import io.ucoin.ucoinj.web.model.WicketProgressionModel; -import io.ucoin.ucoinj.web.pages.BasePage; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; -import io.ucoin.ucoinj.elasticsearch.service.task.JobVO; -import org.apache.wicket.ajax.AjaxRequestTarget; -import org.apache.wicket.ajax.AjaxSelfUpdatingTimerBehavior; -import org.apache.wicket.markup.html.basic.Label; -import org.apache.wicket.markup.html.list.ListItem; -import org.apache.wicket.markup.html.list.ListView; -import org.apache.wicket.model.IModel; -import org.apache.wicket.model.LoadableDetachableModel; -import org.apache.wicket.model.PropertyModel; -import org.apache.wicket.model.StringResourceModel; -import org.apache.wicket.request.mapper.parameter.PageParameters; -import org.apache.wicket.util.time.Duration; - -import java.util.List; - -public class JobManagerPage extends BasePage { - - private static final long serialVersionUID = 1L; - - public JobManagerPage(PageParameters pageParameters) { - super(pageParameters); - - // Create models (list of progressionModel) - LoadableDetachableModel<List<JobVO>> jobListModel = new LoadableDetachableModel<List<JobVO>>() { - private static final long serialVersionUID = 1L; - - @Override - protected List<JobVO> load() { - return ServiceLocator.instance().getExecutorService().getAllJobs(); - } - }; - - add(new Label("jobCount", new PropertyModel<Integer>(jobListModel, "size"))); - - // List of import jobs - ListView<JobVO> jobListView = new ListView<JobVO>("jobList", jobListModel) { - private static final long serialVersionUID = 1L; - - @Override - protected void populateItem(ListItem<JobVO> item) { - // User infos - item.add(new Label("issuer", new PropertyModel<Integer>(item.getModel(), "issuer"))); - - // Progress bar - String jobId = item.getModelObject().getId(); - ProgressionPanel progressionPanel = new ProgressionPanel("progress", new WicketProgressionModel(jobId)) { - private static final long serialVersionUID = 1L; - - @Override - public void onComplete(AjaxRequestTarget target) { - stop(target); - } - }; - progressionPanel.setOutputMarkupId(true); - progressionPanel.setOutputMarkupPlaceholderTag(true); - item.add(progressionPanel); - } - }; - jobListView.setOutputMarkupId(true); - add(jobListView); - - add(new AjaxSelfUpdatingTimerBehavior(Duration.seconds(5))); - } - - /* -- internal methods -- */ - - protected IModel<String> getPageTitleModel() { - return new StringResourceModel("jobmanager.title", this, null); - } - -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/admin/ToolsPage.html b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/admin/ToolsPage.html deleted file mode 100644 index d271bbddffbb966d70ae74a00d4afa4e20a00a58..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/admin/ToolsPage.html +++ /dev/null @@ -1,40 +0,0 @@ -<!-- - #%L - SIH-Adagio :: UI for Core Allegro - $Id:$ - $HeadURL:$ - %% - Copyright (C) 2012 - 2014 Ifremer - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public - License along with this program. If not, see - <http://www.gnu.org/licenses/gpl-3.0.html>. - #L% - --> -<html - xmlns:wicket="http://git-wip-us.apache.org/repos/asf/wicket/repo?p=wicket.git;a=blob_plain;f=wicket-core/src/main/resources/META-INF/wicket-1.5.xsd;hb=master"> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<title>Tools</title> -</head> -<body> - <wicket:extend> - <div wicket:id="progress"></div> - - <form wicket:id="form"> - <a href="#" data-role="button" data-icon="refresh" data-iconpos="left" wicket:id="startIndexLastBlocksButton"><wicket:message key="tools.startIndexLastBlocks">[tools.startIndexLastBlocks]</wicket:message></a> - - </form> - </wicket:extend> -</body> -</html> diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/admin/ToolsPage.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/admin/ToolsPage.java deleted file mode 100644 index 4fa9d979d51d18c3b8a70a0f18703b74d194fb41..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/admin/ToolsPage.java +++ /dev/null @@ -1,197 +0,0 @@ -package io.ucoin.ucoinj.web.pages.admin; - -/* - * #%L - * SIH-Adagio :: UI for Core Allegro - * $Id:$ - * $HeadURL:$ - * %% - * Copyright (C) 2012 - 2014 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -import io.ucoin.ucoinj.core.model.ProgressionModelImpl; -import io.ucoin.ucoinj.web.components.progressionModel.ProgressionPanel; -import io.ucoin.ucoinj.web.model.WicketProgressionModel; -import io.ucoin.ucoinj.web.pages.BasePage; -import io.ucoin.ucoinj.core.client.config.Configuration; -import io.ucoin.ucoinj.core.client.model.local.Peer; -import io.ucoin.ucoinj.core.model.ProgressionModel; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; -import io.ucoin.ucoinj.elasticsearch.service.task.Job; -import org.apache.commons.lang3.StringUtils; -import org.apache.wicket.ajax.AbstractAjaxTimerBehavior; -import org.apache.wicket.ajax.AjaxRequestTarget; -import org.apache.wicket.ajax.markup.html.form.AjaxButton; -import org.apache.wicket.markup.html.form.Form; -import org.apache.wicket.model.CompoundPropertyModel; -import org.apache.wicket.model.IModel; -import org.apache.wicket.model.Model; -import org.apache.wicket.model.StringResourceModel; -import org.apache.wicket.request.mapper.parameter.PageParameters; -import org.apache.wicket.util.time.Duration; - -public class ToolsPage extends BasePage { - private static final long serialVersionUID = 1L; - - private final ProgressionPanel progressionPanel; - - private boolean isIndexingLastBlocksRunning; - - private AbstractAjaxTimerBehavior selfUpdatingTimer; - - private WicketProgressionModel progressionModel; - - public ToolsPage(final PageParameters parameters) { - super(parameters); - - IModel<ToolsPage> model = new CompoundPropertyModel<ToolsPage>(this); - - isIndexingLastBlocksRunning = false; - - // Progression panel - progressionModel = new WicketProgressionModel(getSession().getId()); - progressionPanel = new ProgressionPanel("progress", progressionModel) { - private static final long serialVersionUID = 1L; - @Override - protected void onConfigure() { - super.onConfigure(); - setVisibilityAllowed(isIndexingLastBlocksRunning); - } - - @Override - public void onComplete(AjaxRequestTarget target) { - ToolsPage.this.onIndexLastBlocksComplete(target); - } - }; - progressionPanel.setOutputMarkupId(true); - progressionPanel.setOutputMarkupPlaceholderTag(true); - add(progressionPanel); - - Form<ToolsPage> form = new Form<ToolsPage>("form", model); - form.setOutputMarkupId(true); - add(form); - - AjaxButton startIndexLastBlocksButton = new AjaxButton("startIndexLastBlocksButton", form) { - private static final long serialVersionUID = 1L; - - @Override - protected void onAfterSubmit(AjaxRequestTarget target, Form<?> form) { - super.onAfterSubmit(target, form); - startIndexLastBlocks(target); - } - }; - form.add(startIndexLastBlocksButton); - - // auto refresh - selfUpdatingTimer = new AbstractAjaxTimerBehavior(Duration.seconds(5)) { - @Override - protected void onTimer(AjaxRequestTarget target) { - //String message = new StringResourceModel("tools.refreshLastUpdateDate.done", ToolsPage.this, new Model<ToolsPage>(ToolsPage.this)).getString(); - stop(target); - - //info(message); - target.add(ToolsPage.this); - } - }; - selfUpdatingTimer.stop(null); - add(selfUpdatingTimer); - } - - @Override - protected void onConfigure() { - super.onConfigure(); - ProgressionModel progression = progressionModel.getObject(); - - if (progression != null) { - // Refresh fields - isIndexingLastBlocksRunning = progression != null && (progression.getStatus() == ProgressionModel.Status.WAITING_EXECUTION - || progression.getStatus() == ProgressionModel.Status.RUNNING); - if (isIndexingLastBlocksRunning) { - getFeedbackPanel().setVisibilityAllowed(false); - } - } - else { - isIndexingLastBlocksRunning = false; - } - } - - /* -- internal methods -- */ - - protected IModel<String> getPageTitleModel() { - return new StringResourceModel("tools.title", this, null); - } - - protected void startIndexLastBlocks(AjaxRequestTarget target) { - isIndexingLastBlocksRunning = true; - final ProgressionModel progressionModel = new ProgressionModelImpl(); - Runnable runnable = new Runnable() { - @Override - public void run() { - Peer peer = checkConfigAndGetPeer(Configuration.instance()); - if (peer != null) { - try { - ServiceLocator.instance().getBlockIndexerService().indexLastBlocks(peer, progressionModel); - } - catch(Exception e) { - } - finally { - isIndexingLastBlocksRunning = false; - } - } - - } - }; - - ServiceLocator.instance().getExecutorService().execute(runnable, - getWebSession().getId(), - "admin", - getWebSession().getLocale(), - progressionModel); - - //progressionPanel.setModel(new Model<>(progressionModel)); - progressionPanel.setDefaultModelObject(progressionModel); - progressionPanel.restart(target); - - // Mask feedback panel, to avoid multiple message) - getFeedbackPanel().setVisibilityAllowed(false); - - target.add(ToolsPage.this); - } - - protected Peer checkConfigAndGetPeer(Configuration config) { - if (StringUtils.isBlank(config.getNodeHost())) { - return null; - } - if (config.getNodePort() <= 0) { - return null; - } - - Peer peer = new Peer(config.getNodeHost(), config.getNodePort()); - return peer; - } - - - protected void onIndexLastBlocksComplete(AjaxRequestTarget target) { - // Restore the UI - progressionPanel.setVisibilityAllowed(false); - getFeedbackPanel().setVisibilityAllowed(true); - - target.add(this); - } -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/home/HomePage.html b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/home/HomePage.html deleted file mode 100644 index 8f148496d3439cbe6398b1cedebe6ce9f16b4bd3..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/home/HomePage.html +++ /dev/null @@ -1,69 +0,0 @@ -<!-- - #%L - UCoin Java Client :: Web - %% - Copyright (C) 2014 - 2015 EIS - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public - License along with this program. If not, see - <http://www.gnu.org/licenses/gpl-3.0.html>. - #L% - --> -<html xmlns:wicket="http://git-wip-us.apache.org/repos/asf/wicket/repo?p=wicket.git;a=blob_plain;f=wicket-core/src/main/resources/META-INF/wicket-1.5.xsd;hb=master"> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> - <title>Home</title> - <wicket:head> - <style type="text/css"> - </style> - </wicket:head> -</head> -<body> -<wicket:extend> - - <div class="container"> - <span class="ui-page-theme-b"> - <wicket:message key="home.headerTitle">[home.headerTitle]</wicket:message> - </span> - <form wicket:id="searchForm"> - <div class="inline-form"> - <div class="wrapper"> - <div class="content"> - <input type="text" data-clear-btn="true" data-type="search" name="search-text" id="search-text" value="" wicket:id="searchText" wicket:message="placeholder:home.search.hint"> - </div> - </div> - <div class="right"> - <input data-icon="search" data-inline="true" data-mini="true" name="search" type="submit" - wicket:message="value:home.searchButton" wicket:id="searchButton"/> - </div> - <div class="footer"/> - </div> - <br/> - <div wicket:id="feedback" style="width: 360px;"></div> - </form> - </div> - - <div wicket:id="resultParent" class="resultContainer"> - <ul data-role="listview" data-inset="true" class="ui-listview ui-listview-inset ui-corner-all ui-shadow"> - <li data-role="list-divider" role="heading" class="ui-li-divider ui-bar-inherit ui-first-child"> - <wicket:message key="home.result.divider.currency">[home.result.divider.currency]</wicket:message> - </li> - <li wicket:id="resultItems"> - <a href="#" class="ui-btn ui-btn-icon-right ui-icon-carat-r" wicket:id="openCurrencyLink"><span wicket:id="currencyName"/></a> - </li> - <!-- class="ui-btn ui-btn-icon-right ui-icon-carat-r" --> - </ul> - </div> -</wicket:extend> -</body> -</html> \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/home/HomePage.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/home/HomePage.java deleted file mode 100644 index 2c7c96359b213452e6a35ef508baf19e1c450794..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/home/HomePage.java +++ /dev/null @@ -1,244 +0,0 @@ -package io.ucoin.ucoinj.web.pages.home; - -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -//import com.googlecode.wicket.jquery.ui.form.autocomplete.AutoCompleteTextField; - -import com.googlecode.wicket.jquery.ui.panel.JQueryFeedbackPanel; -import io.ucoin.ucoinj.elasticsearch.model.SearchResult; -import io.ucoin.ucoinj.elasticsearch.service.registry.RegistryCurrencyIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; -import io.ucoin.ucoinj.web.pages.BasePage; -import io.ucoin.ucoinj.web.pages.registry.CurrencyPage; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.apache.wicket.ajax.AjaxRequestTarget; -import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior; -import org.apache.wicket.ajax.markup.html.form.AjaxButton; -import org.apache.wicket.extensions.ajax.markup.html.autocomplete.AutoCompleteTextField; -import org.apache.wicket.extensions.ajax.markup.html.autocomplete.IAutoCompleteRenderer; -import org.apache.wicket.markup.html.WebMarkupContainer; -import org.apache.wicket.markup.html.basic.Label; -import org.apache.wicket.markup.html.form.Button; -import org.apache.wicket.markup.html.form.Form; -import org.apache.wicket.markup.html.link.BookmarkablePageLink; -import org.apache.wicket.markup.html.list.ListItem; -import org.apache.wicket.markup.html.list.ListView; -import org.apache.wicket.markup.html.panel.FeedbackPanel; -import org.apache.wicket.model.PropertyModel; -import org.apache.wicket.model.util.ListModel; -import org.apache.wicket.request.Response; -import org.apache.wicket.request.mapper.parameter.PageParameters; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.Collections; -import java.util.Iterator; -import java.util.List; - -public class HomePage extends BasePage { - private static final Logger log = LoggerFactory.getLogger(HomePage.class); - private static final long serialVersionUID = 1L; - - private Form<HomePage> form; - private AutoCompleteTextField<String> searchTextField; - private String searchQuery = ""; - private WebMarkupContainer resultParent; - private ListView<SearchResult> resultListView; - - public HomePage(final PageParameters parameters) { - super(parameters); - setUseGlobalFeedback(false); - - form = new Form<HomePage>("searchForm"); - form.setOutputMarkupId(true); - add(form); - - // FeedbackPanel - final FeedbackPanel feedback = new JQueryFeedbackPanel("feedback"); - feedback.setOutputMarkupId(true); - form.add(feedback); - - IAutoCompleteRenderer autoCompleteRenderer = new IAutoCompleteRenderer<String>() { - private static final long serialVersionUID = 1L; - - public void renderHeader(Response response) { - response.write("<ul>"); - } - - public void render(String choice, Response response, String criteria) { - response.write("<li textvalue=\"" + choice + "\""); - response.write(">"); - - // Put the substring after the criteria in bold - if (choice.startsWith(criteria) && choice.length() > criteria.length()) { - choice = criteria + "<b>" + choice.substring(criteria.length()) + "</b>"; - } - - response.write(choice); - response.write("</li>"); - } - - public void renderFooter(Response response, int count) { - response.write("</ul>"); - } - }; - - // Search text - searchTextField = new AutoCompleteTextField<String>("searchText", new PropertyModel<String>(this, "searchQuery"), autoCompleteRenderer) { - private static final long serialVersionUID = 1L; - - @Override - protected Iterator<String> getChoices(String input) { - return doSuggestions(input).iterator(); - } - }; - searchTextField.add(new AjaxFormComponentUpdatingBehavior("keyup") - { - @Override - protected void onUpdate(AjaxRequestTarget target){ - // do search - searchTextField.updateModel(); - } - - @Override - protected void onError(AjaxRequestTarget target, RuntimeException e){ - // Here the Component's model object will remain unchanged, - // so that it doesn't hold invalid input - } - }); - searchTextField.setRequired(true); - form.add(searchTextField); - - // Submit button - { - Button searchButton = new AjaxButton("searchButton") { - - @Override - protected void onSubmit(AjaxRequestTarget target, Form<?> form) { - // do search - doSearch(target, searchQuery); - - // Force to hide autocomplete choices - target.appendJavaScript( - "$('div.wicket-aa-container').hide();" - + "$('#"+searchTextField.getMarkupId()+"').attr('autocomplete', 'off');"); - } - }; - searchButton.setDefaultFormProcessing(false); - searchButton.setOutputMarkupId(true); - form.add(searchButton); - form.setDefaultButton(searchButton); - } - - //form.add(new AjaxFormValidatingBehavior("keyup", Duration.ONE_SECOND)); - - - // Search result - { - // Parent container - resultParent = new WebMarkupContainer("resultParent"); - resultParent.setOutputMarkupId(true); - resultParent.setOutputMarkupPlaceholderTag(true); - resultParent.setVisible(false); - add(resultParent); - - // History items - { - resultListView = new ListView<SearchResult>("resultItems", new ListModel<SearchResult>()) { - protected void populateItem(ListItem<SearchResult> item) { - SearchResult result = item.getModelObject(); - - // link - PageParameters pageParameters = new PageParameters(); - pageParameters.add(CurrencyPage.CURRENCY_PARAMETER, result.getId()); - BookmarkablePageLink link = new BookmarkablePageLink("openCurrencyLink", CurrencyPage.class, pageParameters); - item.add(link); - - // Currency name - Label label = new Label("currencyName", result.getValue()); - label.setEscapeModelStrings(false); - label.setOutputMarkupPlaceholderTag(false); - link.add(label); - } - }; - resultListView.setReuseItems(true); - resultListView.setOutputMarkupId(true); - resultParent.add(resultListView); - } - } - } - - /** -- Internal methods -- */ - - protected void doSearch(AjaxRequestTarget target, final String searchQuery) { - - if (StringUtils.isBlank(searchQuery)) { - resultListView.removeAll(); - resultListView.setVisibilityAllowed(false); - resultParent.setVisible(false); - } - else { - - RegistryCurrencyIndexerService service = ServiceLocator.instance().getRegistryCurrencyIndexerService(); - List<SearchResult> result = service.searchCurrenciesAsVO(searchQuery); - - if (CollectionUtils.isNotEmpty(result)) { - resultListView.removeAll(); - resultParent.setVisible(true); - resultParent.modelChanged(); - resultListView.setVisibilityAllowed(true); - resultListView.setDefaultModelObject(result); - resultListView.modelChanged(); - - } else { - resultListView.removeAll(); - resultListView.setVisibilityAllowed(false); - resultParent.setVisible(false); - } - } - // submit actual list after reordering - form.process(null); - - target.add(resultParent); - } - - protected List<String> doSuggestions(final String input) { - List<String> suggestions; - if (StringUtils.isEmpty(input)){ - suggestions = Collections.<String>emptyList(); - } - else { - RegistryCurrencyIndexerService service = ServiceLocator.instance().getRegistryCurrencyIndexerService(); - suggestions = service.getSuggestions(input); - - if (CollectionUtils.isEmpty(suggestions)) { - suggestions = Collections.<String>emptyList(); - } - } - - return suggestions; - } - -} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/login/LoginPage.html b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/login/LoginPage.html deleted file mode 100644 index 4f3e000f23cd6ef54d1ac891e9ceb96288e2de3d..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/login/LoginPage.html +++ /dev/null @@ -1,89 +0,0 @@ -<!-- - #%L - UCoin Java Client :: Web - %% - Copyright (C) 2014 - 2015 EIS - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public - License along with this program. If not, see - <http://www.gnu.org/licenses/gpl-3.0.html>. - #L% - --> -<html xmlns:wicket="http://git-wip-us.apache.org/repos/asf/wicket/repo?p=wicket.git;a=blob_plain;f=wicket-core/src/main/resources/META-INF/wicket-1.5.xsd;hb=master"> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> - <!--<wicket:head> - <script type="text/javascript"> - function submitLogin(event, app) { - var salt = $('#localSalt').val(); - var password = $('#localPassword').val(); - var challengeMessage = $('#challengeMessage').val(); - - if (salt === "" || password === "" || challengeMessage === "") { - event.preventDefault(); - return; - } - - var challengeMessage = $('#challengeMessage').val(); - app.connect(salt, password); - var sign = app.sign(challengeMessage); - - $('#username').val(app.wallet.pubkey); - $('#password').val(sign + '|' + challengeMessage); - $('#form').submit(); - } - - $( document ).ready(function() { - var app = uCoinj(document); - - $('#localPassword').keypress(function( event ) { - if (event.which == 13 ) { - submitLogin(event, app); - } - }); - - $('#loginButton').click(function(event) { - submitLogin(event); - }); - - - }); - </script> - </wicket:head>--> -</head> -<body> -<wicket:extend> - - <label for="localSalt"><wicket:message key="login.salt"/></label> - <input id="localSalt" name="localSalt" type="text" data-clear-btn="true" value="" /> - - <label for="localPassword"><wicket:message key="login.password"/></label> - <input id="localPassword" name="localPassword" type="password" data-clear-btn="true" value="" - onkeypress="javascript:if(event.which==13){app.login(event);}"/> - - <input type="hidden" wicket:id="challengeMessage"/> - - <form wicket:id="form" id="form" method="POST" action="/j_spring_security_check"> - - <input type="hidden" id="username" name="username"/> - <input type="hidden" id="password" name="password"/> - - <label for="submitButton" id="error">[error]</label> - <input id="submitButton" name="submitButton" - data-icon="check" type="button" data-theme="b" - wicket:message="value:login.button" - onclick="javascript:app.login(event);"/> - </form> -</wicket:extend> -</body> -</html> \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/login/LoginPage.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/login/LoginPage.java deleted file mode 100644 index 6913a6543b95f5221d294cebddf05d8a1737c05f..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/login/LoginPage.java +++ /dev/null @@ -1,68 +0,0 @@ -package io.ucoin.ucoinj.web.pages.login; - -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -import io.ucoin.ucoinj.web.application.Application; -import io.ucoin.ucoinj.web.application.WebSession; -import io.ucoin.ucoinj.web.pages.BasePage; -import io.ucoin.ucoinj.web.security.SecurityContextHelper; -import io.ucoin.ucoinj.web.service.ServiceLocator; -import org.apache.wicket.markup.ComponentTag; -import org.apache.wicket.markup.html.WebMarkupContainer; -import org.apache.wicket.markup.html.form.Form; -import org.apache.wicket.request.mapper.parameter.PageParameters; -import org.slf4j.LoggerFactory; - -public class LoginPage extends BasePage { - - public LoginPage(final PageParameters parameters) { - super(parameters); - - if (SecurityContextHelper.isAuthenticateNotAnonymous()) { - setResponsePage(Application.get().getHomePage()); - return; - } - WebSession sesion = getWebSession(); - LoggerFactory.getLogger(LoginPage.class).info(""+ sesion.isSignedIn()); - - // Challenge message - WebMarkupContainer challengeMessageField = new WebMarkupContainer("challengeMessage") { - @Override - protected void onComponentTag(ComponentTag tag) { - super.onComponentTag(tag); - - tag.put("value", ServiceLocator.instance().getChallengeMessageStore().createNewChallenge()); - } - }; - challengeMessageField.setMarkupId("challengeMessage"); - challengeMessageField.setOutputMarkupId(true); - add(challengeMessageField); - - Form form = new Form("form"); - form.setMarkupId("form"); - form.setOutputMarkupId(true); - add(form); - } - -} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/registry/CurrencyPage.html b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/registry/CurrencyPage.html deleted file mode 100644 index 5ae3942bb76d68bdf72c3afaca40381177588b38..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/registry/CurrencyPage.html +++ /dev/null @@ -1,46 +0,0 @@ -<!-- - #%L - UCoin Java Client :: Web - %% - Copyright (C) 2014 - 2015 EIS - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public - License along with this program. If not, see - <http://www.gnu.org/licenses/gpl-3.0.html>. - #L% - --> -<html xmlns:wicket="http://git-wip-us.apache.org/repos/asf/wicket/repo?p=wicket.git;a=blob_plain;f=wicket-core/src/main/resources/META-INF/wicket-1.5.xsd;hb=master"> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -</head> -<body> -<wicket:extend> - - - <!-- container --> - <div data-role="content" class="ui-content" data-theme="f"> - - <!-- currency_name --> - <div name="currency_name" id="currency_name" data-role="appery_label"> - <label wicket:id="currencyName"/> - </div> - - <!-- member_count --> - <div name="member_count" id="member_count" data-role="appery_label"> - Label - </div> - </div> - -</wicket:extend> -</body> -</html> \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/registry/CurrencyPage.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/registry/CurrencyPage.java deleted file mode 100644 index ca86310737d7a2c2c1a695e8e5e06581c321c839..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/registry/CurrencyPage.java +++ /dev/null @@ -1,56 +0,0 @@ -package io.ucoin.ucoinj.web.pages.registry; - -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -import io.ucoin.ucoinj.core.client.model.elasticsearch.Currency; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; -import io.ucoin.ucoinj.web.pages.BasePage; -import org.apache.wicket.markup.html.basic.Label; -import org.apache.wicket.model.CompoundPropertyModel; -import org.apache.wicket.model.LoadableDetachableModel; -import org.apache.wicket.request.mapper.parameter.PageParameters; -import org.apache.wicket.util.string.StringValue; - -public class CurrencyPage extends BasePage { - - public final static String CURRENCY_PARAMETER = "currencyName"; - - public CurrencyPage(final PageParameters parameters) { - super(parameters); - - StringValue parameCurrencyName = parameters.get(CURRENCY_PARAMETER); - final String currencyName = parameCurrencyName.toString(); - - setDefaultModel(new CompoundPropertyModel<Currency>(new LoadableDetachableModel<Currency>() { - @Override - protected Currency load() { - return ServiceLocator.instance().getRegistryCurrencyIndexerService().getCurrencyById(currencyName); - } - })); - - add(new Label("currencyName")); - - //add(new Label("memberCount")); - } -} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/registry/CurrencyRegistryPage.html b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/registry/CurrencyRegistryPage.html deleted file mode 100644 index 6e2cdab117edac78d9a237f95a3a58cd75b1b33b..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/registry/CurrencyRegistryPage.html +++ /dev/null @@ -1,43 +0,0 @@ -<!-- - #%L - UCoin Java Client :: Web - %% - Copyright (C) 2014 - 2015 EIS - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public - License along with this program. If not, see - <http://www.gnu.org/licenses/gpl-3.0.html>. - #L% - --> -<html xmlns:wicket="http://git-wip-us.apache.org/repos/asf/wicket/repo?p=wicket.git;a=blob_plain;f=wicket-core/src/main/resources/META-INF/wicket-1.5.xsd;hb=master"> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -</head> -<body> -<wicket:extend> - - <form action="http://localhost:8080/rest/currency/add" method="get"> - <label for="text-pubkey"><wicket:message key="currency.register.pubkey"/></label> - <input type="text" data-clear-btn="true" name="pubkey" id="text-pubkey" value=""/> - - <label for="text-currency"><wicket:message key="currency.register.currencyJson"/></label> - <input type="text" data-clear-btn="true" name="currency" id="text-currency" value=""/> - - <label for="text-sig"><wicket:message key="currency.register.signature"/></label> - <input type="text" data-clear-btn="true" name="sig" id="text-sig" value=""/> - <input type="submit"/> - </form> - -</wicket:extend> -</body> -</html> \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/registry/CurrencyRegistryPage.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/registry/CurrencyRegistryPage.java deleted file mode 100644 index 96fe1c298aa7b30a71e3d81ce41c326cb5aa3bed..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/registry/CurrencyRegistryPage.java +++ /dev/null @@ -1,33 +0,0 @@ -package io.ucoin.ucoinj.web.pages.registry; - -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -import io.ucoin.ucoinj.web.pages.BasePage; -import org.apache.wicket.request.mapper.parameter.PageParameters; - -public class CurrencyRegistryPage extends BasePage { - public CurrencyRegistryPage(final PageParameters parameters) { - super(parameters); - } -} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/wallet/WalletPage.html b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/wallet/WalletPage.html deleted file mode 100644 index da3a4a9698f0a5ac4a18251c1c49aac556e812ef..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/wallet/WalletPage.html +++ /dev/null @@ -1,33 +0,0 @@ -<!-- - #%L - UCoin Java Client :: Web - %% - Copyright (C) 2014 - 2015 EIS - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public - License along with this program. If not, see - <http://www.gnu.org/licenses/gpl-3.0.html>. - #L% - --> -<html xmlns:wicket="http://git-wip-us.apache.org/repos/asf/wicket/repo?p=wicket.git;a=blob_plain;f=wicket-core/src/main/resources/META-INF/wicket-1.5.xsd;hb=master"> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<title>Home</title> -</head> -<body> -<wicket:extend> - <label for="text-3">Text input: data-clear-btn="true"</label> - <input type="text" data-clear-btn="true" name="text-3" id="text-3" value=""> -</wicket:extend> -</body> -</html> \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/wallet/WalletPage.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/wallet/WalletPage.java deleted file mode 100644 index 0514e796938f0b1f4bbd139e88f27eec53a1250a..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/pages/wallet/WalletPage.java +++ /dev/null @@ -1,34 +0,0 @@ -package io.ucoin.ucoinj.web.pages.wallet; - -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -import io.ucoin.ucoinj.web.pages.BasePage; -import org.apache.wicket.request.mapper.parameter.PageParameters; - -public class WalletPage extends BasePage { - - public WalletPage(final PageParameters parameters) { - super(parameters); - } -} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/rest/CurrencyRestController.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/rest/CurrencyRestController.java deleted file mode 100644 index 1150c9d2e66cad53f2e0d10e09c242dade52872f..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/rest/CurrencyRestController.java +++ /dev/null @@ -1,89 +0,0 @@ -package io.ucoin.ucoinj.web.rest; - -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -import io.ucoin.ucoinj.core.client.model.elasticsearch.Currency; -import io.ucoin.ucoinj.elasticsearch.service.registry.RegistryCurrencyIndexerService; -import io.ucoin.ucoinj.elasticsearch.service.ServiceLocator; -import io.ucoin.ucoinj.elasticsearch.service.exception.InvalidSignatureException; -import io.ucoin.ucoinj.web.application.WebSession; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.web.bind.annotation.*; - -@RestController -@RequestMapping("/currency") -public class CurrencyRestController { - - // Logger - private static final Logger log = LoggerFactory.getLogger(CurrencyRestController.class); - - @RequestMapping(value="/{currencyId}", method = RequestMethod.GET) - public @ResponseBody Currency getCurrencyById(@PathVariable(value="currencyId") String currencyId) { - RegistryCurrencyIndexerService service = ServiceLocator.instance().getRegistryCurrencyIndexerService(); - return service.getCurrencyById(currencyId); - } - - @ResponseStatus(value= org.springframework.http.HttpStatus.OK, reason="Currency successfully register") - @RequestMapping(value="/add", method = RequestMethod.POST) - public String registerNewCurrency(@RequestParam("pubkey") String pubkey, @RequestParam("currency") String jsonCurrency, @RequestParam("sig") String signature) throws InvalidSignatureException { - if (log.isDebugEnabled()) { - log.debug(String.format("Asking to add new currency:\n - pubkey: %s\n - currency: %s\n - signature: %s", pubkey, jsonCurrency, signature)); - } - - RegistryCurrencyIndexerService service = ServiceLocator.instance().getRegistryCurrencyIndexerService(); - service.registerCurrency(pubkey, jsonCurrency, signature); - - /*CryptoService cryptoService = ServiceLocator.instance().getCryptoService(); - - if (!cryptoService.verify(jsonCurrency, signature, pubkey)) { - String currencyName = GsonUtils.getValueFromJSONAsString(jsonCurrency, "currencyName"); - log.warn(String.format("Currency not added, because bad signature. currency [%s]", currencyName)); - throw new InvalidSignatureException("Bad signature"); - } - - Currency currency = null; - try { - currency = gson.fromJson(jsonCurrency, Currency.class); - Preconditions.checkNotNull(currency); - Preconditions.checkNotNull(currency.getCurrencyName()); - } catch(Throwable t) { - log.error("Error while reading currency JSON: " + jsonCurrency); - return "Parse error. Currency not readable."; - } - - CurrencyIndexerService service = ServiceLocator.instance().getCurrencyIndexerService(); - service.saveCurrency(currency, pubkey); - */ - - return "Currency added"; - } - - /* -- Internal methods -- */ - - protected WebSession getWebSession() { - WebSession session = (WebSession) WebSession.get(); - return session; - } -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/rest/RestResponseEntityExceptionHandler.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/rest/RestResponseEntityExceptionHandler.java deleted file mode 100644 index 3da68b0f596c065cd429edbb621ac377b112925d..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/rest/RestResponseEntityExceptionHandler.java +++ /dev/null @@ -1,93 +0,0 @@ -package io.ucoin.ucoinj.web.rest; - -/* - * #%L - * Reef DB :: Quadrige2 Synchro server - * $Id:$ - * $HeadURL:$ - * %% - * Copyright (C) 2014 - 2015 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import io.ucoin.ucoinj.core.exception.BusinessException; -import io.ucoin.ucoinj.core.exception.TechnicalException; -import io.ucoin.ucoinj.elasticsearch.service.exception.InvalidSignatureException; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.ControllerAdvice; -import org.springframework.web.bind.annotation.ExceptionHandler; -import org.springframework.web.context.request.WebRequest; -import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler; - -@ControllerAdvice -public class RestResponseEntityExceptionHandler extends ResponseEntityExceptionHandler { - /* Logger */ - private static final Log log = LogFactory.getLog(RestResponseEntityExceptionHandler.class); - - public RestResponseEntityExceptionHandler() { - super(); - } - - /** - * Transform an exception on bad ... TODO doc - */ - @ExceptionHandler(value = { TechnicalException.class }) - protected ResponseEntity<Object> handleTechnicalException(RuntimeException ex, WebRequest request) { - String message = "internal technical error (TODO i18n)"; - if (log.isDebugEnabled()) { - log.debug(message); - } - return handleExceptionInternal(ex, message, new HttpHeaders(), HttpStatus.INTERNAL_SERVER_ERROR, request); - } - - @ExceptionHandler(value = {BusinessException.class }) - protected ResponseEntity<Object> handleBusinessException(RuntimeException ex, WebRequest request) { - String message = "internal business error (TODO i18n)"; - if (log.isDebugEnabled()) { - log.debug(message); - } - return handleExceptionInternal(ex, message, new HttpHeaders(), HttpStatus.INTERNAL_SERVER_ERROR, request); - } - - @ExceptionHandler(value = {InvalidSignatureException.class }) - protected ResponseEntity<Object> handleInvalidSignatureExceptionk(RuntimeException ex, WebRequest request) { - String message = "Bad signature (not correspond to given pubkey)"; - if (log.isDebugEnabled()) { - log.debug(message); - } - return handleExceptionInternal(ex, message, new HttpHeaders(), HttpStatus.INTERNAL_SERVER_ERROR, request); - } - - - /* -- protected methods -- */ - - private Throwable getCause(Throwable e, Class... classes) { - for (Class clazz: classes) { - if (clazz.isInstance(e)) { - return e; - } - } - if (e.getCause() != null) { - return getCause(e.getCause(), classes); - } - return null; - } -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/SecurityContextHelper.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/SecurityContextHelper.java deleted file mode 100644 index a06e21923171a63ecf3091f4322be8483e0f1fa6..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/SecurityContextHelper.java +++ /dev/null @@ -1,80 +0,0 @@ -package io.ucoin.ucoinj.web.security; - -/* - * #%L - * SIH-Adagio :: UI for Core Allegro - * $Id:$ - * $HeadURL:$ - * %% - * Copyright (C) 2012 - 2014 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import org.springframework.security.core.Authentication; -import org.springframework.security.core.context.SecurityContextHolder; - -public class SecurityContextHelper { - - public static final String USER_ANONYMOUS = "anonymousUser"; - - public static String getPrincipalPubkey() { - String pubkey = getPrincipal(); - if (pubkey == null) { - return null; - } - if (USER_ANONYMOUS.equals(pubkey)) { - return null; - } - return pubkey; - } - - public static String getPrincipal() { - Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); - if (authentication == null || authentication.getPrincipal() == null) { - return null; - } - Object principal = authentication.getPrincipal(); - if (principal instanceof String) { - return (String) principal; - } else { - return null; - } - } - - /** - * @return - */ - public static boolean isAuthenticateNotAnonymous() { - return getPrincipalPubkey() != null; - } - - /** - * @return - */ - public static boolean isAuthenticate() { - return getPrincipal() != null; - } - - - /** - * @return - */ - public static boolean isAuthenticateAnonymous() { - return getPrincipalPubkey() == null; - } - -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/UcoinjGrantedAuthority.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/UcoinjGrantedAuthority.java deleted file mode 100644 index 57d61e9ec7351d37afdf0865515166f9280d1307..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/UcoinjGrantedAuthority.java +++ /dev/null @@ -1,32 +0,0 @@ -package io.ucoin.ucoinj.web.security; - -/* - * #%L - * Reef DB :: Quadrige2 Synchro server - * $Id:$ - * $HeadURL:$ - * %% - * Copyright (C) 2014 - 2015 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -public enum UcoinjGrantedAuthority { - - ROLE_ADMIN, - ROLE_USER -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/UcoinjUserDetails.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/UcoinjUserDetails.java deleted file mode 100644 index ed93c50b37ef468c5abac91a5ec827fe0050d549..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/UcoinjUserDetails.java +++ /dev/null @@ -1,43 +0,0 @@ -package io.ucoin.ucoinj.web.security; - -/* - * #%L - * SIH-Adagio :: UI for Core Allegro - * $Id:$ - * $HeadURL:$ - * %% - * Copyright (C) 2012 - 2014 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -import org.springframework.security.core.userdetails.UserDetails; - -/** - * - * @author Ludovic Pecquot <ludovic.pecquot@e-is.pro> - */ -public interface UcoinjUserDetails extends UserDetails { - - /** - * return the user pubkey - * - * @return user pubkey - */ - String getPubkey(); - -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/UcoinjUserDetailsImpl.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/UcoinjUserDetailsImpl.java deleted file mode 100644 index fceeebbb227bf20bafd74452dd9dbd996a4d7d43..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/UcoinjUserDetailsImpl.java +++ /dev/null @@ -1,117 +0,0 @@ -package io.ucoin.ucoinj.web.security; - -/* - * #%L - * SIH-Adagio :: UI for Core Allegro - * $Id:$ - * $HeadURL:$ - * %% - * Copyright (C) 2012 - 2014 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; -import org.springframework.security.core.GrantedAuthority; -import org.springframework.security.core.authority.SimpleGrantedAuthority; - -import java.util.Collection; -import java.util.List; -import java.util.Set; - -/** - * - * @author Benoit Lavenier <benoit.lavenier@e-is.pro> - * @since 1.0 - */ -public class UcoinjUserDetailsImpl implements UcoinjUserDetails { - - private static final long serialVersionUID = 1L; - - private String pubkey; - - private String password = ""; - - private Collection<? extends GrantedAuthority> authorities; - - public UcoinjUserDetailsImpl(String pubkey, boolean isAdmin) { - this.pubkey = pubkey; - this.password = ""; - this.authorities = isAdmin - ? createAllAuthorities() - : createAuthorities(Sets.newHashSet(UcoinjGrantedAuthority.ROLE_USER.name())); - } - - @Override - public String getPubkey() { - return pubkey; - } - - @Override - public Collection<? extends GrantedAuthority> getAuthorities() { - return authorities; - } - - @Override - public String getPassword() { - return password; - } - - @Override - public String getUsername() { - return pubkey; - } - - @Override - public boolean isAccountNonExpired() { - return true; - } - - @Override - public boolean isAccountNonLocked() { - return true; - } - - @Override - public boolean isCredentialsNonExpired() { - return true; - } - - @Override - public boolean isEnabled() { - return true; - } - - /* -- Internal methods -- */ - - protected Collection<? extends GrantedAuthority> createAllAuthorities() { - List<SimpleGrantedAuthority> authorities = Lists.newArrayList( - new SimpleGrantedAuthority(UcoinjGrantedAuthority.ROLE_ADMIN.name()), - new SimpleGrantedAuthority(UcoinjGrantedAuthority.ROLE_USER.name()) - ); - return authorities; - } - - protected Collection<? extends GrantedAuthority> createAuthorities(Set<String> roles) { - List<SimpleGrantedAuthority> authorities = Lists.newArrayListWithExpectedSize(roles.size()); - for (String role: roles) { - authorities.add(new SimpleGrantedAuthority(role)); - } - return authorities; - } -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/ChallengeMessageStore.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/ChallengeMessageStore.java deleted file mode 100644 index 92a41d6e35c5b81168d9c50151f143ac8f744776..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/ChallengeMessageStore.java +++ /dev/null @@ -1,41 +0,0 @@ -package io.ucoin.ucoinj.web.security.keypair; - -/* - * #%L - * uCoinj :: UI Wicket - * %% - * Copyright (C) 2014 - 2016 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -/** - * Created by blavenie on 06/01/16. - */ -public interface ChallengeMessageStore { - /** - * Validate a given challenge - * @return - */ - boolean validateChallenge(String challenge); - - /** - * Compute a new challenge message, and remember it to validate it later. - * @return - */ - String createNewChallenge(); - -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/ChallengeMessageStoreImpl.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/ChallengeMessageStoreImpl.java deleted file mode 100644 index 187daaf34a13a7a4e6e7b765475102f2a38992b1..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/ChallengeMessageStoreImpl.java +++ /dev/null @@ -1,101 +0,0 @@ -package io.ucoin.ucoinj.web.security.keypair; - -/* - * #%L - * uCoinj :: UI Wicket - * %% - * Copyright (C) 2014 - 2016 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import com.google.common.base.Preconditions; -import com.google.common.cache.CacheBuilder; -import com.google.common.cache.CacheLoader; -import com.google.common.cache.LoadingCache; -import io.ucoin.ucoinj.core.util.ObjectUtils; -import io.ucoin.ucoinj.core.util.StringUtils; -import org.springframework.beans.factory.InitializingBean; -import org.springframework.util.Assert; - -import java.util.concurrent.TimeUnit; - -/** - * Created by blavenie on 06/01/16. - */ -public class ChallengeMessageStoreImpl implements ChallengeMessageStore, InitializingBean{ - - - private String prefix; - private long validityDurationInSeconds; - private LoadingCache<String, String> chalengeMessageCache; - - public ChallengeMessageStoreImpl() { - } - - @Override - public void afterPropertiesSet() throws Exception { - Assert.notNull(this.prefix, "An not null prefix must be set"); - Assert.isTrue(this.validityDurationInSeconds > 0, "An validityDurationInSeconds must be set (and not equals to zero)"); - this.chalengeMessageCache = initGeneratedMessageCache(); - } - - public void setPrefix(String prefix) { - this.prefix = prefix; - } - - public void setValidityDurationInSeconds(long validityDurationInSeconds) { - this.validityDurationInSeconds = validityDurationInSeconds; - } - - @Override - public boolean validateChallenge(String challenge) { - Preconditions.checkArgument(StringUtils.isNotBlank(challenge)); - - String storedChallenge = chalengeMessageCache.getIfPresent(challenge); - - // if no value in cache => maybe challenge expired - return ObjectUtils.equals(storedChallenge, challenge); - } - - @Override - public String createNewChallenge() { - String challenge = newChallenge(); - chalengeMessageCache.put(challenge, challenge); - return newChallenge(); - } - - - - /* -- internal methods -- */ - - protected String newChallenge() { - return String.valueOf(prefix + System.currentTimeMillis() * System.currentTimeMillis()); - } - - - protected LoadingCache<String, String> initGeneratedMessageCache() { - return CacheBuilder.newBuilder() - .expireAfterWrite(validityDurationInSeconds, TimeUnit.SECONDS) - .build(new CacheLoader<String, String>() { - @Override - public String load(String challenge) throws Exception { - // not used. Filled manually - return null; - } - }); - } -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/PubkeyAuthenticationProvider.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/PubkeyAuthenticationProvider.java deleted file mode 100644 index 4c029f715a8a2209bfba0be4b34dc764c2927cc9..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/PubkeyAuthenticationProvider.java +++ /dev/null @@ -1,118 +0,0 @@ -package io.ucoin.ucoinj.web.security.keypair; - -/* - * #%L - * uCoinj :: UI Wicket - * %% - * Copyright (C) 2014 - 2016 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import io.ucoin.ucoinj.core.service.CryptoService; -import io.ucoin.ucoinj.web.service.ServiceLocator; -import org.springframework.beans.factory.InitializingBean; -import org.springframework.security.authentication.AccountStatusUserDetailsChecker; -import org.springframework.security.authentication.AuthenticationProvider; -import org.springframework.security.authentication.BadCredentialsException; -import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; -import org.springframework.security.core.Authentication; -import org.springframework.security.core.AuthenticationException; -import org.springframework.security.core.userdetails.AuthenticationUserDetailsService; -import org.springframework.security.core.userdetails.UserDetails; -import org.springframework.security.core.userdetails.UserDetailsChecker; -import org.springframework.util.Assert; - -/** - * Created by blavenie on 06/01/16. - */ -public class PubkeyAuthenticationProvider implements AuthenticationProvider, InitializingBean{ - - private AuthenticationUserDetailsService authenticationUserDetailsService; - private UserDetailsChecker userDetailsChecker = new AccountStatusUserDetailsChecker(); - private CryptoService cryptoService; - private ChallengeMessageStore challengeMessageStore; - - public PubkeyAuthenticationProvider() { - } - - public void afterPropertiesSet() throws Exception { - Assert.notNull(this.authenticationUserDetailsService, "An authenticationUserDetailsService must be set"); - cryptoService = cryptoService == null ? ServiceLocator.instance().getCryptoService() : cryptoService; - Assert.notNull(this.cryptoService, "An cryptoService must be set"); - Assert.notNull(this.challengeMessageStore, "An challengeMessageStore must be set"); - } - - public Authentication authenticate(Authentication authentication) throws AuthenticationException { - if(!this.supports(authentication.getClass())) { - return null; - } else if(authentication instanceof UsernamePasswordAuthenticationToken) { - UsernamePasswordAuthenticationToken token = (UsernamePasswordAuthenticationToken)authentication; - if (token.getPrincipal() == null || token.getCredentials() == null) { - throw new BadCredentialsException("Invalid authentication token. Missing principal or credentials"); - } - String pubkey = token.getPrincipal().toString(); - - checkSignature(token.getPrincipal().toString(), token.getCredentials().toString()); - PubkeyAuthenticationToken result = new PubkeyAuthenticationToken(pubkey); - - UserDetails userDetails = authenticationUserDetailsService.loadUserDetails(result); - if (userDetails != null) { - this.userDetailsChecker.check(userDetails); - result = new PubkeyAuthenticationToken(pubkey, userDetails.getAuthorities()); - result.setAuthenticated(true); - result.setDetails(userDetails); - } - return result; - } - throw new BadCredentialsException("Failed to authenticate this token. Unknown token class."); - } - - public void setAuthenticationUserDetailsService(AuthenticationUserDetailsService authenticationUserDetailsService) { - this.authenticationUserDetailsService = authenticationUserDetailsService; - } - - public void setCryptoService(CryptoService cryptoService) { - this.cryptoService = cryptoService; - } - - public void setChallengeMessageStore(ChallengeMessageStore challengeMessageStore) { - this.challengeMessageStore = challengeMessageStore; - } - - public boolean supports(Class<? extends Object> authentication) { - return UsernamePasswordAuthenticationToken.class.isAssignableFrom(authentication); - } - - /*-- internal method --*/ - - private boolean checkSignature(String pubkey, String sm) throws BadCredentialsException{ - - if (sm.indexOf('|') == -1) { - throw new BadCredentialsException("Invalid password. Must be <signature>|<message>"); - } - String signature = sm.substring(0, sm.indexOf('|')); - String message = sm.substring(sm.indexOf('|')+1); - - boolean valid = challengeMessageStore.validateChallenge(message) - && cryptoService.verify(message, signature, pubkey); - if (!valid) { - throw new BadCredentialsException("Invalid signature. Not signed by this pubkey or message to signed expired."); - } - - return true; - } -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/PubkeyAuthenticationToken.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/PubkeyAuthenticationToken.java deleted file mode 100644 index 25d584a52f9f46a428f416ae0785178546b688b7..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/PubkeyAuthenticationToken.java +++ /dev/null @@ -1,65 +0,0 @@ -package io.ucoin.ucoinj.web.security.keypair; - -/* - * #%L - * uCoinj :: UI Wicket - * %% - * Copyright (C) 2014 - 2016 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import org.springframework.security.authentication.AbstractAuthenticationToken; -import org.springframework.security.core.GrantedAuthority; - -import java.util.Collection; - -/** - * Created by blavenie on 06/01/16. - */ -public class PubkeyAuthenticationToken extends AbstractAuthenticationToken { - - private final String pubkey; - - public PubkeyAuthenticationToken(String pubkey) { - super(null); - this.pubkey = pubkey; - } - - public PubkeyAuthenticationToken(String pubkey, Collection<? extends GrantedAuthority> authorities) { - super(authorities); - this.pubkey = pubkey; - } - - @Override - public Object getCredentials() { - return null; - } - - @Override - public Object getDetails() { - return pubkey; - } - - @Override - public Object getPrincipal() { - return pubkey; - } - - public String getPubkey() { - return pubkey; - } -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/PubkeyUserDetailsServiceImpl.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/PubkeyUserDetailsServiceImpl.java deleted file mode 100644 index ebc230a3d860500355ac0c372d234b6eea91b9e3..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/security/keypair/PubkeyUserDetailsServiceImpl.java +++ /dev/null @@ -1,56 +0,0 @@ -package io.ucoin.ucoinj.web.security.keypair; - -/* - * #%L - * SIH-Adagio :: UI for Core Allegro - * $Id:$ - * $HeadURL:$ - * %% - * Copyright (C) 2012 - 2014 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -import io.ucoin.ucoinj.core.util.ObjectUtils; -import io.ucoin.ucoinj.web.config.WebConfiguration; -import io.ucoin.ucoinj.web.security.UcoinjUserDetailsImpl; -import org.springframework.context.annotation.Lazy; -import org.springframework.security.core.userdetails.AuthenticationUserDetailsService; -import org.springframework.security.core.userdetails.UserDetails; -import org.springframework.security.core.userdetails.UsernameNotFoundException; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; - -/** - * - * @author Benoit Lavenier - */ -@Service("pubkeyAuthenticationUserDetailsService") -@Lazy -public class PubkeyUserDetailsServiceImpl implements AuthenticationUserDetailsService<PubkeyAuthenticationToken> { - - @Resource - WebConfiguration config; - - public UserDetails loadUserDetails(PubkeyAuthenticationToken pubkeyAuthentication) throws UsernameNotFoundException { - String pubkey = pubkeyAuthentication.getPubkey(); - boolean isAdmin = ObjectUtils.equals(pubkey, config.getUserPubkey()); - - return new UcoinjUserDetailsImpl(pubkey, isAdmin); - } -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/service/ServiceLocator.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/service/ServiceLocator.java deleted file mode 100644 index 05f1c2e0bdc03a53be209a32c2acfc79fe75542b..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/service/ServiceLocator.java +++ /dev/null @@ -1,87 +0,0 @@ -package io.ucoin.ucoinj.web.service; - -/* - * #%L - * SIH-Adagio :: UI for Core Allegro - * $Id:$ - * $HeadURL:$ - * %% - * Copyright (C) 2012 - 2014 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -import com.google.common.base.Preconditions; -import io.ucoin.ucoinj.web.security.keypair.ChallengeMessageStore; -import org.springframework.web.context.WebApplicationContext; -import org.springframework.web.context.support.WebApplicationContextUtils; - -import javax.servlet.ServletContext; - -public class ServiceLocator extends io.ucoin.ucoinj.elasticsearch.service.ServiceLocator { - - - private static ServiceLocator instance; - static { - initDefault(); - } - - public static void initDefault(ServletContext servletContext) { - if (instance != null) { - instance.setServletContext(servletContext); - } - else { - instance = new ServiceLocator(servletContext); - io.ucoin.ucoinj.elasticsearch.service.ServiceLocator.setInstance(instance); - } - } - - public static void initDefault() { - instance = new ServiceLocator(); - io.ucoin.ucoinj.elasticsearch.service.ServiceLocator.setInstance(instance); - } - - public static ServiceLocator instance() { - return instance; - } - - private WebApplicationContext appContext; - - public ServiceLocator() { - } - public ServiceLocator(ServletContext servletContext) { - setServletContext(servletContext); - } - - public ChallengeMessageStore getChallengeMessageStore() { - return getBean("challengeMessageStore", ChallengeMessageStore.class); - } - - /* -- internal methods -- */ - - protected <T> T getBean(String name, Class<T> type) { - Preconditions.checkNotNull(appContext, "no application context initaitliszed. Please call initDefault(ServletContext) before getting beans."); - return appContext.getBean(name, type); - } - - - protected void setServletContext(ServletContext servletContext) { - Preconditions.checkNotNull(servletContext); - appContext = WebApplicationContextUtils.getWebApplicationContext(servletContext); - } - -} diff --git a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/util/GsonHttpMessageConverter.java b/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/util/GsonHttpMessageConverter.java deleted file mode 100644 index 3193499cf44e245d5fbd9e7ae0f129bd0294555b..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/java/io/ucoin/ucoinj/web/util/GsonHttpMessageConverter.java +++ /dev/null @@ -1,45 +0,0 @@ -package io.ucoin.ucoinj.web.util; - -/* - * #%L - * Reef DB :: Quadrige2 Synchro server - * $Id:$ - * $HeadURL:$ - * %% - * Copyright (C) 2014 - 2015 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -import io.ucoin.ucoinj.core.client.model.bma.gson.GsonUtils; - -/** - * Override default converter to use specific gson configuration :<ul> - * <li>multimap support</li> - * <li>date pattern</li> - * <li>...</li> - * </ul> - * @see fr.ifremer.quadrige2.core.dao.technical.gson.GsonUtils - */ -public class GsonHttpMessageConverter extends org.springframework.http.converter.json.GsonHttpMessageConverter { - - public GsonHttpMessageConverter() { - super(); - setGson(GsonUtils.newBuilder().create()); - } - -} diff --git a/ucoinj-ui-wicket/src/main/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean b/ucoinj-ui-wicket/src/main/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean deleted file mode 100644 index ed53f7193606fedba58245b7c9ccd221e7b359fc..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/resources/META-INF/services/io.ucoin.ucoinj.core.beans.Bean +++ /dev/null @@ -1,14 +0,0 @@ -io.ucoin.ucoinj.core.service.Ed25519CryptoServiceImpl -io.ucoin.ucoinj.core.client.service.bma.BlockchainRemoteServiceImpl -io.ucoin.ucoinj.core.client.service.bma.NetworkRemoteServiceImpl -io.ucoin.ucoinj.core.client.service.bma.WotRemoteServiceImpl -io.ucoin.ucoinj.core.client.service.bma.TransactionRemoteServiceImpl -io.ucoin.ucoinj.core.client.service.HttpServiceImpl -io.ucoin.ucoinj.core.client.service.DataContext -io.ucoin.ucoinj.core.client.service.local.PeerServiceImpl -io.ucoin.ucoinj.core.client.service.local.CurrencyServiceImpl -io.ucoin.ucoinj.core.client.dao.mem.MemoryCurrencyDaoImpl -io.ucoin.ucoinj.core.client.dao.mem.MemoryPeerDaoImpl -io.ucoin.ucoinj.elasticsearch.service.ElasticSearchService -io.ucoin.ucoinj.elasticsearch.service.currency.CurrencyIndexerService -io.ucoin.ucoinj.elasticsearch.service.currency.BlockIndexerService diff --git a/ucoinj-ui-wicket/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider b/ucoinj-ui-wicket/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider deleted file mode 100644 index dbdf0b120656efafa96416fdd8d28e7addb95a1f..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/resources/META-INF/services/org.nuiton.config.ApplicationConfigProvider +++ /dev/null @@ -1 +0,0 @@ -io.ucoin.ucoinj.web.config.WebConfigurationProvider diff --git a/ucoinj-ui-wicket/src/main/resources/applicationContext-conf.xml b/ucoinj-ui-wicket/src/main/resources/applicationContext-conf.xml deleted file mode 100644 index 57a90d60b8c9170071e24c654333ba26aa6b39be..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/resources/applicationContext-conf.xml +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - #%L - SIH-Adagio Core for Allegro - $Id: applicationContext-conf.xml 12102 2014-05-28 21:04:57Z bl05b3e $ - $HeadURL: https://forge.ifremer.fr/svn/sih-adagio/trunk/adagio/core-allegro/src/main/resources/applicationContext-conf.xml $ - %% - Copyright (C) 2012 - 2013 Ifremer - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - #L% - --> - -<beans xmlns="http://www.springframework.org/schema/beans" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.springframework.org/schema/beans - http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> - - <!-- replace value like '${xx}' with value from configuration --> - <bean id="webConfiguration" class="io.ucoin.ucoinj.web.config.WebConfiguration" - factory-method="instance" - lazy-init="false"> - <property name="ignoreUnresolvablePlaceholders" value="true"/> - <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/> - </bean> - - <bean id="esConfig" class="io.ucoin.ucoinj.elasticsearch.config.Configuration" - factory-method="instance" - lazy-init="false"> - </bean> - - <bean id="serviceLocator" class="io.ucoin.ucoinj.web.service.ServiceLocator" - factory-method="instance" - lazy-init="false"> - </bean> - -</beans> \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/resources/applicationContext-rest-servlet.xml b/ucoinj-ui-wicket/src/main/resources/applicationContext-rest-servlet.xml deleted file mode 100644 index 6a0d173309b0d579274c1b1a4281e221f3ba835a..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/resources/applicationContext-rest-servlet.xml +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - #%L - Reef DB :: Quadrige2 Synchro server - $Id:$ - $HeadURL:$ - %% - Copyright (C) 2014 - 2015 Ifremer - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - #L% - --> - - -<beans xmlns="http://www.springframework.org/schema/beans" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:context="http://www.springframework.org/schema/context" - xmlns:mvc="http://www.springframework.org/schema/mvc" - xsi:schemaLocation="http://www.springframework.org/schema/beans - http://www.springframework.org/schema/beans/spring-beans-4.0.xsd - http://www.springframework.org/schema/context - http://www.springframework.org/schema/context/spring-context-4.0.xsd - http://www.springframework.org/schema/mvc - http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"> - - <context:component-scan base-package="io.ucoin.ucoinj.web.rest" /> - - <mvc:annotation-driven> - <mvc:message-converters> - <bean class="io.ucoin.ucoinj.web.util.GsonHttpMessageConverter"/> - </mvc:message-converters> - </mvc:annotation-driven> - - <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> - <property name="maxUploadSize" value="268435456"/> <!-- 256 megs --> - </bean> -</beans> \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/resources/applicationContext-security-pubkey.xml b/ucoinj-ui-wicket/src/main/resources/applicationContext-security-pubkey.xml deleted file mode 100644 index 64301bbff7de761bff884f4a47aabd601c9020c4..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/resources/applicationContext-security-pubkey.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - #%L - SIH-Adagio :: UI for Core Allegro - $Id:$ - $HeadURL:$ - %% - Copyright (C) 2012 - 2014 Ifremer - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - #L% - --> - -<beans xmlns="http://www.springframework.org/schema/beans" - xmlns:security="http://www.springframework.org/schema/security" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.springframework.org/schema/beans - http://www.springframework.org/schema/beans/spring-beans-4.0.xsd - http://www.springframework.org/schema/security - http://www.springframework.org/schema/security/spring-security-4.0.xsd"> - - <security:authentication-manager alias="authenticationManager"> - <security:authentication-provider ref="pubkeyAuthenticationProvider" /> - </security:authentication-manager> - - - <bean id="challengeMessageStore" - class="io.ucoin.ucoinj.web.security.keypair.ChallengeMessageStoreImpl"> - <property name="validityDurationInSeconds" value="60"/> <!-- challenge will expired after 60 sec --> - <property name="prefix" value="ucoinj-web-challenge-"/> - </bean> - - <bean id="pubkeyUserDetailsService" - class="io.ucoin.ucoinj.web.security.keypair.PubkeyUserDetailsServiceImpl"> - </bean> - - <bean id="pubkeyAuthenticationProvider" - class="io.ucoin.ucoinj.web.security.keypair.PubkeyAuthenticationProvider"> - <property name="authenticationUserDetailsService" ref="pubkeyUserDetailsService" /> - <property name="challengeMessageStore" ref="challengeMessageStore" /> - </bean> - -</beans> \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/resources/applicationContext-security.xml b/ucoinj-ui-wicket/src/main/resources/applicationContext-security.xml deleted file mode 100644 index b75e6f28f7ea8c902f9d8cc6581af714daf23aad..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/resources/applicationContext-security.xml +++ /dev/null @@ -1,85 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - #%L - SIH-Adagio :: UI for Core Allegro - $Id:$ - $HeadURL:$ - %% - Copyright (C) 2012 - 2014 Ifremer - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - #L% - --> - -<beans xmlns="http://www.springframework.org/schema/beans" - xmlns:security="http://www.springframework.org/schema/security" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.springframework.org/schema/beans - http://www.springframework.org/schema/beans/spring-beans-4.0.xsd - http://www.springframework.org/schema/security - http://www.springframework.org/schema/security/spring-security-4.0.xsd"> - - <security:global-method-security - secured-annotations="enabled"> - <security:protect-pointcut access="ROLE_USER,ROLE_ADMIN" expression="execution(* io.ucoin.ucoinj.*.*(..))"/> - </security:global-method-security> - - <!-- Spring REST service --> - <security:http pattern="/service/**" create-session="always"> - <!-- Currency add: need auth --> - <security:intercept-url pattern="/service/currency/add" access="isAuthenticated()" /> - - <!-- Auth: need auth --> - <security:intercept-url pattern="/service/auth" access="isAuthenticated()" /> - - <!-- Other URL (version, etc.): no security --> - <security:intercept-url pattern="/service/**" access="permitAll" /> - - <security:http-basic /> - <security:csrf disabled="true"/> - </security:http> - - <!-- Web: Basic ressources (CSS, images) - no security --> - <security:http pattern="/images/**" security="none" /> - <security:http pattern="/css/**" security="none" /> - <security:http pattern="/js/**" security="none" /> - <security:http pattern="/wicket/**" security="none" /> - <security:http pattern="/*.css" security="none" /> - <security:http pattern="/*.ico" security="none" /> - - <!-- Web: wicket pages --> - <security:http auto-config="true"> - <security:intercept-url pattern="/" access="permitAll"/> - - <security:intercept-url pattern="/login" access="permitAll"/> - <security:intercept-url pattern="/home" access="permitAll"/> - <security:intercept-url pattern="/home2" access="permitAll"/> - <security:intercept-url pattern="/currency" access="permitAll"/> - <security:intercept-url pattern="/service" access="hasAnyRole('USER','ADMIN')"/> - <security:intercept-url pattern="/admin/**" access="hasAnyRole('ADMIN')" /> - <security:intercept-url pattern="/service/api" access="hasAnyRole('ADMIN')" /> - <security:intercept-url pattern="/**" access="hasAnyRole('USER','ADMIN')" /> - - <security:anonymous granted-authority="ROLE_ANONYMOUS" username="anonymousUser"/> - - <security:form-login login-page="/login" - default-target-url="/home" - authentication-failure-url="/login?error=true"/> - - <security:logout invalidate-session="true" logout-url="/logout" logout-success-url="/" /> - - <security:csrf disabled="true"/> - </security:http> - -</beans> \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/resources/applicationContext-wicket.xml b/ucoinj-ui-wicket/src/main/resources/applicationContext-wicket.xml deleted file mode 100644 index 2f2c59bc0235c1b77b0538f14cfe76ccaa141105..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/resources/applicationContext-wicket.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - #%L - SIH-Adagio :: UI for Core Allegro - $Id:$ - $HeadURL:$ - %% - Copyright (C) 2012 - 2014 Ifremer - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - #L% - --> - -<beans xmlns="http://www.springframework.org/schema/beans" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:context="http://www.springframework.org/schema/context" - xsi:schemaLocation=" - http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd - http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd"> - - <!-- mount application as bean --> - <context:component-scan base-package="io.ucoin.ucoinj.web.application"> - <context:include-filter type="annotation" expression="org.springframework.stereotype.Component"/> - </context:component-scan> - - <!-- load security services --> - <context:component-scan base-package="io.ucoin.ucoinj.web.security"> - <context:include-filter type="annotation" expression="org.springframework.stereotype.Service"/> - </context:component-scan> - -</beans> \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/resources/uiBeanRefFactory.xml b/ucoinj-ui-wicket/src/main/resources/uiBeanRefFactory.xml deleted file mode 100644 index 9aa8dd76593d38894e48d765af7464b3f6cdc62c..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/resources/uiBeanRefFactory.xml +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - #%L - SIH-Adagio :: UI for Core Allegro - $Id:$ - $HeadURL:$ - %% - Copyright (C) 2012 - 2014 Ifremer - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - #L% - --> - -<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation=" - http://www.springframework.org/schema/beans - http://www.springframework.org/schema/beans/spring-beans-3.2.xsd"> - - <!-- Allow properties substitutions --> - <import resource="applicationContext-conf.xml" /> - - <bean id="beanRefFactory" class="org.springframework.context.support.ClassPathXmlApplicationContext"> - <constructor-arg> - <list> - <value>classpath:applicationContext-conf.xml</value> - <value>classpath:applicationContext-wicket.xml</value> - <value>classpath:applicationContext-security.xml</value> - <value>classpath:applicationContext-security-${ucoinj.security.type}.xml</value> - </list> - </constructor-arg> - </bean> -</beans> \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/webapp/META-INF/MANIFEST.MF b/ucoinj-ui-wicket/src/main/webapp/META-INF/MANIFEST.MF deleted file mode 100644 index 254272e1c0740423e25eb40be9a98ce1556474b1..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/META-INF/MANIFEST.MF +++ /dev/null @@ -1,3 +0,0 @@ -Manifest-Version: 1.0 -Class-Path: - diff --git a/ucoinj-ui-wicket/src/main/webapp/META-INF/context.xml b/ucoinj-ui-wicket/src/main/webapp/META-INF/context.xml deleted file mode 100644 index e1a07e77cefb1395a4c0cc826e2128015c5036da..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/META-INF/context.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<Context path="/adagio-extractor"> - - -</Context> \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/webapp/WEB-INF/classes/TOTO.txt b/ucoinj-ui-wicket/src/main/webapp/WEB-INF/classes/TOTO.txt deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/ucoinj-ui-wicket/src/main/webapp/WEB-INF/urlrewrite.xml b/ucoinj-ui-wicket/src/main/webapp/WEB-INF/urlrewrite.xml deleted file mode 100644 index 257c44cc43549083e39cf2be523d8ad18f08f121..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/WEB-INF/urlrewrite.xml +++ /dev/null @@ -1,71 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - #%L - Reef DB :: Quadrige2 Synchro server - $Id:$ - $HeadURL:$ - %% - Copyright (C) 2014 - 2015 Ifremer - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - #L% - --> - -<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN" - "http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd"> -<!-- - - Configuration file for UrlRewriteFilter - http://www.tuckey.org/urlrewrite/ - ---> -<urlrewrite> - - <rule> - <from>^/install/$</from> - <to type="redirect">%{context-path}/install</to> - </rule> - - <rule> - <from>^/download/install/$</from> - <to type="redirect">%{context-path}/install</to> - </rule> - - <rule> - <from>^/download/install$</from> - <to type="redirect">%{context-path}/install</to> - </rule> - - <rule> - <from>^/install/(.+)$</from> - <to type="redirect">%{context-path}/download/install/$1</to> - </rule> - - <rule> - <from>^/download/import/\?file=(.*)$</from> - <to type="redirect">%{context-path}/download/import/$1</to> - </rule> - - <!--rule> - <from>/download/(.*)</from> - <to type="redirect">%{context-path}/download?file=$2</to> - </rule - - <outbound-rule> - <from>/download/import[?]file=(.*)</from> - <to>/download/import/$1</to> - </outbound-rule>--> - -</urlrewrite> - diff --git a/ucoinj-ui-wicket/src/main/webapp/WEB-INF/web.xml b/ucoinj-ui-wicket/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 5d3af8348a15705a5703758f242858a86fe920b1..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,118 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" - version="2.5"> - - <display-name>uCoinj :: Web ${project.version}</display-name> - - <context-param> - <param-name>webAppRootKey</param-name> - <param-value>ucoinj-web</param-value> - </context-param> - - <!-- Configuration de la beanFactory => pour utiliser celle du fichier beanRefFactory.xml - => nécessaire pour que ServiceLocation.getContext() fonctionne correctement - cf doc : http://techo-ecco.com/blog/spring-application-context-hierarchy-and-contextsingletonbeanfactorylocator/ --> - <context-param> - <param-name>contextConfigLocation</param-name> - <param-value></param-value> - </context-param> - <context-param> - <param-name>parentContextKey</param-name> - <param-value>beanRefFactory</param-value> - </context-param> - <context-param> - <param-name>locatorFactorySelector</param-name> - <param-value>uiBeanRefFactory.xml</param-value> - </context-param> - - <!-- This listener will load other application context file in addition to applicationContext-rest-servlet.xml --> - <listener> - <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> - </listener> - - <!-- URL rewriter filter - <filter> - <filter-name>UrlRewriteFilter</filter-name> - <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class> - </filter> - <filter-mapping> - <filter-name>UrlRewriteFilter</filter-name> - <url-pattern>/install/*</url-pattern> - <dispatcher>REQUEST</dispatcher> - <dispatcher>FORWARD</dispatcher> - </filter-mapping>--> - - <!-- Spring Security --> - <filter> - <filter-name>springSecurityFilterChain</filter-name> - <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> - </filter> - <filter-mapping> - <filter-name>springSecurityFilterChain</filter-name> - <url-pattern>/*</url-pattern> - </filter-mapping> - - <!-- Wicket filter --> - <filter> - <filter-name>wicketFilter</filter-name> - <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class> - - <init-param> - <param-name>applicationFactoryClassName</param-name> - <param-value>org.apache.wicket.spring.SpringWebApplicationFactory</param-value> - </init-param> - <init-param> - <param-name>applicationBean</param-name> - <param-value>wicketApplication</param-value> - </init-param> - <!-- CONFIGURATION DU RUNTIME WICKET --> - <init-param> - <param-name>configuration</param-name> - <param-value>${wicket.configuration}</param-value> - </init-param> - </filter> - <filter-mapping> - <filter-name>wicketFilter</filter-name> - <url-pattern>/*</url-pattern> - <dispatcher>REQUEST</dispatcher> - <dispatcher>ERROR</dispatcher> - </filter-mapping> - - <!-- Spring Servlet, for REST services --> - <servlet> - <servlet-name>springServlet</servlet-name> - <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> - <load-on-startup>1</load-on-startup> - <init-param> - <param-name>contextConfigLocation</param-name> - <param-value>classpath:applicationContext-rest-servlet.xml</param-value> - </init-param> - </servlet> - <servlet-mapping> - <servlet-name>springServlet</servlet-name> - <url-pattern>/service/*</url-pattern> - </servlet-mapping> - - <error-page> - <error-code>401</error-code> - <location>/loginfailed.html</location> - </error-page> - <error-page> - <error-code>403</error-code> - <location>/accessdenied.html</location> - </error-page> - <error-page> - <error-code>404</error-code> - <location>/notfound.html</location> - </error-page> - - <welcome-file-list> - <welcome-file>index.html</welcome-file> - </welcome-file-list> - - <session-config> - <session-timeout>60</session-timeout> - </session-config> - -</web-app> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/ajax-loader.gif b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/ajax-loader.gif deleted file mode 100644 index 57f5624e7bce9ace2e91c342025a91eae38fbbf2..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/ajax-loader.gif and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/action-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/action-black.png deleted file mode 100644 index 15e8e48f1361dc5e33734cd5f9e3b6a26ee57941..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/action-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/action-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/action-white.png deleted file mode 100644 index 9f31c01db81f8e8995a8353e5ebfdd10de699e5e..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/action-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/alert-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/alert-black.png deleted file mode 100644 index 0a34a9921a143627fb46cc6cf89c91794e7836ad..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/alert-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/alert-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/alert-white.png deleted file mode 100644 index d44e25b4fb5c4a07682fbf9784256552946c2f03..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/alert-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-black.png deleted file mode 100644 index 797ab9b65f7dd2935b11aea7d81d29f939cea179..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-l-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-l-black.png deleted file mode 100644 index 07018838490d10f5d38e94982c15d7bd604483c6..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-l-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-l-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-l-white.png deleted file mode 100644 index 4234114fd7c83fef6c220f537a4c1682789bb853..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-l-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-r-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-r-black.png deleted file mode 100644 index 33cd363184b1be9baa07752529ff43fecfb24a9c..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-r-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-r-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-r-white.png deleted file mode 100644 index 3db6ebdf98a3d9113b695e8a2e27d256a93509a5..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-r-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-white.png deleted file mode 100644 index 0fcdb6c36b08ab39deed3105f8f3f32ed3249f69..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-d-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-l-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-l-black.png deleted file mode 100644 index 93a248ecd963693eb3bcdb30e34967a1d50f2f02..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-l-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-l-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-l-white.png deleted file mode 100644 index 3c8b133574759a973b92141a0357ea62ffda0c7d..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-l-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-r-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-r-black.png deleted file mode 100644 index b5f5d49ae50b958e94b5e830483b9107efcf96d4..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-r-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-r-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-r-white.png deleted file mode 100644 index bf316061908654cd2612750f19c86e1cb8727dca..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-r-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-black.png deleted file mode 100644 index f9e15daa7c9125d7e4f673cf783f922a8245db58..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-l-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-l-black.png deleted file mode 100644 index b518a1df5c9154f7301970ab4e4d5fb984f8b834..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-l-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-l-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-l-white.png deleted file mode 100644 index 71adaa1ec525436b986db137f2db1e0b5997d3b5..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-l-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-r-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-r-black.png deleted file mode 100644 index 375b09792600b9fa6d171a2ff73d07a85fd2a6e5..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-r-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-r-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-r-white.png deleted file mode 100644 index 45b518de8b1973db73d67b95f672023d299601bf..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-r-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-white.png deleted file mode 100644 index 18afaa11e1fb7045112145754a74a80c630c8e47..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/arrow-u-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/audio-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/audio-black.png deleted file mode 100644 index b7901c506bc878488f7e6f0a98d81d91c764990b..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/audio-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/audio-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/audio-white.png deleted file mode 100644 index 34082825cdd0f6191bf4f30428164e9d4e1b9831..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/audio-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/back-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/back-black.png deleted file mode 100644 index b58685d087ff2f0385a8c82abf2b61ca6f9c4c4a..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/back-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/back-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/back-white.png deleted file mode 100644 index 856d515a7e17c0bfe0430a58a865859f79afd7e4..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/back-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/bars-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/bars-black.png deleted file mode 100644 index f3e99e678478403328879da830ad2f635b1d9130..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/bars-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/bars-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/bars-white.png deleted file mode 100644 index 84059c63e650cea8d2b9d8797e4333385095281f..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/bars-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/bullets-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/bullets-black.png deleted file mode 100644 index 10a2f1cc67f9ce00a2cd4e98b580dc0b70d3f730..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/bullets-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/bullets-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/bullets-white.png deleted file mode 100644 index 49971a164ad8a3c98bf54ce7335fc76582e4a455..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/bullets-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/calendar-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/calendar-black.png deleted file mode 100644 index c4a643c70188af028dce70840319ab7fa0d0a3ac..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/calendar-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/calendar-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/calendar-white.png deleted file mode 100644 index e5b7b9f22077147cfbc8edce56b1514ab083819f..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/calendar-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/camera-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/camera-black.png deleted file mode 100644 index 6a029ea0eef23f5669df2000f7d232e05d4b9aac..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/camera-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/camera-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/camera-white.png deleted file mode 100644 index 7f00e232b01225a9cbd5a0840138de70407843a6..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/camera-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-d-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-d-black.png deleted file mode 100644 index 0653b692f0e5682a109ea6ef8968b045fd63793f..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-d-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-d-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-d-white.png deleted file mode 100644 index 9e7e9e98a8a6727d71e6859db2228d2326722b28..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-d-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-l-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-l-black.png deleted file mode 100644 index c8c495d3c032061164d44fa72159c1f7615f6bef..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-l-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-l-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-l-white.png deleted file mode 100644 index af941a03022b9a94ab4942adbae028a3d05a8c98..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-l-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-r-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-r-black.png deleted file mode 100644 index 1343997bc6f4421714ec0e27972ce71d50231fdc..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-r-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-r-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-r-white.png deleted file mode 100644 index f377fd8479d3605d2041e59e3b62e775a1c2d38f..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-r-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-u-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-u-black.png deleted file mode 100644 index a1a5ab6f9391883553ab79c0b687102302b47ca5..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-u-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-u-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-u-white.png deleted file mode 100644 index 5b2deba37b2ce8269eb76a3b539ee2dbb2635086..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/carat-u-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/check-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/check-black.png deleted file mode 100644 index 2cf2fc6abcde05d2f7db52465a8935d18a5188e2..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/check-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/check-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/check-white.png deleted file mode 100644 index b9f558c9af4f90b5dea8fe251bf026d7e2c072b9..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/check-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/clock-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/clock-black.png deleted file mode 100644 index 0c38d91e3d217375cf09084b5f85f301bd6b4c01..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/clock-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/clock-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/clock-white.png deleted file mode 100644 index bf5a877e9999af6c10c34341dc250caa9b538ca0..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/clock-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/cloud-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/cloud-black.png deleted file mode 100644 index 7c50e3724e787999546f35ee9093d269973415cd..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/cloud-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/cloud-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/cloud-white.png deleted file mode 100644 index 6bbe75210a4371d8b47cc8a6ecb76270c7abc921..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/cloud-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/comment-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/comment-black.png deleted file mode 100644 index 8de9ce841f47399d651ba373e4535a2f274b1cc5..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/comment-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/comment-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/comment-white.png deleted file mode 100644 index 5ff59e34f9d0eb69a162db8b68c92f9edc730d62..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/comment-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/delete-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/delete-black.png deleted file mode 100644 index 94a5b9f57974d7f743fc6af408d457abfbb57119..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/delete-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/delete-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/delete-white.png deleted file mode 100644 index ff984a9afb63c983f05533fe121281daff10d6e9..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/delete-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/edit-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/edit-black.png deleted file mode 100644 index ab390d7a170003eab1834a240f2bdc876bc16a45..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/edit-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/edit-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/edit-white.png deleted file mode 100644 index ae657a02d60f665d3aa6ef959cb8577ba96787b4..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/edit-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/eye-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/eye-black.png deleted file mode 100644 index d7cc1d06931dc19f5a9208b2f07b0ecf163e4412..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/eye-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/eye-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/eye-white.png deleted file mode 100644 index c05bd0d8acdc575aeff54977026d9bff306e4fb7..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/eye-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/forbidden-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/forbidden-black.png deleted file mode 100644 index 75098251be0dfff41e11f96e03b20daa1c67f9f9..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/forbidden-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/forbidden-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/forbidden-white.png deleted file mode 100644 index bf135930f01a908ad207282f578124ec38c81105..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/forbidden-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/forward-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/forward-black.png deleted file mode 100644 index bcc46226e3c5ac3c504e2da089dd891cb84eb0bd..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/forward-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/forward-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/forward-white.png deleted file mode 100644 index fa80f3677ec180fd4cf5fe60bbb4fea1db542109..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/forward-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/gear-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/gear-black.png deleted file mode 100644 index b6b37b4f499f9eb80f8299d78b92f6369bfd5214..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/gear-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/gear-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/gear-white.png deleted file mode 100644 index 72c9767a20dd25b35e23272a2cb51d2e6e03d74e..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/gear-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/grid-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/grid-black.png deleted file mode 100644 index aee31601c1287cdb68bc465dfac35d4becf1ce79..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/grid-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/grid-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/grid-white.png deleted file mode 100644 index 19652cdb8f4ecedd3f8676e29039438f1ae0985d..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/grid-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/heart-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/heart-black.png deleted file mode 100644 index fda9f924877666b8f83063a2c83d88bda474c2a6..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/heart-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/heart-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/heart-white.png deleted file mode 100644 index ba7a949e33e4800538660675cc8b94cf8d3f693e..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/heart-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/home-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/home-black.png deleted file mode 100644 index 6b4e5f35aef0a787439eb31b69b584cd795a2a87..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/home-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/home-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/home-white.png deleted file mode 100644 index c1f8feda6bbfd4d223326cf9133fcd4972cd8700..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/home-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/info-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/info-black.png deleted file mode 100644 index 46ee7e3b95ab0e611ab1b0c99f549d66e7c15645..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/info-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/info-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/info-white.png deleted file mode 100644 index af8346f1467b23c53d0e42c63ee6662242328e28..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/info-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/location-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/location-black.png deleted file mode 100644 index 4cd89986764e80e27ab3eea18c7623d038e07759..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/location-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/location-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/location-white.png deleted file mode 100644 index f6eeacd73cc73cdbfb18ba8f5f408aa2d6972bbf..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/location-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/lock-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/lock-black.png deleted file mode 100644 index bf947e81d792a3504200b26a39ba2fcc602d1a20..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/lock-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/lock-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/lock-white.png deleted file mode 100644 index aa60e236e1012d7b319394a574a210332830bf43..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/lock-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/mail-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/mail-black.png deleted file mode 100644 index cb67c0e26b80ec0c16696f406f6a022b39c9c8cd..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/mail-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/mail-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/mail-white.png deleted file mode 100644 index 06a60839d239dd1cfeb46a8d13eb00f474e385bf..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/mail-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/minus-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/minus-black.png deleted file mode 100644 index 97589d7cfb70eb7ee6fbd69648e56d55c5902812..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/minus-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/minus-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/minus-white.png deleted file mode 100644 index 874eaf37890e0049b66191217bdb1d944c9210f3..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/minus-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/navigation-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/navigation-black.png deleted file mode 100644 index 17abd7b7433d4303c87ef4b7ea3baf401544476b..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/navigation-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/navigation-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/navigation-white.png deleted file mode 100644 index 195388d0c674eebcb65fd7d768c469711e8f8e83..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/navigation-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/phone-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/phone-black.png deleted file mode 100644 index 6d0a09cdfb3cbb4fca6cfd3e58766c743cac8863..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/phone-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/phone-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/phone-white.png deleted file mode 100644 index 773b60233cb15da7a1020414b1364fa114d4687e..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/phone-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/plus-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/plus-black.png deleted file mode 100644 index 08547279df5a0f720d6e298611f3a6947225c290..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/plus-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/plus-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/plus-white.png deleted file mode 100644 index 7b484187a63abb44b261a3426f60c8171c02b54d..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/plus-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/power-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/power-black.png deleted file mode 100644 index bb95411b77c41ebf7fff5502340b1d9ccf8b500e..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/power-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/power-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/power-white.png deleted file mode 100644 index 8852da1a20070e815be83df8894ecd34bb9ad5f6..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/power-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/recycle-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/recycle-black.png deleted file mode 100644 index dabed38b27e9d3d679a98d1159c47c50a55c5127..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/recycle-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/recycle-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/recycle-white.png deleted file mode 100644 index 42c37b66eecb1a768fb74f21a68a6f5d2621e1f7..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/recycle-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/refresh-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/refresh-black.png deleted file mode 100644 index fb19712aac4448e45b4d585cb6c4116a688fbd02..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/refresh-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/refresh-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/refresh-white.png deleted file mode 100644 index fdd59adb9774476597d60c40a2890c0bbe561fb3..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/refresh-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/search-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/search-black.png deleted file mode 100644 index 02b66cf24fb1c0d094535f8cf13eddd49a861c7d..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/search-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/search-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/search-white.png deleted file mode 100644 index 274517d360b4fbe92fa20c9d71535aa6bbe5003f..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/search-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/shop-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/shop-black.png deleted file mode 100644 index c2f3719c368082f44b0327ba686537948e6b0a3d..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/shop-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/shop-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/shop-white.png deleted file mode 100644 index 96de9757036c891aba08a8e93b3fa29a3c1493ae..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/shop-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/star-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/star-black.png deleted file mode 100644 index 381e1f285354018bc559afb742032e51b50cd73e..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/star-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/star-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/star-white.png deleted file mode 100644 index bf6c4abbbea9ce6a4b9845c7281e69b9af457990..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/star-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/tag-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/tag-black.png deleted file mode 100644 index d6f65d1b291355f1e3cd42b7d2c2d47a5474394a..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/tag-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/tag-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/tag-white.png deleted file mode 100644 index fc0df96c5eddd517ed739cdc3972ebd203495974..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/tag-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/user-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/user-black.png deleted file mode 100644 index 1a0cb07718e6c966ca1a075296f5f8c568f6a8e9..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/user-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/user-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/user-white.png deleted file mode 100644 index f843f6f88d13c1e2d63cb15233af73095e9e0ee9..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/user-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/video-black.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/video-black.png deleted file mode 100644 index 97e74d40f3ad5d0db12f8ca9b5fb810c6fc30008..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/video-black.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/video-white.png b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/video-white.png deleted file mode 100644 index cbe8bdea12953877fd0210dc1cbe23ae6762a3c4..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-png/video-white.png and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/action-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/action-black.svg deleted file mode 100644 index ae0670ab0f6e46deb1b1515077066ab286813dc1..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/action-black.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M9,5v3l5-4L9,0v3c0,0-5,0-5,7C6,5,9,5,9,5z M11,12H2V5h1l2-2H0v11h13V7l-2,2V12z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/action-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/action-white.svg deleted file mode 100644 index 381b002ce1badbbc193de65f8f15b1f2bd62fd69..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/action-white.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M9,5v3l5-4L9,0v3c0,0-5,0-5,7C6,5,9,5,9,5z M11,12H2V5h1l2-2H0v11h13V7l-2,2V12z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/alert-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/alert-black.svg deleted file mode 100644 index e1cf40cf22d958b0b25d757e76135c96e60e0810..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/alert-black.svg +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M7,0L0,12h14L7,0z M7,11c-0.553,0-1-0.447-1-1s0.447-1,1-1c0.553,0,1,0.447,1,1S7.553,11,7,11z M7,8C6.447,8,6,7.553,6,7V5 - c0-0.553,0.447-1,1-1c0.553,0,1,0.447,1,1v2C8,7.553,7.553,8,7,8z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/alert-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/alert-white.svg deleted file mode 100644 index 69d8c0aa5cceb5816c4d624d9c5f3d0f3bbd6891..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/alert-white.svg +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M7,0L0,12h14L7,0z M7,11c-0.553,0-1-0.447-1-1s0.447-1,1-1c0.553,0,1,0.447,1,1S7.553,11,7,11z M7,8 - C6.447,8,6,7.553,6,7V5c0-0.553,0.447-1,1-1c0.553,0,1,0.447,1,1v2C8,7.553,7.553,8,7,8z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-black.svg deleted file mode 100644 index 7a8b7de352275f4186b6442b089e701e92a5f32c..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-black.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="9,7 9,0 5,0 5,7 0,7 7,14 14,7 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-l-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-l-black.svg deleted file mode 100644 index 8c8d30576621ef6755a8b5f9ca5195d138e924d7..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-l-black.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="14,3 11,0 3.5,7.5 0,4 0,14 10,14 6.5,10.5 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-l-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-l-white.svg deleted file mode 100644 index f7379cd72ce349fd885c7e1d843845a78fe19d79..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-l-white.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon fill="#FFF" points="14,3 11,0 3.5,7.5 0,4 0,14 10,14 6.5,10.5 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-r-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-r-black.svg deleted file mode 100644 index 95861e05b71f61290ebe7e16a368e648359c5b46..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-r-black.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="10.5,7.5 3,0 0,3 7.5,10.5 4,14 14,14 14,4 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-r-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-r-white.svg deleted file mode 100644 index 7874ca89465e96978aa71b6f25fd681547eab026..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-r-white.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon fill="#FFF" points="10.5,7.5 3,0 0,3 7.5,10.5 4,14 14,14 14,4 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-white.svg deleted file mode 100644 index f80ad1bc2c5c15ddac5db55598d7072dbb7e6070..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-d-white.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon fill="#FFF" points="9,7 9,0 5,0 5,7 0,7 7,14 14,7 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-l-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-l-black.svg deleted file mode 100644 index 0190649d6f58279ac49336d1ea9efa075f148049..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-l-black.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="7,5 7,0 0,7 7,14 7,9 14,9 14,5 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-l-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-l-white.svg deleted file mode 100644 index d9de81d397b03c7496c52fba6bc8e50ecd4ec27c..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-l-white.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon fill="#FFF" points="7,5 7,0 0,7 7,14 7,9 14,9 14,5 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-r-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-r-black.svg deleted file mode 100644 index 7853c5f3d1e2a96ceece3026c2f47bbb5ade540a..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-r-black.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="14,7 7,0 7,5 0,5 0,9 7,9 7,14 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-r-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-r-white.svg deleted file mode 100644 index 8c28fc7af0cdabfd329f43b54eeaff8ec387e36c..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-r-white.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon fill="#FFF" points="14,7 7,0 7,5 0,5 0,9 7,9 7,14 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-black.svg deleted file mode 100644 index abf9d90dd7f0c0d48c5bc945c648f976f1d33f20..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-black.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="7,0 0,7 5,7 5,14 9,14 9,7 14,7 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-l-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-l-black.svg deleted file mode 100644 index 08b5c6d55be30f849c86bf5580aec40e35b4e95d..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-l-black.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="14,11 6.5,3.5 10,0 0,0 0,10 3.5,6.5 11,14 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-l-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-l-white.svg deleted file mode 100644 index 234471ea787618e59296722b1d7c1a6c8f146033..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-l-white.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon fill="#FFF" points="14,11 6.5,3.5 10,0 0,0 0,10 3.5,6.5 11,14 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-r-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-r-black.svg deleted file mode 100644 index db1536d544feffb83f313fbd10e25d92f797d7a0..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-r-black.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="14,0 4,0 7.5,3.5 0,11 3,14 10.5,6.5 14,10 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-r-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-r-white.svg deleted file mode 100644 index 5a510f2f8fd3ccf6df3d10fcc232a8b4e3c5e337..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-r-white.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon fill="#FFF" points="14,0 4,0 7.5,3.5 0,11 3,14 10.5,6.5 14,10 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-white.svg deleted file mode 100644 index 7e2aeb2220113e728105dcaf3b02fc70cb1a7f99..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/arrow-u-white.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon fill="#FFF" points="7,0 0,7 5,7 5,14 9,14 9,7 14,7 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/audio-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/audio-black.svg deleted file mode 100644 index f3651d78ae73f37eee53a1c63d6dad187ad52010..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/audio-black.svg +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14.018px" height="14px" viewBox="0 0 14.018 14" style="enable-background:new 0 0 14.018 14;" xml:space="preserve"> -<path d="M1,4C0.447,4,0,4.447,0,5v4c0,0.553,0.447,1,1,1h1l4,4V0L2,4H1z M10.346,7c0-1.699-1.042-3.154-2.546-3.867L6.982,4.68 - C7.885,5.107,8.51,5.98,8.51,7S7.885,8.893,6.982,9.32L7.8,10.867C9.304,10.154,10.346,8.699,10.346,7z M9.447,0.017L8.618,1.586 - C10.723,2.584,12.182,4.621,12.182,7s-1.459,4.416-3.563,5.414l0.829,1.569c2.707-1.283,4.57-3.925,4.57-6.983 - S12.154,1.3,9.447,0.017z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/audio-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/audio-white.svg deleted file mode 100644 index a68969942fe51d6d9ec0841ed937b007963e837d..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/audio-white.svg +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14.018px" height="14px" viewBox="0 0 14.018 14" style="enable-background:new 0 0 14.018 14;" xml:space="preserve"> -<path fill="#FFF" d="M1,4C0.447,4,0,4.447,0,5v4c0,0.553,0.447,1,1,1h1l4,4V0L2,4H1z M10.346,7c0-1.699-1.042-3.154-2.546-3.867L6.982,4.68 - C7.885,5.107,8.51,5.98,8.51,7S7.885,8.893,6.982,9.32L7.8,10.867C9.304,10.154,10.346,8.699,10.346,7z M9.447,0.017L8.618,1.586 - C10.723,2.584,12.182,4.621,12.182,7s-1.459,4.416-3.563,5.414l0.829,1.569c2.707-1.283,4.57-3.925,4.57-6.983 - S12.154,1.3,9.447,0.017z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/back-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/back-black.svg deleted file mode 100644 index 0b281e8718838ae8e24ce2c99980d4df9a840c7f..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/back-black.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M5,3V0L1,4l4,4V5c0,0,6,0,6,3s-5,4-5,4v2c0,0,7-1,7-6C13,4,8,3,5,3z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/back-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/back-white.svg deleted file mode 100644 index c13ff0a2032f64349b9a116ab974f65571114962..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/back-white.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M5,3V0L1,4l4,4V5c0,0,6,0,6,3s-5,4-5,4v2c0,0,7-1,7-6C13,4,8,3,5,3z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/bars-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/bars-black.svg deleted file mode 100644 index 86b42c9014bcc705681bd3d74bdadb8a892ef3e5..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/bars-black.svg +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M1,4h12c0.553,0,1-0.447,1-1s-0.447-1-1-1H1C0.447,2,0,2.447,0,3S0.447,4,1,4z M13,6H1C0.447,6,0,6.447,0,7 - c0,0.553,0.447,1,1,1h12c0.553,0,1-0.447,1-1C14,6.447,13.553,6,13,6z M13,10H1c-0.553,0-1,0.447-1,1s0.447,1,1,1h12 - c0.553,0,1-0.447,1-1S13.553,10,13,10z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/bars-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/bars-white.svg deleted file mode 100644 index 035c2995e7a69cfa4d472b1e3fb8c75aa891243a..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/bars-white.svg +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M1,4h12c0.553,0,1-0.447,1-1s-0.447-1-1-1H1C0.447,2,0,2.447,0,3S0.447,4,1,4z M13,6H1 - C0.447,6,0,6.447,0,7c0,0.553,0.447,1,1,1h12c0.553,0,1-0.447,1-1C14,6.447,13.553,6,13,6z M13,10H1c-0.553,0-1,0.447-1,1 - s0.447,1,1,1h12c0.553,0,1-0.447,1-1S13.553,10,13,10z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/bullets-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/bullets-black.svg deleted file mode 100644 index cd96193528e6a3cea99452d457dd904b435be6c0..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/bullets-black.svg +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M5,4h8c0.553,0,1-0.447,1-1s-0.447-1-1-1H5C4.447,2,4,2.447,4,3S4.447,4,5,4z M13,6H5C4.447,6,4,6.447,4,7 - c0,0.553,0.447,1,1,1h8c0.553,0,1-0.447,1-1C14,6.447,13.553,6,13,6z M13,10H5c-0.553,0-1,0.447-1,1s0.447,1,1,1h8 - c0.553,0,1-0.447,1-1S13.553,10,13,10z M1,2C0.447,2,0,2.447,0,3s0.447,1,1,1s1-0.447,1-1S1.553,2,1,2z M1,6C0.447,6,0,6.447,0,7 - c0,0.553,0.447,1,1,1s1-0.447,1-1C2,6.447,1.553,6,1,6z M1,10c-0.553,0-1,0.447-1,1s0.447,1,1,1s1-0.447,1-1S1.553,10,1,10z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/bullets-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/bullets-white.svg deleted file mode 100644 index 4655f15af0c30f2c7c1823969e1e141fae8582c8..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/bullets-white.svg +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M5,4h8c0.553,0,1-0.447,1-1s-0.447-1-1-1H5C4.447,2,4,2.447,4,3S4.447,4,5,4z M13,6H5 - C4.447,6,4,6.447,4,7c0,0.553,0.447,1,1,1h8c0.553,0,1-0.447,1-1C14,6.447,13.553,6,13,6z M13,10H5c-0.553,0-1,0.447-1,1 - s0.447,1,1,1h8c0.553,0,1-0.447,1-1S13.553,10,13,10z M1,2C0.447,2,0,2.447,0,3s0.447,1,1,1s1-0.447,1-1S1.553,2,1,2z M1,6 - C0.447,6,0,6.447,0,7c0,0.553,0.447,1,1,1s1-0.447,1-1C2,6.447,1.553,6,1,6z M1,10c-0.553,0-1,0.447-1,1s0.447,1,1,1s1-0.447,1-1 - S1.553,10,1,10z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/calendar-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/calendar-black.svg deleted file mode 100644 index 5c3aededda771bc90098b5962ba33ebfaade381b..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/calendar-black.svg +++ /dev/null @@ -1,39 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M0,8h2V6H0V8z M3,8h2V6H3V8z M6,8h2V6H6V8z M9,8h2V6H9V8z M12,8h2V6h-2V8z M0,11h2V9H0V11z M3,11h2V9H3V11z M6,11h2V9H6V11z - M9,11h2V9H9V11z M12,11h2V9h-2V11z M0,14h2v-2H0V14z M3,14h2v-2H3V14z M6,14h2v-2H6V14z M9,14h2v-2H9V14z M12,1 - c0-0.553-0.447-1-1-1s-1,0.447-1,1H4c0-0.553-0.447-1-1-1S2,0.447,2,1H0v4h14V1H12z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/calendar-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/calendar-white.svg deleted file mode 100644 index 177dab9fd698b240f9361e69dbc28544356d2f42..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/calendar-white.svg +++ /dev/null @@ -1,39 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path fill="#FFF" d="M0,8h2V6H0V8z M3,8h2V6H3V8z M6,8h2V6H6V8z M9,8h2V6H9V8z M12,8h2V6h-2V8z M0,11h2V9H0V11z M3,11h2V9H3V11z M6,11h2V9H6V11z - M9,11h2V9H9V11z M12,11h2V9h-2V11z M0,14h2v-2H0V14z M3,14h2v-2H3V14z M6,14h2v-2H6V14z M9,14h2v-2H9V14z M12,1 - c0-0.553-0.447-1-1-1s-1,0.447-1,1H4c0-0.553-0.447-1-1-1S2,0.447,2,1H0v4h14V1H12z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/camera-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/camera-black.svg deleted file mode 100644 index 58a3182c4de420c06d3e44ad319f3f2554f3f61a..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/camera-black.svg +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M12,2.5H9.908c-0.206-0.581-0.756-1-1.408-1h-3c-0.652,0-1.202,0.419-1.408,1H2c-1.104,0-2,0.896-2,2v6c0,1.104,0.896,2,2,2 - h10c1.104,0,2-0.896,2-2v-6C14,3.396,13.104,2.5,12,2.5z M7,10.5c-1.657,0-3-1.344-3-3c0-1.657,1.343-3,3-3s3,1.343,3,3 - C10,9.156,8.657,10.5,7,10.5z M7,5.5c-1.104,0-2,0.896-2,2c0,1.104,0.896,2,2,2c1.104,0,2-0.896,2-2C9,6.396,8.104,5.5,7,5.5z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/camera-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/camera-white.svg deleted file mode 100644 index 78c620e3ef47a47afea70ef6e19e51fbb605f3a7..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/camera-white.svg +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M12,2.5H9.908c-0.206-0.581-0.756-1-1.408-1h-3c-0.652,0-1.202,0.419-1.408,1H2c-1.104,0-2,0.896-2,2 - v6c0,1.104,0.896,2,2,2h10c1.104,0,2-0.896,2-2v-6C14,3.396,13.104,2.5,12,2.5z M7,10.5c-1.657,0-3-1.344-3-3c0-1.657,1.343-3,3-3 - s3,1.343,3,3C10,9.156,8.657,10.5,7,10.5z M7,5.5c-1.104,0-2,0.896-2,2c0,1.104,0.896,2,2,2c1.104,0,2-0.896,2-2 - C9,6.396,8.104,5.5,7,5.5z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-d-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-d-black.svg deleted file mode 100644 index 03dc07987443b5e6571300ba747a6b93b360f721..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-d-black.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="11.949,3.404 7,8.354 2.05,3.404 -0.071,5.525 7,12.596 14.07,5.525 "/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-d-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-d-white.svg deleted file mode 100644 index 21ea91fee684394aedc7e8a60eb4bee51b33b7fe..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-d-white.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon style="fill:#FFFFFF;" points="11.949,3.404 7,8.354 2.05,3.404 -0.071,5.525 7,12.596 14.07,5.525 "/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-l-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-l-black.svg deleted file mode 100644 index bc853bcfdf47997171398f7c0388b614387996dd..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-l-black.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="10.596,11.949 5.646,7 10.596,2.05 8.475,-0.071 1.404,7 8.475,14.07 "/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-l-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-l-white.svg deleted file mode 100644 index d9a6ce7430aaa9a6d8f67db3e253442ac3b054a5..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-l-white.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon style="fill:#FFFFFF;" points="10.596,11.949 5.646,7 10.596,2.05 8.475,-0.071 1.404,7 8.475,14.07 "/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-r-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-r-black.svg deleted file mode 100644 index 594cfa26f5f8b7dd22ba07156c0c10a1001fc851..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-r-black.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="3.404,2.051 8.354,7 3.404,11.95 5.525,14.07 12.596,7 5.525,-0.071 "/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-r-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-r-white.svg deleted file mode 100644 index d384145c02ac1196d3e8161160538caceeec5989..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-r-white.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon style="fill:#FFFFFF;" points="3.404,2.051 8.354,7 3.404,11.95 5.525,14.07 12.596,7 5.525,-0.071 "/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-u-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-u-black.svg deleted file mode 100644 index 7647d06bb68c399a522a0ce9622185f2e83f6562..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-u-black.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="2.051,10.596 7,5.646 11.95,10.596 14.07,8.475 7,1.404 -0.071,8.475 "/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-u-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-u-white.svg deleted file mode 100644 index cdbc1cfd3ae72ff3c2fb880b1c8adc1722ac83cd..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/carat-u-white.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon style="fill:#FFFFFF;" points="2.051,10.596 7,5.646 11.95,10.596 14.07,8.475 7,1.404 -0.071,8.475 "/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/check-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/check-black.svg deleted file mode 100644 index a4b866342de368d8f7e9093550ed7e5cdf12d5dc..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/check-black.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="14,4 11,1 5.003,6.997 3,5 0,8 4.966,13 4.983,12.982 5,13 "/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/check-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/check-white.svg deleted file mode 100644 index 7afefd50458be030e9e61a8cd1ffa2e75c35b2c7..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/check-white.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon style="fill:#FFFFFF;" points="14,4 11,1 5.003,6.997 3,5 0,8 4.966,13 4.983,12.982 5,13 "/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/clock-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/clock-black.svg deleted file mode 100644 index c68abefbe26096e372cb32b91e5003eccae884f1..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/clock-black.svg +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M7,0C3.134,0,0,3.134,0,7s3.134,7,7,7s7-3.134,7-7S10.866,0,7,0z M7,12c-2.762,0-5-2.238-5-5s2.238-5,5-5s5,2.238,5,5 - S9.762,12,7,12z M9,6H8V4c0-0.553-0.447-1-1-1S6,3.447,6,4v3c0,0.553,0.447,1,1,1h2c0.553,0,1-0.447,1-1S9.553,6,9,6z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/clock-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/clock-white.svg deleted file mode 100644 index 55892385e867248a478eb33f5fd32d868c257b0f..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/clock-white.svg +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path fill="#FFF" d="M7,0C3.134,0,0,3.134,0,7s3.134,7,7,7s7-3.134,7-7S10.866,0,7,0z M7,12c-2.762,0-5-2.238-5-5s2.238-5,5-5s5,2.238,5,5 - S9.762,12,7,12z M9,6H8V4c0-0.553-0.447-1-1-1S6,3.447,6,4v3c0,0.553,0.447,1,1,1h2c0.553,0,1-0.447,1-1S9.553,6,9,6z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/cloud-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/cloud-black.svg deleted file mode 100644 index ddfbde51bf56de5c6fd8adfe8a597bd270d9998a..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/cloud-black.svg +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M14,9.5c0-0.793-0.465-1.473-1.134-1.795C12.949,7.484,13,7.249,13,7c0-1.104-0.896-2-2-2c-0.158,0-0.311,0.023-0.457,0.058 - C9.816,3.549,8.286,2.5,6.5,2.5c-2.33,0-4.224,1.777-4.454,4.046C0.883,6.76,0,7.773,0,9c0,1.381,1.119,2.5,2.5,2.5h10v-0.07 - C13.361,11.206,14,10.432,14,9.5z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/cloud-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/cloud-white.svg deleted file mode 100644 index d5b07940cdc4368a957f8bbfd5e682c62cfd98a8..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/cloud-white.svg +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M14,9.5c0-0.793-0.465-1.473-1.134-1.795C12.949,7.484,13,7.249,13,7c0-1.104-0.896-2-2-2 - c-0.158,0-0.311,0.023-0.457,0.058C9.816,3.549,8.286,2.5,6.5,2.5c-2.33,0-4.224,1.777-4.454,4.046C0.883,6.76,0,7.773,0,9 - c0,1.381,1.119,2.5,2.5,2.5h10v-0.07C13.361,11.206,14,10.432,14,9.5z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/comment-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/comment-black.svg deleted file mode 100644 index 485fcc86b0bc249332327cdd76a04b3e03f6b6e6..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/comment-black.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M12,0H2C0.896,0,0,0.896,0,2v7c0,1.104,0.896,2,2,2h1v3l3-3h6c1.104,0,2-0.896,2-2V2C14,0.896,13.104,0,12,0z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/comment-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/comment-white.svg deleted file mode 100644 index 8d188db6fe4c5c25e5dfe6df0b9872db78d616c9..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/comment-white.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path fill="#FFF" d="M12,0H2C0.896,0,0,0.896,0,2v7c0,1.104,0.896,2,2,2h1v3l3-3h6c1.104,0,2-0.896,2-2V2C14,0.896,13.104,0,12,0z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/delete-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/delete-black.svg deleted file mode 100644 index 74d99888c7a33d88a319f0f0698e69099c94cd2b..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/delete-black.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="14,3 11,0 7,4 3,0 0,3 4,7 0,11 3,14 7,10 11,14 14,11 10,7 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/delete-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/delete-white.svg deleted file mode 100644 index a6cc735c567ad54221cc7dfae2e710f0ae295b76..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/delete-white.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon fill="#FFF" points="14,3 11,0 7,4 3,0 0,3 4,7 0,11 3,14 7,10 11,14 14,11 10,7 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/edit-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/edit-black.svg deleted file mode 100644 index d908f9d999c549ca71456e04ceae7ca8276eb406..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/edit-black.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M1,10l-1,4l4-1l7-7L8,3L1,10z M11,0L9,2l3,3l2-2L11,0z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/edit-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/edit-white.svg deleted file mode 100644 index a88643df28a64f69c5d40005d62b9d2c2fba94c3..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/edit-white.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path fill="#FFF" d="M1,10l-1,4l4-1l7-7L8,3L1,10z M11,0L9,2l3,3l2-2L11,0z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/eye-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/eye-black.svg deleted file mode 100644 index d55bc65ddf3a4ddc26ab7f9470b4b58b0679ef8f..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/eye-black.svg +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M7,2C3,2,0,7,0,7s3,5,7,5s7-5,7-5S11,2,7,2z M7,10c-1.657,0-3-1.344-3-3c0-1.657,1.343-3,3-3s3,1.343,3,3 - C10,8.656,8.657,10,7,10z M7,6C6.448,6,6,6.447,6,7c0,0.553,0.448,1,1,1s1-0.447,1-1C8,6.447,7.552,6,7,6z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/eye-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/eye-white.svg deleted file mode 100644 index f95ad50a9498ae1704559ef0b0f4e7737a24dc22..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/eye-white.svg +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M7,2C3,2,0,7,0,7s3,5,7,5s7-5,7-5S11,2,7,2z M7,10c-1.657,0-3-1.344-3-3c0-1.657,1.343-3,3-3 - s3,1.343,3,3C10,8.656,8.657,10,7,10z M7,6C6.448,6,6,6.447,6,7c0,0.553,0.448,1,1,1s1-0.447,1-1C8,6.447,7.552,6,7,6z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/forbidden-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/forbidden-black.svg deleted file mode 100644 index fe831bc656786b4411909df27fba359e6c1f2d2b..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/forbidden-black.svg +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M12.601,11.187C13.476,10.018,14,8.572,14,7c0-3.866-3.134-7-7-7C5.428,0,3.982,0.524,2.813,1.399L2.757,1.343L2.053,2.048 - L2.048,2.053L1.343,2.758l0.056,0.056C0.524,3.982,0,5.428,0,7c0,3.866,3.134,7,7,7c1.572,0,3.018-0.524,4.187-1.399l0.056,0.057 - l0.705-0.705l0.005-0.005l0.705-0.705L12.601,11.187z M7,2c2.761,0,5,2.238,5,5c0,1.019-0.308,1.964-0.832,2.754L4.246,2.832 - C5.036,2.308,5.981,2,7,2z M7,12c-2.761,0-5-2.238-5-5c0-1.019,0.308-1.964,0.832-2.754l6.922,6.922C8.964,11.692,8.019,12,7,12z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/forbidden-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/forbidden-white.svg deleted file mode 100644 index 710ac39573fc88ad2bd133a6ed371bd1621997cd..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/forbidden-white.svg +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path fill="#FFF" d="M12.601,11.187C13.476,10.018,14,8.572,14,7c0-3.866-3.134-7-7-7C5.428,0,3.982,0.524,2.813,1.399L2.757,1.343L2.053,2.048 - L2.048,2.053L1.343,2.758l0.056,0.056C0.524,3.982,0,5.428,0,7c0,3.866,3.134,7,7,7c1.572,0,3.018-0.524,4.187-1.399l0.056,0.057 - l0.705-0.705l0.005-0.005l0.705-0.705L12.601,11.187z M7,2c2.761,0,5,2.238,5,5c0,1.019-0.308,1.964-0.832,2.754L4.246,2.832 - C5.036,2.308,5.981,2,7,2z M7,12c-2.761,0-5-2.238-5-5c0-1.019,0.308-1.964,0.832-2.754l6.922,6.922C8.964,11.692,8.019,12,7,12z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/forward-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/forward-black.svg deleted file mode 100644 index b0001d97d0ffd7f8eb0df0b540101cbf8e6c3191..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/forward-black.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M13,4L9,0v3C6,3,1,4,1,8c0,5,7,6,7,6v-2c0,0-5-1-5-4s6-3,6-3v3L13,4z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/forward-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/forward-white.svg deleted file mode 100644 index e1f3a6a0af1ea49deade1a80f331485371f86d52..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/forward-white.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M13,4L9,0v3C6,3,1,4,1,8c0,5,7,6,7,6v-2c0,0-5-1-5-4s6-3,6-3v3L13,4z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/gear-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/gear-black.svg deleted file mode 100644 index 4f397c5fa6b9cfcd4c2b356707c95ea48a55e9de..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/gear-black.svg +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M13.621,5.904l-1.036-0.259c-0.168-0.042-0.303-0.168-0.355-0.332c-0.092-0.284-0.205-0.559-0.339-0.82 - c-0.079-0.153-0.073-0.337,0.017-0.486l0.549-0.915c0.118-0.196,0.088-0.448-0.075-0.61l-0.862-0.863 - c-0.162-0.163-0.414-0.193-0.611-0.075l-0.916,0.55C9.844,2.182,9.659,2.188,9.506,2.109C9.244,1.975,8.97,1.861,8.686,1.77 - c-0.165-0.052-0.29-0.187-0.332-0.354L8.095,0.379C8.039,0.156,7.839,0,7.609,0H6.391c-0.229,0-0.43,0.156-0.485,0.379L5.646,1.415 - C5.604,1.582,5.479,1.718,5.313,1.77c-0.284,0.092-0.559,0.206-0.82,0.34C4.339,2.188,4.155,2.182,4.007,2.093L3.092,1.544 - c-0.196-0.118-0.448-0.087-0.61,0.075L1.619,2.481C1.457,2.644,1.426,2.896,1.544,3.093l0.549,0.914 - c0.089,0.148,0.095,0.332,0.017,0.486C1.975,4.755,1.861,5.029,1.77,5.314c-0.053,0.164-0.188,0.29-0.354,0.332L0.379,5.905 - C0.156,5.961,0,6.161,0,6.391v1.219c0,0.229,0.156,0.43,0.379,0.485l1.036,0.26C1.582,8.396,1.717,8.521,1.77,8.687 - c0.092,0.284,0.205,0.559,0.34,0.82C2.188,9.66,2.182,9.844,2.093,9.993l-0.549,0.915c-0.118,0.195-0.087,0.448,0.075,0.61 - l0.862,0.862c0.162,0.163,0.414,0.193,0.61,0.075l0.915-0.549c0.148-0.089,0.332-0.095,0.486-0.017 - c0.262,0.135,0.536,0.248,0.82,0.34c0.165,0.053,0.291,0.187,0.332,0.354l0.259,1.036C5.96,13.844,6.16,14,6.39,14h1.22 - c0.229,0,0.43-0.156,0.485-0.379l0.259-1.036c0.042-0.167,0.168-0.302,0.333-0.354c0.284-0.092,0.559-0.205,0.82-0.34 - c0.154-0.078,0.338-0.072,0.486,0.017l0.914,0.549c0.197,0.118,0.449,0.088,0.611-0.074l0.862-0.863 - c0.163-0.162,0.193-0.415,0.075-0.611l-0.549-0.915c-0.089-0.148-0.096-0.332-0.017-0.485c0.134-0.263,0.248-0.536,0.339-0.82 - c0.053-0.165,0.188-0.291,0.355-0.333l1.036-0.259C13.844,8.039,14,7.839,14,7.609V6.39C14,6.16,13.844,5.96,13.621,5.904z M7,10 - c-1.657,0-3-1.343-3-3s1.343-3,3-3s3,1.343,3,3S8.657,10,7,10z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/gear-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/gear-white.svg deleted file mode 100644 index 3a5668fc23073d906267b5b98c5cd6cd90febda8..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/gear-white.svg +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path fill="#FFF" d="M13.621,5.904l-1.036-0.259c-0.168-0.042-0.303-0.168-0.355-0.332c-0.092-0.284-0.205-0.559-0.339-0.82 - c-0.079-0.153-0.073-0.337,0.017-0.486l0.549-0.915c0.118-0.196,0.088-0.448-0.075-0.61l-0.862-0.863 - c-0.162-0.163-0.414-0.193-0.611-0.075l-0.916,0.55C9.844,2.182,9.659,2.188,9.506,2.109C9.244,1.975,8.97,1.861,8.686,1.77 - c-0.165-0.052-0.29-0.187-0.332-0.354L8.095,0.379C8.039,0.156,7.839,0,7.609,0H6.391c-0.229,0-0.43,0.156-0.485,0.379L5.646,1.415 - C5.604,1.582,5.479,1.718,5.313,1.77c-0.284,0.092-0.559,0.206-0.82,0.34C4.339,2.188,4.155,2.182,4.007,2.093L3.092,1.544 - c-0.196-0.118-0.448-0.087-0.61,0.075L1.619,2.481C1.457,2.644,1.426,2.896,1.544,3.093l0.549,0.914 - c0.089,0.148,0.095,0.332,0.017,0.486C1.975,4.755,1.861,5.029,1.77,5.314c-0.053,0.164-0.188,0.29-0.354,0.332L0.379,5.905 - C0.156,5.961,0,6.161,0,6.391v1.219c0,0.229,0.156,0.43,0.379,0.485l1.036,0.26C1.582,8.396,1.717,8.521,1.77,8.687 - c0.092,0.284,0.205,0.559,0.34,0.82C2.188,9.66,2.182,9.844,2.093,9.993l-0.549,0.915c-0.118,0.195-0.087,0.448,0.075,0.61 - l0.862,0.862c0.162,0.163,0.414,0.193,0.61,0.075l0.915-0.549c0.148-0.089,0.332-0.095,0.486-0.017 - c0.262,0.135,0.536,0.248,0.82,0.34c0.165,0.053,0.291,0.187,0.332,0.354l0.259,1.036C5.96,13.844,6.16,14,6.39,14h1.22 - c0.229,0,0.43-0.156,0.485-0.379l0.259-1.036c0.042-0.167,0.168-0.302,0.333-0.354c0.284-0.092,0.559-0.205,0.82-0.34 - c0.154-0.078,0.338-0.072,0.486,0.017l0.914,0.549c0.197,0.118,0.449,0.088,0.611-0.074l0.862-0.863 - c0.163-0.162,0.193-0.415,0.075-0.611l-0.549-0.915c-0.089-0.148-0.096-0.332-0.017-0.485c0.134-0.263,0.248-0.536,0.339-0.82 - c0.053-0.165,0.188-0.291,0.355-0.333l1.036-0.259C13.844,8.039,14,7.839,14,7.609V6.39C14,6.16,13.844,5.96,13.621,5.904z M7,10 - c-1.657,0-3-1.343-3-3s1.343-3,3-3s3,1.343,3,3S8.657,10,7,10z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/grid-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/grid-black.svg deleted file mode 100644 index e692e1f8bea6040d20f80357df71cbb6bcab6d06..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/grid-black.svg +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M3,0H1C0.447,0,0,0.447,0,1v2c0,0.553,0.447,1,1,1h2c0.553,0,1-0.447,1-1V1C4,0.447,3.553,0,3,0z M8,0H6 - C5.447,0,5,0.447,5,1v2c0,0.553,0.447,1,1,1h2c0.553,0,1-0.447,1-1V1C9,0.447,8.553,0,8,0z M13,0h-2c-0.553,0-1,0.447-1,1v2 - c0,0.553,0.447,1,1,1h2c0.553,0,1-0.447,1-1V1C14,0.447,13.553,0,13,0z M3,5H1C0.447,5,0,5.447,0,6v2c0,0.553,0.447,1,1,1h2 - c0.553,0,1-0.447,1-1V6C4,5.447,3.553,5,3,5z M8,5H6C5.447,5,5,5.447,5,6v2c0,0.553,0.447,1,1,1h2c0.553,0,1-0.447,1-1V6 - C9,5.447,8.553,5,8,5z M13,5h-2c-0.553,0-1,0.447-1,1v2c0,0.553,0.447,1,1,1h2c0.553,0,1-0.447,1-1V6C14,5.447,13.553,5,13,5z M3,10 - H1c-0.553,0-1,0.447-1,1v2c0,0.553,0.447,1,1,1h2c0.553,0,1-0.447,1-1v-2C4,10.447,3.553,10,3,10z M8,10H6c-0.553,0-1,0.447-1,1v2 - c0,0.553,0.447,1,1,1h2c0.553,0,1-0.447,1-1v-2C9,10.447,8.553,10,8,10z M13,10h-2c-0.553,0-1,0.447-1,1v2c0,0.553,0.447,1,1,1h2 - c0.553,0,1-0.447,1-1v-2C14,10.447,13.553,10,13,10z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/grid-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/grid-white.svg deleted file mode 100644 index 5cfaa7c1f043ded2d1bf69b2c25b1e62bd5a7506..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/grid-white.svg +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path fill="#FFF" d="M3,0H1C0.447,0,0,0.447,0,1v2c0,0.553,0.447,1,1,1h2c0.553,0,1-0.447,1-1V1C4,0.447,3.553,0,3,0z M8,0H6 - C5.447,0,5,0.447,5,1v2c0,0.553,0.447,1,1,1h2c0.553,0,1-0.447,1-1V1C9,0.447,8.553,0,8,0z M13,0h-2c-0.553,0-1,0.447-1,1v2 - c0,0.553,0.447,1,1,1h2c0.553,0,1-0.447,1-1V1C14,0.447,13.553,0,13,0z M3,5H1C0.447,5,0,5.447,0,6v2c0,0.553,0.447,1,1,1h2 - c0.553,0,1-0.447,1-1V6C4,5.447,3.553,5,3,5z M8,5H6C5.447,5,5,5.447,5,6v2c0,0.553,0.447,1,1,1h2c0.553,0,1-0.447,1-1V6 - C9,5.447,8.553,5,8,5z M13,5h-2c-0.553,0-1,0.447-1,1v2c0,0.553,0.447,1,1,1h2c0.553,0,1-0.447,1-1V6C14,5.447,13.553,5,13,5z M3,10 - H1c-0.553,0-1,0.447-1,1v2c0,0.553,0.447,1,1,1h2c0.553,0,1-0.447,1-1v-2C4,10.447,3.553,10,3,10z M8,10H6c-0.553,0-1,0.447-1,1v2 - c0,0.553,0.447,1,1,1h2c0.553,0,1-0.447,1-1v-2C9,10.447,8.553,10,8,10z M13,10h-2c-0.553,0-1,0.447-1,1v2c0,0.553,0.447,1,1,1h2 - c0.553,0,1-0.447,1-1v-2C14,10.447,13.553,10,13,10z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/heart-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/heart-black.svg deleted file mode 100644 index f4946b017822fe599380cabd3d0176875b77733e..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/heart-black.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M7,1.958c-2-3-7-2.128-7,1.872c0,3,4,7,4,7s2.417,2.48,3,3c0.583-0.52,3-3,3-3s4-4,4-7C14-0.169,9-1.042,7,1.958z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/heart-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/heart-white.svg deleted file mode 100644 index 190ebef47fa659b647c47044a959421e5d5896a8..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/heart-white.svg +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M7,1.872c-2-3-7-2-7,2c0,3,4,7,4,7s2.417,2.479,3,3c0.583-0.521,3-3,3-3s4-4,4-7 - C14-0.128,9-1.128,7,1.872z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/home-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/home-black.svg deleted file mode 100644 index a4950a37f7a2290b8f351fb74d9022cb01b824d3..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/home-black.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="7,0 0,7 2,7 2,14 5,14 5,9 9,9 9,14 12,14 12,7 14,7 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/home-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/home-white.svg deleted file mode 100644 index b7c1a6118ff74ade85f6fd9bcd21f27cebac0cd3..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/home-white.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon fill="#FFF" points="7,0 0,7 2,7 2,14 5,14 5,9 9,9 9,14 12,14 12,7 14,7 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/info-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/info-black.svg deleted file mode 100644 index 151cfa2bf6082f592b1ae81f64f95e8c7f56f8de..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/info-black.svg +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M7,0C3.134,0,0,3.134,0,7s3.134,7,7,7s7-3.134,7-7S10.866,0,7,0z M7,2c0.552,0,1,0.447,1,1S7.552,4,7,4S6,3.553,6,3 - S6.448,2,7,2z M9,11H5v-1h1V6H5V5h3v5h1V11z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/info-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/info-white.svg deleted file mode 100644 index dd0f885b0b61f3886be497ede18308565ceac1d1..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/info-white.svg +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path fill="#FFF" d="M7,0C3.134,0,0,3.134,0,7s3.134,7,7,7s7-3.134,7-7S10.866,0,7,0z M7,2c0.552,0,1,0.447,1,1S7.552,4,7,4S6,3.553,6,3 - S6.448,2,7,2z M9,11H5v-1h1V6H5V5h3v5h1V11z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/location-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/location-black.svg deleted file mode 100644 index 4a29d739ab29857cd3e1b21cf781600abc661557..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/location-black.svg +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M7,0C4.791,0,3,1.791,3,4c0,2,4,10,4,10s4-8,4-10C11,1.791,9.209,0,7,0z M7,6C5.896,6,5,5.104,5,4s0.896-2,2-2 - c1.104,0,2,0.896,2,2S8.104,6,7,6z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/location-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/location-white.svg deleted file mode 100644 index 2b6ac8a05909ee60ec2e67d6f4c70449a6de6a95..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/location-white.svg +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M7,0C4.791,0,3,1.791,3,4c0,2,4,10,4,10s4-8,4-10C11,1.791,9.209,0,7,0z M7,6C5.896,6,5,5.104,5,4 - s0.896-2,2-2c1.104,0,2,0.896,2,2S8.104,6,7,6z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/lock-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/lock-black.svg deleted file mode 100644 index 0a005ea43a1065b3d6b06d0596065c4868481c7e..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/lock-black.svg +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M12,6V5c0-2.762-2.238-5-5-5C4.239,0,2,2.238,2,5v1H1v8h12V6H12z M7.5,9.848V12h-1V9.848C6.207,9.673,6,9.366,6,9 - c0-0.553,0.448-1,1-1s1,0.447,1,1C8,9.366,7.793,9.673,7.5,9.848z M10,6H4V5c0-1.657,1.343-3,3-3s3,1.343,3,3V6z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/lock-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/lock-white.svg deleted file mode 100644 index b1e042ca1166305755163fe3fd7bfcc47525c599..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/lock-white.svg +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M12,6V5c0-2.762-2.238-5-5-5C4.239,0,2,2.238,2,5v1H1v8h12V6H12z M7.5,9.848V12h-1V9.848 - C6.207,9.673,6,9.366,6,9c0-0.553,0.448-1,1-1s1,0.447,1,1C8,9.366,7.793,9.673,7.5,9.848z M10,6H4V5c0-1.657,1.343-3,3-3 - s3,1.343,3,3V6z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/mail-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/mail-black.svg deleted file mode 100644 index 635c61590e05304a720cd45b627477c87482bc66..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/mail-black.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M0,3.75V12h14V3.75L7,9L0,3.75z M14,2H0l7,5L14,2z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/mail-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/mail-white.svg deleted file mode 100644 index 547f512c2b09a15b8c445f80a7782cf0af7ac72d..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/mail-white.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M0,3.75V12h14V3.75L7,9L0,3.75z M14,2H0l7,5L14,2z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/minus-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/minus-black.svg deleted file mode 100644 index a20df147d5368674f7c60836d836bcec70503c30..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/minus-black.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<rect y="5" width="14" height="4"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/minus-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/minus-white.svg deleted file mode 100644 index 8063cdc3ed9fcd0824af31f8bd39987b2e547bad..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/minus-white.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<rect y="5" style="fill:#FFFFFF;" width="14" height="4"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/navigation-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/navigation-black.svg deleted file mode 100644 index 6867808a644c442c3fcb85e250751ee0c1f2d8f9..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/navigation-black.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="13,1 0,6 7,7 8,14 "/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/navigation-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/navigation-white.svg deleted file mode 100644 index 0d3115f9c0477c8908dc5b9945565629459a3a3d..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/navigation-white.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon style="fill:#FFFFFF;" points="13,1 0,6 7,7 8,14 "/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/phone-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/phone-black.svg deleted file mode 100644 index cf84c78d60f62d41cbe5fc2d4a233fdd900f6ff6..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/phone-black.svg +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M6.949,9.182C6.175,8.549,5.281,7.697,4.507,6.736C3.963,6.063,3.483,5.355,3.979,4.858l-3.482-3.48 - c-0.508,0.634-1.633,3.654,3.188,8.598c5.08,5.211,8.356,4.097,8.92,3.511l-3.396-3.399C8.734,10.561,8.123,10.139,6.949,9.182z - M13.83,11.512v-0.004c0,0-2.648-2.646-2.649-2.647c-0.21-0.212-0.546-0.205-0.754,0.002L9.465,9.823l3.402,3.407 - c0,0,0.963-0.961,0.961-0.961l0.002-0.002C14.053,12.049,14.031,11.713,13.83,11.512z M5.202,3.636V3.634 - c0.222-0.222,0.2-0.557,0-0.758V2.873c0,0-2.726-2.725-2.727-2.726c-0.21-0.21-0.545-0.205-0.753,0.001L0.761,1.113L4.24,4.595 - C4.241,4.596,5.202,3.637,5.202,3.636z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/phone-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/phone-white.svg deleted file mode 100644 index 825425ebc05d056b1f06f81ac6e4c2cf2e653b6e..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/phone-white.svg +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="-0.01 0.008 14 14" style="enable-background:new -0.01 0.008 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M6.939,9.189C6.165,8.557,5.271,7.705,4.497,6.744C3.953,6.071,3.473,5.363,3.969,4.866l-3.482-3.48 - C-0.021,2.02-1.146,5.04,3.675,9.984c5.08,5.211,8.356,4.097,8.92,3.511l-3.396-3.4C8.725,10.568,8.113,10.146,6.939,9.189z - M13.82,11.519v-0.004c0,0-2.648-2.646-2.649-2.647c-0.21-0.211-0.546-0.205-0.754,0.002L9.455,9.831l3.403,3.407 - c0,0,0.962-0.96,0.961-0.961l0.002-0.001C14.043,12.056,14.021,11.721,13.82,11.519z M5.192,3.644V3.642 - c0.222-0.222,0.2-0.557,0-0.758V2.881c0,0-2.726-2.725-2.727-2.726C2.255-0.055,1.92-0.05,1.712,0.156L0.751,1.121l3.479,3.482 - C4.231,4.604,5.192,3.645,5.192,3.644z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/plus-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/plus-black.svg deleted file mode 100644 index 2e268b019e9d8e88dfdfcc108eb358d4324708bc..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/plus-black.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="14,5 9,5 9,0 5,0 5,5 0,5 0,9 5,9 5,14 9,14 9,9 14,9 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/plus-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/plus-white.svg deleted file mode 100644 index 488129f0193c75304055ca857870ce17dda33c46..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/plus-white.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon fill="#FFF" points="14,5 9,5 9,0 5,0 5,5 0,5 0,9 5,9 5,14 9,14 9,9 14,9 "/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/power-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/power-black.svg deleted file mode 100644 index 461ea1f9c4bc6e0a6861bd9f8e4470763224fd5d..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/power-black.svg +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M11.243,2.408c-0.392-0.401-1.024-0.401-1.415,0c-0.391,0.401-0.391,1.054,0,1.455C10.584,4.642,11,5.675,11,6.773 - s-0.416,2.133-1.172,2.91c-1.512,1.558-4.145,1.558-5.656,0C3.416,8.904,3,7.872,3,6.773C3,5.673,3.416,4.64,4.172,3.863 - c0.39-0.401,0.39-1.054,0-1.455c-0.391-0.401-1.024-0.401-1.415,0C1.624,3.574,1,5.125,1,6.773c0,1.647,0.624,3.199,1.757,4.365 - c1.134,1.166,2.64,1.809,4.243,1.809c1.604,0,3.109-0.645,4.243-1.811C12.376,9.975,13,8.423,13,6.773 - C13,5.125,12.376,3.574,11.243,2.408z M7,8.053c0.553,0,1-0.445,1-1v-6c0-0.553-0.447-1-1-1c-0.553,0-1,0.447-1,1v6 - C6,7.604,6.447,8.053,7,8.053z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/power-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/power-white.svg deleted file mode 100644 index 5c82ba73a1804f81fd4f15a36122322a20dafdf2..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/power-white.svg +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M11.243,2.408c-0.392-0.401-1.024-0.401-1.415,0c-0.391,0.401-0.391,1.054,0,1.455 - C10.584,4.642,11,5.675,11,6.773s-0.416,2.133-1.172,2.91c-1.512,1.558-4.145,1.558-5.656,0C3.416,8.904,3,7.872,3,6.773 - C3,5.673,3.416,4.64,4.172,3.863c0.39-0.401,0.39-1.054,0-1.455c-0.391-0.401-1.024-0.401-1.415,0C1.624,3.574,1,5.125,1,6.773 - c0,1.647,0.624,3.199,1.757,4.365c1.134,1.166,2.64,1.809,4.243,1.809c1.604,0,3.109-0.645,4.243-1.811 - C12.376,9.975,13,8.423,13,6.773C13,5.125,12.376,3.574,11.243,2.408z M7,8.053c0.553,0,1-0.445,1-1v-6c0-0.553-0.447-1-1-1 - c-0.553,0-1,0.447-1,1v6C6,7.604,6.447,8.053,7,8.053z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/recycle-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/recycle-black.svg deleted file mode 100644 index 25078b7d373d5b721f1a07a3604d0c35c3728a0b..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/recycle-black.svg +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M3,7h1L2,4L0,7h1c0,3.313,2.687,6,6,6c0.702,0,1.374-0.127,2-0.35v-2.205C8.41,10.789,7.732,11,7,11C4.791,11,3,9.209,3,7z - M13,7c0-3.313-2.688-6-6-6C6.298,1,5.626,1.127,5,1.349v2.206C5.59,3.211,6.268,3,7,3c2.209,0,4,1.791,4,4h-1l2,3l2-3H13z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/recycle-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/recycle-white.svg deleted file mode 100644 index 8a9f5e774ebbec8c9a994251af236cbc9d230254..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/recycle-white.svg +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M3,7h1L2,4L0,7h1c0,3.313,2.687,6,6,6c0.702,0,1.374-0.127,2-0.35v-2.205C8.41,10.789,7.732,11,7,11 - C4.791,11,3,9.209,3,7z M13,7c0-3.313-2.688-6-6-6C6.298,1,5.626,1.127,5,1.349v2.206C5.59,3.211,6.268,3,7,3c2.209,0,4,1.791,4,4 - h-1l2,3l2-3H13z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/refresh-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/refresh-black.svg deleted file mode 100644 index 16c978c4dd6d77305801ad3a247faef11f283ad2..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/refresh-black.svg +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14.001px" height="14.002px" viewBox="0 0 14.001 14.002" style="enable-background:new 0 0 14.001 14.002;" - xml:space="preserve"> -<path d="M14.001,6.001v-6l-2.06,2.06c-0.423-0.424-0.897-0.809-1.44-1.122C7.153-0.994,2.872,0.153,0.939,3.501 - c-1.933,3.348-0.786,7.629,2.562,9.562c3.348,1.933,7.629,0.785,9.562-2.562l-1.732-1c-1.381,2.392-4.438,3.211-6.83,1.83 - s-3.211-4.438-1.83-6.83s4.438-3.211,6.83-1.83c0.389,0.225,0.718,0.506,1.02,0.81l-2.52,2.52H14.001z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/refresh-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/refresh-white.svg deleted file mode 100644 index fa370e69a9b8b8f0d31f8fc850c9927a62db2c61..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/refresh-white.svg +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14.001px" height="14.002px" viewBox="0 0 14.001 14.002" style="enable-background:new 0 0 14.001 14.002;" - xml:space="preserve"> -<path fill="#FFF" d="M14.001,6.001v-6l-2.06,2.06c-0.423-0.424-0.897-0.809-1.44-1.122C7.153-0.994,2.872,0.153,0.939,3.501 - c-1.933,3.348-0.786,7.629,2.562,9.562c3.348,1.933,7.629,0.785,9.562-2.562l-1.732-1c-1.381,2.392-4.438,3.211-6.83,1.83 - s-3.211-4.438-1.83-6.83s4.438-3.211,6.83-1.83c0.389,0.225,0.718,0.506,1.02,0.81l-2.52,2.52H14.001z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/search-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/search-black.svg deleted file mode 100644 index 229b22189ecc5451fe38431e76bc77300da4d42c..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/search-black.svg +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M10.171,8.766c0.617-0.888,0.979-1.964,0.979-3.126c0-3.037-2.463-5.5-5.5-5.5s-5.5,2.463-5.5,5.5s2.463,5.5,5.5,5.5 - c1.152,0,2.223-0.355,3.104-0.962l3.684,3.683l1.414-1.414L10.171,8.766z M5.649,9.14c-1.933,0-3.5-1.567-3.5-3.5 - c0-1.933,1.567-3.5,3.5-3.5c1.933,0,3.5,1.567,3.5,3.5C9.149,7.572,7.582,9.14,5.649,9.14z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/search-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/search-white.svg deleted file mode 100644 index a54a52a0e1553520c5a449dc2858abfafd05f4d0..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/search-white.svg +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M10.171,8.766c0.617-0.888,0.979-1.964,0.979-3.126c0-3.037-2.463-5.5-5.5-5.5s-5.5,2.463-5.5,5.5 - s2.463,5.5,5.5,5.5c1.152,0,2.223-0.355,3.104-0.962l3.684,3.683l1.414-1.414L10.171,8.766z M5.649,9.14c-1.933,0-3.5-1.567-3.5-3.5 - c0-1.933,1.567-3.5,3.5-3.5c1.933,0,3.5,1.567,3.5,3.5C9.149,7.572,7.582,9.14,5.649,9.14z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/shop-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/shop-black.svg deleted file mode 100644 index ba541b462157e1f7e148afb6b280811b5976f80d..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/shop-black.svg +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M10,4V3c0-1.657-1.343-3-3-3S4,1.343,4,3v1H1v10h12V4H10z M4.5,6C4.224,6,4,5.776,4,5.5S4.224,5,4.5,5S5,5.224,5,5.5 - S4.776,6,4.5,6z M5,3c0-1.104,0.896-2,2-2c1.104,0,2,0.896,2,2v1H5V3z M9.5,6C9.225,6,9,5.776,9,5.5S9.225,5,9.5,5S10,5.224,10,5.5 - S9.775,6,9.5,6z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/shop-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/shop-white.svg deleted file mode 100644 index 3acf9e853e4283af4be5892eba3ae07025ccd30a..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/shop-white.svg +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M10,4V3c0-1.657-1.343-3-3-3S4,1.343,4,3v1H1v10h12V4H10z M4.5,6C4.224,6,4,5.776,4,5.5 - S4.224,5,4.5,5S5,5.224,5,5.5S4.776,6,4.5,6z M5,3c0-1.104,0.896-2,2-2c1.104,0,2,0.896,2,2v1H5V3z M9.5,6C9.225,6,9,5.776,9,5.5 - S9.225,5,9.5,5S10,5.224,10,5.5S9.775,6,9.5,6z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/star-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/star-black.svg deleted file mode 100644 index 43076c084baca85edf8640fa71cb92921def8a2a..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/star-black.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon points="14,5 9,5 7,0 5,5 0,5 4,8 2.625,13 7,10 11.375,13 10,8 "/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/star-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/star-white.svg deleted file mode 100644 index e0cc53d69e92ed04efa9aa59173e88c3b001afb6..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/star-white.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<polygon style="fill:#FFFFFF;" points="14,5 9,5 7,0 5,5 0,5 4,8 2.625,13 7,10 11.375,13 10,8 "/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/tag-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/tag-black.svg deleted file mode 100644 index bd11ae67aba8ad793a10be32443a00107f017e3a..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/tag-black.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M5,0H0v5l9,9l5-5L5,0z M3,4C2.447,4,2,3.553,2,3s0.447-1,1-1s1,0.447,1,1S3.553,4,3,4z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/tag-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/tag-white.svg deleted file mode 100644 index 7cd4a50af441235f21f02f7a91d92b951dcf3e92..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/tag-white.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path fill="#FFF" d="M5,0H0v5l9,9l5-5L5,0z M3,4C2.447,4,2,3.553,2,3s0.447-1,1-1s1,0.447,1,1S3.553,4,3,4z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/user-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/user-black.svg deleted file mode 100644 index 7530c98752dd65391492614337eff1247c5c1016..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/user-black.svg +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path d="M8.851,10.101c-0.18-0.399-0.2-0.763-0.153-1.104C9.383,8.49,9.738,7.621,9.891,6.465C10.493,6.355,10.5,5.967,10.5,5.5 - c0-0.437-0.008-0.804-0.502-0.94C9.999,4.539,10,4.521,10,4.5c0-2.103-1-4-2-4C8,0.5,7.5,0,6.5,0C5,0,4,1.877,4,4.5 - c0,0.021,0.001,0.039,0.002,0.06C3.508,4.696,3.5,5.063,3.5,5.5c0,0.467,0.007,0.855,0.609,0.965 - C4.262,7.621,4.617,8.49,5.303,8.997c0.047,0.341,0.026,0.704-0.153,1.104C1.503,10.503,0,12,0,12v2h14v-2 - C14,12,12.497,10.503,8.851,10.101z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/user-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/user-white.svg deleted file mode 100644 index 5528c2e971204ce00d8ede87e91c6de1b6b6f343..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/user-white.svg +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve"> -<path fill="#FFF" d="M8.851,10.101c-0.18-0.399-0.2-0.763-0.153-1.104C9.383,8.49,9.738,7.621,9.891,6.465C10.493,6.355,10.5,5.967,10.5,5.5 - c0-0.437-0.008-0.804-0.502-0.94C9.999,4.539,10,4.521,10,4.5c0-2.103-1-4-2-4C8,0.5,7.5,0,6.5,0C5,0,4,1.877,4,4.5 - c0,0.021,0.001,0.039,0.002,0.06C3.508,4.696,3.5,5.063,3.5,5.5c0,0.467,0.007,0.855,0.609,0.965 - C4.262,7.621,4.617,8.49,5.303,8.997c0.047,0.341,0.026,0.704-0.153,1.104C1.503,10.503,0,12,0,12v2h14v-2 - C14,12,12.497,10.503,8.851,10.101z"/> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -<g> -</g> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/video-black.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/video-black.svg deleted file mode 100644 index 9474acd4597bf8cbc7c845eff7ecbd1282e7cdfd..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/video-black.svg +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 -2 14 14" style="enable-background:new 0 -2 14 14;" xml:space="preserve"> -<path d="M8,0H2C0.896,0,0,0.896,0,2v6c0,1.104,0.896,2,2,2h6c1.104,0,2-0.896,2-2V5V2C10,0.896,9.104,0,8,0z M10,5l4,4V1L10,5z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/video-white.svg b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/video-white.svg deleted file mode 100644 index 36198685ab837e890a7b623447f1d3fd45b74fa7..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/images/icons-svg/video-white.svg +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - width="14px" height="14px" viewBox="0 -2 14 14" style="enable-background:new 0 -2 14 14;" xml:space="preserve"> -<path style="fill:#FFFFFF;" d="M8,0H2C0.896,0,0,0.896,0,2v6c0,1.104,0.896,2,2,2h6c1.104,0,2-0.896,2-2V5V2C10,0.896,9.104,0,8,0z - M10,5l4,4V1L10,5z"/> -</svg> diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile-1.4.5.css b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile-1.4.5.css deleted file mode 100644 index 9ba6fa73150294f8e02abd1a233b13a42a5a42d7..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile-1.4.5.css +++ /dev/null @@ -1,4737 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! -* jQuery Mobile 1.4.5 -* Git HEAD hash: 68e55e78b292634d3991c795f06f5e37a512decc <> Date: Fri Oct 31 2014 17:33:30 UTC -* http://jquerymobile.com -* -* Copyright 2010, 2014 jQuery Foundation, Inc. and othercontributors -* Released under the MIT license. -* http://jquery.org/license -* -*/ - - -/* SVG icons */ -.ui-icon-action:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M9%2C5v3l5-4L9%2C0v3c0%2C0-5%2C0-5%2C7C6%2C5%2C9%2C5%2C9%2C5z%20M11%2C12H2V5h1l2-2H0v11h13V7l-2%2C2V12z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-alert:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C0L0%2C12h14L7%2C0z%20M7%2C11c-0.553%2C0-1-0.447-1-1s0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1S7.553%2C11%2C7%2C11z%20M7%2C8%20C6.447%2C8%2C6%2C7.553%2C6%2C7V5c0-0.553%2C0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1v2C8%2C7.553%2C7.553%2C8%2C7%2C8z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-d-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C3%2011%2C0%203.5%2C7.5%200%2C4%200%2C14%2010%2C14%206.5%2C10.5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-d-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2210.5%2C7.5%203%2C0%200%2C3%207.5%2C10.5%204%2C14%2014%2C14%2014%2C4%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-d:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%229%2C7%209%2C0%205%2C0%205%2C7%200%2C7%207%2C14%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C5%207%2C0%200%2C7%207%2C14%207%2C9%2014%2C9%2014%2C5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C7%207%2C0%207%2C5%200%2C5%200%2C9%207%2C9%207%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-u-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C11%206.5%2C3.5%2010%2C0%200%2C0%200%2C10%203.5%2C6.5%2011%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-u-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C0%204%2C0%207.5%2C3.5%200%2C11%203%2C14%2010.5%2C6.5%2014%2C10%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-u:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C0%200%2C7%205%2C7%205%2C14%209%2C14%209%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-audio:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.018px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014.018%2014%22%20style%3D%22enable-background%3Anew%200%200%2014.018%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M1%2C4C0.447%2C4%2C0%2C4.447%2C0%2C5v4c0%2C0.553%2C0.447%2C1%2C1%2C1h1l4%2C4V0L2%2C4H1z%20M10.346%2C7c0-1.699-1.042-3.154-2.546-3.867L6.982%2C4.68%20C7.885%2C5.107%2C8.51%2C5.98%2C8.51%2C7S7.885%2C8.893%2C6.982%2C9.32L7.8%2C10.867C9.304%2C10.154%2C10.346%2C8.699%2C10.346%2C7z%20M9.447%2C0.017L8.618%2C1.586%20C10.723%2C2.584%2C12.182%2C4.621%2C12.182%2C7s-1.459%2C4.416-3.563%2C5.414l0.829%2C1.569c2.707-1.283%2C4.57-3.925%2C4.57-6.983%20S12.154%2C1.3%2C9.447%2C0.017z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-back:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M5%2C3V0L1%2C4l4%2C4V5c0%2C0%2C6%2C0%2C6%2C3s-5%2C4-5%2C4v2c0%2C0%2C7-1%2C7-6C13%2C4%2C8%2C3%2C5%2C3z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-bars:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M1%2C4h12c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H1C0.447%2C2%2C0%2C2.447%2C0%2C3S0.447%2C4%2C1%2C4z%20M13%2C6H1%20C0.447%2C6%2C0%2C6.447%2C0%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H1c-0.553%2C0-1%2C0.447-1%2C1%20s0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-bullets:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M5%2C4h8c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H5C4.447%2C2%2C4%2C2.447%2C4%2C3S4.447%2C4%2C5%2C4z%20M13%2C6H5%20C4.447%2C6%2C4%2C6.447%2C4%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H5c-0.553%2C0-1%2C0.447-1%2C1%20s0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%20M1%2C2C0.447%2C2%2C0%2C2.447%2C0%2C3s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C2%2C1%2C2z%20M1%2C6%20C0.447%2C6%2C0%2C6.447%2C0%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1s1-0.447%2C1-1C2%2C6.447%2C1.553%2C6%2C1%2C6z%20M1%2C10c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1s1-0.447%2C1-1%20S1.553%2C10%2C1%2C10z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-calendar:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M0%2C8h2V6H0V8z%20M3%2C8h2V6H3V8z%20M6%2C8h2V6H6V8z%20M9%2C8h2V6H9V8z%20M12%2C8h2V6h-2V8z%20M0%2C11h2V9H0V11z%20M3%2C11h2V9H3V11z%20M6%2C11h2V9H6V11z%20%20M9%2C11h2V9H9V11z%20M12%2C11h2V9h-2V11z%20M0%2C14h2v-2H0V14z%20M3%2C14h2v-2H3V14z%20M6%2C14h2v-2H6V14z%20M9%2C14h2v-2H9V14z%20M12%2C1%20c0-0.553-0.447-1-1-1s-1%2C0.447-1%2C1H4c0-0.553-0.447-1-1-1S2%2C0.447%2C2%2C1H0v4h14V1H12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-camera:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M12%2C2.5H9.908c-0.206-0.581-0.756-1-1.408-1h-3c-0.652%2C0-1.202%2C0.419-1.408%2C1H2c-1.104%2C0-2%2C0.896-2%2C2%20v6c0%2C1.104%2C0.896%2C2%2C2%2C2h10c1.104%2C0%2C2-0.896%2C2-2v-6C14%2C3.396%2C13.104%2C2.5%2C12%2C2.5z%20M7%2C10.5c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3C10%2C9.156%2C8.657%2C10.5%2C7%2C10.5z%20M7%2C5.5c-1.104%2C0-2%2C0.896-2%2C2c0%2C1.104%2C0.896%2C2%2C2%2C2c1.104%2C0%2C2-0.896%2C2-2%20C9%2C6.396%2C8.104%2C5.5%2C7%2C5.5z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-carat-d:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2211.949%2C3.404%207%2C8.354%202.05%2C3.404%20-0.071%2C5.525%207%2C12.596%2014.07%2C5.525%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-carat-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2210.596%2C11.949%205.646%2C7%2010.596%2C2.05%208.475%2C-0.071%201.404%2C7%208.475%2C14.07%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-carat-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%223.404%2C2.051%208.354%2C7%203.404%2C11.95%205.525%2C14.07%2012.596%2C7%205.525%2C-0.071%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-carat-u:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%222.051%2C10.596%207%2C5.646%2011.95%2C10.596%2014.07%2C8.475%207%2C1.404%20-0.071%2C8.475%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-check:after, -/* Used ui-checkbox-on twice to increase specificity. If active state has background-image for gradient this rule overrides. */ -html .ui-btn.ui-checkbox-on.ui-checkbox-on:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2214%2C4%2011%2C1%205.003%2C6.997%203%2C5%200%2C8%204.966%2C13%204.983%2C12.982%205%2C13%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-clock:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C12c-2.762%2C0-5-2.238-5-5s2.238-5%2C5-5s5%2C2.238%2C5%2C5%20S9.762%2C12%2C7%2C12z%20M9%2C6H8V4c0-0.553-0.447-1-1-1S6%2C3.447%2C6%2C4v3c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1S9.553%2C6%2C9%2C6z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-cloud:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M14%2C9.5c0-0.793-0.465-1.473-1.134-1.795C12.949%2C7.484%2C13%2C7.249%2C13%2C7c0-1.104-0.896-2-2-2%20c-0.158%2C0-0.311%2C0.023-0.457%2C0.058C9.816%2C3.549%2C8.286%2C2.5%2C6.5%2C2.5c-2.33%2C0-4.224%2C1.777-4.454%2C4.046C0.883%2C6.76%2C0%2C7.773%2C0%2C9%20c0%2C1.381%2C1.119%2C2.5%2C2.5%2C2.5h10v-0.07C13.361%2C11.206%2C14%2C10.432%2C14%2C9.5z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-comment:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M12%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v7c0%2C1.104%2C0.896%2C2%2C2%2C2h1v3l3-3h6c1.104%2C0%2C2-0.896%2C2-2V2C14%2C0.896%2C13.104%2C0%2C12%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-delete:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C3%2011%2C0%207%2C4%203%2C0%200%2C3%204%2C7%200%2C11%203%2C14%207%2C10%2011%2C14%2014%2C11%2010%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-edit:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M1%2C10l-1%2C4l4-1l7-7L8%2C3L1%2C10z%20M11%2C0L9%2C2l3%2C3l2-2L11%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-eye:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C2C3%2C2%2C0%2C7%2C0%2C7s3%2C5%2C7%2C5s7-5%2C7-5S11%2C2%2C7%2C2z%20M7%2C10c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3C10%2C8.656%2C8.657%2C10%2C7%2C10z%20M7%2C6C6.448%2C6%2C6%2C6.447%2C6%2C7c0%2C0.553%2C0.448%2C1%2C1%2C1s1-0.447%2C1-1C8%2C6.447%2C7.552%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-forbidden:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M12.601%2C11.187C13.476%2C10.018%2C14%2C8.572%2C14%2C7c0-3.866-3.134-7-7-7C5.428%2C0%2C3.982%2C0.524%2C2.813%2C1.399L2.757%2C1.343L2.053%2C2.048%20L2.048%2C2.053L1.343%2C2.758l0.056%2C0.056C0.524%2C3.982%2C0%2C5.428%2C0%2C7c0%2C3.866%2C3.134%2C7%2C7%2C7c1.572%2C0%2C3.018-0.524%2C4.187-1.399l0.056%2C0.057%20l0.705-0.705l0.005-0.005l0.705-0.705L12.601%2C11.187z%20M7%2C2c2.761%2C0%2C5%2C2.238%2C5%2C5c0%2C1.019-0.308%2C1.964-0.832%2C2.754L4.246%2C2.832%20C5.036%2C2.308%2C5.981%2C2%2C7%2C2z%20M7%2C12c-2.761%2C0-5-2.238-5-5c0-1.019%2C0.308-1.964%2C0.832-2.754l6.922%2C6.922C8.964%2C11.692%2C8.019%2C12%2C7%2C12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-forward:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M13%2C4L9%2C0v3C6%2C3%2C1%2C4%2C1%2C8c0%2C5%2C7%2C6%2C7%2C6v-2c0%2C0-5-1-5-4s6-3%2C6-3v3L13%2C4z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-gear:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M13.621%2C5.904l-1.036-0.259c-0.168-0.042-0.303-0.168-0.355-0.332c-0.092-0.284-0.205-0.559-0.339-0.82%20c-0.079-0.153-0.073-0.337%2C0.017-0.486l0.549-0.915c0.118-0.196%2C0.088-0.448-0.075-0.61l-0.862-0.863%20c-0.162-0.163-0.414-0.193-0.611-0.075l-0.916%2C0.55C9.844%2C2.182%2C9.659%2C2.188%2C9.506%2C2.109C9.244%2C1.975%2C8.97%2C1.861%2C8.686%2C1.77%20c-0.165-0.052-0.29-0.187-0.332-0.354L8.095%2C0.379C8.039%2C0.156%2C7.839%2C0%2C7.609%2C0H6.391c-0.229%2C0-0.43%2C0.156-0.485%2C0.379L5.646%2C1.415%20C5.604%2C1.582%2C5.479%2C1.718%2C5.313%2C1.77c-0.284%2C0.092-0.559%2C0.206-0.82%2C0.34C4.339%2C2.188%2C4.155%2C2.182%2C4.007%2C2.093L3.092%2C1.544%20c-0.196-0.118-0.448-0.087-0.61%2C0.075L1.619%2C2.481C1.457%2C2.644%2C1.426%2C2.896%2C1.544%2C3.093l0.549%2C0.914%20c0.089%2C0.148%2C0.095%2C0.332%2C0.017%2C0.486C1.975%2C4.755%2C1.861%2C5.029%2C1.77%2C5.314c-0.053%2C0.164-0.188%2C0.29-0.354%2C0.332L0.379%2C5.905%20C0.156%2C5.961%2C0%2C6.161%2C0%2C6.391v1.219c0%2C0.229%2C0.156%2C0.43%2C0.379%2C0.485l1.036%2C0.26C1.582%2C8.396%2C1.717%2C8.521%2C1.77%2C8.687%20c0.092%2C0.284%2C0.205%2C0.559%2C0.34%2C0.82C2.188%2C9.66%2C2.182%2C9.844%2C2.093%2C9.993l-0.549%2C0.915c-0.118%2C0.195-0.087%2C0.448%2C0.075%2C0.61%20l0.862%2C0.862c0.162%2C0.163%2C0.414%2C0.193%2C0.61%2C0.075l0.915-0.549c0.148-0.089%2C0.332-0.095%2C0.486-0.017%20c0.262%2C0.135%2C0.536%2C0.248%2C0.82%2C0.34c0.165%2C0.053%2C0.291%2C0.187%2C0.332%2C0.354l0.259%2C1.036C5.96%2C13.844%2C6.16%2C14%2C6.39%2C14h1.22%20c0.229%2C0%2C0.43-0.156%2C0.485-0.379l0.259-1.036c0.042-0.167%2C0.168-0.302%2C0.333-0.354c0.284-0.092%2C0.559-0.205%2C0.82-0.34%20c0.154-0.078%2C0.338-0.072%2C0.486%2C0.017l0.914%2C0.549c0.197%2C0.118%2C0.449%2C0.088%2C0.611-0.074l0.862-0.863%20c0.163-0.162%2C0.193-0.415%2C0.075-0.611l-0.549-0.915c-0.089-0.148-0.096-0.332-0.017-0.485c0.134-0.263%2C0.248-0.536%2C0.339-0.82%20c0.053-0.165%2C0.188-0.291%2C0.355-0.333l1.036-0.259C13.844%2C8.039%2C14%2C7.839%2C14%2C7.609V6.39C14%2C6.16%2C13.844%2C5.96%2C13.621%2C5.904z%20M7%2C10%20c-1.657%2C0-3-1.343-3-3s1.343-3%2C3-3s3%2C1.343%2C3%2C3S8.657%2C10%2C7%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-grid:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M3%2C0H1C0.447%2C0%2C0%2C0.447%2C0%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C4%2C0.447%2C3.553%2C0%2C3%2C0z%20M8%2C0H6%20C5.447%2C0%2C5%2C0.447%2C5%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C9%2C0.447%2C8.553%2C0%2C8%2C0z%20M13%2C0h-2c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C14%2C0.447%2C13.553%2C0%2C13%2C0z%20M3%2C5H1C0.447%2C5%2C0%2C5.447%2C0%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1V6C4%2C5.447%2C3.553%2C5%2C3%2C5z%20M8%2C5H6C5.447%2C5%2C5%2C5.447%2C5%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6%20C9%2C5.447%2C8.553%2C5%2C8%2C5z%20M13%2C5h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6C14%2C5.447%2C13.553%2C5%2C13%2C5z%20M3%2C10%20H1c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C4%2C10.447%2C3.553%2C10%2C3%2C10z%20M8%2C10H6c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C9%2C10.447%2C8.553%2C10%2C8%2C10z%20M13%2C10h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1v-2C14%2C10.447%2C13.553%2C10%2C13%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-heart:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C1.872c-2-3-7-2-7%2C2c0%2C3%2C4%2C7%2C4%2C7s2.417%2C2.479%2C3%2C3c0.583-0.521%2C3-3%2C3-3s4-4%2C4-7%20C14-0.128%2C9-1.128%2C7%2C1.872z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-home:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C0%200%2C7%202%2C7%202%2C14%205%2C14%205%2C9%209%2C9%209%2C14%2012%2C14%2012%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-info:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C2c0.552%2C0%2C1%2C0.447%2C1%2C1S7.552%2C4%2C7%2C4S6%2C3.553%2C6%2C3%20S6.448%2C2%2C7%2C2z%20M9%2C11H5v-1h1V6H5V5h3v5h1V11z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-location:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C0C4.791%2C0%2C3%2C1.791%2C3%2C4c0%2C2%2C4%2C10%2C4%2C10s4-8%2C4-10C11%2C1.791%2C9.209%2C0%2C7%2C0z%20M7%2C6C5.896%2C6%2C5%2C5.104%2C5%2C4%20s0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2S8.104%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-lock:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M12%2C6V5c0-2.762-2.238-5-5-5C4.239%2C0%2C2%2C2.238%2C2%2C5v1H1v8h12V6H12z%20M7.5%2C9.848V12h-1V9.848%20C6.207%2C9.673%2C6%2C9.366%2C6%2C9c0-0.553%2C0.448-1%2C1-1s1%2C0.447%2C1%2C1C8%2C9.366%2C7.793%2C9.673%2C7.5%2C9.848z%20M10%2C6H4V5c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3V6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-mail:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M0%2C3.75V12h14V3.75L7%2C9L0%2C3.75z%20M14%2C2H0l7%2C5L14%2C2z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-minus:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20y%3D%225%22%20style%3D%22fill%3A%23FFFFFF%3B%22%20width%3D%2214%22%20height%3D%224%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-navigation:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2213%2C1%200%2C6%207%2C7%208%2C14%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-phone:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%22-0.01%200.008%2014%2014%22%20style%3D%22enable-background%3Anew%20-0.01%200.008%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M6.939%2C9.189C6.165%2C8.557%2C5.271%2C7.705%2C4.497%2C6.744C3.953%2C6.071%2C3.473%2C5.363%2C3.969%2C4.866l-3.482-3.48%20C-0.021%2C2.02-1.146%2C5.04%2C3.675%2C9.984c5.08%2C5.211%2C8.356%2C4.097%2C8.92%2C3.511l-3.396-3.4C8.725%2C10.568%2C8.113%2C10.146%2C6.939%2C9.189z%20%20M13.82%2C11.519v-0.004c0%2C0-2.648-2.646-2.649-2.647c-0.21-0.211-0.546-0.205-0.754%2C0.002L9.455%2C9.831l3.403%2C3.407%20c0%2C0%2C0.962-0.96%2C0.961-0.961l0.002-0.001C14.043%2C12.056%2C14.021%2C11.721%2C13.82%2C11.519z%20M5.192%2C3.644V3.642%20c0.222-0.222%2C0.2-0.557%2C0-0.758V2.881c0%2C0-2.726-2.725-2.727-2.726C2.255-0.055%2C1.92-0.05%2C1.712%2C0.156L0.751%2C1.121l3.479%2C3.482%20C4.231%2C4.604%2C5.192%2C3.645%2C5.192%2C3.644z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-plus:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C5%209%2C5%209%2C0%205%2C0%205%2C5%200%2C5%200%2C9%205%2C9%205%2C14%209%2C14%209%2C9%2014%2C9%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-power:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M11.243%2C2.408c-0.392-0.401-1.024-0.401-1.415%2C0c-0.391%2C0.401-0.391%2C1.054%2C0%2C1.455%20C10.584%2C4.642%2C11%2C5.675%2C11%2C6.773s-0.416%2C2.133-1.172%2C2.91c-1.512%2C1.558-4.145%2C1.558-5.656%2C0C3.416%2C8.904%2C3%2C7.872%2C3%2C6.773%20C3%2C5.673%2C3.416%2C4.64%2C4.172%2C3.863c0.39-0.401%2C0.39-1.054%2C0-1.455c-0.391-0.401-1.024-0.401-1.415%2C0C1.624%2C3.574%2C1%2C5.125%2C1%2C6.773%20c0%2C1.647%2C0.624%2C3.199%2C1.757%2C4.365c1.134%2C1.166%2C2.64%2C1.809%2C4.243%2C1.809c1.604%2C0%2C3.109-0.645%2C4.243-1.811%20C12.376%2C9.975%2C13%2C8.423%2C13%2C6.773C13%2C5.125%2C12.376%2C3.574%2C11.243%2C2.408z%20M7%2C8.053c0.553%2C0%2C1-0.445%2C1-1v-6c0-0.553-0.447-1-1-1%20c-0.553%2C0-1%2C0.447-1%2C1v6C6%2C7.604%2C6.447%2C8.053%2C7%2C8.053z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-recycle:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M3%2C7h1L2%2C4L0%2C7h1c0%2C3.313%2C2.687%2C6%2C6%2C6c0.702%2C0%2C1.374-0.127%2C2-0.35v-2.205C8.41%2C10.789%2C7.732%2C11%2C7%2C11%20C4.791%2C11%2C3%2C9.209%2C3%2C7z%20M13%2C7c0-3.313-2.688-6-6-6C6.298%2C1%2C5.626%2C1.127%2C5%2C1.349v2.206C5.59%2C3.211%2C6.268%2C3%2C7%2C3c2.209%2C0%2C4%2C1.791%2C4%2C4%20h-1l2%2C3l2-3H13z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-refresh:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.001px%22%20height%3D%2214.002px%22%20viewBox%3D%220%200%2014.001%2014.002%22%20style%3D%22enable-background%3Anew%200%200%2014.001%2014.002%3B%22%20%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M14.001%2C6.001v-6l-2.06%2C2.06c-0.423-0.424-0.897-0.809-1.44-1.122C7.153-0.994%2C2.872%2C0.153%2C0.939%2C3.501%20c-1.933%2C3.348-0.786%2C7.629%2C2.562%2C9.562c3.348%2C1.933%2C7.629%2C0.785%2C9.562-2.562l-1.732-1c-1.381%2C2.392-4.438%2C3.211-6.83%2C1.83%20s-3.211-4.438-1.83-6.83s4.438-3.211%2C6.83-1.83c0.389%2C0.225%2C0.718%2C0.506%2C1.02%2C0.81l-2.52%2C2.52H14.001z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-search:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M10.171%2C8.766c0.617-0.888%2C0.979-1.964%2C0.979-3.126c0-3.037-2.463-5.5-5.5-5.5s-5.5%2C2.463-5.5%2C5.5%20s2.463%2C5.5%2C5.5%2C5.5c1.152%2C0%2C2.223-0.355%2C3.104-0.962l3.684%2C3.683l1.414-1.414L10.171%2C8.766z%20M5.649%2C9.14c-1.933%2C0-3.5-1.567-3.5-3.5%20c0-1.933%2C1.567-3.5%2C3.5-3.5c1.933%2C0%2C3.5%2C1.567%2C3.5%2C3.5C9.149%2C7.572%2C7.582%2C9.14%2C5.649%2C9.14z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-shop:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M10%2C4V3c0-1.657-1.343-3-3-3S4%2C1.343%2C4%2C3v1H1v10h12V4H10z%20M4.5%2C6C4.224%2C6%2C4%2C5.776%2C4%2C5.5%20S4.224%2C5%2C4.5%2C5S5%2C5.224%2C5%2C5.5S4.776%2C6%2C4.5%2C6z%20M5%2C3c0-1.104%2C0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2v1H5V3z%20M9.5%2C6C9.225%2C6%2C9%2C5.776%2C9%2C5.5%20S9.225%2C5%2C9.5%2C5S10%2C5.224%2C10%2C5.5S9.775%2C6%2C9.5%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-star:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2214%2C5%209%2C5%207%2C0%205%2C5%200%2C5%204%2C8%202.625%2C13%207%2C10%2011.375%2C13%2010%2C8%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-tag:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M5%2C0H0v5l9%2C9l5-5L5%2C0z%20M3%2C4C2.447%2C4%2C2%2C3.553%2C2%2C3s0.447-1%2C1-1s1%2C0.447%2C1%2C1S3.553%2C4%2C3%2C4z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-user:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M8.851%2C10.101c-0.18-0.399-0.2-0.763-0.153-1.104C9.383%2C8.49%2C9.738%2C7.621%2C9.891%2C6.465C10.493%2C6.355%2C10.5%2C5.967%2C10.5%2C5.5%20c0-0.437-0.008-0.804-0.502-0.94C9.999%2C4.539%2C10%2C4.521%2C10%2C4.5c0-2.103-1-4-2-4C8%2C0.5%2C7.5%2C0%2C6.5%2C0C5%2C0%2C4%2C1.877%2C4%2C4.5%20c0%2C0.021%2C0.001%2C0.039%2C0.002%2C0.06C3.508%2C4.696%2C3.5%2C5.063%2C3.5%2C5.5c0%2C0.467%2C0.007%2C0.855%2C0.609%2C0.965%20C4.262%2C7.621%2C4.617%2C8.49%2C5.303%2C8.997c0.047%2C0.341%2C0.026%2C0.704-0.153%2C1.104C1.503%2C10.503%2C0%2C12%2C0%2C12v2h14v-2%20C14%2C12%2C12.497%2C10.503%2C8.851%2C10.101z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-video:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%20-2%2014%2014%22%20style%3D%22enable-background%3Anew%200%20-2%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M8%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2h6c1.104%2C0%2C2-0.896%2C2-2V5V2C10%2C0.896%2C9.104%2C0%2C8%2C0z%20%20M10%2C5l4%2C4V1L10%2C5z%22%2F%3E%3C%2Fsvg%3E"); -} -/* Alt icons */ -.ui-alt-icon.ui-icon-action:after, -.ui-alt-icon .ui-icon-action:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M9%2C5v3l5-4L9%2C0v3c0%2C0-5%2C0-5%2C7C6%2C5%2C9%2C5%2C9%2C5z%20M11%2C12H2V5h1l2-2H0v11h13V7l-2%2C2V12z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-alert:after, -.ui-alt-icon .ui-icon-alert:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0L0%2C12h14L7%2C0z%20M7%2C11c-0.553%2C0-1-0.447-1-1s0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1S7.553%2C11%2C7%2C11z%20M7%2C8C6.447%2C8%2C6%2C7.553%2C6%2C7V5%20c0-0.553%2C0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1v2C8%2C7.553%2C7.553%2C8%2C7%2C8z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-d:after, -.ui-alt-icon .ui-icon-arrow-d:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%229%2C7%209%2C0%205%2C0%205%2C7%200%2C7%207%2C14%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-d-l:after, -.ui-alt-icon .ui-icon-arrow-d-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C3%2011%2C0%203.5%2C7.5%200%2C4%200%2C14%2010%2C14%206.5%2C10.5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-d-r:after, -.ui-alt-icon .ui-icon-arrow-d-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2210.5%2C7.5%203%2C0%200%2C3%207.5%2C10.5%204%2C14%2014%2C14%2014%2C4%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-l:after, -.ui-alt-icon .ui-icon-arrow-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C5%207%2C0%200%2C7%207%2C14%207%2C9%2014%2C9%2014%2C5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-r:after, -.ui-alt-icon .ui-icon-arrow-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C7%207%2C0%207%2C5%200%2C5%200%2C9%207%2C9%207%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-u:after, -.ui-alt-icon .ui-icon-arrow-u:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C0%200%2C7%205%2C7%205%2C14%209%2C14%209%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-u-l:after, -.ui-alt-icon .ui-icon-arrow-u-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C11%206.5%2C3.5%2010%2C0%200%2C0%200%2C10%203.5%2C6.5%2011%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-u-r:after, -.ui-alt-icon .ui-icon-arrow-u-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C0%204%2C0%207.5%2C3.5%200%2C11%203%2C14%2010.5%2C6.5%2014%2C10%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-audio:after, -.ui-alt-icon .ui-icon-audio:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.018px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014.018%2014%22%20style%3D%22enable-background%3Anew%200%200%2014.018%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C4C0.447%2C4%2C0%2C4.447%2C0%2C5v4c0%2C0.553%2C0.447%2C1%2C1%2C1h1l4%2C4V0L2%2C4H1z%20M10.346%2C7c0-1.699-1.042-3.154-2.546-3.867L6.982%2C4.68%20C7.885%2C5.107%2C8.51%2C5.98%2C8.51%2C7S7.885%2C8.893%2C6.982%2C9.32L7.8%2C10.867C9.304%2C10.154%2C10.346%2C8.699%2C10.346%2C7z%20M9.447%2C0.017L8.618%2C1.586%20C10.723%2C2.584%2C12.182%2C4.621%2C12.182%2C7s-1.459%2C4.416-3.563%2C5.414l0.829%2C1.569c2.707-1.283%2C4.57-3.925%2C4.57-6.983%20S12.154%2C1.3%2C9.447%2C0.017z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-back:after, -.ui-alt-icon .ui-icon-back:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C3V0L1%2C4l4%2C4V5c0%2C0%2C6%2C0%2C6%2C3s-5%2C4-5%2C4v2c0%2C0%2C7-1%2C7-6C13%2C4%2C8%2C3%2C5%2C3z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-bars:after, -.ui-alt-icon .ui-icon-bars:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C4h12c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H1C0.447%2C2%2C0%2C2.447%2C0%2C3S0.447%2C4%2C1%2C4z%20M13%2C6H1C0.447%2C6%2C0%2C6.447%2C0%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H1c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1h12%20c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-bullets:after, -.ui-alt-icon .ui-icon-bullets:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C4h8c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H5C4.447%2C2%2C4%2C2.447%2C4%2C3S4.447%2C4%2C5%2C4z%20M13%2C6H5C4.447%2C6%2C4%2C6.447%2C4%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H5c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1h8%20c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%20M1%2C2C0.447%2C2%2C0%2C2.447%2C0%2C3s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C2%2C1%2C2z%20M1%2C6C0.447%2C6%2C0%2C6.447%2C0%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1s1-0.447%2C1-1C2%2C6.447%2C1.553%2C6%2C1%2C6z%20M1%2C10c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C10%2C1%2C10z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-calendar:after, -.ui-alt-icon .ui-icon-calendar:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M0%2C8h2V6H0V8z%20M3%2C8h2V6H3V8z%20M6%2C8h2V6H6V8z%20M9%2C8h2V6H9V8z%20M12%2C8h2V6h-2V8z%20M0%2C11h2V9H0V11z%20M3%2C11h2V9H3V11z%20M6%2C11h2V9H6V11z%20%20M9%2C11h2V9H9V11z%20M12%2C11h2V9h-2V11z%20M0%2C14h2v-2H0V14z%20M3%2C14h2v-2H3V14z%20M6%2C14h2v-2H6V14z%20M9%2C14h2v-2H9V14z%20M12%2C1%20c0-0.553-0.447-1-1-1s-1%2C0.447-1%2C1H4c0-0.553-0.447-1-1-1S2%2C0.447%2C2%2C1H0v4h14V1H12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-camera:after, -.ui-alt-icon .ui-icon-camera:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C2.5H9.908c-0.206-0.581-0.756-1-1.408-1h-3c-0.652%2C0-1.202%2C0.419-1.408%2C1H2c-1.104%2C0-2%2C0.896-2%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2%20h10c1.104%2C0%2C2-0.896%2C2-2v-6C14%2C3.396%2C13.104%2C2.5%2C12%2C2.5z%20M7%2C10.5c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3%20C10%2C9.156%2C8.657%2C10.5%2C7%2C10.5z%20M7%2C5.5c-1.104%2C0-2%2C0.896-2%2C2c0%2C1.104%2C0.896%2C2%2C2%2C2c1.104%2C0%2C2-0.896%2C2-2C9%2C6.396%2C8.104%2C5.5%2C7%2C5.5z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-carat-d:after, -.ui-alt-icon .ui-icon-carat-d:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2211.949%2C3.404%207%2C8.354%202.05%2C3.404%20-0.071%2C5.525%207%2C12.596%2014.07%2C5.525%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-carat-l:after, -.ui-alt-icon .ui-icon-carat-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2210.596%2C11.949%205.646%2C7%2010.596%2C2.05%208.475%2C-0.071%201.404%2C7%208.475%2C14.07%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-carat-r:after, -.ui-alt-icon .ui-icon-carat-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%223.404%2C2.051%208.354%2C7%203.404%2C11.95%205.525%2C14.07%2012.596%2C7%205.525%2C-0.071%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-carat-u:after, -.ui-alt-icon .ui-icon-carat-u:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%222.051%2C10.596%207%2C5.646%2011.95%2C10.596%2014.07%2C8.475%207%2C1.404%20-0.071%2C8.475%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-check:after, -.ui-alt-icon .ui-icon-check:after, -html .ui-alt-icon.ui-btn.ui-checkbox-on:after, -html .ui-alt-icon .ui-btn.ui-checkbox-on:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C4%2011%2C1%205.003%2C6.997%203%2C5%200%2C8%204.966%2C13%204.983%2C12.982%205%2C13%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-clock:after, -.ui-alt-icon .ui-icon-clock:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C12c-2.762%2C0-5-2.238-5-5s2.238-5%2C5-5s5%2C2.238%2C5%2C5%20S9.762%2C12%2C7%2C12z%20M9%2C6H8V4c0-0.553-0.447-1-1-1S6%2C3.447%2C6%2C4v3c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1S9.553%2C6%2C9%2C6z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-cloud:after, -.ui-alt-icon .ui-icon-cloud:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M14%2C9.5c0-0.793-0.465-1.473-1.134-1.795C12.949%2C7.484%2C13%2C7.249%2C13%2C7c0-1.104-0.896-2-2-2c-0.158%2C0-0.311%2C0.023-0.457%2C0.058%20C9.816%2C3.549%2C8.286%2C2.5%2C6.5%2C2.5c-2.33%2C0-4.224%2C1.777-4.454%2C4.046C0.883%2C6.76%2C0%2C7.773%2C0%2C9c0%2C1.381%2C1.119%2C2.5%2C2.5%2C2.5h10v-0.07%20C13.361%2C11.206%2C14%2C10.432%2C14%2C9.5z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-comment:after, -.ui-alt-icon .ui-icon-comment:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v7c0%2C1.104%2C0.896%2C2%2C2%2C2h1v3l3-3h6c1.104%2C0%2C2-0.896%2C2-2V2C14%2C0.896%2C13.104%2C0%2C12%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-delete:after, -.ui-alt-icon .ui-icon-delete:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C3%2011%2C0%207%2C4%203%2C0%200%2C3%204%2C7%200%2C11%203%2C14%207%2C10%2011%2C14%2014%2C11%2010%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-edit:after, -.ui-alt-icon .ui-icon-edit:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C10l-1%2C4l4-1l7-7L8%2C3L1%2C10z%20M11%2C0L9%2C2l3%2C3l2-2L11%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-eye:after, -.ui-alt-icon .ui-icon-eye:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C2C3%2C2%2C0%2C7%2C0%2C7s3%2C5%2C7%2C5s7-5%2C7-5S11%2C2%2C7%2C2z%20M7%2C10c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3%20C10%2C8.656%2C8.657%2C10%2C7%2C10z%20M7%2C6C6.448%2C6%2C6%2C6.447%2C6%2C7c0%2C0.553%2C0.448%2C1%2C1%2C1s1-0.447%2C1-1C8%2C6.447%2C7.552%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-forbidden:after, -.ui-alt-icon .ui-icon-forbidden:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12.601%2C11.187C13.476%2C10.018%2C14%2C8.572%2C14%2C7c0-3.866-3.134-7-7-7C5.428%2C0%2C3.982%2C0.524%2C2.813%2C1.399L2.757%2C1.343L2.053%2C2.048%20L2.048%2C2.053L1.343%2C2.758l0.056%2C0.056C0.524%2C3.982%2C0%2C5.428%2C0%2C7c0%2C3.866%2C3.134%2C7%2C7%2C7c1.572%2C0%2C3.018-0.524%2C4.187-1.399l0.056%2C0.057%20l0.705-0.705l0.005-0.005l0.705-0.705L12.601%2C11.187z%20M7%2C2c2.761%2C0%2C5%2C2.238%2C5%2C5c0%2C1.019-0.308%2C1.964-0.832%2C2.754L4.246%2C2.832%20C5.036%2C2.308%2C5.981%2C2%2C7%2C2z%20M7%2C12c-2.761%2C0-5-2.238-5-5c0-1.019%2C0.308-1.964%2C0.832-2.754l6.922%2C6.922C8.964%2C11.692%2C8.019%2C12%2C7%2C12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-forward:after, -.ui-alt-icon .ui-icon-forward:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M13%2C4L9%2C0v3C6%2C3%2C1%2C4%2C1%2C8c0%2C5%2C7%2C6%2C7%2C6v-2c0%2C0-5-1-5-4s6-3%2C6-3v3L13%2C4z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-gear:after, -.ui-alt-icon .ui-icon-gear:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M13.621%2C5.904l-1.036-0.259c-0.168-0.042-0.303-0.168-0.355-0.332c-0.092-0.284-0.205-0.559-0.339-0.82%20c-0.079-0.153-0.073-0.337%2C0.017-0.486l0.549-0.915c0.118-0.196%2C0.088-0.448-0.075-0.61l-0.862-0.863%20c-0.162-0.163-0.414-0.193-0.611-0.075l-0.916%2C0.55C9.844%2C2.182%2C9.659%2C2.188%2C9.506%2C2.109C9.244%2C1.975%2C8.97%2C1.861%2C8.686%2C1.77%20c-0.165-0.052-0.29-0.187-0.332-0.354L8.095%2C0.379C8.039%2C0.156%2C7.839%2C0%2C7.609%2C0H6.391c-0.229%2C0-0.43%2C0.156-0.485%2C0.379L5.646%2C1.415%20C5.604%2C1.582%2C5.479%2C1.718%2C5.313%2C1.77c-0.284%2C0.092-0.559%2C0.206-0.82%2C0.34C4.339%2C2.188%2C4.155%2C2.182%2C4.007%2C2.093L3.092%2C1.544%20c-0.196-0.118-0.448-0.087-0.61%2C0.075L1.619%2C2.481C1.457%2C2.644%2C1.426%2C2.896%2C1.544%2C3.093l0.549%2C0.914%20c0.089%2C0.148%2C0.095%2C0.332%2C0.017%2C0.486C1.975%2C4.755%2C1.861%2C5.029%2C1.77%2C5.314c-0.053%2C0.164-0.188%2C0.29-0.354%2C0.332L0.379%2C5.905%20C0.156%2C5.961%2C0%2C6.161%2C0%2C6.391v1.219c0%2C0.229%2C0.156%2C0.43%2C0.379%2C0.485l1.036%2C0.26C1.582%2C8.396%2C1.717%2C8.521%2C1.77%2C8.687%20c0.092%2C0.284%2C0.205%2C0.559%2C0.34%2C0.82C2.188%2C9.66%2C2.182%2C9.844%2C2.093%2C9.993l-0.549%2C0.915c-0.118%2C0.195-0.087%2C0.448%2C0.075%2C0.61%20l0.862%2C0.862c0.162%2C0.163%2C0.414%2C0.193%2C0.61%2C0.075l0.915-0.549c0.148-0.089%2C0.332-0.095%2C0.486-0.017%20c0.262%2C0.135%2C0.536%2C0.248%2C0.82%2C0.34c0.165%2C0.053%2C0.291%2C0.187%2C0.332%2C0.354l0.259%2C1.036C5.96%2C13.844%2C6.16%2C14%2C6.39%2C14h1.22%20c0.229%2C0%2C0.43-0.156%2C0.485-0.379l0.259-1.036c0.042-0.167%2C0.168-0.302%2C0.333-0.354c0.284-0.092%2C0.559-0.205%2C0.82-0.34%20c0.154-0.078%2C0.338-0.072%2C0.486%2C0.017l0.914%2C0.549c0.197%2C0.118%2C0.449%2C0.088%2C0.611-0.074l0.862-0.863%20c0.163-0.162%2C0.193-0.415%2C0.075-0.611l-0.549-0.915c-0.089-0.148-0.096-0.332-0.017-0.485c0.134-0.263%2C0.248-0.536%2C0.339-0.82%20c0.053-0.165%2C0.188-0.291%2C0.355-0.333l1.036-0.259C13.844%2C8.039%2C14%2C7.839%2C14%2C7.609V6.39C14%2C6.16%2C13.844%2C5.96%2C13.621%2C5.904z%20M7%2C10%20c-1.657%2C0-3-1.343-3-3s1.343-3%2C3-3s3%2C1.343%2C3%2C3S8.657%2C10%2C7%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-grid:after, -.ui-alt-icon .ui-icon-grid:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M3%2C0H1C0.447%2C0%2C0%2C0.447%2C0%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C4%2C0.447%2C3.553%2C0%2C3%2C0z%20M8%2C0H6%20C5.447%2C0%2C5%2C0.447%2C5%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C9%2C0.447%2C8.553%2C0%2C8%2C0z%20M13%2C0h-2c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C14%2C0.447%2C13.553%2C0%2C13%2C0z%20M3%2C5H1C0.447%2C5%2C0%2C5.447%2C0%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1V6C4%2C5.447%2C3.553%2C5%2C3%2C5z%20M8%2C5H6C5.447%2C5%2C5%2C5.447%2C5%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6%20C9%2C5.447%2C8.553%2C5%2C8%2C5z%20M13%2C5h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6C14%2C5.447%2C13.553%2C5%2C13%2C5z%20M3%2C10%20H1c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C4%2C10.447%2C3.553%2C10%2C3%2C10z%20M8%2C10H6c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C9%2C10.447%2C8.553%2C10%2C8%2C10z%20M13%2C10h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1v-2C14%2C10.447%2C13.553%2C10%2C13%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-heart:after, -.ui-alt-icon .ui-icon-heart:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C1.958c-2-3-7-2.128-7%2C1.872c0%2C3%2C4%2C7%2C4%2C7s2.417%2C2.48%2C3%2C3c0.583-0.52%2C3-3%2C3-3s4-4%2C4-7C14-0.169%2C9-1.042%2C7%2C1.958z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-home:after, -.ui-alt-icon .ui-icon-home:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C0%200%2C7%202%2C7%202%2C14%205%2C14%205%2C9%209%2C9%209%2C14%2012%2C14%2012%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-info:after, -.ui-alt-icon .ui-icon-info:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C2c0.552%2C0%2C1%2C0.447%2C1%2C1S7.552%2C4%2C7%2C4S6%2C3.553%2C6%2C3%20S6.448%2C2%2C7%2C2z%20M9%2C11H5v-1h1V6H5V5h3v5h1V11z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-location:after, -.ui-alt-icon .ui-icon-location:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C4.791%2C0%2C3%2C1.791%2C3%2C4c0%2C2%2C4%2C10%2C4%2C10s4-8%2C4-10C11%2C1.791%2C9.209%2C0%2C7%2C0z%20M7%2C6C5.896%2C6%2C5%2C5.104%2C5%2C4s0.896-2%2C2-2%20c1.104%2C0%2C2%2C0.896%2C2%2C2S8.104%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-lock:after, -.ui-alt-icon .ui-icon-lock:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C6V5c0-2.762-2.238-5-5-5C4.239%2C0%2C2%2C2.238%2C2%2C5v1H1v8h12V6H12z%20M7.5%2C9.848V12h-1V9.848C6.207%2C9.673%2C6%2C9.366%2C6%2C9%20c0-0.553%2C0.448-1%2C1-1s1%2C0.447%2C1%2C1C8%2C9.366%2C7.793%2C9.673%2C7.5%2C9.848z%20M10%2C6H4V5c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3V6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-mail:after, -.ui-alt-icon .ui-icon-mail:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M0%2C3.75V12h14V3.75L7%2C9L0%2C3.75z%20M14%2C2H0l7%2C5L14%2C2z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-minus:after, -.ui-alt-icon .ui-icon-minus:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20y%3D%225%22%20width%3D%2214%22%20height%3D%224%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-navigation:after, -.ui-alt-icon .ui-icon-navigation:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2213%2C1%200%2C6%207%2C7%208%2C14%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-phone:after, -.ui-alt-icon .ui-icon-phone:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M6.949%2C9.182C6.175%2C8.549%2C5.281%2C7.697%2C4.507%2C6.736C3.963%2C6.063%2C3.483%2C5.355%2C3.979%2C4.858l-3.482-3.48%20c-0.508%2C0.634-1.633%2C3.654%2C3.188%2C8.598c5.08%2C5.211%2C8.356%2C4.097%2C8.92%2C3.511l-3.396-3.399C8.734%2C10.561%2C8.123%2C10.139%2C6.949%2C9.182z%20%20M13.83%2C11.512v-0.004c0%2C0-2.648-2.646-2.649-2.647c-0.21-0.212-0.546-0.205-0.754%2C0.002L9.465%2C9.823l3.402%2C3.407%20c0%2C0%2C0.963-0.961%2C0.961-0.961l0.002-0.002C14.053%2C12.049%2C14.031%2C11.713%2C13.83%2C11.512z%20M5.202%2C3.636V3.634%20c0.222-0.222%2C0.2-0.557%2C0-0.758V2.873c0%2C0-2.726-2.725-2.727-2.726c-0.21-0.21-0.545-0.205-0.753%2C0.001L0.761%2C1.113L4.24%2C4.595%20C4.241%2C4.596%2C5.202%2C3.637%2C5.202%2C3.636z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-plus:after, -.ui-alt-icon .ui-icon-plus:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C5%209%2C5%209%2C0%205%2C0%205%2C5%200%2C5%200%2C9%205%2C9%205%2C14%209%2C14%209%2C9%2014%2C9%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-power:after, -.ui-alt-icon .ui-icon-power:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M11.243%2C2.408c-0.392-0.401-1.024-0.401-1.415%2C0c-0.391%2C0.401-0.391%2C1.054%2C0%2C1.455C10.584%2C4.642%2C11%2C5.675%2C11%2C6.773%20s-0.416%2C2.133-1.172%2C2.91c-1.512%2C1.558-4.145%2C1.558-5.656%2C0C3.416%2C8.904%2C3%2C7.872%2C3%2C6.773C3%2C5.673%2C3.416%2C4.64%2C4.172%2C3.863%20c0.39-0.401%2C0.39-1.054%2C0-1.455c-0.391-0.401-1.024-0.401-1.415%2C0C1.624%2C3.574%2C1%2C5.125%2C1%2C6.773c0%2C1.647%2C0.624%2C3.199%2C1.757%2C4.365%20c1.134%2C1.166%2C2.64%2C1.809%2C4.243%2C1.809c1.604%2C0%2C3.109-0.645%2C4.243-1.811C12.376%2C9.975%2C13%2C8.423%2C13%2C6.773%20C13%2C5.125%2C12.376%2C3.574%2C11.243%2C2.408z%20M7%2C8.053c0.553%2C0%2C1-0.445%2C1-1v-6c0-0.553-0.447-1-1-1c-0.553%2C0-1%2C0.447-1%2C1v6%20C6%2C7.604%2C6.447%2C8.053%2C7%2C8.053z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-recycle:after, -.ui-alt-icon .ui-icon-recycle:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M3%2C7h1L2%2C4L0%2C7h1c0%2C3.313%2C2.687%2C6%2C6%2C6c0.702%2C0%2C1.374-0.127%2C2-0.35v-2.205C8.41%2C10.789%2C7.732%2C11%2C7%2C11C4.791%2C11%2C3%2C9.209%2C3%2C7z%20%20M13%2C7c0-3.313-2.688-6-6-6C6.298%2C1%2C5.626%2C1.127%2C5%2C1.349v2.206C5.59%2C3.211%2C6.268%2C3%2C7%2C3c2.209%2C0%2C4%2C1.791%2C4%2C4h-1l2%2C3l2-3H13z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-refresh:after, -.ui-alt-icon .ui-icon-refresh:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.001px%22%20height%3D%2214.002px%22%20viewBox%3D%220%200%2014.001%2014.002%22%20style%3D%22enable-background%3Anew%200%200%2014.001%2014.002%3B%22%20%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M14.001%2C6.001v-6l-2.06%2C2.06c-0.423-0.424-0.897-0.809-1.44-1.122C7.153-0.994%2C2.872%2C0.153%2C0.939%2C3.501%20c-1.933%2C3.348-0.786%2C7.629%2C2.562%2C9.562c3.348%2C1.933%2C7.629%2C0.785%2C9.562-2.562l-1.732-1c-1.381%2C2.392-4.438%2C3.211-6.83%2C1.83%20s-3.211-4.438-1.83-6.83s4.438-3.211%2C6.83-1.83c0.389%2C0.225%2C0.718%2C0.506%2C1.02%2C0.81l-2.52%2C2.52H14.001z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-search:after, -.ui-alt-icon .ui-icon-search:after, -.ui-input-search:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M10.171%2C8.766c0.617-0.888%2C0.979-1.964%2C0.979-3.126c0-3.037-2.463-5.5-5.5-5.5s-5.5%2C2.463-5.5%2C5.5s2.463%2C5.5%2C5.5%2C5.5%20c1.152%2C0%2C2.223-0.355%2C3.104-0.962l3.684%2C3.683l1.414-1.414L10.171%2C8.766z%20M5.649%2C9.14c-1.933%2C0-3.5-1.567-3.5-3.5%20c0-1.933%2C1.567-3.5%2C3.5-3.5c1.933%2C0%2C3.5%2C1.567%2C3.5%2C3.5C9.149%2C7.572%2C7.582%2C9.14%2C5.649%2C9.14z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-shop:after, -.ui-alt-icon .ui-icon-shop:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M10%2C4V3c0-1.657-1.343-3-3-3S4%2C1.343%2C4%2C3v1H1v10h12V4H10z%20M4.5%2C6C4.224%2C6%2C4%2C5.776%2C4%2C5.5S4.224%2C5%2C4.5%2C5S5%2C5.224%2C5%2C5.5%20S4.776%2C6%2C4.5%2C6z%20M5%2C3c0-1.104%2C0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2v1H5V3z%20M9.5%2C6C9.225%2C6%2C9%2C5.776%2C9%2C5.5S9.225%2C5%2C9.5%2C5S10%2C5.224%2C10%2C5.5%20S9.775%2C6%2C9.5%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-star:after, -.ui-alt-icon .ui-icon-star:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C5%209%2C5%207%2C0%205%2C5%200%2C5%204%2C8%202.625%2C13%207%2C10%2011.375%2C13%2010%2C8%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-tag:after, -.ui-alt-icon .ui-icon-tag:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C0H0v5l9%2C9l5-5L5%2C0z%20M3%2C4C2.447%2C4%2C2%2C3.553%2C2%2C3s0.447-1%2C1-1s1%2C0.447%2C1%2C1S3.553%2C4%2C3%2C4z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-user:after, -.ui-alt-icon .ui-icon-user:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M8.851%2C10.101c-0.18-0.399-0.2-0.763-0.153-1.104C9.383%2C8.49%2C9.738%2C7.621%2C9.891%2C6.465C10.493%2C6.355%2C10.5%2C5.967%2C10.5%2C5.5%20c0-0.437-0.008-0.804-0.502-0.94C9.999%2C4.539%2C10%2C4.521%2C10%2C4.5c0-2.103-1-4-2-4C8%2C0.5%2C7.5%2C0%2C6.5%2C0C5%2C0%2C4%2C1.877%2C4%2C4.5%20c0%2C0.021%2C0.001%2C0.039%2C0.002%2C0.06C3.508%2C4.696%2C3.5%2C5.063%2C3.5%2C5.5c0%2C0.467%2C0.007%2C0.855%2C0.609%2C0.965%20C4.262%2C7.621%2C4.617%2C8.49%2C5.303%2C8.997c0.047%2C0.341%2C0.026%2C0.704-0.153%2C1.104C1.503%2C10.503%2C0%2C12%2C0%2C12v2h14v-2%20C14%2C12%2C12.497%2C10.503%2C8.851%2C10.101z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-video:after, -.ui-alt-icon .ui-icon-video:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%20-2%2014%2014%22%20style%3D%22enable-background%3Anew%200%20-2%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M8%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2h6c1.104%2C0%2C2-0.896%2C2-2V5V2C10%2C0.896%2C9.104%2C0%2C8%2C0z%20M10%2C5l4%2C4V1L10%2C5z%22%2F%3E%3C%2Fsvg%3E"); -} -/* PNG icons */ -.ui-nosvg .ui-icon-action:after { - background-image: url(images/icons-png/action-white.png); -} -.ui-nosvg .ui-icon-alert:after { - background-image: url(images/icons-png/alert-white.png); -} -.ui-nosvg .ui-icon-arrow-d-l:after { - background-image: url(images/icons-png/arrow-d-l-white.png); -} -.ui-nosvg .ui-icon-arrow-d-r:after { - background-image: url(images/icons-png/arrow-d-r-white.png); -} -.ui-nosvg .ui-icon-arrow-d:after { - background-image: url(images/icons-png/arrow-d-white.png); -} -.ui-nosvg .ui-icon-arrow-l:after { - background-image: url(images/icons-png/arrow-l-white.png); -} -.ui-nosvg .ui-icon-arrow-r:after { - background-image: url(images/icons-png/arrow-r-white.png); -} -.ui-nosvg .ui-icon-arrow-u-l:after { - background-image: url(images/icons-png/arrow-u-l-white.png); -} -.ui-nosvg .ui-icon-arrow-u-r:after { - background-image: url(images/icons-png/arrow-u-r-white.png); -} -.ui-nosvg .ui-icon-arrow-u:after { - background-image: url(images/icons-png/arrow-u-white.png); -} -.ui-nosvg .ui-icon-audio:after { - background-image: url(images/icons-png/audio-white.png); -} -.ui-nosvg .ui-icon-back:after { - background-image: url(images/icons-png/back-white.png); -} -.ui-nosvg .ui-icon-bars:after { - background-image: url(images/icons-png/bars-white.png); -} -.ui-nosvg .ui-icon-bullets:after { - background-image: url(images/icons-png/bullets-white.png); -} -.ui-nosvg .ui-icon-calendar:after { - background-image: url(images/icons-png/calendar-white.png); -} -.ui-nosvg .ui-icon-camera:after { - background-image: url(images/icons-png/camera-white.png); -} -.ui-nosvg .ui-icon-carat-d:after { - background-image: url(images/icons-png/carat-d-white.png); -} -.ui-nosvg .ui-icon-carat-l:after { - background-image: url(images/icons-png/carat-l-white.png); -} -.ui-nosvg .ui-icon-carat-r:after { - background-image: url(images/icons-png/carat-r-white.png); -} -.ui-nosvg .ui-icon-carat-u:after { - background-image: url(images/icons-png/carat-u-white.png); -} -.ui-nosvg .ui-icon-check:after, -html.ui-nosvg .ui-btn.ui-checkbox-on:after { - background-image: url(images/icons-png/check-white.png); -} -.ui-nosvg .ui-icon-clock:after { - background-image: url(images/icons-png/clock-white.png); -} -.ui-nosvg .ui-icon-cloud:after { - background-image: url(images/icons-png/cloud-white.png); -} -.ui-nosvg .ui-icon-comment:after { - background-image: url(images/icons-png/comment-white.png); -} -.ui-nosvg .ui-icon-delete:after { - background-image: url(images/icons-png/delete-white.png); -} -.ui-nosvg .ui-icon-edit:after { - background-image: url(images/icons-png/edit-white.png); -} -.ui-nosvg .ui-icon-eye:after { - background-image: url(images/icons-png/eye-white.png); -} -.ui-nosvg .ui-icon-forbidden:after { - background-image: url(images/icons-png/forbidden-white.png); -} -.ui-nosvg .ui-icon-forward:after { - background-image: url(images/icons-png/forward-white.png); -} -.ui-nosvg .ui-icon-gear:after { - background-image: url(images/icons-png/gear-white.png); -} -.ui-nosvg .ui-icon-grid:after { - background-image: url(images/icons-png/grid-white.png); -} -.ui-nosvg .ui-icon-heart:after { - background-image: url(images/icons-png/heart-white.png); -} -.ui-nosvg .ui-icon-home:after { - background-image: url(images/icons-png/home-white.png); -} -.ui-nosvg .ui-icon-info:after { - background-image: url(images/icons-png/info-white.png); -} -.ui-nosvg .ui-icon-location:after { - background-image: url(images/icons-png/location-white.png); -} -.ui-nosvg .ui-icon-lock:after { - background-image: url(images/icons-png/lock-white.png); -} -.ui-nosvg .ui-icon-mail:after { - background-image: url(images/icons-png/mail-white.png); -} -.ui-nosvg .ui-icon-minus:after { - background-image: url(images/icons-png/minus-white.png); -} -.ui-nosvg .ui-icon-navigation:after { - background-image: url(images/icons-png/navigation-white.png); -} -.ui-nosvg .ui-icon-phone:after { - background-image: url(images/icons-png/phone-white.png); -} -.ui-nosvg .ui-icon-plus:after { - background-image: url(images/icons-png/plus-white.png); -} -.ui-nosvg .ui-icon-power:after { - background-image: url(images/icons-png/power-white.png); -} -.ui-nosvg .ui-icon-recycle:after { - background-image: url(images/icons-png/recycle-white.png); -} -.ui-nosvg .ui-icon-refresh:after { - background-image: url(images/icons-png/refresh-white.png); -} -.ui-nosvg .ui-icon-search:after { - background-image: url(images/icons-png/search-white.png); -} -.ui-nosvg .ui-icon-shop:after { - background-image: url(images/icons-png/shop-white.png); -} -.ui-nosvg .ui-icon-star:after { - background-image: url(images/icons-png/star-white.png); -} -.ui-nosvg .ui-icon-tag:after { - background-image: url(images/icons-png/tag-white.png); -} -.ui-nosvg .ui-icon-user:after { - background-image: url(images/icons-png/user-white.png); -} -.ui-nosvg .ui-icon-video:after { - background-image: url(images/icons-png/video-white.png); -} -/* Alt icons */ -.ui-nosvg .ui-alt-icon.ui-icon-action:after, -.ui-nosvg .ui-alt-icon .ui-icon-action:after { - background-image: url(images/icons-png/action-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-alert:after, -.ui-nosvg .ui-alt-icon .ui-icon-alert:after { - background-image: url(images/icons-png/alert-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-arrow-d:after, -.ui-nosvg .ui-alt-icon .ui-icon-arrow-d:after { - background-image: url(images/icons-png/arrow-d-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-arrow-d-l:after, -.ui-nosvg .ui-alt-icon .ui-icon-arrow-d-l:after { - background-image: url(images/icons-png/arrow-d-l-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-arrow-d-r:after, -.ui-nosvg .ui-alt-icon .ui-icon-arrow-d-r:after { - background-image: url(images/icons-png/arrow-d-r-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-arrow-l:after, -.ui-nosvg .ui-alt-icon .ui-icon-arrow-l:after { - background-image: url(images/icons-png/arrow-l-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-arrow-r:after, -.ui-nosvg .ui-alt-icon .ui-icon-arrow-r:after { - background-image: url(images/icons-png/arrow-r-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-arrow-u:after, -.ui-nosvg .ui-alt-icon .ui-icon-arrow-u:after { - background-image: url(images/icons-png/arrow-u-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-arrow-u-l:after, -.ui-nosvg .ui-alt-icon .ui-icon-arrow-u-l:after { - background-image: url(images/icons-png/arrow-u-l-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-arrow-u-r:after, -.ui-nosvg .ui-alt-icon .ui-icon-arrow-u-r:after { - background-image: url(images/icons-png/arrow-u-r-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-audio:after, -.ui-nosvg .ui-alt-icon .ui-icon-audio:after { - background-image: url(images/icons-png/audio-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-back:after, -.ui-nosvg .ui-alt-icon .ui-icon-back:after { - background-image: url(images/icons-png/back-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-bars:after, -.ui-nosvg .ui-alt-icon .ui-icon-bars:after { - background-image: url(images/icons-png/bars-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-bullets:after, -.ui-nosvg .ui-alt-icon .ui-icon-bullets:after { - background-image: url(images/icons-png/bullets-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-calendar:after, -.ui-nosvg .ui-alt-icon .ui-icon-calendar:after { - background-image: url(images/icons-png/calendar-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-camera:after, -.ui-nosvg .ui-alt-icon .ui-icon-camera:after { - background-image: url(images/icons-png/camera-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-carat-d:after, -.ui-nosvg .ui-alt-icon .ui-icon-carat-d:after { - background-image: url(images/icons-png/carat-d-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-carat-l:after, -.ui-nosvg .ui-alt-icon .ui-icon-carat-l:after { - background-image: url(images/icons-png/carat-l-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-carat-r:after, -.ui-nosvg .ui-alt-icon .ui-icon-carat-r:after { - background-image: url(images/icons-png/carat-r-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-carat-u:after, -.ui-nosvg .ui-alt-icon .ui-icon-carat-u:after { - background-image: url(images/icons-png/carat-u-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-check:after, -.ui-nosvg .ui-alt-icon .ui-icon-check:after, -.ui-nosvg .ui-alt-icon.ui-btn.ui-checkbox-on:after, -.ui-nosvg .ui-alt-icon .ui-btn.ui-checkbox-on:after { - background-image: url(images/icons-png/check-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-clock:after, -.ui-nosvg .ui-alt-icon .ui-icon-clock:after { - background-image: url(images/icons-png/clock-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-cloud:after, -.ui-nosvg .ui-alt-icon .ui-icon-cloud:after { - background-image: url(images/icons-png/cloud-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-comment:after, -.ui-nosvg .ui-alt-icon .ui-icon-comment:after { - background-image: url(images/icons-png/comment-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-delete:after, -.ui-nosvg .ui-alt-icon .ui-icon-delete:after { - background-image: url(images/icons-png/delete-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-edit:after, -.ui-nosvg .ui-alt-icon .ui-icon-edit:after { - background-image: url(images/icons-png/edit-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-eye:after, -.ui-nosvg .ui-alt-icon .ui-icon-eye:after { - background-image: url(images/icons-png/eye-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-forbidden:after, -.ui-nosvg .ui-alt-icon .ui-icon-forbidden:after { - background-image: url(images/icons-png/forbidden-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-forward:after, -.ui-nosvg .ui-alt-icon .ui-icon-forward:after { - background-image: url(images/icons-png/forward-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-gear:after, -.ui-nosvg .ui-alt-icon .ui-icon-gear:after { - background-image: url(images/icons-png/gear-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-grid:after, -.ui-nosvg .ui-alt-icon .ui-icon-grid:after { - background-image: url(images/icons-png/grid-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-heart:after, -.ui-nosvg .ui-alt-icon .ui-icon-heart:after { - background-image: url(images/icons-png/heart-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-home:after, -.ui-nosvg .ui-alt-icon .ui-icon-home:after { - background-image: url(images/icons-png/home-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-info:after, -.ui-nosvg .ui-alt-icon .ui-icon-info:after { - background-image: url(images/icons-png/info-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-location:after, -.ui-nosvg .ui-alt-icon .ui-icon-location:after { - background-image: url(images/icons-png/location-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-lock:after, -.ui-nosvg .ui-alt-icon .ui-icon-lock:after { - background-image: url(images/icons-png/lock-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-mail:after, -.ui-nosvg .ui-alt-icon .ui-icon-mail:after { - background-image: url(images/icons-png/mail-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-minus:after, -.ui-nosvg .ui-alt-icon .ui-icon-minus:after { - background-image: url(images/icons-png/minus-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-navigation:after, -.ui-nosvg .ui-alt-icon .ui-icon-navigation:after { - background-image: url(images/icons-png/navigation-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-phone:after, -.ui-nosvg .ui-alt-icon .ui-icon-phone:after { - background-image: url(images/icons-png/phone-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-plus:after, -.ui-nosvg .ui-alt-icon .ui-icon-plus:after { - background-image: url(images/icons-png/plus-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-power:after, -.ui-nosvg .ui-alt-icon .ui-icon-power:after { - background-image: url(images/icons-png/power-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-recycle:after, -.ui-nosvg .ui-alt-icon .ui-icon-recycle:after { - background-image: url(images/icons-png/recycle-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-refresh:after, -.ui-nosvg .ui-alt-icon .ui-icon-refresh:after { - background-image: url(images/icons-png/refresh-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-search:after, -.ui-nosvg .ui-alt-icon .ui-icon-search:after, -.ui-nosvg .ui-input-search:after { - background-image: url(images/icons-png/search-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-shop:after, -.ui-nosvg .ui-alt-icon .ui-icon-shop:after { - background-image: url(images/icons-png/shop-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-star:after, -.ui-nosvg .ui-alt-icon .ui-icon-star:after { - background-image: url(images/icons-png/star-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-tag:after, -.ui-nosvg .ui-alt-icon .ui-icon-tag:after { - background-image: url(images/icons-png/tag-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-user:after, -.ui-nosvg .ui-alt-icon .ui-icon-user:after { - background-image: url(images/icons-png/user-black.png); -} -.ui-nosvg .ui-alt-icon.ui-icon-video:after, -.ui-nosvg .ui-alt-icon .ui-icon-video:after { - background-image: url(images/icons-png/video-black.png); -} -/* Globals */ -/* Font ------------------------------------------------------------------------------------------------------------*/ -html { - font-size: 100%; -} -body, -input, -select, -textarea, -button, -.ui-btn { - font-size: 1em; - line-height: 1.3; - font-family: sans-serif /*{global-font-family}*/; -} -legend, -.ui-input-text input, -.ui-input-search input { - color: inherit; - text-shadow: inherit; -} -/* Form labels (overrides font-weight bold in bars, and mini font-size) */ -.ui-mobile label, -div.ui-controlgroup-label { - font-weight: normal; - font-size: 16px; -} -/* Separators ------------------------------------------------------------------------------------------------------------*/ -/* Field contain separator (< 28em) */ -.ui-field-contain { - border-bottom-color: #828282; - border-bottom-color: rgba(0,0,0,.15); - border-bottom-width: 1px; - border-bottom-style: solid; -} -/* Table opt-in classes: strokes between each row, and alternating row stripes */ -/* Classes table-stroke and table-stripe are deprecated in 1.4. */ -.table-stroke thead th, -.table-stripe thead th, -.table-stripe tbody tr:last-child { - border-bottom: 1px solid #d6d6d6; /* non-RGBA fallback */ - border-bottom: 1px solid rgba(0,0,0,.1); -} -.table-stroke tbody th, -.table-stroke tbody td { - border-bottom: 1px solid #e6e6e6; /* non-RGBA fallback */ - border-bottom: 1px solid rgba(0,0,0,.05); -} -.table-stripe.table-stroke tbody tr:last-child th, -.table-stripe.table-stroke tbody tr:last-child td { - border-bottom: 0; -} -.table-stripe tbody tr:nth-child(odd) td, -.table-stripe tbody tr:nth-child(odd) th { - background-color: #eeeeee; /* non-RGBA fallback */ - background-color: rgba(0,0,0,.04); -} -/* Buttons ------------------------------------------------------------------------------------------------------------*/ -.ui-btn, -label.ui-btn { - font-weight: bold; - border-width: 1px; - border-style: solid; -} -.ui-btn { - text-decoration: none !important; -} -.ui-btn-active { - cursor: pointer; -} -/* Corner rounding ------------------------------------------------------------------------------------------------------------*/ -/* Class ui-btn-corner-all deprecated in 1.4 */ -.ui-corner-all { - -webkit-border-radius: .3125em /*{global-radii-blocks}*/; - border-radius: .3125em /*{global-radii-blocks}*/; -} -/* Buttons */ -.ui-btn-corner-all, -.ui-btn.ui-corner-all, -/* Slider track */ -.ui-slider-track.ui-corner-all, -/* Flipswitch */ -.ui-flipswitch.ui-corner-all, -/* Count bubble */ -.ui-li-count { - -webkit-border-radius: .3125em /*{global-radii-buttons}*/; - border-radius: .3125em /*{global-radii-buttons}*/; -} -/* Icon-only buttons */ -.ui-btn-icon-notext.ui-btn-corner-all, -.ui-btn-icon-notext.ui-corner-all { - -webkit-border-radius: 1em; - border-radius: 1em; -} -/* Radius clip workaround for cleaning up corner trapping */ -.ui-btn-corner-all, -.ui-corner-all { - -webkit-background-clip: padding; - background-clip: padding-box; -} -/* Popup arrow */ -.ui-popup.ui-corner-all > .ui-popup-arrow-guide { - left: .6em /*{global-radii-blocks}*/; - right: .6em /*{global-radii-blocks}*/; - top: .6em /*{global-radii-blocks}*/; - bottom: .6em /*{global-radii-blocks}*/; -} -/* Shadow ------------------------------------------------------------------------------------------------------------*/ -.ui-shadow { - -webkit-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; - -moz-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; - box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; -} -.ui-shadow-inset { - -webkit-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; - -moz-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; - box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; -} -.ui-overlay-shadow { - -webkit-box-shadow: 0 0 12px rgba(0,0,0,.6); - -moz-box-shadow: 0 0 12px rgba(0,0,0,.6); - box-shadow: 0 0 12px rgba(0,0,0,.6); -} -/* Icons ------------------------------------------------------------------------------------------------------------*/ -.ui-btn-icon-left:after, -.ui-btn-icon-right:after, -.ui-btn-icon-top:after, -.ui-btn-icon-bottom:after, -.ui-btn-icon-notext:after { - background-color: #666 /*{global-icon-color}*/; - background-color: rgba(0,0,0,.3) /*{global-icon-disc}*/; - background-position: center center; - background-repeat: no-repeat; - -webkit-border-radius: 1em; - border-radius: 1em; -} -/* Alt icons */ -.ui-alt-icon.ui-btn:after, -.ui-alt-icon .ui-btn:after, -html .ui-alt-icon.ui-checkbox-off:after, -html .ui-alt-icon.ui-radio-off:after, -html .ui-alt-icon .ui-checkbox-off:after, -html .ui-alt-icon .ui-radio-off:after { - background-color: #666 /*{global-icon-color}*/; - background-color: rgba(0,0,0,.15) /*{global-icon-disc}*/; -} -/* No disc */ -.ui-nodisc-icon.ui-btn:after, -.ui-nodisc-icon .ui-btn:after { - background-color: transparent; -} -/* Icon shadow */ -.ui-shadow-icon.ui-btn:after, -.ui-shadow-icon .ui-btn:after { - -webkit-box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; - -moz-box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; - box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; -} -/* Checkbox and radio */ -.ui-btn.ui-checkbox-off:after, -.ui-btn.ui-checkbox-on:after, -.ui-btn.ui-radio-off:after, -.ui-btn.ui-radio-on:after { - display: block; - width: 18px; - height: 18px; - margin: -9px 2px 0 2px; -} -.ui-checkbox-off:after, -.ui-btn.ui-radio-off:after { - filter: Alpha(Opacity=30); - opacity: .3; -} -.ui-btn.ui-checkbox-off:after, -.ui-btn.ui-checkbox-on:after { - -webkit-border-radius: .1875em; - border-radius: .1875em; -} -.ui-btn.ui-checkbox-off:after { - background-color: #666; - background-color: rgba(0,0,0,.3); -} -.ui-radio .ui-btn.ui-radio-on:after { - background-image: none; - background-color: #fff; - width: 8px; - height: 8px; - border-width: 5px; - border-style: solid; -} -.ui-alt-icon.ui-btn.ui-radio-on:after, -.ui-alt-icon .ui-btn.ui-radio-on:after { - background-color: #000; -} -/* Loader */ -.ui-icon-loading { - background: url(images/ajax-loader.gif); - background-size: 2.875em 2.875em; -} -/* Swatches */ -/* A ------------------------------------------------------------------------------------------------------------*/ -/* Bar: Toolbars, dividers, slider track */ -.ui-bar-a, -.ui-page-theme-a .ui-bar-inherit, -html .ui-bar-a .ui-bar-inherit, -html .ui-body-a .ui-bar-inherit, -html body .ui-group-theme-a .ui-bar-inherit { - background-color: #e9e9e9 /*{a-bar-background-color}*/; - border-color: #ddd /*{a-bar-border}*/; - color: #333 /*{a-bar-color}*/; - text-shadow: 0 /*{a-bar-shadow-x}*/ 1px /*{a-bar-shadow-y}*/ 0 /*{a-bar-shadow-radius}*/ #eee /*{a-bar-shadow-color}*/; - font-weight: bold; -} -.ui-bar-a { - border-width: 1px; - border-style: solid; -} -/* Page and overlay */ -.ui-overlay-a, -.ui-page-theme-a, -.ui-page-theme-a .ui-panel-wrapper { - background-color: #f9f9f9 /*{a-page-background-color}*/; - border-color: #bbb /*{a-page-border}*/; - color: #333 /*{a-page-color}*/; - text-shadow: 0 /*{a-page-shadow-x}*/ 1px /*{a-page-shadow-y}*/ 0 /*{a-page-shadow-radius}*/ #f3f3f3 /*{a-page-shadow-color}*/; -} -/* Body: Read-only lists, text inputs, collapsible content */ -.ui-body-a, -.ui-page-theme-a .ui-body-inherit, -html .ui-bar-a .ui-body-inherit, -html .ui-body-a .ui-body-inherit, -html body .ui-group-theme-a .ui-body-inherit, -html .ui-panel-page-container-a { - background-color: #fff /*{a-body-background-color}*/; - border-color: #ddd /*{a-body-border}*/; - color: #333 /*{a-body-color}*/; - text-shadow: 0 /*{a-body-shadow-x}*/ 1px /*{a-body-shadow-y}*/ 0 /*{a-body-shadow-radius}*/ #f3f3f3 /*{a-body-shadow-color}*/; -} -.ui-body-a { - border-width: 1px; - border-style: solid; -} -/* Links */ -.ui-page-theme-a a, -html .ui-bar-a a, -html .ui-body-a a, -html body .ui-group-theme-a a { - color: #3388cc /*{a-link-color}*/; - font-weight: bold; -} -.ui-page-theme-a a:visited, -html .ui-bar-a a:visited, -html .ui-body-a a:visited, -html body .ui-group-theme-a a:visited { - color: #3388cc /*{a-link-visited}*/; -} -.ui-page-theme-a a:hover, -html .ui-bar-a a:hover, -html .ui-body-a a:hover, -html body .ui-group-theme-a a:hover { - color: #005599 /*{a-link-hover}*/; -} -.ui-page-theme-a a:active, -html .ui-bar-a a:active, -html .ui-body-a a:active, -html body .ui-group-theme-a a:active { - color: #005599 /*{a-link-active}*/; -} -/* Button up */ -.ui-page-theme-a .ui-btn, -html .ui-bar-a .ui-btn, -html .ui-body-a .ui-btn, -html body .ui-group-theme-a .ui-btn, -html head + body .ui-btn.ui-btn-a, -/* Button visited */ -.ui-page-theme-a .ui-btn:visited, -html .ui-bar-a .ui-btn:visited, -html .ui-body-a .ui-btn:visited, -html body .ui-group-theme-a .ui-btn:visited, -html head + body .ui-btn.ui-btn-a:visited { - background-color: #f6f6f6 /*{a-bup-background-color}*/; - border-color: #ddd /*{a-bup-border}*/; - color: #333 /*{a-bup-color}*/; - text-shadow: 0 /*{a-bup-shadow-x}*/ 1px /*{a-bup-shadow-y}*/ 0 /*{a-bup-shadow-radius}*/ #f3f3f3 /*{a-bup-shadow-color}*/; -} -/* Button hover */ -.ui-page-theme-a .ui-btn:hover, -html .ui-bar-a .ui-btn:hover, -html .ui-body-a .ui-btn:hover, -html body .ui-group-theme-a .ui-btn:hover, -html head + body .ui-btn.ui-btn-a:hover { - background-color: #ededed /*{a-bhover-background-color}*/; - border-color: #ddd /*{a-bhover-border}*/; - color: #333 /*{a-bhover-color}*/; - text-shadow: 0 /*{a-bhover-shadow-x}*/ 1px /*{a-bhover-shadow-y}*/ 0 /*{a-bhover-shadow-radius}*/ #f3f3f3 /*{a-bhover-shadow-color}*/; -} -/* Button down */ -.ui-page-theme-a .ui-btn:active, -html .ui-bar-a .ui-btn:active, -html .ui-body-a .ui-btn:active, -html body .ui-group-theme-a .ui-btn:active, -html head + body .ui-btn.ui-btn-a:active { - background-color: #e8e8e8 /*{a-bdown-background-color}*/; - border-color: #ddd /*{a-bdown-border}*/; - color: #333 /*{a-bdown-color}*/; - text-shadow: 0 /*{a-bdown-shadow-x}*/ 1px /*{a-bdown-shadow-y}*/ 0 /*{a-bdown-shadow-radius}*/ #f3f3f3 /*{a-bdown-shadow-color}*/; -} -/* Active button */ -.ui-page-theme-a .ui-btn.ui-btn-active, -html .ui-bar-a .ui-btn.ui-btn-active, -html .ui-body-a .ui-btn.ui-btn-active, -html body .ui-group-theme-a .ui-btn.ui-btn-active, -html head + body .ui-btn.ui-btn-a.ui-btn-active, -/* Active checkbox icon */ -.ui-page-theme-a .ui-checkbox-on:after, -html .ui-bar-a .ui-checkbox-on:after, -html .ui-body-a .ui-checkbox-on:after, -html body .ui-group-theme-a .ui-checkbox-on:after, -.ui-btn.ui-checkbox-on.ui-btn-a:after, -/* Active flipswitch background */ -.ui-page-theme-a .ui-flipswitch-active, -html .ui-bar-a .ui-flipswitch-active, -html .ui-body-a .ui-flipswitch-active, -html body .ui-group-theme-a .ui-flipswitch-active, -html body .ui-flipswitch.ui-bar-a.ui-flipswitch-active, -/* Active slider track */ -.ui-page-theme-a .ui-slider-track .ui-btn-active, -html .ui-bar-a .ui-slider-track .ui-btn-active, -html .ui-body-a .ui-slider-track .ui-btn-active, -html body .ui-group-theme-a .ui-slider-track .ui-btn-active, -html body div.ui-slider-track.ui-body-a .ui-btn-active { - background-color: #3388cc /*{a-active-background-color}*/; - border-color: #3388cc /*{a-active-border}*/; - color: #fff /*{a-active-color}*/; - text-shadow: 0 /*{a-active-shadow-x}*/ 1px /*{a-active-shadow-y}*/ 0 /*{a-active-shadow-radius}*/ #005599 /*{a-active-shadow-color}*/; -} -/* Active radio button icon */ -.ui-page-theme-a .ui-radio-on:after, -html .ui-bar-a .ui-radio-on:after, -html .ui-body-a .ui-radio-on:after, -html body .ui-group-theme-a .ui-radio-on:after, -.ui-btn.ui-radio-on.ui-btn-a:after { - border-color: #3388cc /*{a-active-background-color}*/; -} -/* Focus */ -.ui-page-theme-a .ui-btn:focus, -html .ui-bar-a .ui-btn:focus, -html .ui-body-a .ui-btn:focus, -html body .ui-group-theme-a .ui-btn:focus, -html head + body .ui-btn.ui-btn-a:focus, -/* Focus buttons and text inputs with div wrap */ -.ui-page-theme-a .ui-focus, -html .ui-bar-a .ui-focus, -html .ui-body-a .ui-focus, -html body .ui-group-theme-a .ui-focus, -html head + body .ui-btn-a.ui-focus, -html head + body .ui-body-a.ui-focus { - -webkit-box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; - -moz-box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; - box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; -} -/* B ------------------------------------------------------------------------------------------------------------*/ -/* Bar: Toolbars, dividers, slider track */ -.ui-bar-b, -.ui-page-theme-b .ui-bar-inherit, -html .ui-bar-b .ui-bar-inherit, -html .ui-body-b .ui-bar-inherit, -html body .ui-group-theme-b .ui-bar-inherit { - background-color: #1d1d1d /*{b-bar-background-color}*/; - border-color: #1b1b1b /*{b-bar-border}*/; - color: #fff /*{b-bar-color}*/; - text-shadow: 0 /*{b-bar-shadow-x}*/ 1px /*{b-bar-shadow-y}*/ 0 /*{b-bar-shadow-radius}*/ #111 /*{b-bar-shadow-color}*/; - font-weight: bold; -} -.ui-bar-b { - border-width: 1px; - border-style: solid; -} -/* Page and overlay */ -.ui-overlay-b, -.ui-page-theme-b, -.ui-page-theme-b .ui-panel-wrapper { - background-color: #252525 /*{b-page-background-color}*/; - border-color: #454545 /*{b-page-border}*/; - color: #fff /*{b-page-color}*/; - text-shadow: 0 /*{b-page-shadow-x}*/ 1px /*{b-page-shadow-y}*/ 0 /*{b-page-shadow-radius}*/ #111 /*{b-page-shadow-color}*/; -} -/* Body: Read-only lists, text inputs, collapsible content */ -.ui-body-b, -.ui-page-theme-b .ui-body-inherit, -html .ui-bar-b .ui-body-inherit, -html .ui-body-b .ui-body-inherit, -html body .ui-group-theme-b .ui-body-inherit, -html .ui-panel-page-container-b { - background-color: #2a2a2a /*{b-body-background-color}*/; - border-color: #1d1d1d /*{b-body-border}*/; - color: #fff /*{b-body-color}*/; - text-shadow: 0 /*{b-body-shadow-x}*/ 1px /*{b-body-shadow-y}*/ 0 /*{b-body-shadow-radius}*/ #111 /*{b-body-shadow-color}*/; -} -.ui-body-b { - border-width: 1px; - border-style: solid; -} -/* Links */ -.ui-page-theme-b a, -html .ui-bar-b a, -html .ui-body-b a, -html body .ui-group-theme-b a { - color: #22aadd /*{b-link-color}*/; - font-weight: bold; -} -.ui-page-theme-b a:visited, -html .ui-bar-b a:visited, -html .ui-body-b a:visited, -html body .ui-group-theme-b a:visited { - color: #22aadd /*{b-link-visited}*/; -} -.ui-page-theme-b a:hover, -html .ui-bar-b a:hover, -html .ui-body-b a:hover, -html body .ui-group-theme-b a:hover { - color: #0088bb /*{b-link-hover}*/; -} -.ui-page-theme-b a:active, -html .ui-bar-b a:active, -html .ui-body-b a:active, -html body .ui-group-theme-b a:active { - color: #0088bb /*{b-link-active}*/; -} -/* Button up */ -.ui-page-theme-b .ui-btn, -html .ui-bar-b .ui-btn, -html .ui-body-b .ui-btn, -html body .ui-group-theme-b .ui-btn, -html head + body .ui-btn.ui-btn-b, -/* Button visited */ -.ui-page-theme-b .ui-btn:visited, -html .ui-bar-b .ui-btn:visited, -html .ui-body-b .ui-btn:visited, -html body .ui-group-theme-b .ui-btn:visited, -html head + body .ui-btn.ui-btn-b:visited { - background-color: #333 /*{b-bup-background-color}*/; - border-color: #1f1f1f /*{b-bup-border}*/; - color: #fff /*{b-bup-color}*/; - text-shadow: 0 /*{b-bup-shadow-x}*/ 1px /*{b-bup-shadow-y}*/ 0 /*{b-bup-shadow-radius}*/ #111 /*{b-bup-shadow-color}*/; -} -/* Button hover */ -.ui-page-theme-b .ui-btn:hover, -html .ui-bar-b .ui-btn:hover, -html .ui-body-b .ui-btn:hover, -html body .ui-group-theme-b .ui-btn:hover, -html head + body .ui-btn.ui-btn-b:hover { - background-color: #373737 /*{b-bhover-background-color}*/; - border-color: #1f1f1f /*{b-bhover-border}*/; - color: #fff /*{b-bhover-color}*/; - text-shadow: 0 /*{b-bhover-shadow-x}*/ 1px /*{b-bhover-shadow-y}*/ 0 /*{b-bhover-shadow-radius}*/ #111 /*{b-bhover-shadow-color}*/; -} -/* Button down */ -.ui-page-theme-b .ui-btn:active, -html .ui-bar-b .ui-btn:active, -html .ui-body-b .ui-btn:active, -html body .ui-group-theme-b .ui-btn:active, -html head + body .ui-btn.ui-btn-b:active { - background-color: #404040 /*{b-bdown-background-color}*/; - border-color: #1f1f1f /*{b-bdown-border}*/; - color: #fff /*{b-bdown-color}*/; - text-shadow: 0 /*{b-bdown-shadow-x}*/ 1px /*{b-bdown-shadow-y}*/ 0 /*{b-bdown-shadow-radius}*/ #111 /*{b-bdown-shadow-color}*/; -} -/* Active button */ -.ui-page-theme-b .ui-btn.ui-btn-active, -html .ui-bar-b .ui-btn.ui-btn-active, -html .ui-body-b .ui-btn.ui-btn-active, -html body .ui-group-theme-b .ui-btn.ui-btn-active, -html head + body .ui-btn.ui-btn-b.ui-btn-active, -/* Active checkbox icon */ -.ui-page-theme-b .ui-checkbox-on:after, -html .ui-bar-b .ui-checkbox-on:after, -html .ui-body-b .ui-checkbox-on:after, -html body .ui-group-theme-b .ui-checkbox-on:after, -.ui-btn.ui-checkbox-on.ui-btn-b:after, -/* Active flipswitch background */ -.ui-page-theme-b .ui-flipswitch-active, -html .ui-bar-b .ui-flipswitch-active, -html .ui-body-b .ui-flipswitch-active, -html body .ui-group-theme-b .ui-flipswitch-active, -html body .ui-flipswitch.ui-bar-b.ui-flipswitch-active, -/* Active slider track */ -.ui-page-theme-b .ui-slider-track .ui-btn-active, -html .ui-bar-b .ui-slider-track .ui-btn-active, -html .ui-body-b .ui-slider-track .ui-btn-active, -html body .ui-group-theme-b .ui-slider-track .ui-btn-active, -html body div.ui-slider-track.ui-body-b .ui-btn-active { - background-color: #22aadd /*{b-active-background-color}*/; - border-color: #22aadd /*{b-active-border}*/; - color: #fff /*{b-active-color}*/; - text-shadow: 0 /*{b-active-shadow-x}*/ 1px /*{b-active-shadow-y}*/ 0 /*{b-active-shadow-radius}*/ #0088bb /*{b-active-shadow-color}*/; -} -/* Active radio button icon */ -.ui-page-theme-b .ui-radio-on:after, -html .ui-bar-b .ui-radio-on:after, -html .ui-body-b .ui-radio-on:after, -html body .ui-group-theme-b .ui-radio-on:after, -.ui-btn.ui-radio-on.ui-btn-b:after { - border-color: #22aadd /*{b-active-background-color}*/; -} -/* Focus */ -.ui-page-theme-b .ui-btn:focus, -html .ui-bar-b .ui-btn:focus, -html .ui-body-b .ui-btn:focus, -html body .ui-group-theme-b .ui-btn:focus, -html head + body .ui-btn.ui-btn-b:focus, -/* Focus buttons and text inputs with div wrap */ -.ui-page-theme-b .ui-focus, -html .ui-bar-b .ui-focus, -html .ui-body-b .ui-focus, -html body .ui-group-theme-b .ui-focus, -html head + body .ui-btn-b.ui-focus, -html head + body .ui-body-b.ui-focus { - -webkit-box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; - -moz-box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; - box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; -} -/* Structure */ -/* Disabled ------------------------------------------------------------------------------------------------------------*/ -/* Class ui-disabled deprecated in 1.4. :disabled not supported by IE8 so we use [disabled] */ -.ui-disabled, -.ui-state-disabled, -button[disabled], -.ui-select .ui-btn.ui-state-disabled { - filter: Alpha(Opacity=30); - opacity: .3; - cursor: default !important; - pointer-events: none; -} -/* Focus state outline ------------------------------------------------------------------------------------------------------------*/ -.ui-btn:focus, -.ui-btn.ui-focus { - outline: 0; -} -/* Unset box-shadow in browsers that don't do it right */ -.ui-noboxshadow .ui-shadow, -.ui-noboxshadow .ui-shadow-inset, -.ui-noboxshadow .ui-overlay-shadow, -.ui-noboxshadow .ui-shadow-icon.ui-btn:after, -.ui-noboxshadow .ui-shadow-icon .ui-btn:after, -.ui-noboxshadow .ui-focus, -.ui-noboxshadow .ui-btn:focus, -.ui-noboxshadow input:focus, -.ui-noboxshadow .ui-panel { - -webkit-box-shadow: none !important; - -moz-box-shadow: none !important; - box-shadow: none !important; -} -.ui-noboxshadow .ui-btn:focus, -.ui-noboxshadow .ui-focus { - outline-width: 1px; - outline-style: auto; -} -/* Some unsets */ -.ui-mobile, -.ui-mobile body { - height: 99.9%; -} -.ui-mobile fieldset, -.ui-page { - padding: 0; - margin: 0; -} -.ui-mobile a img, -.ui-mobile fieldset { - border-width: 0; -} -/* Fixes for fieldset issues on IE10 and FF (see #6077) */ -.ui-mobile fieldset { - min-width: 0; -} -@-moz-document url-prefix() { - .ui-mobile fieldset { - display: table-column; - vertical-align: middle; - } -} -/* Viewport */ -.ui-mobile-viewport { - margin: 0; - overflow-x: visible; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust:none; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} -/* Issue #2066 */ -body.ui-mobile-viewport, -div.ui-mobile-viewport { - overflow-x: hidden; -} -/* "page" containers - full-screen views, one should always be in view post-pageload */ -.ui-mobile [data-role=page], -.ui-mobile [data-role=dialog], -.ui-page { - top: 0; - left: 0; - width: 100%; - min-height: 100%; - position: absolute; - display: none; - border: 0; -} -/* On ios4, setting focus on the page element causes flashing during transitions when there is an outline, so we turn off outlines */ -.ui-page { - outline: none; -} -.ui-mobile .ui-page-active { - display: block; - overflow: visible; - overflow-x: hidden; -} -@media screen and (orientation: portrait) { - .ui-mobile .ui-page { - min-height: 420px; - } -} -@media screen and (orientation: landscape) { - .ui-mobile .ui-page { - min-height: 300px; - } -} -/* Fouc */ -.ui-mobile-rendering > * { - visibility: hidden; -} -/* Non-js content hiding */ -.ui-nojs { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -/* Loading screen */ -.ui-loading .ui-loader { - display: block; -} -.ui-loader { - display: none; - z-index: 9999999; - position: fixed; - top: 50%; - left: 50%; - border:0; -} -.ui-loader-default { - background: none; - filter: Alpha(Opacity=18); - opacity: .18; - width: 2.875em; - height: 2.875em; - margin-left: -1.4375em; - margin-top: -1.4375em; -} -.ui-loader-verbose { - width: 12.5em; - filter: Alpha(Opacity=88); - opacity: .88; - box-shadow: 0 1px 1px -1px #fff; - height: auto; - margin-left: -6.875em; - margin-top: -2.6875em; - padding: .625em; -} -.ui-loader-default h1 { - font-size: 0; - width: 0; - height: 0; - overflow: hidden; -} -.ui-loader-verbose h1 { - font-size: 1em; - margin: 0; - text-align: center; -} -.ui-loader .ui-icon-loading { - background-color: #000; - display: block; - margin: 0; - width: 2.75em; - height: 2.75em; - padding: .0625em; - -webkit-border-radius: 2.25em; - border-radius: 2.25em; -} -.ui-loader-verbose .ui-icon-loading { - margin: 0 auto .625em; - filter: Alpha(Opacity=75); - opacity: .75; -} -.ui-loader-textonly { - padding: .9375em; - margin-left: -7.1875em; -} -.ui-loader-textonly .ui-icon-loading { - display: none; -} -.ui-loader-fakefix { - position: absolute; -} -/* Headers, content panels */ -.ui-bar, -.ui-body { - position: relative; - padding: .4em 1em; - overflow: hidden; - display: block; - clear: both; -} -.ui-bar h1, -.ui-bar h2, -.ui-bar h3, -.ui-bar h4, -.ui-bar h5, -.ui-bar h6 { - margin: 0; - padding: 0; - font-size: 1em; - display: inline-block; -} -.ui-header, -.ui-footer { - border-width: 1px 0; - border-style: solid; - position: relative; -} -.ui-header:empty, -.ui-footer:empty { - min-height: 2.6875em; -} -.ui-header .ui-title, -.ui-footer .ui-title { - font-size: 1em; - min-height: 1.1em; - text-align: center; - display: block; - margin: 0 30%; - padding: .7em 0; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; - outline: 0 !important; -} -.ui-footer .ui-title { - margin: 0 1em; -} -.ui-content { - border-width: 0; - overflow: visible; - overflow-x: hidden; - padding: 1em; -} -/* Corner styling for dialogs and popups */ -.ui-corner-all > .ui-header:first-child, -.ui-corner-all > .ui-content:first-child, -.ui-corner-all > .ui-footer:first-child { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; -} -.ui-corner-all > .ui-header:last-child, -.ui-corner-all > .ui-content:last-child, -.ui-corner-all > .ui-footer:last-child { - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -/* Buttons and icons */ -.ui-btn { - font-size: 16px; - margin: .5em 0; - padding: .7em 1em; - display: block; - position: relative; - text-align: center; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.ui-btn-icon-notext, -.ui-header button.ui-btn.ui-btn-icon-notext, -.ui-footer button.ui-btn.ui-btn-icon-notext { - padding: 0; - width: 1.75em; - height: 1.75em; - text-indent: -9999px; - white-space: nowrap !important; -} -.ui-mini { - font-size: 12.5px; -} -.ui-mini .ui-btn { - font-size: inherit; -} -/* Make buttons in toolbars default to mini and inline. */ -.ui-header .ui-btn, -.ui-footer .ui-btn { - font-size: 12.5px; - display: inline-block; - vertical-align: middle; -} -.ui-header .ui-controlgroup .ui-btn-icon-notext, -.ui-footer .ui-controlgroup .ui-btn-icon-notext { - font-size: 12.5px; -} -/* To ensure same top and left/right position when ui-btn-left/right are added to something other than buttons. */ -.ui-header .ui-btn-left, -.ui-header .ui-btn-right { - font-size: 12.5px; -} -.ui-mini.ui-btn-icon-notext, -.ui-mini .ui-btn-icon-notext, -.ui-header .ui-btn-icon-notext, -.ui-footer .ui-btn-icon-notext { - font-size: 16px; - padding: 0; -} -.ui-btn-inline { - display: inline-block; - vertical-align: middle; - margin-right: .625em; -} -.ui-btn-icon-left { - padding-left: 2.5em; -} -.ui-btn-icon-right { - padding-right: 2.5em; -} -.ui-btn-icon-top { - padding-top: 2.5em; -} -.ui-btn-icon-bottom { - padding-bottom: 2.5em; -} -.ui-header .ui-btn-icon-top, -.ui-footer .ui-btn-icon-top, -.ui-header .ui-btn-icon-bottom, -.ui-footer .ui-btn-icon-bottom { - padding-left: .3125em; - padding-right: .3125em; -} -.ui-btn-icon-left:after, -.ui-btn-icon-right:after, -.ui-btn-icon-top:after, -.ui-btn-icon-bottom:after, -.ui-btn-icon-notext:after { - content: ""; - position: absolute; - display: block; - width: 22px; - height: 22px; -} -.ui-btn-icon-notext:after, -.ui-btn-icon-left:after, -.ui-btn-icon-right:after { - top: 50%; - margin-top: -11px; -} -.ui-btn-icon-left:after { - left: .5625em; -} -.ui-btn-icon-right:after { - right: .5625em; -} -.ui-mini.ui-btn-icon-left:after, -.ui-mini .ui-btn-icon-left:after, -.ui-header .ui-btn-icon-left:after, -.ui-footer .ui-btn-icon-left:after { - left: .37em; -} -.ui-mini.ui-btn-icon-right:after, -.ui-mini .ui-btn-icon-right:after, -.ui-header .ui-btn-icon-right:after, -.ui-footer .ui-btn-icon-right:after { - right: .37em; -} -.ui-btn-icon-notext:after, -.ui-btn-icon-top:after, -.ui-btn-icon-bottom:after { - left: 50%; - margin-left: -11px; -} -.ui-btn-icon-top:after { - top: .5625em; -} -.ui-btn-icon-bottom:after { - top: auto; - bottom: .5625em; -} -/* Buttons in header position classes */ -.ui-header .ui-btn-left, -.ui-header .ui-btn-right, -.ui-btn-left > [class*="ui-"], -.ui-btn-right > [class*="ui-"] { - margin: 0; -} -.ui-btn-left, -.ui-btn-right { - position: absolute; - top: .24em; -} -.ui-btn-left { - left: .4em; -} -.ui-btn-right { - right: .4em; -} -.ui-btn-icon-notext.ui-btn-left { - top: .3125em; - left: .3125em; -} -.ui-btn-icon-notext.ui-btn-right { - top: .3125em; - right: .3125em; -} -/* Button elements */ -button.ui-btn, -.ui-controlgroup-controls button.ui-btn-icon-notext { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - -webkit-appearance: none; - -moz-appearance: none; - width: 100%; -} -button.ui-btn-inline, -.ui-header button.ui-btn, -.ui-footer button.ui-btn { - width: auto; -} -/* Firefox adds a 1px border in a button element. We negate this to make sure they have the same height as other buttons in controlgroups. */ -button.ui-btn::-moz-focus-inner { - border: 0; -} -button.ui-btn-icon-notext, -.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn { - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; - width: 1.75em; -} -/* Form labels */ -.ui-mobile label, -.ui-controlgroup-label { - display: block; - margin: 0 0 .4em; -} -/* Accessible content hiding */ -/* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */ -.ui-hide-label > label, -.ui-hide-label .ui-controlgroup-label, -.ui-hide-label .ui-rangeslider label, -.ui-hidden-accessible { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -/* Used for hiding elements by the filterable widget. You can also use this class to hide list items or buttons in controlgroups; this ensures correct corner styling. */ -.ui-screen-hidden { - display: none !important; -} -/* Transitions originally inspired by those from jQtouch, nice work, folks */ -.ui-mobile-viewport-transitioning, -.ui-mobile-viewport-transitioning .ui-page { - width: 100%; - height: 100%; - overflow: hidden; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.ui-page-pre-in { - opacity: 0; -} -.in { - -webkit-animation-timing-function: ease-out; - -webkit-animation-duration: 350ms; - -moz-animation-timing-function: ease-out; - -moz-animation-duration: 350ms; - animation-timing-function: ease-out; - animation-duration: 350ms; -} -.out { - -webkit-animation-timing-function: ease-in; - -webkit-animation-duration: 225ms; - -moz-animation-timing-function: ease-in; - -moz-animation-duration: 225ms; - animation-timing-function: ease-in; - animation-duration: 225ms; -} -@-webkit-keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } -} -@-moz-keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } -} -@keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } -} -@-webkit-keyframes fadeout { - from { opacity: 1; } - to { opacity: 0; } -} -@-moz-keyframes fadeout { - from { opacity: 1; } - to { opacity: 0; } -} -@keyframes fadeout { - from { opacity: 1; } - to { opacity: 0; } -} -.fade.out { - opacity: 0; - -webkit-animation-duration: 125ms; - -webkit-animation-name: fadeout; - -moz-animation-duration: 125ms; - -moz-animation-name: fadeout; - animation-duration: 125ms; - animation-name: fadeout; -} -.fade.in { - opacity: 1; - -webkit-animation-duration: 225ms; - -webkit-animation-name: fadein; - -moz-animation-duration: 225ms; - -moz-animation-name: fadein; - animation-duration: 225ms; - animation-name: fadein; -} -.pop { - -webkit-transform-origin: 50% 50%; - -moz-transform-origin: 50% 50%; - transform-origin: 50% 50%; -} -.pop.in { - -webkit-transform: scale(1); - -webkit-animation-name: popin; - -webkit-animation-duration: 350ms; - -moz-transform: scale(1); - -moz-animation-name: popin; - -moz-animation-duration: 350ms; - transform: scale(1); - animation-name: popin; - animation-duration: 350ms; - opacity: 1; -} -.pop.out { - -webkit-animation-name: fadeout; - -webkit-animation-duration: 100ms; - -moz-animation-name: fadeout; - -moz-animation-duration: 100ms; - animation-name: fadeout; - animation-duration: 100ms; - opacity: 0; -} -.pop.in.reverse { - -webkit-animation-name: fadein; - -moz-animation-name: fadein; - animation-name: fadein; -} -.pop.out.reverse { - -webkit-transform: scale(.8); - -webkit-animation-name: popout; - -moz-transform: scale(.8); - -moz-animation-name: popout; - transform: scale(.8); - animation-name: popout; -} -@-webkit-keyframes popin { - from { - -webkit-transform: scale(.8); - opacity: 0; - } - to { - -webkit-transform: scale(1); - opacity: 1; - } -} -@-moz-keyframes popin { - from { - -moz-transform: scale(.8); - opacity: 0; - } - to { - -moz-transform: scale(1); - opacity: 1; - } -} -@keyframes popin { - from { - transform: scale(.8); - opacity: 0; - } - to { - transform: scale(1); - opacity: 1; - } -} -@-webkit-keyframes popout { - from { - -webkit-transform: scale(1); - opacity: 1; - } - to { - -webkit-transform: scale(.8); - opacity: 0; - } -} -@-moz-keyframes popout { - from { - -moz-transform: scale(1); - opacity: 1; - } - to { - -moz-transform: scale(.8); - opacity: 0; - } -} -@keyframes popout { - from { - transform: scale(1); - opacity: 1; - } - to { - transform: scale(.8); - opacity: 0; - } -} -/* keyframes for slidein from sides */ -@-webkit-keyframes slideinfromright { - from { -webkit-transform: translate3d(100%,0,0); } - to { -webkit-transform: translate3d(0,0,0); } -} -@-moz-keyframes slideinfromright { - from { -moz-transform: translateX(100%); } - to { -moz-transform: translateX(0); } -} -@keyframes slideinfromright { - from { transform: translateX(100%); } - to { transform: translateX(0); } -} -@-webkit-keyframes slideinfromleft { - from { -webkit-transform: translate3d(-100%,0,0); } - to { -webkit-transform: translate3d(0,0,0); } -} -@-moz-keyframes slideinfromleft { - from { -moz-transform: translateX(-100%); } - to { -moz-transform: translateX(0); } -} -@keyframes slideinfromleft { - from { transform: translateX(-100%); } - to { transform: translateX(0); } -} -/* keyframes for slideout to sides */ -@-webkit-keyframes slideouttoleft { - from { -webkit-transform: translate3d(0,0,0); } - to { -webkit-transform: translate3d(-100%,0,0); } -} -@-moz-keyframes slideouttoleft { - from { -moz-transform: translateX(0); } - to { -moz-transform: translateX(-100%); } -} -@keyframes slideouttoleft { - from { transform: translateX(0); } - to { transform: translateX(-100%); } -} -@-webkit-keyframes slideouttoright { - from { -webkit-transform: translate3d(0,0,0); } - to { -webkit-transform: translate3d(100%,0,0); } -} -@-moz-keyframes slideouttoright { - from { -moz-transform: translateX(0); } - to { -moz-transform: translateX(100%); } -} -@keyframes slideouttoright { - from { transform: translateX(0); } - to { transform: translateX(100%); } -} -.slide.out, .slide.in { - -webkit-animation-timing-function: ease-out; - -webkit-animation-duration: 350ms; - -moz-animation-timing-function: ease-out; - -moz-animation-duration: 350ms; - animation-timing-function: ease-out; - animation-duration: 350ms; -} -.slide.out { - -webkit-transform: translate3d(-100%,0,0); - -webkit-animation-name: slideouttoleft; - -moz-transform: translateX(-100%); - -moz-animation-name: slideouttoleft; - transform: translateX(-100%); - animation-name: slideouttoleft; -} -.slide.in { - -webkit-transform: translate3d(0,0,0); - -webkit-animation-name: slideinfromright; - -moz-transform: translateX(0); - -moz-animation-name: slideinfromright; - transform: translateX(0); - animation-name: slideinfromright; -} -.slide.out.reverse { - -webkit-transform: translate3d(100%,0,0); - -webkit-animation-name: slideouttoright; - -moz-transform: translateX(100%); - -moz-animation-name: slideouttoright; - transform: translateX(100%); - animation-name: slideouttoright; -} -.slide.in.reverse { - -webkit-transform: translate3d(0,0,0); - -webkit-animation-name: slideinfromleft; - -moz-transform: translateX(0); - -moz-animation-name: slideinfromleft; - transform: translateX(0); - animation-name: slideinfromleft; -} -.slidefade.out { - -webkit-transform: translateX(-100%); - -webkit-animation-name: slideouttoleft; - -webkit-animation-duration: 225ms; - -moz-transform: translateX(-100%); - -moz-animation-name: slideouttoleft; - -moz-animation-duration: 225ms; - transform: translateX(-100%); - animation-name: slideouttoleft; - animation-duration: 225ms; -} -.slidefade.in { - -webkit-transform: translateX(0); - -webkit-animation-name: fadein; - -webkit-animation-duration: 200ms; - -moz-transform: translateX(0); - -moz-animation-name: fadein; - -moz-animation-duration: 200ms; - transform: translateX(0); - animation-name: fadein; - animation-duration: 200ms; -} -.slidefade.out.reverse { - -webkit-transform: translateX(100%); - -webkit-animation-name: slideouttoright; - -webkit-animation-duration: 200ms; - -moz-transform: translateX(100%); - -moz-animation-name: slideouttoright; - -moz-animation-duration: 200ms; - transform: translateX(100%); - animation-name: slideouttoright; - animation-duration: 200ms; -} -.slidefade.in.reverse { - -webkit-transform: translateX(0); - -webkit-animation-name: fadein; - -webkit-animation-duration: 200ms; - -moz-transform: translateX(0); - -moz-animation-name: fadein; - -moz-animation-duration: 200ms; - transform: translateX(0); - animation-name: fadein; - animation-duration: 200ms; -} -/* slide down */ -.slidedown.out { - -webkit-animation-name: fadeout; - -webkit-animation-duration: 100ms; - -moz-animation-name: fadeout; - -moz-animation-duration: 100ms; - animation-name: fadeout; - animation-duration: 100ms; -} -.slidedown.in { - -webkit-transform: translateY(0); - -webkit-animation-name: slideinfromtop; - -webkit-animation-duration: 250ms; - -moz-transform: translateY(0); - -moz-animation-name: slideinfromtop; - -moz-animation-duration: 250ms; - transform: translateY(0); - animation-name: slideinfromtop; - animation-duration: 250ms; -} -.slidedown.in.reverse { - -webkit-animation-name: fadein; - -webkit-animation-duration: 150ms; - -moz-animation-name: fadein; - -moz-animation-duration: 150ms; - animation-name: fadein; - animation-duration: 150ms; -} -.slidedown.out.reverse { - -webkit-transform: translateY(-100%); - -webkit-animation-name: slideouttotop; - -webkit-animation-duration: 200ms; - -moz-transform: translateY(-100%); - -moz-animation-name: slideouttotop; - -moz-animation-duration: 200ms; - transform: translateY(-100%); - animation-name: slideouttotop; - animation-duration: 200ms; -} -@-webkit-keyframes slideinfromtop { - from { -webkit-transform: translateY(-100%); } - to { -webkit-transform: translateY(0); } -} -@-moz-keyframes slideinfromtop { - from { -moz-transform: translateY(-100%); } - to { -moz-transform: translateY(0); } -} -@keyframes slideinfromtop { - from { transform: translateY(-100%); } - to { transform: translateY(0); } -} -@-webkit-keyframes slideouttotop { - from { -webkit-transform: translateY(0); } - to { -webkit-transform: translateY(-100%); } -} -@-moz-keyframes slideouttotop { - from { -moz-transform: translateY(0); } - to { -moz-transform: translateY(-100%); } -} -@keyframes slideouttotop { - from { transform: translateY(0); } - to { transform: translateY(-100%); } -} -/* slide up */ -.slideup.out { - -webkit-animation-name: fadeout; - -webkit-animation-duration: 100ms; - -moz-animation-name: fadeout; - -moz-animation-duration: 100ms; - animation-name: fadeout; - animation-duration: 100ms; -} -.slideup.in { - -webkit-transform: translateY(0); - -webkit-animation-name: slideinfrombottom; - -webkit-animation-duration: 250ms; - -moz-transform: translateY(0); - -moz-animation-name: slideinfrombottom; - -moz-animation-duration: 250ms; - transform: translateY(0); - animation-name: slideinfrombottom; - animation-duration: 250ms; -} -.slideup.in.reverse { - -webkit-animation-name: fadein; - -webkit-animation-duration: 150ms; - -moz-animation-name: fadein; - -moz-animation-duration: 150ms; - animation-name: fadein; - animation-duration: 150ms; -} -.slideup.out.reverse { - -webkit-transform: translateY(100%); - -webkit-animation-name: slideouttobottom; - -webkit-animation-duration: 200ms; - -moz-transform: translateY(100%); - -moz-animation-name: slideouttobottom; - -moz-animation-duration: 200ms; - transform: translateY(100%); - animation-name: slideouttobottom; - animation-duration: 200ms; -} -@-webkit-keyframes slideinfrombottom { - from { -webkit-transform: translateY(100%); } - to { -webkit-transform: translateY(0); } -} -@-moz-keyframes slideinfrombottom { - from { -moz-transform: translateY(100%); } - to { -moz-transform: translateY(0); } -} -@keyframes slideinfrombottom { - from { transform: translateY(100%); } - to { transform: translateY(0); } -} -@-webkit-keyframes slideouttobottom { - from { -webkit-transform: translateY(0); } - to { -webkit-transform: translateY(100%); } -} -@-moz-keyframes slideouttobottom { - from { -moz-transform: translateY(0); } - to { -moz-transform: translateY(100%); } -} -@keyframes slideouttobottom { - from { transform: translateY(0); } - to { transform: translateY(100%); } -} -/* The properties in this rule are only necessary for the 'flip' transition. - * We need specify the perspective to create a projection matrix. This will add - * some depth as the element flips. The depth number represents the distance of - * the viewer from the z-plane. According to the CSS3 spec, 1000 is a moderate - * value. - */ -.viewport-flip { - -webkit-perspective: 1000; - -moz-perspective: 1000; - perspective: 1000; - position: absolute; -} -.flip { - -webkit-backface-visibility: hidden; - -webkit-transform: translateX(0); /* Needed to work around an iOS 3.1 bug that causes listview thumbs to disappear when -webkit-visibility:hidden is used. */ - -moz-backface-visibility: hidden; - -moz-transform: translateX(0); - backface-visibility: hidden; - transform: translateX(0); -} -.flip.out { - -webkit-transform: rotateY(-90deg) scale(.9); - -webkit-animation-name: flipouttoleft; - -webkit-animation-duration: 175ms; - -moz-transform: rotateY(-90deg) scale(.9); - -moz-animation-name: flipouttoleft; - -moz-animation-duration: 175ms; - transform: rotateY(-90deg) scale(.9); - animation-name: flipouttoleft; - animation-duration: 175ms; -} -.flip.in { - -webkit-animation-name: flipintoright; - -webkit-animation-duration: 225ms; - -moz-animation-name: flipintoright; - -moz-animation-duration: 225ms; - animation-name: flipintoright; - animation-duration: 225ms; -} -.flip.out.reverse { - -webkit-transform: rotateY(90deg) scale(.9); - -webkit-animation-name: flipouttoright; - -moz-transform: rotateY(90deg) scale(.9); - -moz-animation-name: flipouttoright; - transform: rotateY(90deg) scale(.9); - animation-name: flipouttoright; -} -.flip.in.reverse { - -webkit-animation-name: flipintoleft; - -moz-animation-name: flipintoleft; - animation-name: flipintoleft; -} -@-webkit-keyframes flipouttoleft { - from { -webkit-transform: rotateY(0); } - to { -webkit-transform: rotateY(-90deg) scale(.9); } -} -@-moz-keyframes flipouttoleft { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(-90deg) scale(.9); } -} -@keyframes flipouttoleft { - from { transform: rotateY(0); } - to { transform: rotateY(-90deg) scale(.9); } -} -@-webkit-keyframes flipouttoright { - from { -webkit-transform: rotateY(0) ; } - to { -webkit-transform: rotateY(90deg) scale(.9); } -} -@-moz-keyframes flipouttoright { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(90deg) scale(.9); } -} -@keyframes flipouttoright { - from { transform: rotateY(0); } - to { transform: rotateY(90deg) scale(.9); } -} -@-webkit-keyframes flipintoleft { - from { -webkit-transform: rotateY(-90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoleft { - from { -moz-transform: rotateY(-90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoleft { - from { transform: rotateY(-90deg) scale(.9); } - to { transform: rotateY(0); } -} -@-webkit-keyframes flipintoright { - from { -webkit-transform: rotateY(90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoright { - from { -moz-transform: rotateY(90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoright { - from { transform: rotateY(90deg) scale(.9); } - to { transform: rotateY(0); } -} -/* The properties in this rule are only necessary for the 'flip' transition. - * We need specify the perspective to create a projection matrix. This will add - * some depth as the element flips. The depth number represents the distance of - * the viewer from the z-plane. According to the CSS3 spec, 1000 is a moderate - * value. - */ -.viewport-turn { - -webkit-perspective: 200px; - -moz-perspective: 200px; - -ms-perspective: 200px; - perspective: 200px; - position: absolute; -} -.turn { - -webkit-backface-visibility: hidden; - -webkit-transform: translateX(0); /* Needed to work around an iOS 3.1 bug that causes listview thumbs to disappear when -webkit-visibility:hidden is used. */ - -webkit-transform-origin: 0; - - -moz-backface-visibility: hidden; - -moz-transform: translateX(0); - -moz-transform-origin: 0; - - backface-visibility :hidden; - transform: translateX(0); - transform-origin: 0; -} -.turn.out { - -webkit-transform: rotateY(-90deg) scale(.9); - -webkit-animation-name: flipouttoleft; - -webkit-animation-duration: 125ms; - -moz-transform: rotateY(-90deg) scale(.9); - -moz-animation-name: flipouttoleft; - -moz-animation-duration: 125ms; - transform: rotateY(-90deg) scale(.9); - animation-name: flipouttoleft; - animation-duration: 125ms; -} -.turn.in { - -webkit-animation-name: flipintoright; - -webkit-animation-duration: 250ms; - -moz-animation-name: flipintoright; - -moz-animation-duration: 250ms; - animation-name: flipintoright; - animation-duration: 250ms; - -} -.turn.out.reverse { - -webkit-transform: rotateY(90deg) scale(.9); - -webkit-animation-name: flipouttoright; - -moz-transform: rotateY(90deg) scale(.9); - -moz-animation-name: flipouttoright; - transform: rotateY(90deg) scale(.9); - animation-name: flipouttoright; -} -.turn.in.reverse { - -webkit-animation-name: flipintoleft; - -moz-animation-name: flipintoleft; - animation-name: flipintoleft; -} -@-webkit-keyframes flipouttoleft { - from { -webkit-transform: rotateY(0); } - to { -webkit-transform: rotateY(-90deg) scale(.9); } -} -@-moz-keyframes flipouttoleft { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(-90deg) scale(.9); } -} -@keyframes flipouttoleft { - from { transform: rotateY(0); } - to { transform: rotateY(-90deg) scale(.9); } -} -@-webkit-keyframes flipouttoright { - from { -webkit-transform: rotateY(0) ; } - to { -webkit-transform: rotateY(90deg) scale(.9); } -} -@-moz-keyframes flipouttoright { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(90deg) scale(.9); } -} -@keyframes flipouttoright { - from { transform: rotateY(0); } - to { transform: rotateY(90deg) scale(.9); } -} -@-webkit-keyframes flipintoleft { - from { -webkit-transform: rotateY(-90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoleft { - from { -moz-transform: rotateY(-90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoleft { - from { transform: rotateY(-90deg) scale(.9); } - to { transform: rotateY(0); } -} -@-webkit-keyframes flipintoright { - from { -webkit-transform: rotateY(90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoright { - from { -moz-transform: rotateY(90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoright { - from { transform: rotateY(90deg) scale(.9); } - to { transform: rotateY(0); } -} -/* flow transition */ -.flow { - -webkit-transform-origin: 50% 30%; - -webkit-box-shadow: 0 0 20px rgba(0,0,0,.4); - -moz-transform-origin: 50% 30%; - -moz-box-shadow: 0 0 20px rgba(0,0,0,.4); - transform-origin: 50% 30%; - box-shadow: 0 0 20px rgba(0,0,0,.4); -} -.ui-dialog.flow { - -webkit-transform-origin: none; - -webkit-box-shadow: none; - -moz-transform-origin: none; - -moz-box-shadow: none; - transform-origin: none; - box-shadow: none; -} -.flow.out { - -webkit-transform: translateX(-100%) scale(.7); - -webkit-animation-name: flowouttoleft; - -webkit-animation-timing-function: ease; - -webkit-animation-duration: 350ms; - -moz-transform: translateX(-100%) scale(.7); - -moz-animation-name: flowouttoleft; - -moz-animation-timing-function: ease; - -moz-animation-duration: 350ms; - transform: translateX(-100%) scale(.7); - animation-name: flowouttoleft; - animation-timing-function: ease; - animation-duration: 350ms; -} -.flow.in { - -webkit-transform: translateX(0) scale(1); - -webkit-animation-name: flowinfromright; - -webkit-animation-timing-function: ease; - -webkit-animation-duration: 350ms; - -moz-transform: translateX(0) scale(1); - -moz-animation-name: flowinfromright; - -moz-animation-timing-function: ease; - -moz-animation-duration: 350ms; - transform: translateX(0) scale(1); - animation-name: flowinfromright; - animation-timing-function: ease; - animation-duration: 350ms; -} -.flow.out.reverse { - -webkit-transform: translateX(100%); - -webkit-animation-name: flowouttoright; - -moz-transform: translateX(100%); - -moz-animation-name: flowouttoright; - transform: translateX(100%); - animation-name: flowouttoright; -} -.flow.in.reverse { - -webkit-animation-name: flowinfromleft; - -moz-animation-name: flowinfromleft; - animation-name: flowinfromleft; -} -@-webkit-keyframes flowouttoleft { - 0% { -webkit-transform: translateX(0) scale(1); } - 60%, 70% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(-100%) scale(.7); } -} -@-moz-keyframes flowouttoleft { - 0% { -moz-transform: translateX(0) scale(1); } - 60%, 70% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(-100%) scale(.7); } -} -@keyframes flowouttoleft { - 0% { transform: translateX(0) scale(1); } - 60%, 70% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(-100%) scale(.7); } -} -@-webkit-keyframes flowouttoright { - 0% { -webkit-transform: translateX(0) scale(1); } - 60%, 70% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(100%) scale(.7); } -} -@-moz-keyframes flowouttoright { - 0% { -moz-transform: translateX(0) scale(1); } - 60%, 70% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(100%) scale(.7); } -} -@keyframes flowouttoright { - 0% { transform: translateX(0) scale(1); } - 60%, 70% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(100%) scale(.7); } -} -@-webkit-keyframes flowinfromleft { - 0% { -webkit-transform: translateX(-100%) scale(.7); } - 30%, 40% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(0) scale(1); } -} -@-moz-keyframes flowinfromleft { - 0% { -moz-transform: translateX(-100%) scale(.7); } - 30%, 40% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(0) scale(1); } -} -@keyframes flowinfromleft { - 0% { transform: translateX(-100%) scale(.7); } - 30%, 40% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(0) scale(1); } -} -@-webkit-keyframes flowinfromright { - 0% { -webkit-transform: translateX(100%) scale(.7); } - 30%, 40% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(0) scale(1); } -} -@-moz-keyframes flowinfromright { - 0% { -moz-transform: translateX(100%) scale(.7); } - 30%, 40% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(0) scale(1); } -} -@keyframes flowinfromright { - 0% { transform: translateX(100%) scale(.7); } - 30%, 40% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(0) scale(1); } -} -.ui-field-contain, -.ui-mobile fieldset.ui-field-contain { - display: block; - position: relative; - overflow: visible; - clear: both; - padding: .8em 0; -} -.ui-field-contain > label ~ [class*="ui-"], -.ui-field-contain .ui-controlgroup-controls { - margin: 0; -} -.ui-field-contain:last-child { - border-bottom-width: 0; -} -@media (min-width: 28em) { - .ui-field-contain, - .ui-mobile fieldset.ui-field-contain { - padding: 0; - margin: 1em 0; - border-bottom-width: 0; - } - .ui-field-contain:before, - .ui-field-contain:after { - content: ""; - display: table; - } - .ui-field-contain:after { - clear: both; - } - .ui-field-contain > label, - .ui-field-contain .ui-controlgroup-label, - .ui-field-contain > .ui-rangeslider > label { - float: left; - width: 20%; - margin: .5em 2% 0 0; - } - .ui-popup .ui-field-contain > label, - .ui-popup .ui-field-contain .ui-controlgroup-label, - .ui-popup .ui-field-contain > .ui-rangeslider > label { - float: none; - width: auto; - margin: 0 0 .4em; - } - .ui-field-contain > label ~ [class*="ui-"], - .ui-field-contain .ui-controlgroup-controls { - float: left; - width: 78%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - } - /* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */ - .ui-hide-label > label ~ [class*="ui-"], - .ui-hide-label .ui-controlgroup-controls, - .ui-popup .ui-field-contain > label ~ [class*="ui-"], - .ui-popup .ui-field-contain .ui-controlgroup-controls { - float: none; - width: 100%; - } - .ui-field-contain > label ~ .ui-btn-inline { - width: auto; - margin-right: .625em; - } - .ui-field-contain > label ~ .ui-btn-inline.ui-btn-icon-notext { - width: 1.75em; - } -} -/* content configurations. */ -.ui-grid-a, -.ui-grid-b, -.ui-grid-c, -.ui-grid-d, -.ui-grid-solo { - overflow: hidden; -} -.ui-block-a, -.ui-block-b, -.ui-block-c, -.ui-block-d, -.ui-block-e { - margin: 0; - padding: 0; - border: 0; - float: left; - min-height: 1px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -/* force new row */ -.ui-block-a { - clear: left; -} -ul.ui-grid-a, -ul.ui-grid-b, -ul.ui-grid-c, -ul.ui-grid-d, -ul.ui-grid-solo, -li.ui-block-a, -li.ui-block-b, -li.ui-block-c, -li.ui-block-d, -li.ui-block-e { - margin-left: 0; - margin-right: 0; - padding: 0; - list-style: none; -} -/* No margin in grids for 100% width button elements until we can use max-width: fill-available; */ -[class*="ui-block-"] > button.ui-btn { - margin-right: 0; - margin-left: 0; -} -[class*="ui-block-"] > .ui-btn, -[class*="ui-block-"] > .ui-select, -[class*="ui-block-"] > .ui-checkbox, -[class*="ui-block-"] > .ui-radio, -[class*="ui-block-"] > button.ui-btn-inline, -[class*="ui-block-"] > button.ui-btn-icon-notext, -.ui-header [class*="ui-block-"] > button.ui-btn, -.ui-footer [class*="ui-block-"] > button.ui-btn { - margin-right: .3125em; - margin-left: .3125em; -} -.ui-grid-a > .ui-block-a, -.ui-grid-a > .ui-block-b { - /* width: 49.95%; IE7 */ - /* margin-right: -.5px; BB5 */ - width: 50%; -} -.ui-grid-b > .ui-block-a, -.ui-grid-b > .ui-block-b, -.ui-grid-b > .ui-block-c { - /* width: 33.25%; IE7 */ - /* margin-right: -.5px; BB5 */ - width: 33.333%; -} -.ui-grid-c > .ui-block-a, -.ui-grid-c > .ui-block-b, -.ui-grid-c > .ui-block-c, -.ui-grid-c > .ui-block-d { - /* width: 24.925%; IE7 */ - /* margin-right: -.5px; BB5 */ - width: 25%; -} -.ui-grid-d > .ui-block-a, -.ui-grid-d > .ui-block-b, -.ui-grid-d > .ui-block-c, -.ui-grid-d > .ui-block-d, -.ui-grid-d > .ui-block-e { - /* width: 19.925%; IE7 */ - width: 20%; -} -.ui-grid-solo > .ui-block-a { - width: 100%; - float: none; -} -/* preset breakpoint to switch to stacked grid styles below 35em (560px) */ -@media (max-width: 35em) { - .ui-responsive > .ui-block-a, - .ui-responsive > .ui-block-b, - .ui-responsive > .ui-block-c, - .ui-responsive > .ui-block-d, - .ui-responsive > .ui-block-e { - width: 100%; - float: none; - } -} -/* fixed page header & footer configuration */ -.ui-header-fixed, -.ui-footer-fixed { - left: 0; - right: 0; - width: 100%; - position: fixed; - z-index: 1000; -} -.ui-header-fixed { - top: -1px; - padding-top: 1px; -} -.ui-header-fixed.ui-fixed-hidden { - top: 0; - padding-top: 0; -} -.ui-header-fixed .ui-btn-left, -.ui-header-fixed .ui-btn-right { - margin-top: 1px; -} -.ui-header-fixed.ui-fixed-hidden .ui-btn-left, -.ui-header-fixed.ui-fixed-hidden .ui-btn-right { - margin-top: 0; -} -.ui-footer-fixed { - bottom: -1px; - padding-bottom: 1px; -} -.ui-footer-fixed.ui-fixed-hidden { - bottom: 0; - padding-bottom: 0; -} -.ui-header-fullscreen, -.ui-footer-fullscreen { - filter: Alpha(Opacity=90); - opacity: .9; -} -/* updatePagePadding() will update the padding to actual height of header and footer. */ -.ui-page-header-fixed { - padding-top: 2.8125em; -} -.ui-page-footer-fixed { - padding-bottom: 2.8125em; -} -.ui-page-header-fullscreen > .ui-content, -.ui-page-footer-fullscreen > .ui-content { - padding: 0; -} -.ui-fixed-hidden { - position: absolute; -} -/* Tap toggle: hide external fixed footer. See issue #6604 */ -.ui-footer-fixed.ui-fixed-hidden { - display: none; -} -.ui-page .ui-footer-fixed.ui-fixed-hidden { - display: block -} -.ui-page-header-fullscreen .ui-fixed-hidden, -.ui-page-footer-fullscreen .ui-fixed-hidden { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-header-fixed .ui-btn, -.ui-footer-fixed .ui-btn { - z-index: 10; -} -/* workarounds for other widgets */ -.ui-android-2x-fixed .ui-li-has-thumb { - -webkit-transform: translate3d(0,0,0); -} -.ui-navbar { - max-width: 100%; -} -.ui-navbar ul:before, -.ui-navbar ul:after { - content: ""; - display: table; -} -.ui-navbar ul:after { - clear: both; -} -.ui-navbar ul { - list-style: none; - margin: 0; - padding: 0; - position: relative; - display: block; - border: 0; - max-width: 100%; - overflow: visible; -} -.ui-navbar li .ui-btn { - font-size: 12.5px; - display: block; - margin: 0; - border-right-width: 0; -} -.ui-header .ui-navbar li button.ui-btn, -.ui-footer .ui-navbar li button.ui-btn { - margin: 0; - width: 100%; -} -.ui-navbar .ui-btn:focus { - z-index: 1; -} -/* fixes gaps caused by subpixel problem */ -.ui-navbar li:last-child .ui-btn { - margin-right: -4px; -} -.ui-navbar li:last-child .ui-btn:after { - margin-right: 4px; -} -.ui-content .ui-navbar li:last-child .ui-btn, -.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn { - border-right-width: 1px; - margin-right: 0; -} -.ui-content .ui-navbar li:last-child .ui-btn:after, -.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn:after { - margin-right: 0; -} -.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn { - border-right-width: 1px; - margin-right: -1px; -} -.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn:after { - margin-right: 1px; -} -.ui-navbar .ui-grid-duo .ui-btn { - border-top-width: 0; -} -.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn { - border-top-width: 1px; -} -.ui-header .ui-navbar .ui-btn, -.ui-footer .ui-navbar .ui-btn { - border-top-width: 0; - border-bottom-width: 0; -} -.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn, -.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn { - border-top-width: 0; -} -.ui-header .ui-title ~ .ui-navbar .ui-btn, -.ui-footer .ui-title ~ .ui-navbar .ui-btn, -.ui-header .ui-navbar .ui-grid-duo .ui-btn, -.ui-footer .ui-navbar .ui-grid-duo .ui-btn, -.ui-header .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-footer .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-header .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn, -.ui-footer .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn { - border-top-width: 1px; -} -/* Hide the native input element */ -.ui-input-btn input { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - padding: 0; - border: 0; - outline: 0; - -webkit-border-radius: inherit; - border-radius: inherit; - -webkit-appearance: none; - -moz-appearance: none; - cursor: pointer; - background: #fff; - background: rgba(255,255,255,0); - filter: Alpha(Opacity=0); - opacity: .1; - font-size: 1px; - text-indent: -9999px; - z-index: 2; -} -/* Fixes IE/WP filter alpha opacity bugs */ -.ui-input-btn.ui-state-disabled input { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-collapsible { - margin: 0 -1em; -} -.ui-collapsible-inset, -.ui-collapsible-set { - margin: .5em 0; -} -.ui-collapsible-heading { - display: block; - margin: 0; - padding: 0; - position: relative; -} -.ui-collapsible-heading .ui-btn { - text-align: left; - margin: 0; - border-left-width: 0; - border-right-width: 0; -} -.ui-collapsible-heading .ui-btn-icon-top, -.ui-collapsible-heading .ui-btn-icon-bottom { - text-align: center; -} -.ui-collapsible-inset .ui-collapsible-heading .ui-btn { - border-right-width: 1px; - border-left-width: 1px; -} -.ui-collapsible-collapsed + .ui-collapsible:not(.ui-collapsible-inset) > .ui-collapsible-heading .ui-btn { - border-top-width: 0; -} -.ui-collapsible-set .ui-collapsible:not(.ui-collapsible-inset) .ui-collapsible-heading .ui-btn { - border-top-width: 1px; -} -.ui-collapsible-heading-status { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-collapsible-content { - display: block; - margin: 0; - padding: .5em 1em; -} -.ui-collapsible-themed-content .ui-collapsible-content { - border-left-width: 0; - border-right-width: 0; - border-top-width: 0; - border-bottom-width: 1px; - border-style: solid; -} -.ui-collapsible-inset.ui-collapsible-themed-content .ui-collapsible-content { - border-left-width: 1px; - border-right-width: 1px; -} -.ui-collapsible-inset .ui-collapsible-content { - margin: 0; -} -.ui-collapsible-content-collapsed { - display: none; -} -.ui-collapsible-set > .ui-collapsible.ui-corner-all { - -webkit-border-radius: 0; - border-radius: 0; -} -.ui-collapsible-heading, -.ui-collapsible-heading > .ui-btn { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-collapsible-set .ui-collapsible.ui-first-child { - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; -} -.ui-collapsible-content, -.ui-collapsible-set .ui-collapsible.ui-last-child { - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-collapsible-themed-content:not(.ui-collapsible-collapsed) > .ui-collapsible-heading { - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; -} -.ui-collapsible-set .ui-collapsible { - margin: -1px -1em 0; -} -.ui-collapsible-set .ui-collapsible-inset { - margin: -1px 0 0; -} -.ui-collapsible-set .ui-collapsible.ui-first-child { - margin-top: 0; -} -.ui-controlgroup, -fieldset.ui-controlgroup { - padding: 0; - margin: .5em 0; -} -.ui-field-contain .ui-controlgroup, -.ui-field-contain fieldset.ui-controlgroup { - margin: 0; -} -.ui-mini .ui-controlgroup-label { - font-size: 16px; -} -.ui-controlgroup.ui-mini .ui-btn-icon-notext, -.ui-controlgroup .ui-mini.ui-btn-icon-notext { - font-size: inherit; -} -.ui-controlgroup-controls .ui-btn, -.ui-controlgroup-controls .ui-checkbox, -.ui-controlgroup-controls .ui-radio, -.ui-controlgroup-controls .ui-select { - margin: 0; -} -.ui-controlgroup-controls .ui-btn:focus, -.ui-controlgroup-controls .ui-btn.ui-focus { - z-index: 1; -} -.ui-controlgroup-controls li { - list-style: none; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls { - display: inline-block; - vertical-align: middle; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls:before, -.ui-controlgroup-horizontal .ui-controlgroup-controls:after { - content: ""; - display: table; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls:after { - clear: both; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls > .ui-btn, -.ui-controlgroup-horizontal .ui-controlgroup-controls li > .ui-btn, -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-checkbox, -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-radio, -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-select { - float: left; - clear: none; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn, -.ui-controlgroup-controls .ui-btn-icon-notext { - width: auto; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn-icon-notext, -.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn-icon-notext { - width: 1.5em; -} - .ui-controlgroup-controls .ui-btn-icon-notext { - height: auto; - padding: .7em 1em; -} -.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn { - border-bottom-width: 0; -} -.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn.ui-last-child { - border-bottom-width: 1px; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn { - border-right-width: 0; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn.ui-last-child { - border-right-width: 1px; -} -.ui-controlgroup-controls .ui-btn-corner-all, -.ui-controlgroup-controls .ui-btn.ui-corner-all { - -webkit-border-radius: 0; - border-radius: 0; -} -.ui-controlgroup-controls, -.ui-controlgroup-controls .ui-radio, -.ui-controlgroup-controls .ui-checkbox, -.ui-controlgroup-controls .ui-select, -.ui-controlgroup-controls li { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-controlgroup-vertical .ui-btn.ui-first-child { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; -} -.ui-controlgroup-vertical .ui-btn.ui-last-child { - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -.ui-controlgroup-horizontal .ui-btn.ui-first-child { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-controlgroup-horizontal .ui-btn.ui-last-child { - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -.ui-controlgroup-controls a.ui-shadow:not(:focus), -.ui-controlgroup-controls button.ui-shadow:not(:focus), -.ui-controlgroup-controls div.ui-shadow:not(.ui-focus) { - -moz-box-shadow: none; - -webkit-box-shadow: none; - box-shadow: none; -} -/* Fixes legend not wrapping on IE10 */ -.ui-controlgroup-label legend { - max-width: 100%; -} -.ui-controlgroup-controls > label { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-dialog { - background: none !important; /* this is to ensure that dialog theming does not apply (by default at least) on the page div */ -} -.ui-dialog-contain { - width: 92.5%; - max-width: 500px; - margin: 10% auto 1em auto; - padding: 0; - position: relative; - top: -1em; -} -.ui-dialog-contain > .ui-header, -.ui-dialog-contain > .ui-content, -.ui-dialog-contain > .ui-footer { - display: block; - position: relative; - width: auto; - margin: 0; -} -.ui-dialog-contain > .ui-header { - overflow: hidden; - z-index: 10; - padding: 0; - border-top-width: 0; -} -.ui-dialog-contain > .ui-footer { - z-index: 10; - padding: 0 1em; - border-bottom-width: 0; -} -.ui-popup-open .ui-header-fixed, -.ui-popup-open .ui-footer-fixed { - position: absolute !important; /* See issues #4816, #4844 and #4874 and popup.js */ -} -.ui-popup-screen { - background-image: url("data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="); /* Necessary to set some form of background to ensure element is clickable in IE6/7. While legacy IE won't understand the data-URI'd image, it ensures no additional requests occur in all other browsers with little overhead. */ - top: 0; - left: 0; - right: 0; - bottom: 1px; - position: absolute; - filter: Alpha(Opacity=0); - opacity: 0; - z-index: 1099; -} -.ui-popup-screen.in { - opacity: 0.5; - filter: Alpha(Opacity=50); -} -.ui-popup-screen.out { - opacity: 0; - filter: Alpha(Opacity=0); -} -.ui-popup-container { - z-index: 1100; - display: inline-block; - position: absolute; - padding: 0; - outline: 0; -} -.ui-popup { - position: relative; -} -.ui-popup.ui-body-inherit { - border-width: 1px; - border-style: solid; -} -.ui-popup-hidden { - left: 0; - top: 0; - position: absolute !important; - visibility: hidden; -} -.ui-popup-truncate { - height: 1px; - width: 1px; - margin: -1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-popup.ui-content, -.ui-popup .ui-content { - overflow: visible; -} -.ui-popup > .ui-header { - border-top-width: 0; -} -.ui-popup > .ui-footer { - border-bottom-width: 0; -} -.ui-popup > p, -.ui-popup > h1, -.ui-popup > h2, -.ui-popup > h3, -.ui-popup > h4, -.ui-popup > h5, -.ui-popup > h6 { - margin: .5em .4375em; -} -.ui-popup > span { - display: block; - margin: .5em .4375em; -} -.ui-popup-container .ui-content > p, -.ui-popup-container .ui-content > h1, -.ui-popup-container .ui-content > h2, -.ui-popup-container .ui-content > h3, -.ui-popup-container .ui-content > h4, -.ui-popup-container .ui-content > h5, -.ui-popup-container .ui-content > h6 { - margin: .5em 0; -} -.ui-popup-container .ui-content > span { - margin: 0; -} -.ui-popup-container .ui-content > p:first-child, -.ui-popup-container .ui-content > h1:first-child, -.ui-popup-container .ui-content > h2:first-child, -.ui-popup-container .ui-content > h3:first-child, -.ui-popup-container .ui-content > h4:first-child, -.ui-popup-container .ui-content > h5:first-child, -.ui-popup-container .ui-content > h6:first-child { - margin-top: 0; -} -.ui-popup-container .ui-content > p:last-child, -.ui-popup-container .ui-content > h1:last-child, -.ui-popup-container .ui-content > h2:last-child, -.ui-popup-container .ui-content > h3:last-child, -.ui-popup-container .ui-content > h4:last-child, -.ui-popup-container .ui-content > h5:last-child, -.ui-popup-container .ui-content > h6:last-child { - margin-bottom: 0; -} -.ui-popup > img { - max-width: 100%; - max-height: 100%; - vertical-align: middle; -} -.ui-popup:not(.ui-content) > img:only-child, -.ui-popup:not(.ui-content) > .ui-btn-left:first-child + img:last-child, -.ui-popup:not(.ui-content) > .ui-btn-right:first-child + img:last-child { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-popup iframe { - vertical-align: middle; -} -.ui-popup > .ui-btn-left, -.ui-popup > .ui-btn-right { - position: absolute; - top: -11px; - margin: 0; - z-index: 1101; -} -.ui-popup > .ui-btn-left { - left: -11px; -} -.ui-popup > .ui-btn-right { - right: -11px; -} -/* Dimensions related to the popup arrow ------------------------------------------------------------------------------------------------------------*/ -/* desired triangle height: 10px */ -/** - * guide for the arrow - its width, height, and offset are theme-dependent and - * should be expessed as left, right, top, bottom, so that the element bearing - * such a class becomes stretched inside its parent position: relative element. - * The left/top/right/bottom specified below should reflect the corresponding - * border radii and so it leaves room for the shadow: - * ..--------------------.. - * ." ^ top ". - * / v \ - * | +------------------+ | - * | | | | - * | left| |right| - * |<--->| |<--->| - * | +------------------+ | - * \ ^ / - * `. v bottom .' - * ""--------------------"" - * The idea is that the top/left of the arrow container box does not move to a - * coordinate smaller than the top/left of the guide and the right/bottom of - * the arrow container box does not move to a coordinate larger than the - * bottom/right of the guide. This will help us avoid the following situation: - * ..--------------------.. - * ." ^ top ". - * /|/ v \ - * / | +------------------+ | - * \ | | | | - * \| left| |right| - * |<--->| |<--->| - * | +------------------+ | - * \ ^ / - * `. v bottom .' - * ""--------------------"" - * The arrow should not receive a top/left coordinate such that it is too close - * to one of the corners, because then at first the shadow of the arrow and, - * given a coordinate even closer to the corner, even the body of the arrow will - * "stick out" of the corner of the popup. The guide provides a hint to the - * arrow positioning code as to which range of values is acceptable for the - * arrow container's top/left coordinate. - **/ -.ui-popup-arrow-container { - width: 20px; - height: 20px; -} -/* aside from the "infinities" (-1000,2000), triangle height is used */ -.ui-popup-arrow-container.ui-popup-arrow-l { - left: -10px; - clip: rect(-1000px,10px,2000px,-1000px); -} -.ui-popup-arrow-container.ui-popup-arrow-t { - top: -10px; - clip: rect(-1000px,2000px,10px,-1000px); -} -.ui-popup-arrow-container.ui-popup-arrow-r { - right: -10px; - clip: rect(-1000px,2000px,2000px,10px); -} -.ui-popup-arrow-container.ui-popup-arrow-b { - bottom: -10px; - clip: rect(10px,2000px,1000px,-1000px); -} -/** - * For each side, the arrow is twice the desired size and its corner is aligned - * with the edge of the container: - * - * /\ /\ +----+ /\ - * / \ / \ | /\ |top / \ - * +----+ \ / +----+ +-->|/ \| / \ - * left| / | \ / | \ |right | | | / \ - * |/ | \ / | \| | /| |\ / \ - * |\ | / \ | /| | / +----+ \ \ +----+ / - * | \ | / \ | / | | \ / \| |/ - * +----+ / \ +----+ | \ / | | - * ^ \ / \ / ^ | \ / +->|\ /| - * | \/ \/ | | \ / | | \/ |bottom - * | | | \/ | +----+ - * +-------------------+--------+-----------+ - * | - * arrow container - * (clips arrow) - **/ -.ui-popup-arrow-container .ui-popup-arrow { - /* (4*desired triangle height)/sqrt(2) - does not account for border - centred within the outer rectangle */ - width: 28.284271247px; - height: 28.284271247px; - border-width: 1px; - border-style: solid; -} -.ui-popup-arrow-container.ui-popup-arrow-t .ui-popup-arrow { - left: -4.142135623px; - top: 5.857864376px; -} -.ui-popup-arrow-container.ui-popup-arrow-b .ui-popup-arrow { - left: -4.142135623px; - top: -14.142135623px; -} -.ui-popup-arrow-container.ui-popup-arrow-l .ui-popup-arrow { - left: 5.857864376px; - top: -4.142135623px; -} -.ui-popup-arrow-container.ui-popup-arrow-r .ui-popup-arrow { - left: -14.142135623px; - top: -4.142135623px; -} -/* Fix rotation center for oldIE - see http://www.useragentman.com/IETransformsTranslator/ */ -.ui-popup-arrow-container.ui-popup-arrow-t.ie .ui-popup-arrow { - margin-left: -5.857864376269049px; - margin-top: -7.0710678118654755px; -} -.ui-popup-arrow-container.ui-popup-arrow-b.ie .ui-popup-arrow { - margin-left: -5.857864376269049px; - margin-top: -4.142135623730951px; -} - -.ui-popup-arrow-container.ui-popup-arrow-l.ie .ui-popup-arrow { - margin-left: -7.0710678118654755px; - margin-top: -5.857864376269049px; -} -.ui-popup-arrow-container.ui-popup-arrow-r.ie .ui-popup-arrow { - margin-left: -4.142135623730951px; - margin-top: -5.857864376269049px; -} -/* structure */ -.ui-popup > .ui-popup-arrow-guide { - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - visibility: hidden; -} -.ui-popup-arrow-container { - position: absolute; -} -.ui-popup-arrow { - -webkit-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -ms-transform: rotate(45deg); - transform: rotate(45deg); - position: absolute; - overflow: hidden; - box-sizing: border-box; -} -.ui-popup-arrow-container.ie .ui-popup-arrow { - -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865474, M12=-0.7071067811865477, M21=0.7071067811865477, M22=0.7071067811865474, SizingMethod='auto expand')"; - filter: progid:DXImageTransform.Microsoft.Matrix( - M11=0.7071067811865474, - M12=-0.7071067811865477, - M21=0.7071067811865477, - M22=0.7071067811865474, - SizingMethod='auto expand'); -} -.ui-checkbox, -.ui-radio { - margin: .5em 0; - position: relative; -} -.ui-checkbox .ui-btn, -.ui-radio .ui-btn { - margin: 0; - text-align: left; - white-space: normal; /* Nowrap + ellipsis doesn't work on label. Issue #1419. */ - z-index: 2; -} -.ui-controlgroup .ui-checkbox .ui-btn.ui-focus, -.ui-controlgroup .ui-radio .ui-btn.ui-focus { - z-index: 3; -} -.ui-checkbox .ui-btn-icon-top, -.ui-radio .ui-btn-icon-top, -.ui-checkbox .ui-btn-icon-bottom, -.ui-radio .ui-btn-icon-bottom { - text-align: center; -} -.ui-controlgroup-horizontal .ui-checkbox .ui-btn:after, -.ui-controlgroup-horizontal .ui-radio .ui-btn:after { - content: none; - display: none; -} -/* Native input positioning */ -.ui-checkbox input, -.ui-radio input { - position: absolute; - left: .466em; - top: 50%; - width: 22px; - height: 22px; - margin: -11px 0 0 0; - outline: 0 !important; - z-index: 1; -} -.ui-controlgroup-horizontal .ui-checkbox input, -.ui-controlgroup-horizontal .ui-radio input { - left: 50%; - margin-left: -9px; -} -.ui-checkbox input:disabled, -.ui-radio input:disabled { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-select { - margin-top: .5em; - margin-bottom: .5em; /* no shorthand for margin because it would override margin-right for inline selects */ - position: relative; -} -.ui-select > select { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-select .ui-btn { - margin: 0; - opacity: 1; /* Fixes #2588: When Windows Phone 7.5 (Mango) tries to calculate a numeric opacity for a select (including "inherit") without explicitly specifying an opacity on the parent to give it context, a bug appears where clicking elsewhere on the page after opening the select will open the select again. */ -} -.ui-select .ui-btn select { - position: absolute; - top: 0; - left: 0; - width: 100%; - min-height: 1.5em; - min-height: 100%; - height: 3em; - max-height: 100%; - outline: 0; - -webkit-border-radius: inherit; - border-radius: inherit; - -webkit-appearance: none; - -moz-appearance: none; - cursor: pointer; - filter: Alpha(Opacity=0); - opacity: 0; - z-index: 2; -} -@-moz-document url-prefix() { - .ui-select .ui-btn select { - opacity: 0.0001; - } -} -/* Display none because of issues with IE/WP's filter alpha opacity */ -.ui-select .ui-state-disabled select { - display: none; -} -/* Because we add all classes of the select and option elements to the span... */ -.ui-select span.ui-state-disabled { - filter: Alpha(Opacity=100); - opacity: 1; -} -.ui-select .ui-btn.ui-select-nativeonly { - border-radius: 0; - border: 0; -} -.ui-select .ui-btn.ui-select-nativeonly select { - opacity: 1; - text-indent: 0; - display: block; -} -/* ui-li-count is styled in the listview CSS. We set padding and offset here because select supports icon position while listview doesn't. */ -.ui-select .ui-li-has-count.ui-btn { - padding-right: 2.8125em; -} -.ui-select .ui-li-has-count.ui-btn-icon-right { - padding-right: 4.6875em; -} -.ui-select .ui-btn-icon-right .ui-li-count { - right: 3.2em; -} -/* We set the rules for the span as well to fix an issue on Chrome with text-overflow ellipsis for the button in combination with text-align center. */ -.ui-select .ui-btn > span:not(.ui-li-count) { - display: block; - text-overflow: ellipsis; - overflow: hidden !important; - white-space: nowrap; -} -.ui-selectmenu.ui-popup { - min-width: 11em; -} -.ui-selectmenu .ui-dialog-contain { - overflow: hidden; -} -.ui-selectmenu .ui-header { - margin: 0; - padding: 0; - border-width: 0; -} -.ui-selectmenu.ui-dialog .ui-header { - z-index: 1; - position: relative; -} -.ui-selectmenu.ui-popup .ui-header { - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; -} -/* when no placeholder is defined in a multiple select, the header height doesn't even extend past the close button. this shim's content in there */ -.ui-selectmenu.ui-popup .ui-header h1:after { - content: '.'; - visibility: hidden; -} -.ui-selectmenu .ui-header .ui-title { - margin: 0 2.875em; -} -.ui-selectmenu.ui-dialog .ui-content { - overflow: visible; - z-index: 1; -} -.ui-selectmenu .ui-selectmenu-list { - margin: 0; - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-header:not(.ui-screen-hidden) + .ui-selectmenu-list { - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -webkit-border-top-left-radius: 0; - border-top-left-radius: 0; -} -.ui-header.ui-screen-hidden + .ui-selectmenu-list li.ui-first-child .ui-btn { - border-top-width: 0; -} -.ui-selectmenu .ui-selectmenu-list li.ui-last-child .ui-btn { - border-bottom-width: 0; -} -.ui-selectmenu .ui-btn.ui-li-divider { - cursor: default; -} -.ui-selectmenu .ui-selectmenu-placeholder { - display: none; -} -.ui-listview, -.ui-listview > li { - margin: 0; - padding: 0; - list-style: none; -} -.ui-content .ui-listview, -.ui-panel-inner > .ui-listview { - margin: -1em; -} -.ui-content .ui-listview-inset, -.ui-panel-inner > .ui-listview-inset { - margin: 1em 0; -} -.ui-collapsible-content > .ui-listview { - margin: -.5em -1em; -} -.ui-collapsible-content > .ui-listview-inset { - margin: .5em 0; -} -.ui-listview > li { - display: block; - position: relative; - overflow: visible; -} -.ui-listview > .ui-li-static, -.ui-listview > .ui-li-divider, -.ui-listview > li > a.ui-btn { - margin: 0; - display: block; - position: relative; - text-align: left; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} -.ui-listview > li > .ui-btn:focus { - z-index: 1; -} -.ui-listview > .ui-li-static, -.ui-listview > .ui-li-divider, -.ui-listview > li > a.ui-btn { - border-width: 1px 0 0 0; - border-style: solid; -} -.ui-listview-inset > .ui-li-static, -.ui-listview-inset > .ui-li-divider, -.ui-listview-inset > li > a.ui-btn { - border-right-width: 1px; - border-left-width: 1px; -} -.ui-listview > .ui-li-static.ui-last-child, -.ui-listview > .ui-li-divider.ui-last-child, -.ui-listview > li.ui-last-child > a.ui-btn { - border-bottom-width: 1px; -} -.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) > li.ui-first-child, -.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn { - border-top-width: 0; -} -.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset) > li.ui-last-child, -.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset) > li.ui-last-child > a.ui-btn { - border-bottom-width: 0; -} -.ui-listview > li.ui-first-child, -.ui-listview > li.ui-first-child > a.ui-btn { - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; -} -.ui-listview > li.ui-last-child, -.ui-listview > li.ui-last-child > a.ui-btn { - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-listview > li.ui-li-has-alt > a.ui-btn { - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; -} -.ui-listview > li.ui-first-child > a.ui-btn + a.ui-btn { - -webkit-border-top-left-radius: 0; - border-top-left-radius: 0; - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; -} -.ui-listview > li.ui-last-child > a.ui-btn + a.ui-btn { - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -.ui-listview > li.ui-first-child img:first-child:not(.ui-li-icon) { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; -} -.ui-listview > li.ui-last-child img:first-child:not(.ui-li-icon) { - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-listview > .ui-li-static { - padding: .7em 1em; -} -.ui-listview > .ui-li-divider { - padding: .5em 1.143em; - font-size: 14px; - font-weight: bold; - cursor: default; - outline: 0; /* Dividers in custom selectmenus have tabindex */ -} -.ui-listview > .ui-li-has-count > .ui-btn, -.ui-listview > .ui-li-static.ui-li-has-count, -.ui-listview > .ui-li-divider.ui-li-has-count { - padding-right: 2.8125em; -} -.ui-listview > .ui-li-has-count > .ui-btn-icon-right { - padding-right: 4.6875em; -} -.ui-listview > .ui-li-has-thumb > .ui-btn, -.ui-listview > .ui-li-static.ui-li-has-thumb { - min-height: 3.625em; - padding-left: 6.25em; -} -/* ui-li-has-icon deprecated in 1.4. TODO: remove in 1.5 */ -.ui-listview > .ui-li-has-icon > .ui-btn, -.ui-listview > .ui-li-static.ui-li-has-icon { - min-height: 1.25em; - padding-left: 2.5em; -} -/* Used by both listview and custom multiple select button */ -.ui-li-count { - position: absolute; - font-size: 12.5px; - font-weight: bold; - text-align: center; - border-width: 1px; - border-style: solid; - padding: 0 .48em; - line-height: 1.6em; - min-height: 1.6em; - min-width: .64em; - right: .8em; - top: 50%; - margin-top: -.88em; -} -.ui-listview .ui-btn-icon-right .ui-li-count { - right: 3.2em; -} -.ui-listview .ui-li-has-thumb > img:first-child, -.ui-listview .ui-li-has-thumb > .ui-btn > img:first-child, -.ui-listview .ui-li-has-thumb .ui-li-thumb { - position: absolute; - left: 0; - top: 0; - max-height: 5em; - max-width: 5em; -} -/* ui-li-has-icon deprecated in 1.4. TODO: remove in 1.5 */ -.ui-listview > .ui-li-has-icon > img:first-child, -.ui-listview > .ui-li-has-icon > .ui-btn > img:first-child { - position: absolute; - left: .625em; - top: .9em; - max-height: 1em; - max-width: 1em; -} -.ui-listview > li h1, -.ui-listview > li h2, -.ui-listview > li h3, -.ui-listview > li h4, -.ui-listview > li h5, -.ui-listview > li h6 { - font-size: 1em; - font-weight: bold; - display: block; - margin: .45em 0; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} -.ui-listview > li p { - font-size: .75em; - font-weight: normal; - display: block; - margin: .6em 0; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} -.ui-listview .ui-li-aside { - position: absolute; - top: 1em; - right: 3.333em; - margin: 0; - text-align: right; -} -.ui-listview > li.ui-li-has-alt > .ui-btn { - margin-right: 2.5em; - border-right-width: 0; -} -.ui-listview > li.ui-li-has-alt > .ui-btn + .ui-btn { - position: absolute; - width: 2.5em; - height: 100%; - min-height: auto; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - border-left-width: 1px; - top: 0; - right: 0; - margin: 0; - padding: 0; - z-index: 2; -} -.ui-listview-inset > li.ui-li-has-alt > .ui-btn + .ui-btn { - border-right-width: 1px; -} -.ui-listview > li.ui-li-has-alt > .ui-btn + .ui-btn:focus { - z-index: 3; -} -ol.ui-listview, -ol.ui-listview > .ui-li-divider { - counter-reset: listnumbering; -} -ol.ui-listview > li > .ui-btn, -ol.ui-listview > li.ui-li-static { - vertical-align: middle; -} -ol.ui-listview > li > .ui-btn:first-child:before, -ol.ui-listview > li.ui-li-static:before, -ol.ui-listview > li.ui-field-contain > label:before, -ol.ui-listview > li.ui-field-contain > .ui-controlgroup-label:before { - display: inline-block; - font-size: .9em; - font-weight: normal; - padding-right: .3em; - min-width: 1.4em; - line-height: 1.5; - vertical-align: middle; - counter-increment: listnumbering; - content: counter(listnumbering) "."; -} -ol.ui-listview > li.ui-field-contain:before { - content: none; - display: none; -} -ol.ui-listview > li h1:first-child, -ol.ui-listview > li h2:first-child, -ol.ui-listview > li h3:first-child, -ol.ui-listview > li h4:first-child, -ol.ui-listview > li h5:first-child, -ol.ui-listview > li h6:first-child, -ol.ui-listview > li p:first-child, -ol.ui-listview > li img:first-child + * { - display: inline-block; - vertical-align: middle; -} -ol.ui-listview > li h1:first-child ~ *, -ol.ui-listview > li h2:first-child ~ *, -ol.ui-listview > li h3:first-child ~ *, -ol.ui-listview > li h4:first-child ~ *, -ol.ui-listview > li h5:first-child ~ *, -ol.ui-listview > li h6:first-child ~ *, -ol.ui-listview > li p:first-child ~ *, -ol.ui-listview > li img:first-child + * ~ * { - margin-top: 0; - text-indent: 2.04em; /* (1.4em + .3em) * .9em / .75em */ -} -html .ui-filterable + .ui-listview, -html .ui-filterable.ui-listview { - margin-top: .5em; -} -.ui-collapsible-content > form.ui-filterable { - margin-top: -.5em; -} -.ui-collapsible-content > .ui-input-search.ui-filterable { - margin-top: 0; -} -.ui-collapsible-content > .ui-filterable + .ui-listview:not(.ui-listview-inset) > li.ui-first-child, -.ui-collapsible-content > .ui-filterable + .ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn, -.ui-collapsible-content > .ui-filterable.ui-listview:not(.ui-listview-inset) > li.ui-first-child, -.ui-collapsible-content > .ui-filterable.ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn { - border-top-width: 1px; -} -div.ui-slider { - height: 30px; - margin: .5em 0; - padding: 0; - -ms-touch-action: pan-y pinch-zoom double-tap-zoom; -} -div.ui-slider:before, -div.ui-slider:after { - content: ""; - display: table; -} -div.ui-slider:after { - clear: both; -} -input.ui-slider-input { - display: block; - float: left; - font-size: 14px; - font-weight: bold; - margin: 0; - padding: 4px; - width: 40px; - height: 20px; - line-height: 20px; - border-width: 1px; - border-style: solid; - outline: 0; - text-align: center; - vertical-align: text-bottom; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} -.ui-slider-input::-webkit-outer-spin-button, -.ui-slider-input::-webkit-inner-spin-button { - -webkit-appearance: none; - margin: 0; -} -.ui-slider-track { - position: relative; - overflow: visible; - border-width: 1px; - border-style: solid; - height: 15px; - margin: 0 15px 0 68px; - top: 6px; -} -.ui-slider-track.ui-mini { - height: 12px; - top: 8px; -} -.ui-slider-track .ui-slider-bg { - height: 100%; -} -/* High level of specificity to override button margins in grids */ -.ui-slider-track .ui-btn.ui-slider-handle { - position: absolute; - z-index: 1; - top: 50%; - width: 28px; - height: 28px; - margin: -15px 0 0 -15px; - outline: 0; - padding: 0; -} -.ui-slider-track.ui-mini .ui-slider-handle { - height: 14px; - width: 14px; - margin: -8px 0 0 -8px; -} -select.ui-slider-switch { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -div.ui-slider-switch { - display: inline-block; - height: 32px; - width: 5.8em; - top: 0; -} -/* reset the clearfix */ -div.ui-slider-switch:before, -div.ui-slider-switch:after { - display: none; - clear: none; -} -div.ui-slider-switch.ui-mini { - height: 29px; - top: 0; -} -.ui-slider-inneroffset { - margin: 0 16px; - position: relative; - z-index: 1; -} -.ui-slider-switch.ui-mini .ui-slider-inneroffset { - margin: 0 15px 0 14px; -} -.ui-slider-switch .ui-btn.ui-slider-handle { - margin: 1px 0 0 -15px; -} -.ui-slider-switch.ui-mini .ui-slider-handle { - width: 25px; - height: 25px; - margin: 1px 0 0 -13px; - padding: 0; -} -.ui-slider-handle-snapping { - -webkit-transition: left 70ms linear; - -moz-transition: left 70ms linear; - transition: left 70ms linear; -} -.ui-slider-switch .ui-slider-label { - position: absolute; - text-align: center; - width: 100%; - overflow: hidden; - font-size: 16px; - top: 0; - line-height: 2; - min-height: 100%; - white-space: nowrap; - cursor: pointer; -} -.ui-slider-switch.ui-mini .ui-slider-label { - font-size: 14px; -} -.ui-slider-switch .ui-slider-label-a { - z-index: 1; - left: 0; - text-indent: -1.5em; -} -.ui-slider-switch .ui-slider-label-b { - z-index: 0; - right: 0; - text-indent: 1.5em; -} -/* The corner radii for ui-slider-switch/track can be specified in theme CSS. The bg and handle inherits. */ -.ui-slider-track .ui-slider-bg, -.ui-slider-switch .ui-slider-label, -.ui-slider-switch .ui-slider-inneroffset, -.ui-slider-handle { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-field-contain div.ui-slider-switch { - margin: 0; -} -/* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */ -.ui-field-contain div.ui-slider-switch, -.ui-field-contain.ui-hide-label div.ui-slider-switch, -html .ui-popup .ui-field-contain div.ui-slider-switch { - display: inline-block; - width: 5.8em; -} -/* slider tooltip ------------------------------------------------------------------------------------------------------------*/ -.ui-slider-popup { - width: 64px; - height: 64px; - font-size: 36px; - padding-top: 14px; - opacity: 0.8; -} -.ui-slider-popup { - position: absolute !important; - text-align: center; - z-index: 100; -} -.ui-slider-track .ui-btn.ui-slider-handle { - font-size: .9em; - line-height: 30px; -} -.ui-rangeslider { - margin: .5em 0; -} -.ui-rangeslider:before, -.ui-rangeslider:after { - content: ""; - display: table; -} -.ui-rangeslider:after { - clear: both; -} -.ui-rangeslider .ui-slider-input.ui-rangeslider-last { - float: right; -} -.ui-rangeslider .ui-rangeslider-sliders { - position: relative; - overflow: visible; - height: 30px; - margin: 0 68px; -} -.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track { - position: absolute; - top: 6px; - right: 0; - left: 0; - margin: 0; -} -.ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track { - top: 8px; -} -.ui-rangeslider .ui-slider-track:first-child .ui-slider-bg { - display: none; -} -.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child { - background-color: transparent; - background: none; - border-width: 0; - height: 0; -} -/* this makes ie6 and ie7 set height to 0 to fix z-index problem */ -html >/**/body .ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child { - height: 15px; - border-width: 1px; -} -html >/**/body .ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track:first-child { - height: 12px; -} -/* Hide the second label (the first is moved outside the div) */ -div.ui-rangeslider label { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-field-contain .ui-rangeslider input.ui-slider-input, -.ui-field-contain .ui-rangeslider.ui-mini input.ui-slider-input, -.ui-field-contain .ui-rangeslider .ui-rangeslider-sliders, -.ui-field-contain .ui-rangeslider.ui-mini .ui-rangeslider-sliders { - margin-top: 0; - margin-bottom: 0; -} -.ui-input-text, -.ui-input-search { - margin: .5em 0; - border-width: 1px; - border-style: solid; -} -.ui-mini { - margin: .446em; -} -.ui-input-text input, -.ui-input-search input, -textarea.ui-input-text { - padding: .4em; - line-height: 1.4em; - display: block; - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - outline: 0; -} -.ui-input-text input, -.ui-input-search input { - margin: 0; - min-height: 2.2em; - text-align: left; /* Opera aligns type="date" right by default */ - border: 0; - background: transparent none; - -webkit-appearance: none; - -webkit-border-radius: inherit; - border-radius: inherit; -} -textarea.ui-input-text { - overflow: auto; - resize: vertical; -} -.ui-mini .ui-input-text input, -.ui-mini .ui-input-search input, -.ui-input-text.ui-mini input, -.ui-input-search.ui-mini input, -.ui-mini textarea.ui-input-text, -textarea.ui-mini { - font-size: 14px; -} -/* Same margin for mini textareas as other mini sized widgets (12.5/14 * 0.5em) */ -.ui-mini textarea.ui-input-text, -textarea.ui-mini { - margin: .446em 0; -} -.ui-input-has-clear, -.ui-input-search { - position: relative; -} -/* Padding on the div instead of input because of browser spinners etc. */ -.ui-input-has-clear { - padding-right: 2.375em; -} -.ui-mini.ui-input-has-clear { - padding-right: 2.923em; -} -.ui-input-has-clear input { - padding-right: 0; - /* Autofill on Chrome has bg color so we unset corners right as well. */ - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; -} -/* Search icon */ -.ui-input-search input { - padding-left: 1.75em; -} -.ui-input-search:after { - position: absolute; - left: .3125em; - top: 50%; - margin-top: -7px; - content: ""; - background-position: center center; - background-repeat: no-repeat; - width: 14px; - height: 14px; - filter: Alpha(Opacity=50); - opacity: .5; -} -.ui-input-search.ui-input-has-clear .ui-btn.ui-input-clear, -.ui-input-text.ui-input-has-clear .ui-btn.ui-input-clear { - position: absolute; - right: 0; - top: 50%; - margin: -14px .3125em 0; - border: 0; - background-color: transparent; -} -.ui-input-search .ui-input-clear-hidden, -.ui-input-text .ui-input-clear-hidden { - display: none; -} -/* Resolves issue #5166: Added to support issue introduced in Firefox 15. We can likely remove this in the future. */ -.ui-input-text input::-moz-placeholder, -.ui-input-search input::-moz-placeholder, -textarea.ui-input-text::-moz-placeholder { - color: #aaa; -} -/* Same for IE10 */ -.ui-input-text input:-ms-input-placeholder, -.ui-input-search input:-ms-input-placeholder, -textarea.ui-input-text:-ms-input-placeholder { - color: #aaa; -} -/* Resolves issue #5131: Width of textinput depends on its type, -for Android 4.1 */ -.ui-input-text input[type=number]::-webkit-outer-spin-button { - margin: 0; -} -/* Resolves issue #5756: Textinput in IE10 has a default clear button */ -.ui-input-text input::-ms-clear, -.ui-input-search input::-ms-clear { - display: none; -} -.ui-input-text input:focus, -.ui-input-search input:focus { - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -textarea.ui-input-text.ui-textinput-autogrow { - overflow: hidden; -} -.ui-textinput-autogrow-resize { - -webkit-transition: height 0.25s; - -o-transition: height 0.25s; - -moz-transition: height 0.25s; - transition: height 0.25s; -} -.ui-flipswitch { - display: inline-block; - vertical-align: middle; - width: 5.875em; /* Override this and padding-left in next rule if you use labels other than "on/off" and need more space */ - height: 1.875em; - border-width: 1px; - border-style: solid; - margin: .5em 0; - overflow: hidden; - -webkit-transition-property: padding, width, background-color, color, border-color; - -moz-transition-property: padding, width, background-color, color, border-color; - -o-transition-property: padding, width, background-color, color, border-color; - transition-property: padding, width, background-color, color, border-color; - -webkit-transition-duration: 100ms; - -moz-transition-duration: 100ms; - -o-transition-duration: 100ms; - transition-duration: 100ms; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: pointer; -} -.ui-flipswitch.ui-flipswitch-active { - padding-left: 4em; /* Override this and width in previous rule if you use labels other than "on/off" and need more space */ - width: 1.875em; -} -.ui-flipswitch-input { - position: absolute; - height: 1px; - width: 1px; - margin: -1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); - border: 0; - outline: 0; - filter: Alpha(Opacity=0); - opacity: 0; -} -.ui-flipswitch .ui-btn.ui-flipswitch-on, -.ui-flipswitch .ui-flipswitch-off { - float: left; - height: 1.75em; - margin: .0625em; - line-height: 1.65em; -} -.ui-flipswitch .ui-btn.ui-flipswitch-on { - width: 1.75em; - padding: 0; - text-indent: -2.6em; /* Override this to center text if you use a label other than "on" */ - text-align: left; - border-width: 1px; - border-style: solid; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - border-radius: inherit; - overflow: visible; - color: inherit; - text-shadow: inherit; -} -.ui-flipswitch .ui-flipswitch-off { - padding: 1px; - text-indent: 1em; /* Override this to center text if you use a label other than "off" */ -} -/* Override field container CSS to prevent the flipswitch from becomming full width */ -html .ui-field-contain > label + .ui-flipswitch, -html .ui-popup .ui-field-contain > label + .ui-flipswitch { - display: inline-block; - width: 5.875em; /* If you override the width for .ui-flipswitch you should repeat the same value here */ - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} -.ui-field-contain .ui-flipswitch.ui-flipswitch-active, -.ui-popup .ui-field-contain .ui-flipswitch.ui-flipswitch-active { - width: 1.875em; -} -.ui-table { - border: 0; - border-collapse: collapse; - padding: 0; - width: 100%; -} -.ui-table th, -.ui-table td { - line-height: 1.5em; - text-align: left; - padding: .4em .5em; - vertical-align:top; -} -.ui-table th .ui-btn, -.ui-table td .ui-btn { - line-height: normal; -} -.ui-table th { - font-weight: bold; -} -.ui-table caption { - text-align: left; - margin-bottom: 1.4em; - opacity: .5; -} -/* - Styles for the table columntoggle mode -*/ -.ui-table-columntoggle-btn { - float: right; - margin-bottom: .8em; -} -/* Remove top/bottom margins around the fieldcontain on check list */ -.ui-table-columntoggle-popup fieldset { - margin:0; -} -.ui-table-columntoggle { - clear: both; -} -/* Hide all prioritized columns by default */ -@media only all { - th.ui-table-priority-6, - td.ui-table-priority-6, - th.ui-table-priority-5, - td.ui-table-priority-5, - th.ui-table-priority-4, - td.ui-table-priority-4, - th.ui-table-priority-3, - td.ui-table-priority-3, - th.ui-table-priority-2, - td.ui-table-priority-2, - th.ui-table-priority-1, - td.ui-table-priority-1 { - display: none; - } -} -/* Preset breakpoints if ".ui-responsive" class added to table */ -/* Show priority 1 at 320px (20em x 16px) */ -@media screen and (min-width: 20em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-1, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-1 { - display: table-cell; - } -} -/* Show priority 2 at 480px (30em x 16px) */ -@media screen and (min-width: 30em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-2, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-2 { - display: table-cell; - } -} -/* Show priority 3 at 640px (40em x 16px) */ -@media screen and (min-width: 40em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-3, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-3 { - display: table-cell; - } -} -/* Show priority 4 at 800px (50em x 16px) */ -@media screen and (min-width: 50em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-4, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-4 { - display: table-cell; - } -} -/* Show priority 5 at 960px (60em x 16px) */ -@media screen and (min-width: 60em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-5, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-5 { - display: table-cell; - } -} -/* Show priority 6 at 1,120px (70em x 16px) */ -@media screen and (min-width: 70em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-6, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-6 { - display: table-cell; - } -} -/* Unchecked manually: Always hide */ -.ui-table-columntoggle th.ui-table-cell-hidden, -.ui-table-columntoggle td.ui-table-cell-hidden, -.ui-table-columntoggle.ui-responsive th.ui-table-cell-hidden, -.ui-table-columntoggle.ui-responsive td.ui-table-cell-hidden { - display: none; -} -/* Checked manually: Always show */ -.ui-table-columntoggle th.ui-table-cell-visible, -.ui-table-columntoggle td.ui-table-cell-visible, -.ui-table-columntoggle.ui-responsive th.ui-table-cell-visible, -.ui-table-columntoggle.ui-responsive td.ui-table-cell-visible { - display: table-cell; -} -/* - Styles for the table columntoggle mode -*/ -.ui-table-reflow td .ui-table-cell-label, -.ui-table-reflow th .ui-table-cell-label { - display: none; -} -/* Mobile first styles: Begin with the stacked presentation at narrow widths */ -@media only all { - /* Hide the table headers */ - .ui-table-reflow thead td, - .ui-table-reflow thead th { - display: none; - } - /* Show the table cells as a block level element */ - .ui-table-reflow td, - .ui-table-reflow th { - text-align: left; - display: block; - } - /* Add a fair amount of top margin to visually separate each row when stacked */ - .ui-table-reflow tbody th { - margin-top: 3em; - } - /* Make the label elements a percentage width */ - .ui-table-reflow td .ui-table-cell-label, - .ui-table-reflow th .ui-table-cell-label { - padding: .4em; - min-width: 30%; - display: inline-block; - margin: -.4em 1em -.4em -.4em; - } - /* For grouped headers, have a different style to visually separate the levels by classing the first label in each col group */ - .ui-table-reflow th .ui-table-cell-label-top, - .ui-table-reflow td .ui-table-cell-label-top { - display: block; - padding: .4em 0; - margin: .4em 0; - text-transform: uppercase; - font-size: .9em; - font-weight: normal; - } -} -/* Breakpoint to show as a standard table at 560px (35em x 16px) or wider */ -@media ( min-width: 35em ) { - /* Show the table header rows */ - .ui-table-reflow.ui-responsive td, - .ui-table-reflow.ui-responsive th, - .ui-table-reflow.ui-responsive tbody th, - .ui-table-reflow.ui-responsive tbody td, - .ui-table-reflow.ui-responsive thead td, - .ui-table-reflow.ui-responsive thead th { - display: table-cell; - margin: 0; - } - /* Hide the labels in each cell */ - .ui-table-reflow.ui-responsive td .ui-table-cell-label, - .ui-table-reflow.ui-responsive th .ui-table-cell-label { - display: none; - } -} -/* Hack to make IE9 and WP7.5 treat cells like block level elements, scoped to ui-responsive class */ -/* Applied in a max-width media query up to the table layout breakpoint so we don't need to negate this*/ -@media ( max-width: 35em ) { - .ui-table-reflow.ui-responsive td, - .ui-table-reflow.ui-responsive th { - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - float: left; - clear: left; - } -} -/* Panel */ -.ui-panel { - width: 17em; - min-height: 100%; - max-height: none; - border-width: 0; - position: absolute; - top: 0; - display: block; -} -.ui-panel-closed { - width: 0; - max-height: 100%; - overflow: hidden; - visibility: hidden; - left: 0; - clip: rect(1px,1px,1px,1px); -} -.ui-panel-fixed { - position: fixed; - bottom: -1px; /* Fixes gap on Chrome for Android */ - padding-bottom: 1px; -} -.ui-panel-display-reveal { - z-index: 1; -} -.ui-panel-display-push { - z-index: 999; -} -.ui-panel-display-overlay { - z-index: 1001; /* Fixed toolbars have z-index 1000 */ -} -.ui-panel-inner { - padding: 1em; -} -/* Container, page and wrapper */ -.ui-panel-page-container { - overflow-x: visible; -} -.ui-panel-page-container-themed .ui-page-active { - background: none; -} -.ui-panel-wrapper { - position: relative; - min-height: inherit; - border: 0; - overflow-x: hidden; - z-index: 999; -} -/* Fixed toolbars */ -.ui-panel-fixed-toolbar { - overflow-x: hidden; -} -/* Dismiss */ -.ui-panel-dismiss { - position: absolute; - top: 0; - left: 0; - right: 0; - height: 100%; - z-index: 1002; - display: none; -} -.ui-panel-dismiss-open { - display: block; -} -/* Animate class is added to panel, wrapper and fixed toolbars */ -.ui-panel-animate { - -webkit-transition: -webkit-transform 300ms ease; - -webkit-transition-duration: 300ms; - -moz-transition: -moz-transform 300ms ease; - transition: transform 300ms ease; -} -/* Fix for Windows Phone issue #6349: unset the transition for transforms in case of fixed toolbars. */ -@media screen and ( max-device-width: 768px ) { - .ui-page-header-fixed .ui-panel-animate.ui-panel-wrapper, - .ui-page-footer-fixed .ui-panel-animate.ui-panel-wrapper, - .ui-panel-animate.ui-panel-fixed-toolbar { - -ms-transition: none; - } - /* We need a transitionend event ... */ - .ui-panel-animate.ui-panel-fixed-toolbar { - -ms-transition: -ms-transform 1ms; - -ms-transform: rotate(0deg); - } -} -/* Hardware acceleration for smoother transitions on WebKit browsers */ -.ui-panel-animate.ui-panel:not(.ui-panel-display-reveal) { - -webkit-backface-visibility: hidden; - -webkit-transform: translate3d(0,0,0); -} -/* Panel positioning (for overlay and push) */ -/* Panel left closed */ -.ui-panel-position-left { - left: -17em; -} -/* Panel left closed animated */ -.ui-panel-animate.ui-panel-position-left.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-position-left.ui-panel-display-push { - left: 0; - -webkit-transform: translate3d(-17em,0,0); - -moz-transform: translate3d(-17em,0,0); - transform: translate3d(-17em,0,0); -} -/* Panel left open */ -.ui-panel-position-left.ui-panel-display-reveal, /* Unset "panel left closed" for reveal */ -.ui-panel-open.ui-panel-position-left { - left: 0; -} -/* Panel left open animated */ -.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-push { - -webkit-transform: translate3d(0,0,0); - transform: translate3d(0,0,0); - -moz-transform: none; -} -/* Panel right closed */ -.ui-panel-position-right { - right: -17em; -} -/* Panel right closed animated */ -.ui-panel-animate.ui-panel-position-right.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-position-right.ui-panel-display-push { - right: 0; - -webkit-transform: translate3d(17em,0,0); - -moz-transform: translate3d(17em,0,0); - transform: translate3d(17em,0,0); -} -/* Panel right open */ -.ui-panel-position-right.ui-panel-display-reveal, /* Unset "panel right closed" for reveal */ -.ui-panel-position-right.ui-panel-open { - right: 0; -} -/* Panel right open animated */ -.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-push { - -webkit-transform: translate3d(0,0,0); - transform: translate3d(0,0,0); - -moz-transform: none; -} -/* Wrapper and fixed toolbars positioning (for reveal and push) */ -/* Panel left open */ -.ui-panel-page-content-position-left { - left: 17em; - right: -17em; -} -/* Panel left open animated */ -.ui-panel-animate.ui-panel-page-content-position-left { - left: 0; - right: 0; - -webkit-transform: translate3d(17em,0,0); - -moz-transform: translate3d(17em,0,0); - transform: translate3d(17em,0,0); -} -/* Panel right open */ -.ui-panel-page-content-position-right { - left: -17em; - right: 17em; -} -/* Panel right open animated */ -.ui-panel-animate.ui-panel-page-content-position-right { - left: 0; - right: 0; - -webkit-transform: translate3d(-17em,0,0); - -moz-transform: translate3d(-17em,0,0); - transform: translate3d(-17em,0,0); -} -/* Dismiss model open */ -.ui-panel-dismiss-open.ui-panel-dismiss-position-left { - left: 17em; -} -.ui-panel-dismiss-open.ui-panel-dismiss-position-right { - right: 17em; -} -/* Shadows and borders */ -.ui-panel-display-reveal { - -webkit-box-shadow: inset -5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: inset -5px 0 5px rgba(0,0,0,.15); - box-shadow: inset -5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-position-right.ui-panel-display-reveal { - -webkit-box-shadow: inset 5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: inset 5px 0 5px rgba(0,0,0,.15); - box-shadow: inset 5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-display-overlay { - -webkit-box-shadow: 5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: 5px 0 5px rgba(0,0,0,.15); - box-shadow: 5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-position-right.ui-panel-display-overlay { - -webkit-box-shadow: -5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: -5px 0 5px rgba(0,0,0,.15); - box-shadow: -5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-open.ui-panel-position-left.ui-panel-display-push { - border-right-width: 1px; - margin-right: -1px; -} -.ui-panel-page-content-position-left.ui-panel-page-content-display-push { - margin-left: 1px; - width: auto; -} -.ui-panel-open.ui-panel-position-right.ui-panel-display-push { - border-left-width: 1px; - margin-left: -1px; -} -.ui-panel-page-content-position-right.ui-panel-page-content-display-push { - margin-right: 1px; - width: auto; -} -/* Responsive: wrap on wide viewports once open */ -@media (min-width:55em) { - .ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-left { - margin-right: 17em; - } - .ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-right { - margin-left: 17em; - } - .ui-responsive-panel .ui-panel-page-content-open { - width: auto; - } - .ui-responsive-panel .ui-panel-dismiss-display-push, - .ui-responsive-panel.ui-page-active ~ .ui-panel-dismiss-display-push { - display: none; - } -} -.ui-tabs { - position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ - padding: .2em; -} diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile-1.4.5.min.css b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile-1.4.5.min.css deleted file mode 100644 index 480ee01224188d3d889f433566dedcfc87f542cb..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile-1.4.5.min.css +++ /dev/null @@ -1,24 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! jQuery Mobile 1.4.5 | Git HEADhash: 68e55e7 <> 2014-10-31T17:33:30Z | (c) 2010, 2014 jQuery Foundation, Inc. | jquery.org/license */ - -.ui-icon-action:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M9%2C5v3l5-4L9%2C0v3c0%2C0-5%2C0-5%2C7C6%2C5%2C9%2C5%2C9%2C5z%20M11%2C12H2V5h1l2-2H0v11h13V7l-2%2C2V12z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-alert:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C0L0%2C12h14L7%2C0z%20M7%2C11c-0.553%2C0-1-0.447-1-1s0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1S7.553%2C11%2C7%2C11z%20M7%2C8%20C6.447%2C8%2C6%2C7.553%2C6%2C7V5c0-0.553%2C0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1v2C8%2C7.553%2C7.553%2C8%2C7%2C8z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-arrow-d-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C3%2011%2C0%203.5%2C7.5%200%2C4%200%2C14%2010%2C14%206.5%2C10.5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-d-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2210.5%2C7.5%203%2C0%200%2C3%207.5%2C10.5%204%2C14%2014%2C14%2014%2C4%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-d:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%229%2C7%209%2C0%205%2C0%205%2C7%200%2C7%207%2C14%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C5%207%2C0%200%2C7%207%2C14%207%2C9%2014%2C9%2014%2C5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C7%207%2C0%207%2C5%200%2C5%200%2C9%207%2C9%207%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-u-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C11%206.5%2C3.5%2010%2C0%200%2C0%200%2C10%203.5%2C6.5%2011%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-u-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C0%204%2C0%207.5%2C3.5%200%2C11%203%2C14%2010.5%2C6.5%2014%2C10%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-u:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C0%200%2C7%205%2C7%205%2C14%209%2C14%209%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-audio:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.018px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014.018%2014%22%20style%3D%22enable-background%3Anew%200%200%2014.018%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M1%2C4C0.447%2C4%2C0%2C4.447%2C0%2C5v4c0%2C0.553%2C0.447%2C1%2C1%2C1h1l4%2C4V0L2%2C4H1z%20M10.346%2C7c0-1.699-1.042-3.154-2.546-3.867L6.982%2C4.68%20C7.885%2C5.107%2C8.51%2C5.98%2C8.51%2C7S7.885%2C8.893%2C6.982%2C9.32L7.8%2C10.867C9.304%2C10.154%2C10.346%2C8.699%2C10.346%2C7z%20M9.447%2C0.017L8.618%2C1.586%20C10.723%2C2.584%2C12.182%2C4.621%2C12.182%2C7s-1.459%2C4.416-3.563%2C5.414l0.829%2C1.569c2.707-1.283%2C4.57-3.925%2C4.57-6.983%20S12.154%2C1.3%2C9.447%2C0.017z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-back:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M5%2C3V0L1%2C4l4%2C4V5c0%2C0%2C6%2C0%2C6%2C3s-5%2C4-5%2C4v2c0%2C0%2C7-1%2C7-6C13%2C4%2C8%2C3%2C5%2C3z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-bars:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M1%2C4h12c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H1C0.447%2C2%2C0%2C2.447%2C0%2C3S0.447%2C4%2C1%2C4z%20M13%2C6H1%20C0.447%2C6%2C0%2C6.447%2C0%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H1c-0.553%2C0-1%2C0.447-1%2C1%20s0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-bullets:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M5%2C4h8c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H5C4.447%2C2%2C4%2C2.447%2C4%2C3S4.447%2C4%2C5%2C4z%20M13%2C6H5%20C4.447%2C6%2C4%2C6.447%2C4%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H5c-0.553%2C0-1%2C0.447-1%2C1%20s0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%20M1%2C2C0.447%2C2%2C0%2C2.447%2C0%2C3s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C2%2C1%2C2z%20M1%2C6%20C0.447%2C6%2C0%2C6.447%2C0%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1s1-0.447%2C1-1C2%2C6.447%2C1.553%2C6%2C1%2C6z%20M1%2C10c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1s1-0.447%2C1-1%20S1.553%2C10%2C1%2C10z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-calendar:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M0%2C8h2V6H0V8z%20M3%2C8h2V6H3V8z%20M6%2C8h2V6H6V8z%20M9%2C8h2V6H9V8z%20M12%2C8h2V6h-2V8z%20M0%2C11h2V9H0V11z%20M3%2C11h2V9H3V11z%20M6%2C11h2V9H6V11z%20%20M9%2C11h2V9H9V11z%20M12%2C11h2V9h-2V11z%20M0%2C14h2v-2H0V14z%20M3%2C14h2v-2H3V14z%20M6%2C14h2v-2H6V14z%20M9%2C14h2v-2H9V14z%20M12%2C1%20c0-0.553-0.447-1-1-1s-1%2C0.447-1%2C1H4c0-0.553-0.447-1-1-1S2%2C0.447%2C2%2C1H0v4h14V1H12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-camera:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M12%2C2.5H9.908c-0.206-0.581-0.756-1-1.408-1h-3c-0.652%2C0-1.202%2C0.419-1.408%2C1H2c-1.104%2C0-2%2C0.896-2%2C2%20v6c0%2C1.104%2C0.896%2C2%2C2%2C2h10c1.104%2C0%2C2-0.896%2C2-2v-6C14%2C3.396%2C13.104%2C2.5%2C12%2C2.5z%20M7%2C10.5c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3C10%2C9.156%2C8.657%2C10.5%2C7%2C10.5z%20M7%2C5.5c-1.104%2C0-2%2C0.896-2%2C2c0%2C1.104%2C0.896%2C2%2C2%2C2c1.104%2C0%2C2-0.896%2C2-2%20C9%2C6.396%2C8.104%2C5.5%2C7%2C5.5z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-carat-d:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2211.949%2C3.404%207%2C8.354%202.05%2C3.404%20-0.071%2C5.525%207%2C12.596%2014.07%2C5.525%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-carat-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2210.596%2C11.949%205.646%2C7%2010.596%2C2.05%208.475%2C-0.071%201.404%2C7%208.475%2C14.07%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-carat-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%223.404%2C2.051%208.354%2C7%203.404%2C11.95%205.525%2C14.07%2012.596%2C7%205.525%2C-0.071%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-carat-u:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%222.051%2C10.596%207%2C5.646%2011.95%2C10.596%2014.07%2C8.475%207%2C1.404%20-0.071%2C8.475%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-check:after,html .ui-btn.ui-checkbox-on.ui-checkbox-on:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2214%2C4%2011%2C1%205.003%2C6.997%203%2C5%200%2C8%204.966%2C13%204.983%2C12.982%205%2C13%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-clock:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C12c-2.762%2C0-5-2.238-5-5s2.238-5%2C5-5s5%2C2.238%2C5%2C5%20S9.762%2C12%2C7%2C12z%20M9%2C6H8V4c0-0.553-0.447-1-1-1S6%2C3.447%2C6%2C4v3c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1S9.553%2C6%2C9%2C6z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-cloud:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M14%2C9.5c0-0.793-0.465-1.473-1.134-1.795C12.949%2C7.484%2C13%2C7.249%2C13%2C7c0-1.104-0.896-2-2-2%20c-0.158%2C0-0.311%2C0.023-0.457%2C0.058C9.816%2C3.549%2C8.286%2C2.5%2C6.5%2C2.5c-2.33%2C0-4.224%2C1.777-4.454%2C4.046C0.883%2C6.76%2C0%2C7.773%2C0%2C9%20c0%2C1.381%2C1.119%2C2.5%2C2.5%2C2.5h10v-0.07C13.361%2C11.206%2C14%2C10.432%2C14%2C9.5z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-comment:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M12%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v7c0%2C1.104%2C0.896%2C2%2C2%2C2h1v3l3-3h6c1.104%2C0%2C2-0.896%2C2-2V2C14%2C0.896%2C13.104%2C0%2C12%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-delete:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C3%2011%2C0%207%2C4%203%2C0%200%2C3%204%2C7%200%2C11%203%2C14%207%2C10%2011%2C14%2014%2C11%2010%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-edit:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M1%2C10l-1%2C4l4-1l7-7L8%2C3L1%2C10z%20M11%2C0L9%2C2l3%2C3l2-2L11%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-eye:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C2C3%2C2%2C0%2C7%2C0%2C7s3%2C5%2C7%2C5s7-5%2C7-5S11%2C2%2C7%2C2z%20M7%2C10c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3C10%2C8.656%2C8.657%2C10%2C7%2C10z%20M7%2C6C6.448%2C6%2C6%2C6.447%2C6%2C7c0%2C0.553%2C0.448%2C1%2C1%2C1s1-0.447%2C1-1C8%2C6.447%2C7.552%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-forbidden:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M12.601%2C11.187C13.476%2C10.018%2C14%2C8.572%2C14%2C7c0-3.866-3.134-7-7-7C5.428%2C0%2C3.982%2C0.524%2C2.813%2C1.399L2.757%2C1.343L2.053%2C2.048%20L2.048%2C2.053L1.343%2C2.758l0.056%2C0.056C0.524%2C3.982%2C0%2C5.428%2C0%2C7c0%2C3.866%2C3.134%2C7%2C7%2C7c1.572%2C0%2C3.018-0.524%2C4.187-1.399l0.056%2C0.057%20l0.705-0.705l0.005-0.005l0.705-0.705L12.601%2C11.187z%20M7%2C2c2.761%2C0%2C5%2C2.238%2C5%2C5c0%2C1.019-0.308%2C1.964-0.832%2C2.754L4.246%2C2.832%20C5.036%2C2.308%2C5.981%2C2%2C7%2C2z%20M7%2C12c-2.761%2C0-5-2.238-5-5c0-1.019%2C0.308-1.964%2C0.832-2.754l6.922%2C6.922C8.964%2C11.692%2C8.019%2C12%2C7%2C12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-forward:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M13%2C4L9%2C0v3C6%2C3%2C1%2C4%2C1%2C8c0%2C5%2C7%2C6%2C7%2C6v-2c0%2C0-5-1-5-4s6-3%2C6-3v3L13%2C4z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-gear:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M13.621%2C5.904l-1.036-0.259c-0.168-0.042-0.303-0.168-0.355-0.332c-0.092-0.284-0.205-0.559-0.339-0.82%20c-0.079-0.153-0.073-0.337%2C0.017-0.486l0.549-0.915c0.118-0.196%2C0.088-0.448-0.075-0.61l-0.862-0.863%20c-0.162-0.163-0.414-0.193-0.611-0.075l-0.916%2C0.55C9.844%2C2.182%2C9.659%2C2.188%2C9.506%2C2.109C9.244%2C1.975%2C8.97%2C1.861%2C8.686%2C1.77%20c-0.165-0.052-0.29-0.187-0.332-0.354L8.095%2C0.379C8.039%2C0.156%2C7.839%2C0%2C7.609%2C0H6.391c-0.229%2C0-0.43%2C0.156-0.485%2C0.379L5.646%2C1.415%20C5.604%2C1.582%2C5.479%2C1.718%2C5.313%2C1.77c-0.284%2C0.092-0.559%2C0.206-0.82%2C0.34C4.339%2C2.188%2C4.155%2C2.182%2C4.007%2C2.093L3.092%2C1.544%20c-0.196-0.118-0.448-0.087-0.61%2C0.075L1.619%2C2.481C1.457%2C2.644%2C1.426%2C2.896%2C1.544%2C3.093l0.549%2C0.914%20c0.089%2C0.148%2C0.095%2C0.332%2C0.017%2C0.486C1.975%2C4.755%2C1.861%2C5.029%2C1.77%2C5.314c-0.053%2C0.164-0.188%2C0.29-0.354%2C0.332L0.379%2C5.905%20C0.156%2C5.961%2C0%2C6.161%2C0%2C6.391v1.219c0%2C0.229%2C0.156%2C0.43%2C0.379%2C0.485l1.036%2C0.26C1.582%2C8.396%2C1.717%2C8.521%2C1.77%2C8.687%20c0.092%2C0.284%2C0.205%2C0.559%2C0.34%2C0.82C2.188%2C9.66%2C2.182%2C9.844%2C2.093%2C9.993l-0.549%2C0.915c-0.118%2C0.195-0.087%2C0.448%2C0.075%2C0.61%20l0.862%2C0.862c0.162%2C0.163%2C0.414%2C0.193%2C0.61%2C0.075l0.915-0.549c0.148-0.089%2C0.332-0.095%2C0.486-0.017%20c0.262%2C0.135%2C0.536%2C0.248%2C0.82%2C0.34c0.165%2C0.053%2C0.291%2C0.187%2C0.332%2C0.354l0.259%2C1.036C5.96%2C13.844%2C6.16%2C14%2C6.39%2C14h1.22%20c0.229%2C0%2C0.43-0.156%2C0.485-0.379l0.259-1.036c0.042-0.167%2C0.168-0.302%2C0.333-0.354c0.284-0.092%2C0.559-0.205%2C0.82-0.34%20c0.154-0.078%2C0.338-0.072%2C0.486%2C0.017l0.914%2C0.549c0.197%2C0.118%2C0.449%2C0.088%2C0.611-0.074l0.862-0.863%20c0.163-0.162%2C0.193-0.415%2C0.075-0.611l-0.549-0.915c-0.089-0.148-0.096-0.332-0.017-0.485c0.134-0.263%2C0.248-0.536%2C0.339-0.82%20c0.053-0.165%2C0.188-0.291%2C0.355-0.333l1.036-0.259C13.844%2C8.039%2C14%2C7.839%2C14%2C7.609V6.39C14%2C6.16%2C13.844%2C5.96%2C13.621%2C5.904z%20M7%2C10%20c-1.657%2C0-3-1.343-3-3s1.343-3%2C3-3s3%2C1.343%2C3%2C3S8.657%2C10%2C7%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-grid:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M3%2C0H1C0.447%2C0%2C0%2C0.447%2C0%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C4%2C0.447%2C3.553%2C0%2C3%2C0z%20M8%2C0H6%20C5.447%2C0%2C5%2C0.447%2C5%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C9%2C0.447%2C8.553%2C0%2C8%2C0z%20M13%2C0h-2c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C14%2C0.447%2C13.553%2C0%2C13%2C0z%20M3%2C5H1C0.447%2C5%2C0%2C5.447%2C0%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1V6C4%2C5.447%2C3.553%2C5%2C3%2C5z%20M8%2C5H6C5.447%2C5%2C5%2C5.447%2C5%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6%20C9%2C5.447%2C8.553%2C5%2C8%2C5z%20M13%2C5h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6C14%2C5.447%2C13.553%2C5%2C13%2C5z%20M3%2C10%20H1c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C4%2C10.447%2C3.553%2C10%2C3%2C10z%20M8%2C10H6c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C9%2C10.447%2C8.553%2C10%2C8%2C10z%20M13%2C10h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1v-2C14%2C10.447%2C13.553%2C10%2C13%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-heart:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C1.872c-2-3-7-2-7%2C2c0%2C3%2C4%2C7%2C4%2C7s2.417%2C2.479%2C3%2C3c0.583-0.521%2C3-3%2C3-3s4-4%2C4-7%20C14-0.128%2C9-1.128%2C7%2C1.872z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-home:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C0%200%2C7%202%2C7%202%2C14%205%2C14%205%2C9%209%2C9%209%2C14%2012%2C14%2012%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-info:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C2c0.552%2C0%2C1%2C0.447%2C1%2C1S7.552%2C4%2C7%2C4S6%2C3.553%2C6%2C3%20S6.448%2C2%2C7%2C2z%20M9%2C11H5v-1h1V6H5V5h3v5h1V11z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-location:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C0C4.791%2C0%2C3%2C1.791%2C3%2C4c0%2C2%2C4%2C10%2C4%2C10s4-8%2C4-10C11%2C1.791%2C9.209%2C0%2C7%2C0z%20M7%2C6C5.896%2C6%2C5%2C5.104%2C5%2C4%20s0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2S8.104%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-lock:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M12%2C6V5c0-2.762-2.238-5-5-5C4.239%2C0%2C2%2C2.238%2C2%2C5v1H1v8h12V6H12z%20M7.5%2C9.848V12h-1V9.848%20C6.207%2C9.673%2C6%2C9.366%2C6%2C9c0-0.553%2C0.448-1%2C1-1s1%2C0.447%2C1%2C1C8%2C9.366%2C7.793%2C9.673%2C7.5%2C9.848z%20M10%2C6H4V5c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3V6z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-mail:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M0%2C3.75V12h14V3.75L7%2C9L0%2C3.75z%20M14%2C2H0l7%2C5L14%2C2z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-minus:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20y%3D%225%22%20style%3D%22fill%3A%23FFFFFF%3B%22%20width%3D%2214%22%20height%3D%224%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-navigation:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2213%2C1%200%2C6%207%2C7%208%2C14%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-phone:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%22-0.01%200.008%2014%2014%22%20style%3D%22enable-background%3Anew%20-0.01%200.008%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M6.939%2C9.189C6.165%2C8.557%2C5.271%2C7.705%2C4.497%2C6.744C3.953%2C6.071%2C3.473%2C5.363%2C3.969%2C4.866l-3.482-3.48%20C-0.021%2C2.02-1.146%2C5.04%2C3.675%2C9.984c5.08%2C5.211%2C8.356%2C4.097%2C8.92%2C3.511l-3.396-3.4C8.725%2C10.568%2C8.113%2C10.146%2C6.939%2C9.189z%20%20M13.82%2C11.519v-0.004c0%2C0-2.648-2.646-2.649-2.647c-0.21-0.211-0.546-0.205-0.754%2C0.002L9.455%2C9.831l3.403%2C3.407%20c0%2C0%2C0.962-0.96%2C0.961-0.961l0.002-0.001C14.043%2C12.056%2C14.021%2C11.721%2C13.82%2C11.519z%20M5.192%2C3.644V3.642%20c0.222-0.222%2C0.2-0.557%2C0-0.758V2.881c0%2C0-2.726-2.725-2.727-2.726C2.255-0.055%2C1.92-0.05%2C1.712%2C0.156L0.751%2C1.121l3.479%2C3.482%20C4.231%2C4.604%2C5.192%2C3.645%2C5.192%2C3.644z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-plus:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C5%209%2C5%209%2C0%205%2C0%205%2C5%200%2C5%200%2C9%205%2C9%205%2C14%209%2C14%209%2C9%2014%2C9%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-power:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M11.243%2C2.408c-0.392-0.401-1.024-0.401-1.415%2C0c-0.391%2C0.401-0.391%2C1.054%2C0%2C1.455%20C10.584%2C4.642%2C11%2C5.675%2C11%2C6.773s-0.416%2C2.133-1.172%2C2.91c-1.512%2C1.558-4.145%2C1.558-5.656%2C0C3.416%2C8.904%2C3%2C7.872%2C3%2C6.773%20C3%2C5.673%2C3.416%2C4.64%2C4.172%2C3.863c0.39-0.401%2C0.39-1.054%2C0-1.455c-0.391-0.401-1.024-0.401-1.415%2C0C1.624%2C3.574%2C1%2C5.125%2C1%2C6.773%20c0%2C1.647%2C0.624%2C3.199%2C1.757%2C4.365c1.134%2C1.166%2C2.64%2C1.809%2C4.243%2C1.809c1.604%2C0%2C3.109-0.645%2C4.243-1.811%20C12.376%2C9.975%2C13%2C8.423%2C13%2C6.773C13%2C5.125%2C12.376%2C3.574%2C11.243%2C2.408z%20M7%2C8.053c0.553%2C0%2C1-0.445%2C1-1v-6c0-0.553-0.447-1-1-1%20c-0.553%2C0-1%2C0.447-1%2C1v6C6%2C7.604%2C6.447%2C8.053%2C7%2C8.053z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-recycle:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M3%2C7h1L2%2C4L0%2C7h1c0%2C3.313%2C2.687%2C6%2C6%2C6c0.702%2C0%2C1.374-0.127%2C2-0.35v-2.205C8.41%2C10.789%2C7.732%2C11%2C7%2C11%20C4.791%2C11%2C3%2C9.209%2C3%2C7z%20M13%2C7c0-3.313-2.688-6-6-6C6.298%2C1%2C5.626%2C1.127%2C5%2C1.349v2.206C5.59%2C3.211%2C6.268%2C3%2C7%2C3c2.209%2C0%2C4%2C1.791%2C4%2C4%20h-1l2%2C3l2-3H13z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-refresh:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.001px%22%20height%3D%2214.002px%22%20viewBox%3D%220%200%2014.001%2014.002%22%20style%3D%22enable-background%3Anew%200%200%2014.001%2014.002%3B%22%20%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M14.001%2C6.001v-6l-2.06%2C2.06c-0.423-0.424-0.897-0.809-1.44-1.122C7.153-0.994%2C2.872%2C0.153%2C0.939%2C3.501%20c-1.933%2C3.348-0.786%2C7.629%2C2.562%2C9.562c3.348%2C1.933%2C7.629%2C0.785%2C9.562-2.562l-1.732-1c-1.381%2C2.392-4.438%2C3.211-6.83%2C1.83%20s-3.211-4.438-1.83-6.83s4.438-3.211%2C6.83-1.83c0.389%2C0.225%2C0.718%2C0.506%2C1.02%2C0.81l-2.52%2C2.52H14.001z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-search:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M10.171%2C8.766c0.617-0.888%2C0.979-1.964%2C0.979-3.126c0-3.037-2.463-5.5-5.5-5.5s-5.5%2C2.463-5.5%2C5.5%20s2.463%2C5.5%2C5.5%2C5.5c1.152%2C0%2C2.223-0.355%2C3.104-0.962l3.684%2C3.683l1.414-1.414L10.171%2C8.766z%20M5.649%2C9.14c-1.933%2C0-3.5-1.567-3.5-3.5%20c0-1.933%2C1.567-3.5%2C3.5-3.5c1.933%2C0%2C3.5%2C1.567%2C3.5%2C3.5C9.149%2C7.572%2C7.582%2C9.14%2C5.649%2C9.14z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-shop:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M10%2C4V3c0-1.657-1.343-3-3-3S4%2C1.343%2C4%2C3v1H1v10h12V4H10z%20M4.5%2C6C4.224%2C6%2C4%2C5.776%2C4%2C5.5%20S4.224%2C5%2C4.5%2C5S5%2C5.224%2C5%2C5.5S4.776%2C6%2C4.5%2C6z%20M5%2C3c0-1.104%2C0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2v1H5V3z%20M9.5%2C6C9.225%2C6%2C9%2C5.776%2C9%2C5.5%20S9.225%2C5%2C9.5%2C5S10%2C5.224%2C10%2C5.5S9.775%2C6%2C9.5%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-star:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2214%2C5%209%2C5%207%2C0%205%2C5%200%2C5%204%2C8%202.625%2C13%207%2C10%2011.375%2C13%2010%2C8%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-tag:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M5%2C0H0v5l9%2C9l5-5L5%2C0z%20M3%2C4C2.447%2C4%2C2%2C3.553%2C2%2C3s0.447-1%2C1-1s1%2C0.447%2C1%2C1S3.553%2C4%2C3%2C4z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-user:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M8.851%2C10.101c-0.18-0.399-0.2-0.763-0.153-1.104C9.383%2C8.49%2C9.738%2C7.621%2C9.891%2C6.465C10.493%2C6.355%2C10.5%2C5.967%2C10.5%2C5.5%20c0-0.437-0.008-0.804-0.502-0.94C9.999%2C4.539%2C10%2C4.521%2C10%2C4.5c0-2.103-1-4-2-4C8%2C0.5%2C7.5%2C0%2C6.5%2C0C5%2C0%2C4%2C1.877%2C4%2C4.5%20c0%2C0.021%2C0.001%2C0.039%2C0.002%2C0.06C3.508%2C4.696%2C3.5%2C5.063%2C3.5%2C5.5c0%2C0.467%2C0.007%2C0.855%2C0.609%2C0.965%20C4.262%2C7.621%2C4.617%2C8.49%2C5.303%2C8.997c0.047%2C0.341%2C0.026%2C0.704-0.153%2C1.104C1.503%2C10.503%2C0%2C12%2C0%2C12v2h14v-2%20C14%2C12%2C12.497%2C10.503%2C8.851%2C10.101z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-video:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%20-2%2014%2014%22%20style%3D%22enable-background%3Anew%200%20-2%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M8%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2h6c1.104%2C0%2C2-0.896%2C2-2V5V2C10%2C0.896%2C9.104%2C0%2C8%2C0z%20%20M10%2C5l4%2C4V1L10%2C5z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-action:after,.ui-alt-icon .ui-icon-action:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M9%2C5v3l5-4L9%2C0v3c0%2C0-5%2C0-5%2C7C6%2C5%2C9%2C5%2C9%2C5z%20M11%2C12H2V5h1l2-2H0v11h13V7l-2%2C2V12z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-alert:after,.ui-alt-icon .ui-icon-alert:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0L0%2C12h14L7%2C0z%20M7%2C11c-0.553%2C0-1-0.447-1-1s0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1S7.553%2C11%2C7%2C11z%20M7%2C8C6.447%2C8%2C6%2C7.553%2C6%2C7V5%20c0-0.553%2C0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1v2C8%2C7.553%2C7.553%2C8%2C7%2C8z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-d:after,.ui-alt-icon .ui-icon-arrow-d:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%229%2C7%209%2C0%205%2C0%205%2C7%200%2C7%207%2C14%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-d-l:after,.ui-alt-icon .ui-icon-arrow-d-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C3%2011%2C0%203.5%2C7.5%200%2C4%200%2C14%2010%2C14%206.5%2C10.5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-d-r:after,.ui-alt-icon .ui-icon-arrow-d-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2210.5%2C7.5%203%2C0%200%2C3%207.5%2C10.5%204%2C14%2014%2C14%2014%2C4%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-l:after,.ui-alt-icon .ui-icon-arrow-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C5%207%2C0%200%2C7%207%2C14%207%2C9%2014%2C9%2014%2C5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-r:after,.ui-alt-icon .ui-icon-arrow-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C7%207%2C0%207%2C5%200%2C5%200%2C9%207%2C9%207%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-u:after,.ui-alt-icon .ui-icon-arrow-u:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C0%200%2C7%205%2C7%205%2C14%209%2C14%209%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-u-l:after,.ui-alt-icon .ui-icon-arrow-u-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C11%206.5%2C3.5%2010%2C0%200%2C0%200%2C10%203.5%2C6.5%2011%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-u-r:after,.ui-alt-icon .ui-icon-arrow-u-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C0%204%2C0%207.5%2C3.5%200%2C11%203%2C14%2010.5%2C6.5%2014%2C10%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-audio:after,.ui-alt-icon .ui-icon-audio:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.018px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014.018%2014%22%20style%3D%22enable-background%3Anew%200%200%2014.018%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C4C0.447%2C4%2C0%2C4.447%2C0%2C5v4c0%2C0.553%2C0.447%2C1%2C1%2C1h1l4%2C4V0L2%2C4H1z%20M10.346%2C7c0-1.699-1.042-3.154-2.546-3.867L6.982%2C4.68%20C7.885%2C5.107%2C8.51%2C5.98%2C8.51%2C7S7.885%2C8.893%2C6.982%2C9.32L7.8%2C10.867C9.304%2C10.154%2C10.346%2C8.699%2C10.346%2C7z%20M9.447%2C0.017L8.618%2C1.586%20C10.723%2C2.584%2C12.182%2C4.621%2C12.182%2C7s-1.459%2C4.416-3.563%2C5.414l0.829%2C1.569c2.707-1.283%2C4.57-3.925%2C4.57-6.983%20S12.154%2C1.3%2C9.447%2C0.017z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-back:after,.ui-alt-icon .ui-icon-back:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C3V0L1%2C4l4%2C4V5c0%2C0%2C6%2C0%2C6%2C3s-5%2C4-5%2C4v2c0%2C0%2C7-1%2C7-6C13%2C4%2C8%2C3%2C5%2C3z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-bars:after,.ui-alt-icon .ui-icon-bars:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C4h12c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H1C0.447%2C2%2C0%2C2.447%2C0%2C3S0.447%2C4%2C1%2C4z%20M13%2C6H1C0.447%2C6%2C0%2C6.447%2C0%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H1c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1h12%20c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-bullets:after,.ui-alt-icon .ui-icon-bullets:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C4h8c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H5C4.447%2C2%2C4%2C2.447%2C4%2C3S4.447%2C4%2C5%2C4z%20M13%2C6H5C4.447%2C6%2C4%2C6.447%2C4%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H5c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1h8%20c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%20M1%2C2C0.447%2C2%2C0%2C2.447%2C0%2C3s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C2%2C1%2C2z%20M1%2C6C0.447%2C6%2C0%2C6.447%2C0%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1s1-0.447%2C1-1C2%2C6.447%2C1.553%2C6%2C1%2C6z%20M1%2C10c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C10%2C1%2C10z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-calendar:after,.ui-alt-icon .ui-icon-calendar:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M0%2C8h2V6H0V8z%20M3%2C8h2V6H3V8z%20M6%2C8h2V6H6V8z%20M9%2C8h2V6H9V8z%20M12%2C8h2V6h-2V8z%20M0%2C11h2V9H0V11z%20M3%2C11h2V9H3V11z%20M6%2C11h2V9H6V11z%20%20M9%2C11h2V9H9V11z%20M12%2C11h2V9h-2V11z%20M0%2C14h2v-2H0V14z%20M3%2C14h2v-2H3V14z%20M6%2C14h2v-2H6V14z%20M9%2C14h2v-2H9V14z%20M12%2C1%20c0-0.553-0.447-1-1-1s-1%2C0.447-1%2C1H4c0-0.553-0.447-1-1-1S2%2C0.447%2C2%2C1H0v4h14V1H12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-camera:after,.ui-alt-icon .ui-icon-camera:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C2.5H9.908c-0.206-0.581-0.756-1-1.408-1h-3c-0.652%2C0-1.202%2C0.419-1.408%2C1H2c-1.104%2C0-2%2C0.896-2%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2%20h10c1.104%2C0%2C2-0.896%2C2-2v-6C14%2C3.396%2C13.104%2C2.5%2C12%2C2.5z%20M7%2C10.5c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3%20C10%2C9.156%2C8.657%2C10.5%2C7%2C10.5z%20M7%2C5.5c-1.104%2C0-2%2C0.896-2%2C2c0%2C1.104%2C0.896%2C2%2C2%2C2c1.104%2C0%2C2-0.896%2C2-2C9%2C6.396%2C8.104%2C5.5%2C7%2C5.5z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-carat-d:after,.ui-alt-icon .ui-icon-carat-d:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2211.949%2C3.404%207%2C8.354%202.05%2C3.404%20-0.071%2C5.525%207%2C12.596%2014.07%2C5.525%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-carat-l:after,.ui-alt-icon .ui-icon-carat-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2210.596%2C11.949%205.646%2C7%2010.596%2C2.05%208.475%2C-0.071%201.404%2C7%208.475%2C14.07%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-carat-r:after,.ui-alt-icon .ui-icon-carat-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%223.404%2C2.051%208.354%2C7%203.404%2C11.95%205.525%2C14.07%2012.596%2C7%205.525%2C-0.071%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-carat-u:after,.ui-alt-icon .ui-icon-carat-u:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%222.051%2C10.596%207%2C5.646%2011.95%2C10.596%2014.07%2C8.475%207%2C1.404%20-0.071%2C8.475%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-check:after,.ui-alt-icon .ui-icon-check:after,html .ui-alt-icon.ui-btn.ui-checkbox-on:after,html .ui-alt-icon .ui-btn.ui-checkbox-on:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C4%2011%2C1%205.003%2C6.997%203%2C5%200%2C8%204.966%2C13%204.983%2C12.982%205%2C13%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-clock:after,.ui-alt-icon .ui-icon-clock:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C12c-2.762%2C0-5-2.238-5-5s2.238-5%2C5-5s5%2C2.238%2C5%2C5%20S9.762%2C12%2C7%2C12z%20M9%2C6H8V4c0-0.553-0.447-1-1-1S6%2C3.447%2C6%2C4v3c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1S9.553%2C6%2C9%2C6z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-cloud:after,.ui-alt-icon .ui-icon-cloud:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M14%2C9.5c0-0.793-0.465-1.473-1.134-1.795C12.949%2C7.484%2C13%2C7.249%2C13%2C7c0-1.104-0.896-2-2-2c-0.158%2C0-0.311%2C0.023-0.457%2C0.058%20C9.816%2C3.549%2C8.286%2C2.5%2C6.5%2C2.5c-2.33%2C0-4.224%2C1.777-4.454%2C4.046C0.883%2C6.76%2C0%2C7.773%2C0%2C9c0%2C1.381%2C1.119%2C2.5%2C2.5%2C2.5h10v-0.07%20C13.361%2C11.206%2C14%2C10.432%2C14%2C9.5z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-comment:after,.ui-alt-icon .ui-icon-comment:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v7c0%2C1.104%2C0.896%2C2%2C2%2C2h1v3l3-3h6c1.104%2C0%2C2-0.896%2C2-2V2C14%2C0.896%2C13.104%2C0%2C12%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-delete:after,.ui-alt-icon .ui-icon-delete:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C3%2011%2C0%207%2C4%203%2C0%200%2C3%204%2C7%200%2C11%203%2C14%207%2C10%2011%2C14%2014%2C11%2010%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-edit:after,.ui-alt-icon .ui-icon-edit:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C10l-1%2C4l4-1l7-7L8%2C3L1%2C10z%20M11%2C0L9%2C2l3%2C3l2-2L11%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-eye:after,.ui-alt-icon .ui-icon-eye:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C2C3%2C2%2C0%2C7%2C0%2C7s3%2C5%2C7%2C5s7-5%2C7-5S11%2C2%2C7%2C2z%20M7%2C10c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3%20C10%2C8.656%2C8.657%2C10%2C7%2C10z%20M7%2C6C6.448%2C6%2C6%2C6.447%2C6%2C7c0%2C0.553%2C0.448%2C1%2C1%2C1s1-0.447%2C1-1C8%2C6.447%2C7.552%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-forbidden:after,.ui-alt-icon .ui-icon-forbidden:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12.601%2C11.187C13.476%2C10.018%2C14%2C8.572%2C14%2C7c0-3.866-3.134-7-7-7C5.428%2C0%2C3.982%2C0.524%2C2.813%2C1.399L2.757%2C1.343L2.053%2C2.048%20L2.048%2C2.053L1.343%2C2.758l0.056%2C0.056C0.524%2C3.982%2C0%2C5.428%2C0%2C7c0%2C3.866%2C3.134%2C7%2C7%2C7c1.572%2C0%2C3.018-0.524%2C4.187-1.399l0.056%2C0.057%20l0.705-0.705l0.005-0.005l0.705-0.705L12.601%2C11.187z%20M7%2C2c2.761%2C0%2C5%2C2.238%2C5%2C5c0%2C1.019-0.308%2C1.964-0.832%2C2.754L4.246%2C2.832%20C5.036%2C2.308%2C5.981%2C2%2C7%2C2z%20M7%2C12c-2.761%2C0-5-2.238-5-5c0-1.019%2C0.308-1.964%2C0.832-2.754l6.922%2C6.922C8.964%2C11.692%2C8.019%2C12%2C7%2C12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-forward:after,.ui-alt-icon .ui-icon-forward:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M13%2C4L9%2C0v3C6%2C3%2C1%2C4%2C1%2C8c0%2C5%2C7%2C6%2C7%2C6v-2c0%2C0-5-1-5-4s6-3%2C6-3v3L13%2C4z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-gear:after,.ui-alt-icon .ui-icon-gear:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M13.621%2C5.904l-1.036-0.259c-0.168-0.042-0.303-0.168-0.355-0.332c-0.092-0.284-0.205-0.559-0.339-0.82%20c-0.079-0.153-0.073-0.337%2C0.017-0.486l0.549-0.915c0.118-0.196%2C0.088-0.448-0.075-0.61l-0.862-0.863%20c-0.162-0.163-0.414-0.193-0.611-0.075l-0.916%2C0.55C9.844%2C2.182%2C9.659%2C2.188%2C9.506%2C2.109C9.244%2C1.975%2C8.97%2C1.861%2C8.686%2C1.77%20c-0.165-0.052-0.29-0.187-0.332-0.354L8.095%2C0.379C8.039%2C0.156%2C7.839%2C0%2C7.609%2C0H6.391c-0.229%2C0-0.43%2C0.156-0.485%2C0.379L5.646%2C1.415%20C5.604%2C1.582%2C5.479%2C1.718%2C5.313%2C1.77c-0.284%2C0.092-0.559%2C0.206-0.82%2C0.34C4.339%2C2.188%2C4.155%2C2.182%2C4.007%2C2.093L3.092%2C1.544%20c-0.196-0.118-0.448-0.087-0.61%2C0.075L1.619%2C2.481C1.457%2C2.644%2C1.426%2C2.896%2C1.544%2C3.093l0.549%2C0.914%20c0.089%2C0.148%2C0.095%2C0.332%2C0.017%2C0.486C1.975%2C4.755%2C1.861%2C5.029%2C1.77%2C5.314c-0.053%2C0.164-0.188%2C0.29-0.354%2C0.332L0.379%2C5.905%20C0.156%2C5.961%2C0%2C6.161%2C0%2C6.391v1.219c0%2C0.229%2C0.156%2C0.43%2C0.379%2C0.485l1.036%2C0.26C1.582%2C8.396%2C1.717%2C8.521%2C1.77%2C8.687%20c0.092%2C0.284%2C0.205%2C0.559%2C0.34%2C0.82C2.188%2C9.66%2C2.182%2C9.844%2C2.093%2C9.993l-0.549%2C0.915c-0.118%2C0.195-0.087%2C0.448%2C0.075%2C0.61%20l0.862%2C0.862c0.162%2C0.163%2C0.414%2C0.193%2C0.61%2C0.075l0.915-0.549c0.148-0.089%2C0.332-0.095%2C0.486-0.017%20c0.262%2C0.135%2C0.536%2C0.248%2C0.82%2C0.34c0.165%2C0.053%2C0.291%2C0.187%2C0.332%2C0.354l0.259%2C1.036C5.96%2C13.844%2C6.16%2C14%2C6.39%2C14h1.22%20c0.229%2C0%2C0.43-0.156%2C0.485-0.379l0.259-1.036c0.042-0.167%2C0.168-0.302%2C0.333-0.354c0.284-0.092%2C0.559-0.205%2C0.82-0.34%20c0.154-0.078%2C0.338-0.072%2C0.486%2C0.017l0.914%2C0.549c0.197%2C0.118%2C0.449%2C0.088%2C0.611-0.074l0.862-0.863%20c0.163-0.162%2C0.193-0.415%2C0.075-0.611l-0.549-0.915c-0.089-0.148-0.096-0.332-0.017-0.485c0.134-0.263%2C0.248-0.536%2C0.339-0.82%20c0.053-0.165%2C0.188-0.291%2C0.355-0.333l1.036-0.259C13.844%2C8.039%2C14%2C7.839%2C14%2C7.609V6.39C14%2C6.16%2C13.844%2C5.96%2C13.621%2C5.904z%20M7%2C10%20c-1.657%2C0-3-1.343-3-3s1.343-3%2C3-3s3%2C1.343%2C3%2C3S8.657%2C10%2C7%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-grid:after,.ui-alt-icon .ui-icon-grid:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M3%2C0H1C0.447%2C0%2C0%2C0.447%2C0%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C4%2C0.447%2C3.553%2C0%2C3%2C0z%20M8%2C0H6%20C5.447%2C0%2C5%2C0.447%2C5%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C9%2C0.447%2C8.553%2C0%2C8%2C0z%20M13%2C0h-2c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C14%2C0.447%2C13.553%2C0%2C13%2C0z%20M3%2C5H1C0.447%2C5%2C0%2C5.447%2C0%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1V6C4%2C5.447%2C3.553%2C5%2C3%2C5z%20M8%2C5H6C5.447%2C5%2C5%2C5.447%2C5%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6%20C9%2C5.447%2C8.553%2C5%2C8%2C5z%20M13%2C5h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6C14%2C5.447%2C13.553%2C5%2C13%2C5z%20M3%2C10%20H1c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C4%2C10.447%2C3.553%2C10%2C3%2C10z%20M8%2C10H6c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C9%2C10.447%2C8.553%2C10%2C8%2C10z%20M13%2C10h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1v-2C14%2C10.447%2C13.553%2C10%2C13%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-heart:after,.ui-alt-icon .ui-icon-heart:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C1.958c-2-3-7-2.128-7%2C1.872c0%2C3%2C4%2C7%2C4%2C7s2.417%2C2.48%2C3%2C3c0.583-0.52%2C3-3%2C3-3s4-4%2C4-7C14-0.169%2C9-1.042%2C7%2C1.958z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-home:after,.ui-alt-icon .ui-icon-home:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C0%200%2C7%202%2C7%202%2C14%205%2C14%205%2C9%209%2C9%209%2C14%2012%2C14%2012%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-info:after,.ui-alt-icon .ui-icon-info:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C2c0.552%2C0%2C1%2C0.447%2C1%2C1S7.552%2C4%2C7%2C4S6%2C3.553%2C6%2C3%20S6.448%2C2%2C7%2C2z%20M9%2C11H5v-1h1V6H5V5h3v5h1V11z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-location:after,.ui-alt-icon .ui-icon-location:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C4.791%2C0%2C3%2C1.791%2C3%2C4c0%2C2%2C4%2C10%2C4%2C10s4-8%2C4-10C11%2C1.791%2C9.209%2C0%2C7%2C0z%20M7%2C6C5.896%2C6%2C5%2C5.104%2C5%2C4s0.896-2%2C2-2%20c1.104%2C0%2C2%2C0.896%2C2%2C2S8.104%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-lock:after,.ui-alt-icon .ui-icon-lock:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C6V5c0-2.762-2.238-5-5-5C4.239%2C0%2C2%2C2.238%2C2%2C5v1H1v8h12V6H12z%20M7.5%2C9.848V12h-1V9.848C6.207%2C9.673%2C6%2C9.366%2C6%2C9%20c0-0.553%2C0.448-1%2C1-1s1%2C0.447%2C1%2C1C8%2C9.366%2C7.793%2C9.673%2C7.5%2C9.848z%20M10%2C6H4V5c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3V6z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-mail:after,.ui-alt-icon .ui-icon-mail:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M0%2C3.75V12h14V3.75L7%2C9L0%2C3.75z%20M14%2C2H0l7%2C5L14%2C2z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-minus:after,.ui-alt-icon .ui-icon-minus:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20y%3D%225%22%20width%3D%2214%22%20height%3D%224%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-navigation:after,.ui-alt-icon .ui-icon-navigation:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2213%2C1%200%2C6%207%2C7%208%2C14%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-phone:after,.ui-alt-icon .ui-icon-phone:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M6.949%2C9.182C6.175%2C8.549%2C5.281%2C7.697%2C4.507%2C6.736C3.963%2C6.063%2C3.483%2C5.355%2C3.979%2C4.858l-3.482-3.48%20c-0.508%2C0.634-1.633%2C3.654%2C3.188%2C8.598c5.08%2C5.211%2C8.356%2C4.097%2C8.92%2C3.511l-3.396-3.399C8.734%2C10.561%2C8.123%2C10.139%2C6.949%2C9.182z%20%20M13.83%2C11.512v-0.004c0%2C0-2.648-2.646-2.649-2.647c-0.21-0.212-0.546-0.205-0.754%2C0.002L9.465%2C9.823l3.402%2C3.407%20c0%2C0%2C0.963-0.961%2C0.961-0.961l0.002-0.002C14.053%2C12.049%2C14.031%2C11.713%2C13.83%2C11.512z%20M5.202%2C3.636V3.634%20c0.222-0.222%2C0.2-0.557%2C0-0.758V2.873c0%2C0-2.726-2.725-2.727-2.726c-0.21-0.21-0.545-0.205-0.753%2C0.001L0.761%2C1.113L4.24%2C4.595%20C4.241%2C4.596%2C5.202%2C3.637%2C5.202%2C3.636z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-plus:after,.ui-alt-icon .ui-icon-plus:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C5%209%2C5%209%2C0%205%2C0%205%2C5%200%2C5%200%2C9%205%2C9%205%2C14%209%2C14%209%2C9%2014%2C9%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-power:after,.ui-alt-icon .ui-icon-power:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M11.243%2C2.408c-0.392-0.401-1.024-0.401-1.415%2C0c-0.391%2C0.401-0.391%2C1.054%2C0%2C1.455C10.584%2C4.642%2C11%2C5.675%2C11%2C6.773%20s-0.416%2C2.133-1.172%2C2.91c-1.512%2C1.558-4.145%2C1.558-5.656%2C0C3.416%2C8.904%2C3%2C7.872%2C3%2C6.773C3%2C5.673%2C3.416%2C4.64%2C4.172%2C3.863%20c0.39-0.401%2C0.39-1.054%2C0-1.455c-0.391-0.401-1.024-0.401-1.415%2C0C1.624%2C3.574%2C1%2C5.125%2C1%2C6.773c0%2C1.647%2C0.624%2C3.199%2C1.757%2C4.365%20c1.134%2C1.166%2C2.64%2C1.809%2C4.243%2C1.809c1.604%2C0%2C3.109-0.645%2C4.243-1.811C12.376%2C9.975%2C13%2C8.423%2C13%2C6.773%20C13%2C5.125%2C12.376%2C3.574%2C11.243%2C2.408z%20M7%2C8.053c0.553%2C0%2C1-0.445%2C1-1v-6c0-0.553-0.447-1-1-1c-0.553%2C0-1%2C0.447-1%2C1v6%20C6%2C7.604%2C6.447%2C8.053%2C7%2C8.053z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-recycle:after,.ui-alt-icon .ui-icon-recycle:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M3%2C7h1L2%2C4L0%2C7h1c0%2C3.313%2C2.687%2C6%2C6%2C6c0.702%2C0%2C1.374-0.127%2C2-0.35v-2.205C8.41%2C10.789%2C7.732%2C11%2C7%2C11C4.791%2C11%2C3%2C9.209%2C3%2C7z%20%20M13%2C7c0-3.313-2.688-6-6-6C6.298%2C1%2C5.626%2C1.127%2C5%2C1.349v2.206C5.59%2C3.211%2C6.268%2C3%2C7%2C3c2.209%2C0%2C4%2C1.791%2C4%2C4h-1l2%2C3l2-3H13z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-refresh:after,.ui-alt-icon .ui-icon-refresh:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.001px%22%20height%3D%2214.002px%22%20viewBox%3D%220%200%2014.001%2014.002%22%20style%3D%22enable-background%3Anew%200%200%2014.001%2014.002%3B%22%20%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M14.001%2C6.001v-6l-2.06%2C2.06c-0.423-0.424-0.897-0.809-1.44-1.122C7.153-0.994%2C2.872%2C0.153%2C0.939%2C3.501%20c-1.933%2C3.348-0.786%2C7.629%2C2.562%2C9.562c3.348%2C1.933%2C7.629%2C0.785%2C9.562-2.562l-1.732-1c-1.381%2C2.392-4.438%2C3.211-6.83%2C1.83%20s-3.211-4.438-1.83-6.83s4.438-3.211%2C6.83-1.83c0.389%2C0.225%2C0.718%2C0.506%2C1.02%2C0.81l-2.52%2C2.52H14.001z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-search:after,.ui-alt-icon .ui-icon-search:after,.ui-input-search:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M10.171%2C8.766c0.617-0.888%2C0.979-1.964%2C0.979-3.126c0-3.037-2.463-5.5-5.5-5.5s-5.5%2C2.463-5.5%2C5.5s2.463%2C5.5%2C5.5%2C5.5%20c1.152%2C0%2C2.223-0.355%2C3.104-0.962l3.684%2C3.683l1.414-1.414L10.171%2C8.766z%20M5.649%2C9.14c-1.933%2C0-3.5-1.567-3.5-3.5%20c0-1.933%2C1.567-3.5%2C3.5-3.5c1.933%2C0%2C3.5%2C1.567%2C3.5%2C3.5C9.149%2C7.572%2C7.582%2C9.14%2C5.649%2C9.14z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-shop:after,.ui-alt-icon .ui-icon-shop:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M10%2C4V3c0-1.657-1.343-3-3-3S4%2C1.343%2C4%2C3v1H1v10h12V4H10z%20M4.5%2C6C4.224%2C6%2C4%2C5.776%2C4%2C5.5S4.224%2C5%2C4.5%2C5S5%2C5.224%2C5%2C5.5%20S4.776%2C6%2C4.5%2C6z%20M5%2C3c0-1.104%2C0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2v1H5V3z%20M9.5%2C6C9.225%2C6%2C9%2C5.776%2C9%2C5.5S9.225%2C5%2C9.5%2C5S10%2C5.224%2C10%2C5.5%20S9.775%2C6%2C9.5%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-star:after,.ui-alt-icon .ui-icon-star:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C5%209%2C5%207%2C0%205%2C5%200%2C5%204%2C8%202.625%2C13%207%2C10%2011.375%2C13%2010%2C8%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-tag:after,.ui-alt-icon .ui-icon-tag:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C0H0v5l9%2C9l5-5L5%2C0z%20M3%2C4C2.447%2C4%2C2%2C3.553%2C2%2C3s0.447-1%2C1-1s1%2C0.447%2C1%2C1S3.553%2C4%2C3%2C4z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-user:after,.ui-alt-icon .ui-icon-user:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M8.851%2C10.101c-0.18-0.399-0.2-0.763-0.153-1.104C9.383%2C8.49%2C9.738%2C7.621%2C9.891%2C6.465C10.493%2C6.355%2C10.5%2C5.967%2C10.5%2C5.5%20c0-0.437-0.008-0.804-0.502-0.94C9.999%2C4.539%2C10%2C4.521%2C10%2C4.5c0-2.103-1-4-2-4C8%2C0.5%2C7.5%2C0%2C6.5%2C0C5%2C0%2C4%2C1.877%2C4%2C4.5%20c0%2C0.021%2C0.001%2C0.039%2C0.002%2C0.06C3.508%2C4.696%2C3.5%2C5.063%2C3.5%2C5.5c0%2C0.467%2C0.007%2C0.855%2C0.609%2C0.965%20C4.262%2C7.621%2C4.617%2C8.49%2C5.303%2C8.997c0.047%2C0.341%2C0.026%2C0.704-0.153%2C1.104C1.503%2C10.503%2C0%2C12%2C0%2C12v2h14v-2%20C14%2C12%2C12.497%2C10.503%2C8.851%2C10.101z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-video:after,.ui-alt-icon .ui-icon-video:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%20-2%2014%2014%22%20style%3D%22enable-background%3Anew%200%20-2%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M8%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2h6c1.104%2C0%2C2-0.896%2C2-2V5V2C10%2C0.896%2C9.104%2C0%2C8%2C0z%20M10%2C5l4%2C4V1L10%2C5z%22%2F%3E%3C%2Fsvg%3E")}.ui-nosvg .ui-icon-action:after{background-image:url(images/icons-png/action-white.png)}.ui-nosvg .ui-icon-alert:after{background-image:url(images/icons-png/alert-white.png)}.ui-nosvg .ui-icon-arrow-d-l:after{background-image:url(images/icons-png/arrow-d-l-white.png)}.ui-nosvg .ui-icon-arrow-d-r:after{background-image:url(images/icons-png/arrow-d-r-white.png)}.ui-nosvg .ui-icon-arrow-d:after{background-image:url(images/icons-png/arrow-d-white.png)}.ui-nosvg .ui-icon-arrow-l:after{background-image:url(images/icons-png/arrow-l-white.png)}.ui-nosvg .ui-icon-arrow-r:after{background-image:url(images/icons-png/arrow-r-white.png)}.ui-nosvg .ui-icon-arrow-u-l:after{background-image:url(images/icons-png/arrow-u-l-white.png)}.ui-nosvg .ui-icon-arrow-u-r:after{background-image:url(images/icons-png/arrow-u-r-white.png)}.ui-nosvg .ui-icon-arrow-u:after{background-image:url(images/icons-png/arrow-u-white.png)}.ui-nosvg .ui-icon-audio:after{background-image:url(images/icons-png/audio-white.png)}.ui-nosvg .ui-icon-back:after{background-image:url(images/icons-png/back-white.png)}.ui-nosvg .ui-icon-bars:after{background-image:url(images/icons-png/bars-white.png)}.ui-nosvg .ui-icon-bullets:after{background-image:url(images/icons-png/bullets-white.png)}.ui-nosvg .ui-icon-calendar:after{background-image:url(images/icons-png/calendar-white.png)}.ui-nosvg .ui-icon-camera:after{background-image:url(images/icons-png/camera-white.png)}.ui-nosvg .ui-icon-carat-d:after{background-image:url(images/icons-png/carat-d-white.png)}.ui-nosvg .ui-icon-carat-l:after{background-image:url(images/icons-png/carat-l-white.png)}.ui-nosvg .ui-icon-carat-r:after{background-image:url(images/icons-png/carat-r-white.png)}.ui-nosvg .ui-icon-carat-u:after{background-image:url(images/icons-png/carat-u-white.png)}.ui-nosvg .ui-icon-check:after,html.ui-nosvg .ui-btn.ui-checkbox-on:after{background-image:url(images/icons-png/check-white.png)}.ui-nosvg .ui-icon-clock:after{background-image:url(images/icons-png/clock-white.png)}.ui-nosvg .ui-icon-cloud:after{background-image:url(images/icons-png/cloud-white.png)}.ui-nosvg .ui-icon-comment:after{background-image:url(images/icons-png/comment-white.png)}.ui-nosvg .ui-icon-delete:after{background-image:url(images/icons-png/delete-white.png)}.ui-nosvg .ui-icon-edit:after{background-image:url(images/icons-png/edit-white.png)}.ui-nosvg .ui-icon-eye:after{background-image:url(images/icons-png/eye-white.png)}.ui-nosvg .ui-icon-forbidden:after{background-image:url(images/icons-png/forbidden-white.png)}.ui-nosvg .ui-icon-forward:after{background-image:url(images/icons-png/forward-white.png)}.ui-nosvg .ui-icon-gear:after{background-image:url(images/icons-png/gear-white.png)}.ui-nosvg .ui-icon-grid:after{background-image:url(images/icons-png/grid-white.png)}.ui-nosvg .ui-icon-heart:after{background-image:url(images/icons-png/heart-white.png)}.ui-nosvg .ui-icon-home:after{background-image:url(images/icons-png/home-white.png)}.ui-nosvg .ui-icon-info:after{background-image:url(images/icons-png/info-white.png)}.ui-nosvg .ui-icon-location:after{background-image:url(images/icons-png/location-white.png)}.ui-nosvg .ui-icon-lock:after{background-image:url(images/icons-png/lock-white.png)}.ui-nosvg .ui-icon-mail:after{background-image:url(images/icons-png/mail-white.png)}.ui-nosvg .ui-icon-minus:after{background-image:url(images/icons-png/minus-white.png)}.ui-nosvg .ui-icon-navigation:after{background-image:url(images/icons-png/navigation-white.png)}.ui-nosvg .ui-icon-phone:after{background-image:url(images/icons-png/phone-white.png)}.ui-nosvg .ui-icon-plus:after{background-image:url(images/icons-png/plus-white.png)}.ui-nosvg .ui-icon-power:after{background-image:url(images/icons-png/power-white.png)}.ui-nosvg .ui-icon-recycle:after{background-image:url(images/icons-png/recycle-white.png)}.ui-nosvg .ui-icon-refresh:after{background-image:url(images/icons-png/refresh-white.png)}.ui-nosvg .ui-icon-search:after{background-image:url(images/icons-png/search-white.png)}.ui-nosvg .ui-icon-shop:after{background-image:url(images/icons-png/shop-white.png)}.ui-nosvg .ui-icon-star:after{background-image:url(images/icons-png/star-white.png)}.ui-nosvg .ui-icon-tag:after{background-image:url(images/icons-png/tag-white.png)}.ui-nosvg .ui-icon-user:after{background-image:url(images/icons-png/user-white.png)}.ui-nosvg .ui-icon-video:after{background-image:url(images/icons-png/video-white.png)}.ui-nosvg .ui-alt-icon.ui-icon-action:after,.ui-nosvg .ui-alt-icon .ui-icon-action:after{background-image:url(images/icons-png/action-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-alert:after,.ui-nosvg .ui-alt-icon .ui-icon-alert:after{background-image:url(images/icons-png/alert-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-d:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-d:after{background-image:url(images/icons-png/arrow-d-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-d-l:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-d-l:after{background-image:url(images/icons-png/arrow-d-l-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-d-r:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-d-r:after{background-image:url(images/icons-png/arrow-d-r-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-l:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-l:after{background-image:url(images/icons-png/arrow-l-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-r:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-r:after{background-image:url(images/icons-png/arrow-r-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-u:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-u:after{background-image:url(images/icons-png/arrow-u-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-u-l:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-u-l:after{background-image:url(images/icons-png/arrow-u-l-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-u-r:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-u-r:after{background-image:url(images/icons-png/arrow-u-r-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-audio:after,.ui-nosvg .ui-alt-icon .ui-icon-audio:after{background-image:url(images/icons-png/audio-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-back:after,.ui-nosvg .ui-alt-icon .ui-icon-back:after{background-image:url(images/icons-png/back-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-bars:after,.ui-nosvg .ui-alt-icon .ui-icon-bars:after{background-image:url(images/icons-png/bars-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-bullets:after,.ui-nosvg .ui-alt-icon .ui-icon-bullets:after{background-image:url(images/icons-png/bullets-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-calendar:after,.ui-nosvg .ui-alt-icon .ui-icon-calendar:after{background-image:url(images/icons-png/calendar-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-camera:after,.ui-nosvg .ui-alt-icon .ui-icon-camera:after{background-image:url(images/icons-png/camera-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-carat-d:after,.ui-nosvg .ui-alt-icon .ui-icon-carat-d:after{background-image:url(images/icons-png/carat-d-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-carat-l:after,.ui-nosvg .ui-alt-icon .ui-icon-carat-l:after{background-image:url(images/icons-png/carat-l-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-carat-r:after,.ui-nosvg .ui-alt-icon .ui-icon-carat-r:after{background-image:url(images/icons-png/carat-r-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-carat-u:after,.ui-nosvg .ui-alt-icon .ui-icon-carat-u:after{background-image:url(images/icons-png/carat-u-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-check:after,.ui-nosvg .ui-alt-icon .ui-icon-check:after,.ui-nosvg .ui-alt-icon.ui-btn.ui-checkbox-on:after,.ui-nosvg .ui-alt-icon .ui-btn.ui-checkbox-on:after{background-image:url(images/icons-png/check-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-clock:after,.ui-nosvg .ui-alt-icon .ui-icon-clock:after{background-image:url(images/icons-png/clock-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-cloud:after,.ui-nosvg .ui-alt-icon .ui-icon-cloud:after{background-image:url(images/icons-png/cloud-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-comment:after,.ui-nosvg .ui-alt-icon .ui-icon-comment:after{background-image:url(images/icons-png/comment-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-delete:after,.ui-nosvg .ui-alt-icon .ui-icon-delete:after{background-image:url(images/icons-png/delete-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-edit:after,.ui-nosvg .ui-alt-icon .ui-icon-edit:after{background-image:url(images/icons-png/edit-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-eye:after,.ui-nosvg .ui-alt-icon .ui-icon-eye:after{background-image:url(images/icons-png/eye-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-forbidden:after,.ui-nosvg .ui-alt-icon .ui-icon-forbidden:after{background-image:url(images/icons-png/forbidden-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-forward:after,.ui-nosvg .ui-alt-icon .ui-icon-forward:after{background-image:url(images/icons-png/forward-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-gear:after,.ui-nosvg .ui-alt-icon .ui-icon-gear:after{background-image:url(images/icons-png/gear-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-grid:after,.ui-nosvg .ui-alt-icon .ui-icon-grid:after{background-image:url(images/icons-png/grid-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-heart:after,.ui-nosvg .ui-alt-icon .ui-icon-heart:after{background-image:url(images/icons-png/heart-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-home:after,.ui-nosvg .ui-alt-icon .ui-icon-home:after{background-image:url(images/icons-png/home-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-info:after,.ui-nosvg .ui-alt-icon .ui-icon-info:after{background-image:url(images/icons-png/info-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-location:after,.ui-nosvg .ui-alt-icon .ui-icon-location:after{background-image:url(images/icons-png/location-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-lock:after,.ui-nosvg .ui-alt-icon .ui-icon-lock:after{background-image:url(images/icons-png/lock-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-mail:after,.ui-nosvg .ui-alt-icon .ui-icon-mail:after{background-image:url(images/icons-png/mail-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-minus:after,.ui-nosvg .ui-alt-icon .ui-icon-minus:after{background-image:url(images/icons-png/minus-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-navigation:after,.ui-nosvg .ui-alt-icon .ui-icon-navigation:after{background-image:url(images/icons-png/navigation-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-phone:after,.ui-nosvg .ui-alt-icon .ui-icon-phone:after{background-image:url(images/icons-png/phone-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-plus:after,.ui-nosvg .ui-alt-icon .ui-icon-plus:after{background-image:url(images/icons-png/plus-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-power:after,.ui-nosvg .ui-alt-icon .ui-icon-power:after{background-image:url(images/icons-png/power-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-recycle:after,.ui-nosvg .ui-alt-icon .ui-icon-recycle:after{background-image:url(images/icons-png/recycle-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-refresh:after,.ui-nosvg .ui-alt-icon .ui-icon-refresh:after{background-image:url(images/icons-png/refresh-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-search:after,.ui-nosvg .ui-alt-icon .ui-icon-search:after,.ui-nosvg .ui-input-search:after{background-image:url(images/icons-png/search-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-shop:after,.ui-nosvg .ui-alt-icon .ui-icon-shop:after{background-image:url(images/icons-png/shop-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-star:after,.ui-nosvg .ui-alt-icon .ui-icon-star:after{background-image:url(images/icons-png/star-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-tag:after,.ui-nosvg .ui-alt-icon .ui-icon-tag:after{background-image:url(images/icons-png/tag-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-user:after,.ui-nosvg .ui-alt-icon .ui-icon-user:after{background-image:url(images/icons-png/user-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-video:after,.ui-nosvg .ui-alt-icon .ui-icon-video:after{background-image:url(images/icons-png/video-black.png)}html{font-size:100%}body,input,select,textarea,button,.ui-btn{font-size:1em;line-height:1.3;font-family:sans-serif}legend,.ui-input-text input,.ui-input-search input{color:inherit;text-shadow:inherit}.ui-mobile label,div.ui-controlgroup-label{font-weight:400;font-size:16px}.ui-field-contain{border-bottom-color:#828282;border-bottom-color:rgba(0,0,0,.15);border-bottom-width:1px;border-bottom-style:solid}.table-stroke thead th,.table-stripe thead th,.table-stripe tbody tr:last-child{border-bottom:1px solid #d6d6d6;border-bottom:1px solid rgba(0,0,0,.1)}.table-stroke tbody th,.table-stroke tbody td{border-bottom:1px solid #e6e6e6;border-bottom:1px solid rgba(0,0,0,.05)}.table-stripe.table-stroke tbody tr:last-child th,.table-stripe.table-stroke tbody tr:last-child td{border-bottom:0}.table-stripe tbody tr:nth-child(odd) td,.table-stripe tbody tr:nth-child(odd) th{background-color:#eee;background-color:rgba(0,0,0,.04)}.ui-btn,label.ui-btn{font-weight:700;border-width:1px;border-style:solid}.ui-btn{text-decoration:none!important}.ui-btn-active{cursor:pointer}.ui-corner-all{-webkit-border-radius:.3125em;border-radius:.3125em}.ui-btn-corner-all,.ui-btn.ui-corner-all,.ui-slider-track.ui-corner-all,.ui-flipswitch.ui-corner-all,.ui-li-count{-webkit-border-radius:.3125em;border-radius:.3125em}.ui-btn-icon-notext.ui-btn-corner-all,.ui-btn-icon-notext.ui-corner-all{-webkit-border-radius:1em;border-radius:1em}.ui-btn-corner-all,.ui-corner-all{-webkit-background-clip:padding;background-clip:padding-box}.ui-popup.ui-corner-all>.ui-popup-arrow-guide{left:.6em;right:.6em;top:.6em;bottom:.6em}.ui-shadow{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.15);-moz-box-shadow:0 1px 3px rgba(0,0,0,.15);box-shadow:0 1px 3px rgba(0,0,0,.15)}.ui-shadow-inset{-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.2);-moz-box-shadow:inset 0 1px 3px rgba(0,0,0,.2);box-shadow:inset 0 1px 3px rgba(0,0,0,.2)}.ui-overlay-shadow{-webkit-box-shadow:0 0 12px rgba(0,0,0,.6);-moz-box-shadow:0 0 12px rgba(0,0,0,.6);box-shadow:0 0 12px rgba(0,0,0,.6)}.ui-btn-icon-left:after,.ui-btn-icon-right:after,.ui-btn-icon-top:after,.ui-btn-icon-bottom:after,.ui-btn-icon-notext:after{background-color:#666;background-color:rgba(0,0,0,.3);background-position:center center;background-repeat:no-repeat;-webkit-border-radius:1em;border-radius:1em}.ui-alt-icon.ui-btn:after,.ui-alt-icon .ui-btn:after,html .ui-alt-icon.ui-checkbox-off:after,html .ui-alt-icon.ui-radio-off:after,html .ui-alt-icon .ui-checkbox-off:after,html .ui-alt-icon .ui-radio-off:after{background-color:#666;background-color:rgba(0,0,0,.15)}.ui-nodisc-icon.ui-btn:after,.ui-nodisc-icon .ui-btn:after{background-color:transparent}.ui-shadow-icon.ui-btn:after,.ui-shadow-icon .ui-btn:after{-webkit-box-shadow:0 1px 0 rgba(255,255,255,.3);-moz-box-shadow:0 1px 0 rgba(255,255,255,.3);box-shadow:0 1px 0 rgba(255,255,255,.3)}.ui-btn.ui-checkbox-off:after,.ui-btn.ui-checkbox-on:after,.ui-btn.ui-radio-off:after,.ui-btn.ui-radio-on:after{display:block;width:18px;height:18px;margin:-9px 2px 0 2px}.ui-checkbox-off:after,.ui-btn.ui-radio-off:after{filter:Alpha(Opacity=30);opacity:.3}.ui-btn.ui-checkbox-off:after,.ui-btn.ui-checkbox-on:after{-webkit-border-radius:.1875em;border-radius:.1875em}.ui-btn.ui-checkbox-off:after{background-color:#666;background-color:rgba(0,0,0,.3)}.ui-radio .ui-btn.ui-radio-on:after{background-image:none;background-color:#fff;width:8px;height:8px;border-width:5px;border-style:solid}.ui-alt-icon.ui-btn.ui-radio-on:after,.ui-alt-icon .ui-btn.ui-radio-on:after{background-color:#000}.ui-icon-loading{background:url(images/ajax-loader.gif);background-size:2.875em 2.875em}.ui-bar-a,.ui-page-theme-a .ui-bar-inherit,html .ui-bar-a .ui-bar-inherit,html .ui-body-a .ui-bar-inherit,html body .ui-group-theme-a .ui-bar-inherit{background-color:#e9e9e9;border-color:#ddd;color:#333;text-shadow:0 1px 0 #eee;font-weight:700}.ui-bar-a{border-width:1px;border-style:solid}.ui-overlay-a,.ui-page-theme-a,.ui-page-theme-a .ui-panel-wrapper{background-color:#f9f9f9;border-color:#bbb;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-body-a,.ui-page-theme-a .ui-body-inherit,html .ui-bar-a .ui-body-inherit,html .ui-body-a .ui-body-inherit,html body .ui-group-theme-a .ui-body-inherit,html .ui-panel-page-container-a{background-color:#fff;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-body-a{border-width:1px;border-style:solid}.ui-page-theme-a a,html .ui-bar-a a,html .ui-body-a a,html body .ui-group-theme-a a{color:#38c;font-weight:700}.ui-page-theme-a a:visited,html .ui-bar-a a:visited,html .ui-body-a a:visited,html body .ui-group-theme-a a:visited{color:#38c}.ui-page-theme-a a:hover,html .ui-bar-a a:hover,html .ui-body-a a:hover,html body .ui-group-theme-a a:hover{color:#059}.ui-page-theme-a a:active,html .ui-bar-a a:active,html .ui-body-a a:active,html body .ui-group-theme-a a:active{color:#059}.ui-page-theme-a .ui-btn,html .ui-bar-a .ui-btn,html .ui-body-a .ui-btn,html body .ui-group-theme-a .ui-btn,html head+body .ui-btn.ui-btn-a,.ui-page-theme-a .ui-btn:visited,html .ui-bar-a .ui-btn:visited,html .ui-body-a .ui-btn:visited,html body .ui-group-theme-a .ui-btn:visited,html head+body .ui-btn.ui-btn-a:visited{background-color:#f6f6f6;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-page-theme-a .ui-btn:hover,html .ui-bar-a .ui-btn:hover,html .ui-body-a .ui-btn:hover,html body .ui-group-theme-a .ui-btn:hover,html head+body .ui-btn.ui-btn-a:hover{background-color:#ededed;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-page-theme-a .ui-btn:active,html .ui-bar-a .ui-btn:active,html .ui-body-a .ui-btn:active,html body .ui-group-theme-a .ui-btn:active,html head+body .ui-btn.ui-btn-a:active{background-color:#e8e8e8;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-page-theme-a .ui-btn.ui-btn-active,html .ui-bar-a .ui-btn.ui-btn-active,html .ui-body-a .ui-btn.ui-btn-active,html body .ui-group-theme-a .ui-btn.ui-btn-active,html head+body .ui-btn.ui-btn-a.ui-btn-active,.ui-page-theme-a .ui-checkbox-on:after,html .ui-bar-a .ui-checkbox-on:after,html .ui-body-a .ui-checkbox-on:after,html body .ui-group-theme-a .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-a:after,.ui-page-theme-a .ui-flipswitch-active,html .ui-bar-a .ui-flipswitch-active,html .ui-body-a .ui-flipswitch-active,html body .ui-group-theme-a .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-a.ui-flipswitch-active,.ui-page-theme-a .ui-slider-track .ui-btn-active,html .ui-bar-a .ui-slider-track .ui-btn-active,html .ui-body-a .ui-slider-track .ui-btn-active,html body .ui-group-theme-a .ui-slider-track .ui-btn-active,html body div.ui-slider-track.ui-body-a .ui-btn-active{background-color:#38c;border-color:#38c;color:#fff;text-shadow:0 1px 0 #059}.ui-page-theme-a .ui-radio-on:after,html .ui-bar-a .ui-radio-on:after,html .ui-body-a .ui-radio-on:after,html body .ui-group-theme-a .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-a:after{border-color:#38c}.ui-page-theme-a .ui-btn:focus,html .ui-bar-a .ui-btn:focus,html .ui-body-a .ui-btn:focus,html body .ui-group-theme-a .ui-btn:focus,html head+body .ui-btn.ui-btn-a:focus,.ui-page-theme-a .ui-focus,html .ui-bar-a .ui-focus,html .ui-body-a .ui-focus,html body .ui-group-theme-a .ui-focus,html head+body .ui-btn-a.ui-focus,html head+body .ui-body-a.ui-focus{-webkit-box-shadow:0 0 12px #38c;-moz-box-shadow:0 0 12px #38c;box-shadow:0 0 12px #38c}.ui-bar-b,.ui-page-theme-b .ui-bar-inherit,html .ui-bar-b .ui-bar-inherit,html .ui-body-b .ui-bar-inherit,html body .ui-group-theme-b .ui-bar-inherit{background-color:#1d1d1d;border-color:#1b1b1b;color:#fff;text-shadow:0 1px 0 #111;font-weight:700}.ui-bar-b{border-width:1px;border-style:solid}.ui-overlay-b,.ui-page-theme-b,.ui-page-theme-b .ui-panel-wrapper{background-color:#252525;border-color:#454545;color:#fff;text-shadow:0 1px 0 #111}.ui-body-b,.ui-page-theme-b .ui-body-inherit,html .ui-bar-b .ui-body-inherit,html .ui-body-b .ui-body-inherit,html body .ui-group-theme-b .ui-body-inherit,html .ui-panel-page-container-b{background-color:#2a2a2a;border-color:#1d1d1d;color:#fff;text-shadow:0 1px 0 #111}.ui-body-b{border-width:1px;border-style:solid}.ui-page-theme-b a,html .ui-bar-b a,html .ui-body-b a,html body .ui-group-theme-b a{color:#2ad;font-weight:700}.ui-page-theme-b a:visited,html .ui-bar-b a:visited,html .ui-body-b a:visited,html body .ui-group-theme-b a:visited{color:#2ad}.ui-page-theme-b a:hover,html .ui-bar-b a:hover,html .ui-body-b a:hover,html body .ui-group-theme-b a:hover{color:#08b}.ui-page-theme-b a:active,html .ui-bar-b a:active,html .ui-body-b a:active,html body .ui-group-theme-b a:active{color:#08b}.ui-page-theme-b .ui-btn,html .ui-bar-b .ui-btn,html .ui-body-b .ui-btn,html body .ui-group-theme-b .ui-btn,html head+body .ui-btn.ui-btn-b,.ui-page-theme-b .ui-btn:visited,html .ui-bar-b .ui-btn:visited,html .ui-body-b .ui-btn:visited,html body .ui-group-theme-b .ui-btn:visited,html head+body .ui-btn.ui-btn-b:visited{background-color:#333;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111}.ui-page-theme-b .ui-btn:hover,html .ui-bar-b .ui-btn:hover,html .ui-body-b .ui-btn:hover,html body .ui-group-theme-b .ui-btn:hover,html head+body .ui-btn.ui-btn-b:hover{background-color:#373737;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111}.ui-page-theme-b .ui-btn:active,html .ui-bar-b .ui-btn:active,html .ui-body-b .ui-btn:active,html body .ui-group-theme-b .ui-btn:active,html head+body .ui-btn.ui-btn-b:active{background-color:#404040;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111}.ui-page-theme-b .ui-btn.ui-btn-active,html .ui-bar-b .ui-btn.ui-btn-active,html .ui-body-b .ui-btn.ui-btn-active,html body .ui-group-theme-b .ui-btn.ui-btn-active,html head+body .ui-btn.ui-btn-b.ui-btn-active,.ui-page-theme-b .ui-checkbox-on:after,html .ui-bar-b .ui-checkbox-on:after,html .ui-body-b .ui-checkbox-on:after,html body .ui-group-theme-b .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-b:after,.ui-page-theme-b .ui-flipswitch-active,html .ui-bar-b .ui-flipswitch-active,html .ui-body-b .ui-flipswitch-active,html body .ui-group-theme-b .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-b.ui-flipswitch-active,.ui-page-theme-b .ui-slider-track .ui-btn-active,html .ui-bar-b .ui-slider-track .ui-btn-active,html .ui-body-b .ui-slider-track .ui-btn-active,html body .ui-group-theme-b .ui-slider-track .ui-btn-active,html body div.ui-slider-track.ui-body-b .ui-btn-active{background-color:#2ad;border-color:#2ad;color:#fff;text-shadow:0 1px 0 #08b}.ui-page-theme-b .ui-radio-on:after,html .ui-bar-b .ui-radio-on:after,html .ui-body-b .ui-radio-on:after,html body .ui-group-theme-b .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-b:after{border-color:#2ad}.ui-page-theme-b .ui-btn:focus,html .ui-bar-b .ui-btn:focus,html .ui-body-b .ui-btn:focus,html body .ui-group-theme-b .ui-btn:focus,html head+body .ui-btn.ui-btn-b:focus,.ui-page-theme-b .ui-focus,html .ui-bar-b .ui-focus,html .ui-body-b .ui-focus,html body .ui-group-theme-b .ui-focus,html head+body .ui-btn-b.ui-focus,html head+body .ui-body-b.ui-focus{-webkit-box-shadow:0 0 12px #2ad;-moz-box-shadow:0 0 12px #2ad;box-shadow:0 0 12px #2ad}.ui-disabled,.ui-state-disabled,button[disabled],.ui-select .ui-btn.ui-state-disabled{filter:Alpha(Opacity=30);opacity:.3;cursor:default!important;pointer-events:none}.ui-btn:focus,.ui-btn.ui-focus{outline:0}.ui-noboxshadow .ui-shadow,.ui-noboxshadow .ui-shadow-inset,.ui-noboxshadow .ui-overlay-shadow,.ui-noboxshadow .ui-shadow-icon.ui-btn:after,.ui-noboxshadow .ui-shadow-icon .ui-btn:after,.ui-noboxshadow .ui-focus,.ui-noboxshadow .ui-btn:focus,.ui-noboxshadow input:focus,.ui-noboxshadow .ui-panel{-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important}.ui-noboxshadow .ui-btn:focus,.ui-noboxshadow .ui-focus{outline-width:1px;outline-style:auto}.ui-mobile,.ui-mobile body{height:99.9%}.ui-mobile fieldset,.ui-page{padding:0;margin:0}.ui-mobile a img,.ui-mobile fieldset{border-width:0}.ui-mobile fieldset{min-width:0}@-moz-document url-prefix(){.ui-mobile fieldset{display:table-column;vertical-align:middle}}.ui-mobile-viewport{margin:0;overflow-x:visible;-webkit-text-size-adjust:100%;-ms-text-size-adjust:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}body.ui-mobile-viewport,div.ui-mobile-viewport{overflow-x:hidden}.ui-mobile [data-role=page],.ui-mobile [data-role=dialog],.ui-page{top:0;left:0;width:100%;min-height:100%;position:absolute;display:none;border:0}.ui-page{outline:0}.ui-mobile .ui-page-active{display:block;overflow:visible;overflow-x:hidden}@media screen and (orientation:portrait){.ui-mobile .ui-page{min-height:420px}}@media screen and (orientation:landscape){.ui-mobile .ui-page{min-height:300px}}.ui-mobile-rendering>*{visibility:hidden}.ui-nojs{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-loading .ui-loader{display:block}.ui-loader{display:none;z-index:9999999;position:fixed;top:50%;left:50%;border:0}.ui-loader-default{background:0;filter:Alpha(Opacity=18);opacity:.18;width:2.875em;height:2.875em;margin-left:-1.4375em;margin-top:-1.4375em}.ui-loader-verbose{width:12.5em;filter:Alpha(Opacity=88);opacity:.88;box-shadow:0 1px 1px -1px #fff;height:auto;margin-left:-6.875em;margin-top:-2.6875em;padding:.625em}.ui-loader-default h1{font-size:0;width:0;height:0;overflow:hidden}.ui-loader-verbose h1{font-size:1em;margin:0;text-align:center}.ui-loader .ui-icon-loading{background-color:#000;display:block;margin:0;width:2.75em;height:2.75em;padding:.0625em;-webkit-border-radius:2.25em;border-radius:2.25em}.ui-loader-verbose .ui-icon-loading{margin:0 auto .625em;filter:Alpha(Opacity=75);opacity:.75}.ui-loader-textonly{padding:.9375em;margin-left:-7.1875em}.ui-loader-textonly .ui-icon-loading{display:none}.ui-loader-fakefix{position:absolute}.ui-bar,.ui-body{position:relative;padding:.4em 1em;overflow:hidden;display:block;clear:both}.ui-bar h1,.ui-bar h2,.ui-bar h3,.ui-bar h4,.ui-bar h5,.ui-bar h6{margin:0;padding:0;font-size:1em;display:inline-block}.ui-header,.ui-footer{border-width:1px 0;border-style:solid;position:relative}.ui-header:empty,.ui-footer:empty{min-height:2.6875em}.ui-header .ui-title,.ui-footer .ui-title{font-size:1em;min-height:1.1em;text-align:center;display:block;margin:0 30%;padding:.7em 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;outline:0!important}.ui-footer .ui-title{margin:0 1em}.ui-content{border-width:0;overflow:visible;overflow-x:hidden;padding:1em}.ui-corner-all>.ui-header:first-child,.ui-corner-all>.ui-content:first-child,.ui-corner-all>.ui-footer:first-child{-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit;-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit}.ui-corner-all>.ui-header:last-child,.ui-corner-all>.ui-content:last-child,.ui-corner-all>.ui-footer:last-child{-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-btn{font-size:16px;margin:.5em 0;padding:.7em 1em;display:block;position:relative;text-align:center;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui-btn-icon-notext,.ui-header button.ui-btn.ui-btn-icon-notext,.ui-footer button.ui-btn.ui-btn-icon-notext{padding:0;width:1.75em;height:1.75em;text-indent:-9999px;white-space:nowrap!important}.ui-mini{font-size:12.5px}.ui-mini .ui-btn{font-size:inherit}.ui-header .ui-btn,.ui-footer .ui-btn{font-size:12.5px;display:inline-block;vertical-align:middle}.ui-header .ui-controlgroup .ui-btn-icon-notext,.ui-footer .ui-controlgroup .ui-btn-icon-notext{font-size:12.5px}.ui-header .ui-btn-left,.ui-header .ui-btn-right{font-size:12.5px}.ui-mini.ui-btn-icon-notext,.ui-mini .ui-btn-icon-notext,.ui-header .ui-btn-icon-notext,.ui-footer .ui-btn-icon-notext{font-size:16px;padding:0}.ui-btn-inline{display:inline-block;vertical-align:middle;margin-right:.625em}.ui-btn-icon-left{padding-left:2.5em}.ui-btn-icon-right{padding-right:2.5em}.ui-btn-icon-top{padding-top:2.5em}.ui-btn-icon-bottom{padding-bottom:2.5em}.ui-header .ui-btn-icon-top,.ui-footer .ui-btn-icon-top,.ui-header .ui-btn-icon-bottom,.ui-footer .ui-btn-icon-bottom{padding-left:.3125em;padding-right:.3125em}.ui-btn-icon-left:after,.ui-btn-icon-right:after,.ui-btn-icon-top:after,.ui-btn-icon-bottom:after,.ui-btn-icon-notext:after{content:"";position:absolute;display:block;width:22px;height:22px}.ui-btn-icon-notext:after,.ui-btn-icon-left:after,.ui-btn-icon-right:after{top:50%;margin-top:-11px}.ui-btn-icon-left:after{left:.5625em}.ui-btn-icon-right:after{right:.5625em}.ui-mini.ui-btn-icon-left:after,.ui-mini .ui-btn-icon-left:after,.ui-header .ui-btn-icon-left:after,.ui-footer .ui-btn-icon-left:after{left:.37em}.ui-mini.ui-btn-icon-right:after,.ui-mini .ui-btn-icon-right:after,.ui-header .ui-btn-icon-right:after,.ui-footer .ui-btn-icon-right:after{right:.37em}.ui-btn-icon-notext:after,.ui-btn-icon-top:after,.ui-btn-icon-bottom:after{left:50%;margin-left:-11px}.ui-btn-icon-top:after{top:.5625em}.ui-btn-icon-bottom:after{top:auto;bottom:.5625em}.ui-header .ui-btn-left,.ui-header .ui-btn-right,.ui-btn-left>[class*=ui-],.ui-btn-right>[class*=ui-]{margin:0}.ui-btn-left,.ui-btn-right{position:absolute;top:.24em}.ui-btn-left{left:.4em}.ui-btn-right{right:.4em}.ui-btn-icon-notext.ui-btn-left{top:.3125em;left:.3125em}.ui-btn-icon-notext.ui-btn-right{top:.3125em;right:.3125em}button.ui-btn,.ui-controlgroup-controls button.ui-btn-icon-notext{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;width:100%}button.ui-btn-inline,.ui-header button.ui-btn,.ui-footer button.ui-btn{width:auto}button.ui-btn::-moz-focus-inner{border:0}button.ui-btn-icon-notext,.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;width:1.75em}.ui-mobile label,.ui-controlgroup-label{display:block;margin:0 0 .4em}.ui-hide-label>label,.ui-hide-label .ui-controlgroup-label,.ui-hide-label .ui-rangeslider label,.ui-hidden-accessible{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-screen-hidden{display:none!important}.ui-mobile-viewport-transitioning,.ui-mobile-viewport-transitioning .ui-page{width:100%;height:100%;overflow:hidden;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-page-pre-in{opacity:0}.in{-webkit-animation-timing-function:ease-out;-webkit-animation-duration:350ms;-moz-animation-timing-function:ease-out;-moz-animation-duration:350ms;animation-timing-function:ease-out;animation-duration:350ms}.out{-webkit-animation-timing-function:ease-in;-webkit-animation-duration:225ms;-moz-animation-timing-function:ease-in;-moz-animation-duration:225ms;animation-timing-function:ease-in;animation-duration:225ms}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@-moz-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadeout{from{opacity:1}to{opacity:0}}@-moz-keyframes fadeout{from{opacity:1}to{opacity:0}}@keyframes fadeout{from{opacity:1}to{opacity:0}}.fade.out{opacity:0;-webkit-animation-duration:125ms;-webkit-animation-name:fadeout;-moz-animation-duration:125ms;-moz-animation-name:fadeout;animation-duration:125ms;animation-name:fadeout}.fade.in{opacity:1;-webkit-animation-duration:225ms;-webkit-animation-name:fadein;-moz-animation-duration:225ms;-moz-animation-name:fadein;animation-duration:225ms;animation-name:fadein}.pop{-webkit-transform-origin:50% 50%;-moz-transform-origin:50% 50%;transform-origin:50% 50%}.pop.in{-webkit-transform:scale(1);-webkit-animation-name:popin;-webkit-animation-duration:350ms;-moz-transform:scale(1);-moz-animation-name:popin;-moz-animation-duration:350ms;transform:scale(1);animation-name:popin;animation-duration:350ms;opacity:1}.pop.out{-webkit-animation-name:fadeout;-webkit-animation-duration:100ms;-moz-animation-name:fadeout;-moz-animation-duration:100ms;animation-name:fadeout;animation-duration:100ms;opacity:0}.pop.in.reverse{-webkit-animation-name:fadein;-moz-animation-name:fadein;animation-name:fadein}.pop.out.reverse{-webkit-transform:scale(.8);-webkit-animation-name:popout;-moz-transform:scale(.8);-moz-animation-name:popout;transform:scale(.8);animation-name:popout}@-webkit-keyframes popin{from{-webkit-transform:scale(.8);opacity:0}to{-webkit-transform:scale(1);opacity:1}}@-moz-keyframes popin{from{-moz-transform:scale(.8);opacity:0}to{-moz-transform:scale(1);opacity:1}}@keyframes popin{from{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@-webkit-keyframes popout{from{-webkit-transform:scale(1);opacity:1}to{-webkit-transform:scale(.8);opacity:0}}@-moz-keyframes popout{from{-moz-transform:scale(1);opacity:1}to{-moz-transform:scale(.8);opacity:0}}@keyframes popout{from{transform:scale(1);opacity:1}to{transform:scale(.8);opacity:0}}@-webkit-keyframes slideinfromright{from{-webkit-transform:translate3d(100%,0,0)}to{-webkit-transform:translate3d(0,0,0)}}@-moz-keyframes slideinfromright{from{-moz-transform:translateX(100%)}to{-moz-transform:translateX(0)}}@keyframes slideinfromright{from{transform:translateX(100%)}to{transform:translateX(0)}}@-webkit-keyframes slideinfromleft{from{-webkit-transform:translate3d(-100%,0,0)}to{-webkit-transform:translate3d(0,0,0)}}@-moz-keyframes slideinfromleft{from{-moz-transform:translateX(-100%)}to{-moz-transform:translateX(0)}}@keyframes slideinfromleft{from{transform:translateX(-100%)}to{transform:translateX(0)}}@-webkit-keyframes slideouttoleft{from{-webkit-transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-100%,0,0)}}@-moz-keyframes slideouttoleft{from{-moz-transform:translateX(0)}to{-moz-transform:translateX(-100%)}}@keyframes slideouttoleft{from{transform:translateX(0)}to{transform:translateX(-100%)}}@-webkit-keyframes slideouttoright{from{-webkit-transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(100%,0,0)}}@-moz-keyframes slideouttoright{from{-moz-transform:translateX(0)}to{-moz-transform:translateX(100%)}}@keyframes slideouttoright{from{transform:translateX(0)}to{transform:translateX(100%)}}.slide.out,.slide.in{-webkit-animation-timing-function:ease-out;-webkit-animation-duration:350ms;-moz-animation-timing-function:ease-out;-moz-animation-duration:350ms;animation-timing-function:ease-out;animation-duration:350ms}.slide.out{-webkit-transform:translate3d(-100%,0,0);-webkit-animation-name:slideouttoleft;-moz-transform:translateX(-100%);-moz-animation-name:slideouttoleft;transform:translateX(-100%);animation-name:slideouttoleft}.slide.in{-webkit-transform:translate3d(0,0,0);-webkit-animation-name:slideinfromright;-moz-transform:translateX(0);-moz-animation-name:slideinfromright;transform:translateX(0);animation-name:slideinfromright}.slide.out.reverse{-webkit-transform:translate3d(100%,0,0);-webkit-animation-name:slideouttoright;-moz-transform:translateX(100%);-moz-animation-name:slideouttoright;transform:translateX(100%);animation-name:slideouttoright}.slide.in.reverse{-webkit-transform:translate3d(0,0,0);-webkit-animation-name:slideinfromleft;-moz-transform:translateX(0);-moz-animation-name:slideinfromleft;transform:translateX(0);animation-name:slideinfromleft}.slidefade.out{-webkit-transform:translateX(-100%);-webkit-animation-name:slideouttoleft;-webkit-animation-duration:225ms;-moz-transform:translateX(-100%);-moz-animation-name:slideouttoleft;-moz-animation-duration:225ms;transform:translateX(-100%);animation-name:slideouttoleft;animation-duration:225ms}.slidefade.in{-webkit-transform:translateX(0);-webkit-animation-name:fadein;-webkit-animation-duration:200ms;-moz-transform:translateX(0);-moz-animation-name:fadein;-moz-animation-duration:200ms;transform:translateX(0);animation-name:fadein;animation-duration:200ms}.slidefade.out.reverse{-webkit-transform:translateX(100%);-webkit-animation-name:slideouttoright;-webkit-animation-duration:200ms;-moz-transform:translateX(100%);-moz-animation-name:slideouttoright;-moz-animation-duration:200ms;transform:translateX(100%);animation-name:slideouttoright;animation-duration:200ms}.slidefade.in.reverse{-webkit-transform:translateX(0);-webkit-animation-name:fadein;-webkit-animation-duration:200ms;-moz-transform:translateX(0);-moz-animation-name:fadein;-moz-animation-duration:200ms;transform:translateX(0);animation-name:fadein;animation-duration:200ms}.slidedown.out{-webkit-animation-name:fadeout;-webkit-animation-duration:100ms;-moz-animation-name:fadeout;-moz-animation-duration:100ms;animation-name:fadeout;animation-duration:100ms}.slidedown.in{-webkit-transform:translateY(0);-webkit-animation-name:slideinfromtop;-webkit-animation-duration:250ms;-moz-transform:translateY(0);-moz-animation-name:slideinfromtop;-moz-animation-duration:250ms;transform:translateY(0);animation-name:slideinfromtop;animation-duration:250ms}.slidedown.in.reverse{-webkit-animation-name:fadein;-webkit-animation-duration:150ms;-moz-animation-name:fadein;-moz-animation-duration:150ms;animation-name:fadein;animation-duration:150ms}.slidedown.out.reverse{-webkit-transform:translateY(-100%);-webkit-animation-name:slideouttotop;-webkit-animation-duration:200ms;-moz-transform:translateY(-100%);-moz-animation-name:slideouttotop;-moz-animation-duration:200ms;transform:translateY(-100%);animation-name:slideouttotop;animation-duration:200ms}@-webkit-keyframes slideinfromtop{from{-webkit-transform:translateY(-100%)}to{-webkit-transform:translateY(0)}}@-moz-keyframes slideinfromtop{from{-moz-transform:translateY(-100%)}to{-moz-transform:translateY(0)}}@keyframes slideinfromtop{from{transform:translateY(-100%)}to{transform:translateY(0)}}@-webkit-keyframes slideouttotop{from{-webkit-transform:translateY(0)}to{-webkit-transform:translateY(-100%)}}@-moz-keyframes slideouttotop{from{-moz-transform:translateY(0)}to{-moz-transform:translateY(-100%)}}@keyframes slideouttotop{from{transform:translateY(0)}to{transform:translateY(-100%)}}.slideup.out{-webkit-animation-name:fadeout;-webkit-animation-duration:100ms;-moz-animation-name:fadeout;-moz-animation-duration:100ms;animation-name:fadeout;animation-duration:100ms}.slideup.in{-webkit-transform:translateY(0);-webkit-animation-name:slideinfrombottom;-webkit-animation-duration:250ms;-moz-transform:translateY(0);-moz-animation-name:slideinfrombottom;-moz-animation-duration:250ms;transform:translateY(0);animation-name:slideinfrombottom;animation-duration:250ms}.slideup.in.reverse{-webkit-animation-name:fadein;-webkit-animation-duration:150ms;-moz-animation-name:fadein;-moz-animation-duration:150ms;animation-name:fadein;animation-duration:150ms}.slideup.out.reverse{-webkit-transform:translateY(100%);-webkit-animation-name:slideouttobottom;-webkit-animation-duration:200ms;-moz-transform:translateY(100%);-moz-animation-name:slideouttobottom;-moz-animation-duration:200ms;transform:translateY(100%);animation-name:slideouttobottom;animation-duration:200ms}@-webkit-keyframes slideinfrombottom{from{-webkit-transform:translateY(100%)}to{-webkit-transform:translateY(0)}}@-moz-keyframes slideinfrombottom{from{-moz-transform:translateY(100%)}to{-moz-transform:translateY(0)}}@keyframes slideinfrombottom{from{transform:translateY(100%)}to{transform:translateY(0)}}@-webkit-keyframes slideouttobottom{from{-webkit-transform:translateY(0)}to{-webkit-transform:translateY(100%)}}@-moz-keyframes slideouttobottom{from{-moz-transform:translateY(0)}to{-moz-transform:translateY(100%)}}@keyframes slideouttobottom{from{transform:translateY(0)}to{transform:translateY(100%)}}.viewport-flip{-webkit-perspective:1000;-moz-perspective:1000;perspective:1000;position:absolute}.flip{-webkit-backface-visibility:hidden;-webkit-transform:translateX(0);-moz-backface-visibility:hidden;-moz-transform:translateX(0);backface-visibility:hidden;transform:translateX(0)}.flip.out{-webkit-transform:rotateY(-90deg) scale(.9);-webkit-animation-name:flipouttoleft;-webkit-animation-duration:175ms;-moz-transform:rotateY(-90deg) scale(.9);-moz-animation-name:flipouttoleft;-moz-animation-duration:175ms;transform:rotateY(-90deg) scale(.9);animation-name:flipouttoleft;animation-duration:175ms}.flip.in{-webkit-animation-name:flipintoright;-webkit-animation-duration:225ms;-moz-animation-name:flipintoright;-moz-animation-duration:225ms;animation-name:flipintoright;animation-duration:225ms}.flip.out.reverse{-webkit-transform:rotateY(90deg) scale(.9);-webkit-animation-name:flipouttoright;-moz-transform:rotateY(90deg) scale(.9);-moz-animation-name:flipouttoright;transform:rotateY(90deg) scale(.9);animation-name:flipouttoright}.flip.in.reverse{-webkit-animation-name:flipintoleft;-moz-animation-name:flipintoleft;animation-name:flipintoleft}@-webkit-keyframes flipouttoleft{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(-90deg) scale(.9)}}@-moz-keyframes flipouttoleft{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(-90deg) scale(.9)}}@keyframes flipouttoleft{from{transform:rotateY(0)}to{transform:rotateY(-90deg) scale(.9)}}@-webkit-keyframes flipouttoright{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(90deg) scale(.9)}}@-moz-keyframes flipouttoright{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(90deg) scale(.9)}}@keyframes flipouttoright{from{transform:rotateY(0)}to{transform:rotateY(90deg) scale(.9)}}@-webkit-keyframes flipintoleft{from{-webkit-transform:rotateY(-90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoleft{from{-moz-transform:rotateY(-90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoleft{from{transform:rotateY(-90deg) scale(.9)}to{transform:rotateY(0)}}@-webkit-keyframes flipintoright{from{-webkit-transform:rotateY(90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoright{from{-moz-transform:rotateY(90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoright{from{transform:rotateY(90deg) scale(.9)}to{transform:rotateY(0)}}.viewport-turn{-webkit-perspective:200px;-moz-perspective:200px;-ms-perspective:200px;perspective:200px;position:absolute}.turn{-webkit-backface-visibility:hidden;-webkit-transform:translateX(0);-webkit-transform-origin:0;-moz-backface-visibility:hidden;-moz-transform:translateX(0);-moz-transform-origin:0;backface-visibility:hidden;transform:translateX(0);transform-origin:0}.turn.out{-webkit-transform:rotateY(-90deg) scale(.9);-webkit-animation-name:flipouttoleft;-webkit-animation-duration:125ms;-moz-transform:rotateY(-90deg) scale(.9);-moz-animation-name:flipouttoleft;-moz-animation-duration:125ms;transform:rotateY(-90deg) scale(.9);animation-name:flipouttoleft;animation-duration:125ms}.turn.in{-webkit-animation-name:flipintoright;-webkit-animation-duration:250ms;-moz-animation-name:flipintoright;-moz-animation-duration:250ms;animation-name:flipintoright;animation-duration:250ms}.turn.out.reverse{-webkit-transform:rotateY(90deg) scale(.9);-webkit-animation-name:flipouttoright;-moz-transform:rotateY(90deg) scale(.9);-moz-animation-name:flipouttoright;transform:rotateY(90deg) scale(.9);animation-name:flipouttoright}.turn.in.reverse{-webkit-animation-name:flipintoleft;-moz-animation-name:flipintoleft;animation-name:flipintoleft}@-webkit-keyframes flipouttoleft{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(-90deg) scale(.9)}}@-moz-keyframes flipouttoleft{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(-90deg) scale(.9)}}@keyframes flipouttoleft{from{transform:rotateY(0)}to{transform:rotateY(-90deg) scale(.9)}}@-webkit-keyframes flipouttoright{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(90deg) scale(.9)}}@-moz-keyframes flipouttoright{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(90deg) scale(.9)}}@keyframes flipouttoright{from{transform:rotateY(0)}to{transform:rotateY(90deg) scale(.9)}}@-webkit-keyframes flipintoleft{from{-webkit-transform:rotateY(-90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoleft{from{-moz-transform:rotateY(-90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoleft{from{transform:rotateY(-90deg) scale(.9)}to{transform:rotateY(0)}}@-webkit-keyframes flipintoright{from{-webkit-transform:rotateY(90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoright{from{-moz-transform:rotateY(90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoright{from{transform:rotateY(90deg) scale(.9)}to{transform:rotateY(0)}}.flow{-webkit-transform-origin:50% 30%;-webkit-box-shadow:0 0 20px rgba(0,0,0,.4);-moz-transform-origin:50% 30%;-moz-box-shadow:0 0 20px rgba(0,0,0,.4);transform-origin:50% 30%;box-shadow:0 0 20px rgba(0,0,0,.4)}.ui-dialog.flow{-webkit-transform-origin:none;-webkit-box-shadow:none;-moz-transform-origin:none;-moz-box-shadow:none;transform-origin:none;box-shadow:none}.flow.out{-webkit-transform:translateX(-100%) scale(.7);-webkit-animation-name:flowouttoleft;-webkit-animation-timing-function:ease;-webkit-animation-duration:350ms;-moz-transform:translateX(-100%) scale(.7);-moz-animation-name:flowouttoleft;-moz-animation-timing-function:ease;-moz-animation-duration:350ms;transform:translateX(-100%) scale(.7);animation-name:flowouttoleft;animation-timing-function:ease;animation-duration:350ms}.flow.in{-webkit-transform:translateX(0) scale(1);-webkit-animation-name:flowinfromright;-webkit-animation-timing-function:ease;-webkit-animation-duration:350ms;-moz-transform:translateX(0) scale(1);-moz-animation-name:flowinfromright;-moz-animation-timing-function:ease;-moz-animation-duration:350ms;transform:translateX(0) scale(1);animation-name:flowinfromright;animation-timing-function:ease;animation-duration:350ms}.flow.out.reverse{-webkit-transform:translateX(100%);-webkit-animation-name:flowouttoright;-moz-transform:translateX(100%);-moz-animation-name:flowouttoright;transform:translateX(100%);animation-name:flowouttoright}.flow.in.reverse{-webkit-animation-name:flowinfromleft;-moz-animation-name:flowinfromleft;animation-name:flowinfromleft}@-webkit-keyframes flowouttoleft{0%{-webkit-transform:translateX(0) scale(1)}60%,70%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(-100%) scale(.7)}}@-moz-keyframes flowouttoleft{0%{-moz-transform:translateX(0) scale(1)}60%,70%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(-100%) scale(.7)}}@keyframes flowouttoleft{0%{transform:translateX(0) scale(1)}60%,70%{transform:translateX(0) scale(.7)}100%{transform:translateX(-100%) scale(.7)}}@-webkit-keyframes flowouttoright{0%{-webkit-transform:translateX(0) scale(1)}60%,70%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(100%) scale(.7)}}@-moz-keyframes flowouttoright{0%{-moz-transform:translateX(0) scale(1)}60%,70%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(100%) scale(.7)}}@keyframes flowouttoright{0%{transform:translateX(0) scale(1)}60%,70%{transform:translateX(0) scale(.7)}100%{transform:translateX(100%) scale(.7)}}@-webkit-keyframes flowinfromleft{0%{-webkit-transform:translateX(-100%) scale(.7)}30%,40%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(0) scale(1)}}@-moz-keyframes flowinfromleft{0%{-moz-transform:translateX(-100%) scale(.7)}30%,40%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(0) scale(1)}}@keyframes flowinfromleft{0%{transform:translateX(-100%) scale(.7)}30%,40%{transform:translateX(0) scale(.7)}100%{transform:translateX(0) scale(1)}}@-webkit-keyframes flowinfromright{0%{-webkit-transform:translateX(100%) scale(.7)}30%,40%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(0) scale(1)}}@-moz-keyframes flowinfromright{0%{-moz-transform:translateX(100%) scale(.7)}30%,40%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(0) scale(1)}}@keyframes flowinfromright{0%{transform:translateX(100%) scale(.7)}30%,40%{transform:translateX(0) scale(.7)}100%{transform:translateX(0) scale(1)}}.ui-field-contain,.ui-mobile fieldset.ui-field-contain{display:block;position:relative;overflow:visible;clear:both;padding:.8em 0}.ui-field-contain>label~[class*=ui-],.ui-field-contain .ui-controlgroup-controls{margin:0}.ui-field-contain:last-child{border-bottom-width:0}@media (min-width:28em){.ui-field-contain,.ui-mobile fieldset.ui-field-contain{padding:0;margin:1em 0;border-bottom-width:0}.ui-field-contain:before,.ui-field-contain:after{content:"";display:table}.ui-field-contain:after{clear:both}.ui-field-contain>label,.ui-field-contain .ui-controlgroup-label,.ui-field-contain>.ui-rangeslider>label{float:left;width:20%;margin:.5em 2% 0 0}.ui-popup .ui-field-contain>label,.ui-popup .ui-field-contain .ui-controlgroup-label,.ui-popup .ui-field-contain>.ui-rangeslider>label{float:none;width:auto;margin:0 0 .4em}.ui-field-contain>label~[class*=ui-],.ui-field-contain .ui-controlgroup-controls{float:left;width:78%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-hide-label>label~[class*=ui-],.ui-hide-label .ui-controlgroup-controls,.ui-popup .ui-field-contain>label~[class*=ui-],.ui-popup .ui-field-contain .ui-controlgroup-controls{float:none;width:100%}.ui-field-contain>label~.ui-btn-inline{width:auto;margin-right:.625em}.ui-field-contain>label~.ui-btn-inline.ui-btn-icon-notext{width:1.75em}}.ui-grid-a,.ui-grid-b,.ui-grid-c,.ui-grid-d,.ui-grid-solo{overflow:hidden}.ui-block-a,.ui-block-b,.ui-block-c,.ui-block-d,.ui-block-e{margin:0;padding:0;border:0;float:left;min-height:1px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-block-a{clear:left}ul.ui-grid-a,ul.ui-grid-b,ul.ui-grid-c,ul.ui-grid-d,ul.ui-grid-solo,li.ui-block-a,li.ui-block-b,li.ui-block-c,li.ui-block-d,li.ui-block-e{margin-left:0;margin-right:0;padding:0;list-style:none}[class*=ui-block-]>button.ui-btn{margin-right:0;margin-left:0}[class*=ui-block-]>.ui-btn,[class*=ui-block-]>.ui-select,[class*=ui-block-]>.ui-checkbox,[class*=ui-block-]>.ui-radio,[class*=ui-block-]>button.ui-btn-inline,[class*=ui-block-]>button.ui-btn-icon-notext,.ui-header [class*=ui-block-]>button.ui-btn,.ui-footer [class*=ui-block-]>button.ui-btn{margin-right:.3125em;margin-left:.3125em}.ui-grid-a>.ui-block-a,.ui-grid-a>.ui-block-b{width:50%}.ui-grid-b>.ui-block-a,.ui-grid-b>.ui-block-b,.ui-grid-b>.ui-block-c{width:33.333%}.ui-grid-c>.ui-block-a,.ui-grid-c>.ui-block-b,.ui-grid-c>.ui-block-c,.ui-grid-c>.ui-block-d{width:25%}.ui-grid-d>.ui-block-a,.ui-grid-d>.ui-block-b,.ui-grid-d>.ui-block-c,.ui-grid-d>.ui-block-d,.ui-grid-d>.ui-block-e{width:20%}.ui-grid-solo>.ui-block-a{width:100%;float:none}@media (max-width:35em){.ui-responsive>.ui-block-a,.ui-responsive>.ui-block-b,.ui-responsive>.ui-block-c,.ui-responsive>.ui-block-d,.ui-responsive>.ui-block-e{width:100%;float:none}}.ui-header-fixed,.ui-footer-fixed{left:0;right:0;width:100%;position:fixed;z-index:1000}.ui-header-fixed{top:-1px;padding-top:1px}.ui-header-fixed.ui-fixed-hidden{top:0;padding-top:0}.ui-header-fixed .ui-btn-left,.ui-header-fixed .ui-btn-right{margin-top:1px}.ui-header-fixed.ui-fixed-hidden .ui-btn-left,.ui-header-fixed.ui-fixed-hidden .ui-btn-right{margin-top:0}.ui-footer-fixed{bottom:-1px;padding-bottom:1px}.ui-footer-fixed.ui-fixed-hidden{bottom:0;padding-bottom:0}.ui-header-fullscreen,.ui-footer-fullscreen{filter:Alpha(Opacity=90);opacity:.9}.ui-page-header-fixed{padding-top:2.8125em}.ui-page-footer-fixed{padding-bottom:2.8125em}.ui-page-header-fullscreen>.ui-content,.ui-page-footer-fullscreen>.ui-content{padding:0}.ui-fixed-hidden{position:absolute}.ui-footer-fixed.ui-fixed-hidden{display:none}.ui-page .ui-footer-fixed.ui-fixed-hidden{display:block}.ui-page-header-fullscreen .ui-fixed-hidden,.ui-page-footer-fullscreen .ui-fixed-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-header-fixed .ui-btn,.ui-footer-fixed .ui-btn{z-index:10}.ui-android-2x-fixed .ui-li-has-thumb{-webkit-transform:translate3d(0,0,0)}.ui-navbar{max-width:100%}.ui-navbar ul:before,.ui-navbar ul:after{content:"";display:table}.ui-navbar ul:after{clear:both}.ui-navbar ul{list-style:none;margin:0;padding:0;position:relative;display:block;border:0;max-width:100%;overflow:visible}.ui-navbar li .ui-btn{font-size:12.5px;display:block;margin:0;border-right-width:0}.ui-header .ui-navbar li button.ui-btn,.ui-footer .ui-navbar li button.ui-btn{margin:0;width:100%}.ui-navbar .ui-btn:focus{z-index:1}.ui-navbar li:last-child .ui-btn{margin-right:-4px}.ui-navbar li:last-child .ui-btn:after{margin-right:4px}.ui-content .ui-navbar li:last-child .ui-btn,.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn{border-right-width:1px;margin-right:0}.ui-content .ui-navbar li:last-child .ui-btn:after,.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn:after{margin-right:0}.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn{border-right-width:1px;margin-right:-1px}.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn:after{margin-right:1px}.ui-navbar .ui-grid-duo .ui-btn{border-top-width:0}.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn{border-top-width:1px}.ui-header .ui-navbar .ui-btn,.ui-footer .ui-navbar .ui-btn{border-top-width:0;border-bottom-width:0}.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn,.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn{border-top-width:0}.ui-header .ui-title~.ui-navbar .ui-btn,.ui-footer .ui-title~.ui-navbar .ui-btn,.ui-header .ui-navbar .ui-grid-duo .ui-btn,.ui-footer .ui-navbar .ui-grid-duo .ui-btn,.ui-header .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-footer .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-header .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn,.ui-footer .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn{border-top-width:1px}.ui-input-btn input{position:absolute;top:0;left:0;width:100%;height:100%;padding:0;border:0;outline:0;-webkit-border-radius:inherit;border-radius:inherit;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;background:#fff;background:rgba(255,255,255,0);filter:Alpha(Opacity=0);opacity:.1;font-size:1px;text-indent:-9999px;z-index:2}.ui-input-btn.ui-state-disabled input{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-collapsible{margin:0 -1em}.ui-collapsible-inset,.ui-collapsible-set{margin:.5em 0}.ui-collapsible-heading{display:block;margin:0;padding:0;position:relative}.ui-collapsible-heading .ui-btn{text-align:left;margin:0;border-left-width:0;border-right-width:0}.ui-collapsible-heading .ui-btn-icon-top,.ui-collapsible-heading .ui-btn-icon-bottom{text-align:center}.ui-collapsible-inset .ui-collapsible-heading .ui-btn{border-right-width:1px;border-left-width:1px}.ui-collapsible-collapsed+.ui-collapsible:not(.ui-collapsible-inset)>.ui-collapsible-heading .ui-btn{border-top-width:0}.ui-collapsible-set .ui-collapsible:not(.ui-collapsible-inset) .ui-collapsible-heading .ui-btn{border-top-width:1px}.ui-collapsible-heading-status{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-collapsible-content{display:block;margin:0;padding:.5em 1em}.ui-collapsible-themed-content .ui-collapsible-content{border-left-width:0;border-right-width:0;border-top-width:0;border-bottom-width:1px;border-style:solid}.ui-collapsible-inset.ui-collapsible-themed-content .ui-collapsible-content{border-left-width:1px;border-right-width:1px}.ui-collapsible-inset .ui-collapsible-content{margin:0}.ui-collapsible-content-collapsed{display:none}.ui-collapsible-set>.ui-collapsible.ui-corner-all{-webkit-border-radius:0;border-radius:0}.ui-collapsible-heading,.ui-collapsible-heading>.ui-btn{-webkit-border-radius:inherit;border-radius:inherit}.ui-collapsible-set .ui-collapsible.ui-first-child{-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit;-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit}.ui-collapsible-content,.ui-collapsible-set .ui-collapsible.ui-last-child{-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit;-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-collapsible-themed-content:not(.ui-collapsible-collapsed)>.ui-collapsible-heading{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-collapsible-set .ui-collapsible{margin:-1px -1em 0}.ui-collapsible-set .ui-collapsible-inset{margin:-1px 0 0}.ui-collapsible-set .ui-collapsible.ui-first-child{margin-top:0}.ui-controlgroup,fieldset.ui-controlgroup{padding:0;margin:.5em 0}.ui-field-contain .ui-controlgroup,.ui-field-contain fieldset.ui-controlgroup{margin:0}.ui-mini .ui-controlgroup-label{font-size:16px}.ui-controlgroup.ui-mini .ui-btn-icon-notext,.ui-controlgroup .ui-mini.ui-btn-icon-notext{font-size:inherit}.ui-controlgroup-controls .ui-btn,.ui-controlgroup-controls .ui-checkbox,.ui-controlgroup-controls .ui-radio,.ui-controlgroup-controls .ui-select{margin:0}.ui-controlgroup-controls .ui-btn:focus,.ui-controlgroup-controls .ui-btn.ui-focus{z-index:1}.ui-controlgroup-controls li{list-style:none}.ui-controlgroup-horizontal .ui-controlgroup-controls{display:inline-block;vertical-align:middle}.ui-controlgroup-horizontal .ui-controlgroup-controls:before,.ui-controlgroup-horizontal .ui-controlgroup-controls:after{content:"";display:table}.ui-controlgroup-horizontal .ui-controlgroup-controls:after{clear:both}.ui-controlgroup-horizontal .ui-controlgroup-controls>.ui-btn,.ui-controlgroup-horizontal .ui-controlgroup-controls li>.ui-btn,.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-checkbox,.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-radio,.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-select{float:left;clear:none}.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn,.ui-controlgroup-controls .ui-btn-icon-notext{width:auto}.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn-icon-notext,.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn-icon-notext{width:1.5em}.ui-controlgroup-controls .ui-btn-icon-notext{height:auto;padding:.7em 1em}.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn{border-bottom-width:0}.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn.ui-last-child{border-bottom-width:1px}.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn{border-right-width:0}.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn.ui-last-child{border-right-width:1px}.ui-controlgroup-controls .ui-btn-corner-all,.ui-controlgroup-controls .ui-btn.ui-corner-all{-webkit-border-radius:0;border-radius:0}.ui-controlgroup-controls,.ui-controlgroup-controls .ui-radio,.ui-controlgroup-controls .ui-checkbox,.ui-controlgroup-controls .ui-select,.ui-controlgroup-controls li{-webkit-border-radius:inherit;border-radius:inherit}.ui-controlgroup-vertical .ui-btn.ui-first-child{-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit;-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit}.ui-controlgroup-vertical .ui-btn.ui-last-child{-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-controlgroup-horizontal .ui-btn.ui-first-child{-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit;-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-controlgroup-horizontal .ui-btn.ui-last-child{-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-controlgroup-controls a.ui-shadow:not(:focus),.ui-controlgroup-controls button.ui-shadow:not(:focus),.ui-controlgroup-controls div.ui-shadow:not(.ui-focus){-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.ui-controlgroup-label legend{max-width:100%}.ui-controlgroup-controls>label{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-dialog{background:none!important}.ui-dialog-contain{width:92.5%;max-width:500px;margin:10% auto 1em;padding:0;position:relative;top:-1em}.ui-dialog-contain>.ui-header,.ui-dialog-contain>.ui-content,.ui-dialog-contain>.ui-footer{display:block;position:relative;width:auto;margin:0}.ui-dialog-contain>.ui-header{overflow:hidden;z-index:10;padding:0;border-top-width:0}.ui-dialog-contain>.ui-footer{z-index:10;padding:0 1em;border-bottom-width:0}.ui-popup-open .ui-header-fixed,.ui-popup-open .ui-footer-fixed{position:absolute!important}.ui-popup-screen{background-image:url("data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==");top:0;left:0;right:0;bottom:1px;position:absolute;filter:Alpha(Opacity=0);opacity:0;z-index:1099}.ui-popup-screen.in{opacity:.5;filter:Alpha(Opacity=50)}.ui-popup-screen.out{opacity:0;filter:Alpha(Opacity=0)}.ui-popup-container{z-index:1100;display:inline-block;position:absolute;padding:0;outline:0}.ui-popup{position:relative}.ui-popup.ui-body-inherit{border-width:1px;border-style:solid}.ui-popup-hidden{left:0;top:0;position:absolute!important;visibility:hidden}.ui-popup-truncate{height:1px;width:1px;margin:-1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-popup.ui-content,.ui-popup .ui-content{overflow:visible}.ui-popup>.ui-header{border-top-width:0}.ui-popup>.ui-footer{border-bottom-width:0}.ui-popup>p,.ui-popup>h1,.ui-popup>h2,.ui-popup>h3,.ui-popup>h4,.ui-popup>h5,.ui-popup>h6{margin:.5em .4375em}.ui-popup>span{display:block;margin:.5em .4375em}.ui-popup-container .ui-content>p,.ui-popup-container .ui-content>h1,.ui-popup-container .ui-content>h2,.ui-popup-container .ui-content>h3,.ui-popup-container .ui-content>h4,.ui-popup-container .ui-content>h5,.ui-popup-container .ui-content>h6{margin:.5em 0}.ui-popup-container .ui-content>span{margin:0}.ui-popup-container .ui-content>p:first-child,.ui-popup-container .ui-content>h1:first-child,.ui-popup-container .ui-content>h2:first-child,.ui-popup-container .ui-content>h3:first-child,.ui-popup-container .ui-content>h4:first-child,.ui-popup-container .ui-content>h5:first-child,.ui-popup-container .ui-content>h6:first-child{margin-top:0}.ui-popup-container .ui-content>p:last-child,.ui-popup-container .ui-content>h1:last-child,.ui-popup-container .ui-content>h2:last-child,.ui-popup-container .ui-content>h3:last-child,.ui-popup-container .ui-content>h4:last-child,.ui-popup-container .ui-content>h5:last-child,.ui-popup-container .ui-content>h6:last-child{margin-bottom:0}.ui-popup>img{max-width:100%;max-height:100%;vertical-align:middle}.ui-popup:not(.ui-content)>img:only-child,.ui-popup:not(.ui-content)>.ui-btn-left:first-child+img:last-child,.ui-popup:not(.ui-content)>.ui-btn-right:first-child+img:last-child{-webkit-border-radius:inherit;border-radius:inherit}.ui-popup iframe{vertical-align:middle}.ui-popup>.ui-btn-left,.ui-popup>.ui-btn-right{position:absolute;top:-11px;margin:0;z-index:1101}.ui-popup>.ui-btn-left{left:-11px}.ui-popup>.ui-btn-right{right:-11px}.ui-popup-arrow-container{width:20px;height:20px}.ui-popup-arrow-container.ui-popup-arrow-l{left:-10px;clip:rect(-1000px,10px,2000px,-1000px)}.ui-popup-arrow-container.ui-popup-arrow-t{top:-10px;clip:rect(-1000px,2000px,10px,-1000px)}.ui-popup-arrow-container.ui-popup-arrow-r{right:-10px;clip:rect(-1000px,2000px,2000px,10px)}.ui-popup-arrow-container.ui-popup-arrow-b{bottom:-10px;clip:rect(10px,2000px,1000px,-1000px)}.ui-popup-arrow-container .ui-popup-arrow{width:28.284271247px;height:28.284271247px;border-width:1px;border-style:solid}.ui-popup-arrow-container.ui-popup-arrow-t .ui-popup-arrow{left:-4.142135623px;top:5.857864376px}.ui-popup-arrow-container.ui-popup-arrow-b .ui-popup-arrow{left:-4.142135623px;top:-14.142135623px}.ui-popup-arrow-container.ui-popup-arrow-l .ui-popup-arrow{left:5.857864376px;top:-4.142135623px}.ui-popup-arrow-container.ui-popup-arrow-r .ui-popup-arrow{left:-14.142135623px;top:-4.142135623px}.ui-popup-arrow-container.ui-popup-arrow-t.ie .ui-popup-arrow{margin-left:-5.857864376269049px;margin-top:-7.0710678118654755px}.ui-popup-arrow-container.ui-popup-arrow-b.ie .ui-popup-arrow{margin-left:-5.857864376269049px;margin-top:-4.142135623730951px}.ui-popup-arrow-container.ui-popup-arrow-l.ie .ui-popup-arrow{margin-left:-7.0710678118654755px;margin-top:-5.857864376269049px}.ui-popup-arrow-container.ui-popup-arrow-r.ie .ui-popup-arrow{margin-left:-4.142135623730951px;margin-top:-5.857864376269049px}.ui-popup>.ui-popup-arrow-guide{position:absolute;left:0;right:0;top:0;bottom:0;visibility:hidden}.ui-popup-arrow-container{position:absolute}.ui-popup-arrow{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);position:absolute;overflow:hidden;box-sizing:border-box}.ui-popup-arrow-container.ie .ui-popup-arrow{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865474, M12=-0.7071067811865477, M21=0.7071067811865477, M22=0.7071067811865474, SizingMethod='auto expand')";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.7071067811865474, M12=-.7071067811865477, M21=.7071067811865477, M22=.7071067811865474, SizingMethod='auto expand')}.ui-checkbox,.ui-radio{margin:.5em 0;position:relative}.ui-checkbox .ui-btn,.ui-radio .ui-btn{margin:0;text-align:left;white-space:normal;z-index:2}.ui-controlgroup .ui-checkbox .ui-btn.ui-focus,.ui-controlgroup .ui-radio .ui-btn.ui-focus{z-index:3}.ui-checkbox .ui-btn-icon-top,.ui-radio .ui-btn-icon-top,.ui-checkbox .ui-btn-icon-bottom,.ui-radio .ui-btn-icon-bottom{text-align:center}.ui-controlgroup-horizontal .ui-checkbox .ui-btn:after,.ui-controlgroup-horizontal .ui-radio .ui-btn:after{content:none;display:none}.ui-checkbox input,.ui-radio input{position:absolute;left:.466em;top:50%;width:22px;height:22px;margin:-11px 0 0 0;outline:0!important;z-index:1}.ui-controlgroup-horizontal .ui-checkbox input,.ui-controlgroup-horizontal .ui-radio input{left:50%;margin-left:-9px}.ui-checkbox input:disabled,.ui-radio input:disabled{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-select{margin-top:.5em;margin-bottom:.5em;position:relative}.ui-select>select{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-select .ui-btn{margin:0;opacity:1}.ui-select .ui-btn select{position:absolute;top:0;left:0;width:100%;min-height:1.5em;min-height:100%;height:3em;max-height:100%;outline:0;-webkit-border-radius:inherit;border-radius:inherit;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;filter:Alpha(Opacity=0);opacity:0;z-index:2}@-moz-document url-prefix(){.ui-select .ui-btn select{opacity:.0001}}.ui-select .ui-state-disabled select{display:none}.ui-select span.ui-state-disabled{filter:Alpha(Opacity=100);opacity:1}.ui-select .ui-btn.ui-select-nativeonly{border-radius:0;border:0}.ui-select .ui-btn.ui-select-nativeonly select{opacity:1;text-indent:0;display:block}.ui-select .ui-li-has-count.ui-btn{padding-right:2.8125em}.ui-select .ui-li-has-count.ui-btn-icon-right{padding-right:4.6875em}.ui-select .ui-btn-icon-right .ui-li-count{right:3.2em}.ui-select .ui-btn>span:not(.ui-li-count){display:block;text-overflow:ellipsis;overflow:hidden!important;white-space:nowrap}.ui-selectmenu.ui-popup{min-width:11em}.ui-selectmenu .ui-dialog-contain{overflow:hidden}.ui-selectmenu .ui-header{margin:0;padding:0;border-width:0}.ui-selectmenu.ui-dialog .ui-header{z-index:1;position:relative}.ui-selectmenu.ui-popup .ui-header{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-selectmenu.ui-popup .ui-header h1:after{content:'.';visibility:hidden}.ui-selectmenu .ui-header .ui-title{margin:0 2.875em}.ui-selectmenu.ui-dialog .ui-content{overflow:visible;z-index:1}.ui-selectmenu .ui-selectmenu-list{margin:0;-webkit-border-radius:inherit;border-radius:inherit}.ui-header:not(.ui-screen-hidden)+.ui-selectmenu-list{-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-top-left-radius:0;border-top-left-radius:0}.ui-header.ui-screen-hidden+.ui-selectmenu-list li.ui-first-child .ui-btn{border-top-width:0}.ui-selectmenu .ui-selectmenu-list li.ui-last-child .ui-btn{border-bottom-width:0}.ui-selectmenu .ui-btn.ui-li-divider{cursor:default}.ui-selectmenu .ui-selectmenu-placeholder{display:none}.ui-listview,.ui-listview>li{margin:0;padding:0;list-style:none}.ui-content .ui-listview,.ui-panel-inner>.ui-listview{margin:-1em}.ui-content .ui-listview-inset,.ui-panel-inner>.ui-listview-inset{margin:1em 0}.ui-collapsible-content>.ui-listview{margin:-.5em -1em}.ui-collapsible-content>.ui-listview-inset{margin:.5em 0}.ui-listview>li{display:block;position:relative;overflow:visible}.ui-listview>.ui-li-static,.ui-listview>.ui-li-divider,.ui-listview>li>a.ui-btn{margin:0;display:block;position:relative;text-align:left;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-listview>li>.ui-btn:focus{z-index:1}.ui-listview>.ui-li-static,.ui-listview>.ui-li-divider,.ui-listview>li>a.ui-btn{border-width:1px 0 0;border-style:solid}.ui-listview-inset>.ui-li-static,.ui-listview-inset>.ui-li-divider,.ui-listview-inset>li>a.ui-btn{border-right-width:1px;border-left-width:1px}.ui-listview>.ui-li-static.ui-last-child,.ui-listview>.ui-li-divider.ui-last-child,.ui-listview>li.ui-last-child>a.ui-btn{border-bottom-width:1px}.ui-collapsible-content>.ui-listview:not(.ui-listview-inset)>li.ui-first-child,.ui-collapsible-content>.ui-listview:not(.ui-listview-inset)>li.ui-first-child>a.ui-btn{border-top-width:0}.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset)>li.ui-last-child,.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset)>li.ui-last-child>a.ui-btn{border-bottom-width:0}.ui-listview>li.ui-first-child,.ui-listview>li.ui-first-child>a.ui-btn{-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit;-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit}.ui-listview>li.ui-last-child,.ui-listview>li.ui-last-child>a.ui-btn{-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit;-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-listview>li.ui-li-has-alt>a.ui-btn{-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0}.ui-listview>li.ui-first-child>a.ui-btn+a.ui-btn{-webkit-border-top-left-radius:0;border-top-left-radius:0;-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit}.ui-listview>li.ui-last-child>a.ui-btn+a.ui-btn{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-listview>li.ui-first-child img:first-child:not(.ui-li-icon){-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit}.ui-listview>li.ui-last-child img:first-child:not(.ui-li-icon){-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-collapsible-content>.ui-listview:not(.ui-listview-inset){-webkit-border-radius:inherit;border-radius:inherit}.ui-listview>.ui-li-static{padding:.7em 1em}.ui-listview>.ui-li-divider{padding:.5em 1.143em;font-size:14px;font-weight:700;cursor:default;outline:0}.ui-listview>.ui-li-has-count>.ui-btn,.ui-listview>.ui-li-static.ui-li-has-count,.ui-listview>.ui-li-divider.ui-li-has-count{padding-right:2.8125em}.ui-listview>.ui-li-has-count>.ui-btn-icon-right{padding-right:4.6875em}.ui-listview>.ui-li-has-thumb>.ui-btn,.ui-listview>.ui-li-static.ui-li-has-thumb{min-height:3.625em;padding-left:6.25em}.ui-listview>.ui-li-has-icon>.ui-btn,.ui-listview>.ui-li-static.ui-li-has-icon{min-height:1.25em;padding-left:2.5em}.ui-li-count{position:absolute;font-size:12.5px;font-weight:700;text-align:center;border-width:1px;border-style:solid;padding:0 .48em;line-height:1.6em;min-height:1.6em;min-width:.64em;right:.8em;top:50%;margin-top:-.88em}.ui-listview .ui-btn-icon-right .ui-li-count{right:3.2em}.ui-listview .ui-li-has-thumb>img:first-child,.ui-listview .ui-li-has-thumb>.ui-btn>img:first-child,.ui-listview .ui-li-has-thumb .ui-li-thumb{position:absolute;left:0;top:0;max-height:5em;max-width:5em}.ui-listview>.ui-li-has-icon>img:first-child,.ui-listview>.ui-li-has-icon>.ui-btn>img:first-child{position:absolute;left:.625em;top:.9em;max-height:1em;max-width:1em}.ui-listview>li h1,.ui-listview>li h2,.ui-listview>li h3,.ui-listview>li h4,.ui-listview>li h5,.ui-listview>li h6{font-size:1em;font-weight:700;display:block;margin:.45em 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-listview>li p{font-size:.75em;font-weight:400;display:block;margin:.6em 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-listview .ui-li-aside{position:absolute;top:1em;right:3.333em;margin:0;text-align:right}.ui-listview>li.ui-li-has-alt>.ui-btn{margin-right:2.5em;border-right-width:0}.ui-listview>li.ui-li-has-alt>.ui-btn+.ui-btn{position:absolute;width:2.5em;height:100%;min-height:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-left-width:1px;top:0;right:0;margin:0;padding:0;z-index:2}.ui-listview-inset>li.ui-li-has-alt>.ui-btn+.ui-btn{border-right-width:1px}.ui-listview>li.ui-li-has-alt>.ui-btn+.ui-btn:focus{z-index:3}ol.ui-listview,ol.ui-listview>.ui-li-divider{counter-reset:listnumbering}ol.ui-listview>li>.ui-btn,ol.ui-listview>li.ui-li-static{vertical-align:middle}ol.ui-listview>li>.ui-btn:first-child:before,ol.ui-listview>li.ui-li-static:before,ol.ui-listview>li.ui-field-contain>label:before,ol.ui-listview>li.ui-field-contain>.ui-controlgroup-label:before{display:inline-block;font-size:.9em;font-weight:400;padding-right:.3em;min-width:1.4em;line-height:1.5;vertical-align:middle;counter-increment:listnumbering;content:counter(listnumbering) "."}ol.ui-listview>li.ui-field-contain:before{content:none;display:none}ol.ui-listview>li h1:first-child,ol.ui-listview>li h2:first-child,ol.ui-listview>li h3:first-child,ol.ui-listview>li h4:first-child,ol.ui-listview>li h5:first-child,ol.ui-listview>li h6:first-child,ol.ui-listview>li p:first-child,ol.ui-listview>li img:first-child+*{display:inline-block;vertical-align:middle}ol.ui-listview>li h1:first-child~*,ol.ui-listview>li h2:first-child~*,ol.ui-listview>li h3:first-child~*,ol.ui-listview>li h4:first-child~*,ol.ui-listview>li h5:first-child~*,ol.ui-listview>li h6:first-child~*,ol.ui-listview>li p:first-child~*,ol.ui-listview>li img:first-child+*~*{margin-top:0;text-indent:2.04em}html .ui-filterable+.ui-listview,html .ui-filterable.ui-listview{margin-top:.5em}.ui-collapsible-content>form.ui-filterable{margin-top:-.5em}.ui-collapsible-content>.ui-input-search.ui-filterable{margin-top:0}.ui-collapsible-content>.ui-filterable+.ui-listview:not(.ui-listview-inset)>li.ui-first-child,.ui-collapsible-content>.ui-filterable+.ui-listview:not(.ui-listview-inset)>li.ui-first-child>a.ui-btn,.ui-collapsible-content>.ui-filterable.ui-listview:not(.ui-listview-inset)>li.ui-first-child,.ui-collapsible-content>.ui-filterable.ui-listview:not(.ui-listview-inset)>li.ui-first-child>a.ui-btn{border-top-width:1px}div.ui-slider{height:30px;margin:.5em 0;padding:0;-ms-touch-action:pan-y pinch-zoom double-tap-zoom}div.ui-slider:before,div.ui-slider:after{content:"";display:table}div.ui-slider:after{clear:both}input.ui-slider-input{display:block;float:left;font-size:14px;font-weight:700;margin:0;padding:4px;width:40px;height:20px;line-height:20px;border-width:1px;border-style:solid;outline:0;text-align:center;vertical-align:text-bottom;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.ui-slider-input::-webkit-outer-spin-button,.ui-slider-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ui-slider-track{position:relative;overflow:visible;border-width:1px;border-style:solid;height:15px;margin:0 15px 0 68px;top:6px}.ui-slider-track.ui-mini{height:12px;top:8px}.ui-slider-track .ui-slider-bg{height:100%}.ui-slider-track .ui-btn.ui-slider-handle{position:absolute;z-index:1;top:50%;width:28px;height:28px;margin:-15px 0 0 -15px;outline:0;padding:0}.ui-slider-track.ui-mini .ui-slider-handle{height:14px;width:14px;margin:-8px 0 0 -8px}select.ui-slider-switch{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}div.ui-slider-switch{display:inline-block;height:32px;width:5.8em;top:0}div.ui-slider-switch:before,div.ui-slider-switch:after{display:none;clear:none}div.ui-slider-switch.ui-mini{height:29px;top:0}.ui-slider-inneroffset{margin:0 16px;position:relative;z-index:1}.ui-slider-switch.ui-mini .ui-slider-inneroffset{margin:0 15px 0 14px}.ui-slider-switch .ui-btn.ui-slider-handle{margin:1px 0 0 -15px}.ui-slider-switch.ui-mini .ui-slider-handle{width:25px;height:25px;margin:1px 0 0 -13px;padding:0}.ui-slider-handle-snapping{-webkit-transition:left 70ms linear;-moz-transition:left 70ms linear;transition:left 70ms linear}.ui-slider-switch .ui-slider-label{position:absolute;text-align:center;width:100%;overflow:hidden;font-size:16px;top:0;line-height:2;min-height:100%;white-space:nowrap;cursor:pointer}.ui-slider-switch.ui-mini .ui-slider-label{font-size:14px}.ui-slider-switch .ui-slider-label-a{z-index:1;left:0;text-indent:-1.5em}.ui-slider-switch .ui-slider-label-b{z-index:0;right:0;text-indent:1.5em}.ui-slider-track .ui-slider-bg,.ui-slider-switch .ui-slider-label,.ui-slider-switch .ui-slider-inneroffset,.ui-slider-handle{-webkit-border-radius:inherit;border-radius:inherit}.ui-field-contain div.ui-slider-switch{margin:0}.ui-field-contain div.ui-slider-switch,.ui-field-contain.ui-hide-label div.ui-slider-switch,html .ui-popup .ui-field-contain div.ui-slider-switch{display:inline-block;width:5.8em}.ui-slider-popup{width:64px;height:64px;font-size:36px;padding-top:14px;opacity:.8}.ui-slider-popup{position:absolute!important;text-align:center;z-index:100}.ui-slider-track .ui-btn.ui-slider-handle{font-size:.9em;line-height:30px}.ui-rangeslider{margin:.5em 0}.ui-rangeslider:before,.ui-rangeslider:after{content:"";display:table}.ui-rangeslider:after{clear:both}.ui-rangeslider .ui-slider-input.ui-rangeslider-last{float:right}.ui-rangeslider .ui-rangeslider-sliders{position:relative;overflow:visible;height:30px;margin:0 68px}.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track{position:absolute;top:6px;right:0;left:0;margin:0}.ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track{top:8px}.ui-rangeslider .ui-slider-track:first-child .ui-slider-bg{display:none}.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child{background-color:transparent;background:0;border-width:0;height:0}html >body .ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child{height:15px;border-width:1px}html >body .ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track:first-child{height:12px}div.ui-rangeslider label{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-field-contain .ui-rangeslider input.ui-slider-input,.ui-field-contain .ui-rangeslider.ui-mini input.ui-slider-input,.ui-field-contain .ui-rangeslider .ui-rangeslider-sliders,.ui-field-contain .ui-rangeslider.ui-mini .ui-rangeslider-sliders{margin-top:0;margin-bottom:0}.ui-input-text,.ui-input-search{margin:.5em 0;border-width:1px;border-style:solid}.ui-mini{margin:.446em}.ui-input-text input,.ui-input-search input,textarea.ui-input-text{padding:.4em;line-height:1.4em;display:block;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;outline:0}.ui-input-text input,.ui-input-search input{margin:0;min-height:2.2em;text-align:left;border:0;background:transparent none;-webkit-appearance:none;-webkit-border-radius:inherit;border-radius:inherit}textarea.ui-input-text{overflow:auto;resize:vertical}.ui-mini .ui-input-text input,.ui-mini .ui-input-search input,.ui-input-text.ui-mini input,.ui-input-search.ui-mini input,.ui-mini textarea.ui-input-text,textarea.ui-mini{font-size:14px}.ui-mini textarea.ui-input-text,textarea.ui-mini{margin:.446em 0}.ui-input-has-clear,.ui-input-search{position:relative}.ui-input-has-clear{padding-right:2.375em}.ui-mini.ui-input-has-clear{padding-right:2.923em}.ui-input-has-clear input{padding-right:0;-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0}.ui-input-search input{padding-left:1.75em}.ui-input-search:after{position:absolute;left:.3125em;top:50%;margin-top:-7px;content:"";background-position:center center;background-repeat:no-repeat;width:14px;height:14px;filter:Alpha(Opacity=50);opacity:.5}.ui-input-search.ui-input-has-clear .ui-btn.ui-input-clear,.ui-input-text.ui-input-has-clear .ui-btn.ui-input-clear{position:absolute;right:0;top:50%;margin:-14px .3125em 0;border:0;background-color:transparent}.ui-input-search .ui-input-clear-hidden,.ui-input-text .ui-input-clear-hidden{display:none}.ui-input-text input::-moz-placeholder,.ui-input-search input::-moz-placeholder,textarea.ui-input-text::-moz-placeholder{color:#aaa}.ui-input-text input:-ms-input-placeholder,.ui-input-search input:-ms-input-placeholder,textarea.ui-input-text:-ms-input-placeholder{color:#aaa}.ui-input-text input[type=number]::-webkit-outer-spin-button{margin:0}.ui-input-text input::-ms-clear,.ui-input-search input::-ms-clear{display:none}.ui-input-text input:focus,.ui-input-search input:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}textarea.ui-input-text.ui-textinput-autogrow{overflow:hidden}.ui-textinput-autogrow-resize{-webkit-transition:height .25s;-o-transition:height .25s;-moz-transition:height .25s;transition:height .25s}.ui-flipswitch{display:inline-block;vertical-align:middle;width:5.875em;height:1.875em;border-width:1px;border-style:solid;margin:.5em 0;overflow:hidden;-webkit-transition-property:padding,width,background-color,color,border-color;-moz-transition-property:padding,width,background-color,color,border-color;-o-transition-property:padding,width,background-color,color,border-color;transition-property:padding,width,background-color,color,border-color;-webkit-transition-duration:100ms;-moz-transition-duration:100ms;-o-transition-duration:100ms;transition-duration:100ms;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.ui-flipswitch.ui-flipswitch-active{padding-left:4em;width:1.875em}.ui-flipswitch-input{position:absolute;height:1px;width:1px;margin:-1px;overflow:hidden;clip:rect(1px,1px,1px,1px);border:0;outline:0;filter:Alpha(Opacity=0);opacity:0}.ui-flipswitch .ui-btn.ui-flipswitch-on,.ui-flipswitch .ui-flipswitch-off{float:left;height:1.75em;margin:.0625em;line-height:1.65em}.ui-flipswitch .ui-btn.ui-flipswitch-on{width:1.75em;padding:0;text-indent:-2.6em;text-align:left;border-width:1px;border-style:solid;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-radius:inherit;overflow:visible;color:inherit;text-shadow:inherit}.ui-flipswitch .ui-flipswitch-off{padding:1px;text-indent:1em}html .ui-field-contain>label+.ui-flipswitch,html .ui-popup .ui-field-contain>label+.ui-flipswitch{display:inline-block;width:5.875em;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.ui-field-contain .ui-flipswitch.ui-flipswitch-active,.ui-popup .ui-field-contain .ui-flipswitch.ui-flipswitch-active{width:1.875em}.ui-table{border:0;border-collapse:collapse;padding:0;width:100%}.ui-table th,.ui-table td{line-height:1.5em;text-align:left;padding:.4em .5em;vertical-align:top}.ui-table th .ui-btn,.ui-table td .ui-btn{line-height:normal}.ui-table th{font-weight:700}.ui-table caption{text-align:left;margin-bottom:1.4em;opacity:.5}.ui-table-columntoggle-btn{float:right;margin-bottom:.8em}.ui-table-columntoggle-popup fieldset{margin:0}.ui-table-columntoggle{clear:both}@media only all{th.ui-table-priority-6,td.ui-table-priority-6,th.ui-table-priority-5,td.ui-table-priority-5,th.ui-table-priority-4,td.ui-table-priority-4,th.ui-table-priority-3,td.ui-table-priority-3,th.ui-table-priority-2,td.ui-table-priority-2,th.ui-table-priority-1,td.ui-table-priority-1{display:none}}@media screen and (min-width:20em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-1,.ui-table-columntoggle.ui-responsive td.ui-table-priority-1{display:table-cell}}@media screen and (min-width:30em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-2,.ui-table-columntoggle.ui-responsive td.ui-table-priority-2{display:table-cell}}@media screen and (min-width:40em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-3,.ui-table-columntoggle.ui-responsive td.ui-table-priority-3{display:table-cell}}@media screen and (min-width:50em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-4,.ui-table-columntoggle.ui-responsive td.ui-table-priority-4{display:table-cell}}@media screen and (min-width:60em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-5,.ui-table-columntoggle.ui-responsive td.ui-table-priority-5{display:table-cell}}@media screen and (min-width:70em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-6,.ui-table-columntoggle.ui-responsive td.ui-table-priority-6{display:table-cell}}.ui-table-columntoggle th.ui-table-cell-hidden,.ui-table-columntoggle td.ui-table-cell-hidden,.ui-table-columntoggle.ui-responsive th.ui-table-cell-hidden,.ui-table-columntoggle.ui-responsive td.ui-table-cell-hidden{display:none}.ui-table-columntoggle th.ui-table-cell-visible,.ui-table-columntoggle td.ui-table-cell-visible,.ui-table-columntoggle.ui-responsive th.ui-table-cell-visible,.ui-table-columntoggle.ui-responsive td.ui-table-cell-visible{display:table-cell}.ui-table-reflow td .ui-table-cell-label,.ui-table-reflow th .ui-table-cell-label{display:none}@media only all{.ui-table-reflow thead td,.ui-table-reflow thead th{display:none}.ui-table-reflow td,.ui-table-reflow th{text-align:left;display:block}.ui-table-reflow tbody th{margin-top:3em}.ui-table-reflow td .ui-table-cell-label,.ui-table-reflow th .ui-table-cell-label{padding:.4em;min-width:30%;display:inline-block;margin:-.4em 1em -.4em -.4em}.ui-table-reflow th .ui-table-cell-label-top,.ui-table-reflow td .ui-table-cell-label-top{display:block;padding:.4em 0;margin:.4em 0;text-transform:uppercase;font-size:.9em;font-weight:400}}@media (min-width:35em){.ui-table-reflow.ui-responsive td,.ui-table-reflow.ui-responsive th,.ui-table-reflow.ui-responsive tbody th,.ui-table-reflow.ui-responsive tbody td,.ui-table-reflow.ui-responsive thead td,.ui-table-reflow.ui-responsive thead th{display:table-cell;margin:0}.ui-table-reflow.ui-responsive td .ui-table-cell-label,.ui-table-reflow.ui-responsive th .ui-table-cell-label{display:none}}@media (max-width:35em){.ui-table-reflow.ui-responsive td,.ui-table-reflow.ui-responsive th{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;clear:left}}.ui-panel{width:17em;min-height:100%;max-height:none;border-width:0;position:absolute;top:0;display:block}.ui-panel-closed{width:0;max-height:100%;overflow:hidden;visibility:hidden;left:0;clip:rect(1px,1px,1px,1px)}.ui-panel-fixed{position:fixed;bottom:-1px;padding-bottom:1px}.ui-panel-display-reveal{z-index:1}.ui-panel-display-push{z-index:999}.ui-panel-display-overlay{z-index:1001}.ui-panel-inner{padding:1em}.ui-panel-page-container{overflow-x:visible}.ui-panel-page-container-themed .ui-page-active{background:0}.ui-panel-wrapper{position:relative;min-height:inherit;border:0;overflow-x:hidden;z-index:999}.ui-panel-fixed-toolbar{overflow-x:hidden}.ui-panel-dismiss{position:absolute;top:0;left:0;right:0;height:100%;z-index:1002;display:none}.ui-panel-dismiss-open{display:block}.ui-panel-animate{-webkit-transition:-webkit-transform 300ms ease;-webkit-transition-duration:300ms;-moz-transition:-moz-transform 300ms ease;transition:transform 300ms ease}@media screen and (max-device-width:768px){.ui-page-header-fixed .ui-panel-animate.ui-panel-wrapper,.ui-page-footer-fixed .ui-panel-animate.ui-panel-wrapper,.ui-panel-animate.ui-panel-fixed-toolbar{-ms-transition:none}.ui-panel-animate.ui-panel-fixed-toolbar{-ms-transition:-ms-transform 1ms;-ms-transform:rotate(0deg)}}.ui-panel-animate.ui-panel:not(.ui-panel-display-reveal){-webkit-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0)}.ui-panel-position-left{left:-17em}.ui-panel-animate.ui-panel-position-left.ui-panel-display-overlay,.ui-panel-animate.ui-panel-position-left.ui-panel-display-push{left:0;-webkit-transform:translate3d(-17em,0,0);-moz-transform:translate3d(-17em,0,0);transform:translate3d(-17em,0,0)}.ui-panel-position-left.ui-panel-display-reveal,.ui-panel-open.ui-panel-position-left{left:0}.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-overlay,.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-push{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-moz-transform:none}.ui-panel-position-right{right:-17em}.ui-panel-animate.ui-panel-position-right.ui-panel-display-overlay,.ui-panel-animate.ui-panel-position-right.ui-panel-display-push{right:0;-webkit-transform:translate3d(17em,0,0);-moz-transform:translate3d(17em,0,0);transform:translate3d(17em,0,0)}.ui-panel-position-right.ui-panel-display-reveal,.ui-panel-position-right.ui-panel-open{right:0}.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-overlay,.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-push{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-moz-transform:none}.ui-panel-page-content-position-left{left:17em;right:-17em}.ui-panel-animate.ui-panel-page-content-position-left{left:0;right:0;-webkit-transform:translate3d(17em,0,0);-moz-transform:translate3d(17em,0,0);transform:translate3d(17em,0,0)}.ui-panel-page-content-position-right{left:-17em;right:17em}.ui-panel-animate.ui-panel-page-content-position-right{left:0;right:0;-webkit-transform:translate3d(-17em,0,0);-moz-transform:translate3d(-17em,0,0);transform:translate3d(-17em,0,0)}.ui-panel-dismiss-open.ui-panel-dismiss-position-left{left:17em}.ui-panel-dismiss-open.ui-panel-dismiss-position-right{right:17em}.ui-panel-display-reveal{-webkit-box-shadow:inset -5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:inset -5px 0 5px rgba(0,0,0,.15);box-shadow:inset -5px 0 5px rgba(0,0,0,.15)}.ui-panel-position-right.ui-panel-display-reveal{-webkit-box-shadow:inset 5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:inset 5px 0 5px rgba(0,0,0,.15);box-shadow:inset 5px 0 5px rgba(0,0,0,.15)}.ui-panel-display-overlay{-webkit-box-shadow:5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:5px 0 5px rgba(0,0,0,.15);box-shadow:5px 0 5px rgba(0,0,0,.15)}.ui-panel-position-right.ui-panel-display-overlay{-webkit-box-shadow:-5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:-5px 0 5px rgba(0,0,0,.15);box-shadow:-5px 0 5px rgba(0,0,0,.15)}.ui-panel-open.ui-panel-position-left.ui-panel-display-push{border-right-width:1px;margin-right:-1px}.ui-panel-page-content-position-left.ui-panel-page-content-display-push{margin-left:1px;width:auto}.ui-panel-open.ui-panel-position-right.ui-panel-display-push{border-left-width:1px;margin-left:-1px}.ui-panel-page-content-position-right.ui-panel-page-content-display-push{margin-right:1px;width:auto}@media (min-width:55em){.ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-left{margin-right:17em}.ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-right{margin-left:17em}.ui-responsive-panel .ui-panel-page-content-open{width:auto}.ui-responsive-panel .ui-panel-dismiss-display-push,.ui-responsive-panel.ui-page-active~.ui-panel-dismiss-display-push{display:none}}.ui-tabs{position:relative;padding:.2em} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.external-png-1.4.5.css b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.external-png-1.4.5.css deleted file mode 100644 index 1016cb8b80815c0838c1d2237b8e3c89a6bceaad..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.external-png-1.4.5.css +++ /dev/null @@ -1,4380 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! -* jQuery Mobile 1.4.5 -* Git HEAD hash: 68e55e78b292634d3991c795f06f5e37a512decc <> Date: Fri Oct 31 2014 17:33:30 UTC -* http://jquerymobile.com -* -* Copyright 2010, 2014 jQuery Foundation, Inc. and othercontributors -* Released under the MIT license. -* http://jquery.org/license -* -*/ - - -.ui-icon-action:after { - background-image: url(images/icons-png/action-white.png); -} -.ui-icon-alert:after { - background-image: url(images/icons-png/alert-white.png); -} -.ui-icon-arrow-d-l:after { - background-image: url(images/icons-png/arrow-d-l-white.png); -} -.ui-icon-arrow-d-r:after { - background-image: url(images/icons-png/arrow-d-r-white.png); -} -.ui-icon-arrow-d:after { - background-image: url(images/icons-png/arrow-d-white.png); -} -.ui-icon-arrow-l:after { - background-image: url(images/icons-png/arrow-l-white.png); -} -.ui-icon-arrow-r:after { - background-image: url(images/icons-png/arrow-r-white.png); -} -.ui-icon-arrow-u-l:after { - background-image: url(images/icons-png/arrow-u-l-white.png); -} -.ui-icon-arrow-u-r:after { - background-image: url(images/icons-png/arrow-u-r-white.png); -} -.ui-icon-arrow-u:after { - background-image: url(images/icons-png/arrow-u-white.png); -} -.ui-icon-audio:after { - background-image: url(images/icons-png/audio-white.png); -} -.ui-icon-back:after { - background-image: url(images/icons-png/back-white.png); -} -.ui-icon-bars:after { - background-image: url(images/icons-png/bars-white.png); -} -.ui-icon-bullets:after { - background-image: url(images/icons-png/bullets-white.png); -} -.ui-icon-calendar:after { - background-image: url(images/icons-png/calendar-white.png); -} -.ui-icon-camera:after { - background-image: url(images/icons-png/camera-white.png); -} -.ui-icon-carat-d:after { - background-image: url(images/icons-png/carat-d-white.png); -} -.ui-icon-carat-l:after { - background-image: url(images/icons-png/carat-l-white.png); -} -.ui-icon-carat-r:after { - background-image: url(images/icons-png/carat-r-white.png); -} -.ui-icon-carat-u:after { - background-image: url(images/icons-png/carat-u-white.png); -} -.ui-icon-check:after, -/* Used ui-checkbox-on twice to increase specificity. If active state has background-image for gradient this rule overrides. */ -html .ui-btn.ui-checkbox-on.ui-checkbox-on:after { - background-image: url(images/icons-png/check-white.png); -} -.ui-icon-clock:after { - background-image: url(images/icons-png/clock-white.png); -} -.ui-icon-cloud:after { - background-image: url(images/icons-png/cloud-white.png); -} -.ui-icon-comment:after { - background-image: url(images/icons-png/comment-white.png); -} -.ui-icon-delete:after { - background-image: url(images/icons-png/delete-white.png); -} -.ui-icon-edit:after { - background-image: url(images/icons-png/edit-white.png); -} -.ui-icon-eye:after { - background-image: url(images/icons-png/eye-white.png); -} -.ui-icon-forbidden:after { - background-image: url(images/icons-png/forbidden-white.png); -} -.ui-icon-forward:after { - background-image: url(images/icons-png/forward-white.png); -} -.ui-icon-gear:after { - background-image: url(images/icons-png/gear-white.png); -} -.ui-icon-grid:after { - background-image: url(images/icons-png/grid-white.png); -} -.ui-icon-heart:after { - background-image: url(images/icons-png/heart-white.png); -} -.ui-icon-home:after { - background-image: url(images/icons-png/home-white.png); -} -.ui-icon-info:after { - background-image: url(images/icons-png/info-white.png); -} -.ui-icon-location:after { - background-image: url(images/icons-png/location-white.png); -} -.ui-icon-lock:after { - background-image: url(images/icons-png/lock-white.png); -} -.ui-icon-mail:after { - background-image: url(images/icons-png/mail-white.png); -} -.ui-icon-minus:after { - background-image: url(images/icons-png/minus-white.png); -} -.ui-icon-navigation:after { - background-image: url(images/icons-png/navigation-white.png); -} -.ui-icon-phone:after { - background-image: url(images/icons-png/phone-white.png); -} -.ui-icon-plus:after { - background-image: url(images/icons-png/plus-white.png); -} -.ui-icon-power:after { - background-image: url(images/icons-png/power-white.png); -} -.ui-icon-recycle:after { - background-image: url(images/icons-png/recycle-white.png); -} -.ui-icon-refresh:after { - background-image: url(images/icons-png/refresh-white.png); -} -.ui-icon-search:after { - background-image: url(images/icons-png/search-white.png); -} -.ui-icon-shop:after { - background-image: url(images/icons-png/shop-white.png); -} -.ui-icon-star:after { - background-image: url(images/icons-png/star-white.png); -} -.ui-icon-tag:after { - background-image: url(images/icons-png/tag-white.png); -} -.ui-icon-user:after { - background-image: url(images/icons-png/user-white.png); -} -.ui-icon-video:after { - background-image: url(images/icons-png/video-white.png); -} -/* Alt icons */ -.ui-alt-icon.ui-icon-action:after, -.ui-alt-icon .ui-icon-action:after { - background-image: url(images/icons-png/action-black.png); -} -.ui-alt-icon.ui-icon-alert:after, -.ui-alt-icon .ui-icon-alert:after { - background-image: url(images/icons-png/alert-black.png); -} -.ui-alt-icon.ui-icon-arrow-d:after, -.ui-alt-icon .ui-icon-arrow-d:after { - background-image: url(images/icons-png/arrow-d-black.png); -} -.ui-alt-icon.ui-icon-arrow-d-l:after, -.ui-alt-icon .ui-icon-arrow-d-l:after { - background-image: url(images/icons-png/arrow-d-l-black.png); -} -.ui-alt-icon.ui-icon-arrow-d-r:after, -.ui-alt-icon .ui-icon-arrow-d-r:after { - background-image: url(images/icons-png/arrow-d-r-black.png); -} -.ui-alt-icon.ui-icon-arrow-l:after, -.ui-alt-icon .ui-icon-arrow-l:after { - background-image: url(images/icons-png/arrow-l-black.png); -} -.ui-alt-icon.ui-icon-arrow-r:after, -.ui-alt-icon .ui-icon-arrow-r:after { - background-image: url(images/icons-png/arrow-r-black.png); -} -.ui-alt-icon.ui-icon-arrow-u:after, -.ui-alt-icon .ui-icon-arrow-u:after { - background-image: url(images/icons-png/arrow-u-black.png); -} -.ui-alt-icon.ui-icon-arrow-u-l:after, -.ui-alt-icon .ui-icon-arrow-u-l:after { - background-image: url(images/icons-png/arrow-u-l-black.png); -} -.ui-alt-icon.ui-icon-arrow-u-r:after, -.ui-alt-icon .ui-icon-arrow-u-r:after { - background-image: url(images/icons-png/arrow-u-r-black.png); -} -.ui-alt-icon.ui-icon-audio:after, -.ui-alt-icon .ui-icon-audio:after { - background-image: url(images/icons-png/audio-black.png); -} -.ui-alt-icon.ui-icon-back:after, -.ui-alt-icon .ui-icon-back:after { - background-image: url(images/icons-png/back-black.png); -} -.ui-alt-icon.ui-icon-bars:after, -.ui-alt-icon .ui-icon-bars:after { - background-image: url(images/icons-png/bars-black.png); -} -.ui-alt-icon.ui-icon-bullets:after, -.ui-alt-icon .ui-icon-bullets:after { - background-image: url(images/icons-png/bullets-black.png); -} -.ui-alt-icon.ui-icon-calendar:after, -.ui-alt-icon .ui-icon-calendar:after { - background-image: url(images/icons-png/calendar-black.png); -} -.ui-alt-icon.ui-icon-camera:after, -.ui-alt-icon .ui-icon-camera:after { - background-image: url(images/icons-png/camera-black.png); -} -.ui-alt-icon.ui-icon-carat-d:after, -.ui-alt-icon .ui-icon-carat-d:after { - background-image: url(images/icons-png/carat-d-black.png); -} -.ui-alt-icon.ui-icon-carat-l:after, -.ui-alt-icon .ui-icon-carat-l:after { - background-image: url(images/icons-png/carat-l-black.png); -} -.ui-alt-icon.ui-icon-carat-r:after, -.ui-alt-icon .ui-icon-carat-r:after { - background-image: url(images/icons-png/carat-r-black.png); -} -.ui-alt-icon.ui-icon-carat-u:after, -.ui-alt-icon .ui-icon-carat-u:after { - background-image: url(images/icons-png/carat-u-black.png); -} -.ui-alt-icon.ui-icon-check:after, -.ui-alt-icon .ui-icon-check:after, -html .ui-alt-icon.ui-btn.ui-checkbox-on:after, -html .ui-alt-icon .ui-btn.ui-checkbox-on:after { - background-image: url(images/icons-png/check-black.png); -} -.ui-alt-icon.ui-icon-clock:after, -.ui-alt-icon .ui-icon-clock:after { - background-image: url(images/icons-png/clock-black.png); -} -.ui-alt-icon.ui-icon-cloud:after, -.ui-alt-icon .ui-icon-cloud:after { - background-image: url(images/icons-png/cloud-black.png); -} -.ui-alt-icon.ui-icon-comment:after, -.ui-alt-icon .ui-icon-comment:after { - background-image: url(images/icons-png/comment-black.png); -} -.ui-alt-icon.ui-icon-delete:after, -.ui-alt-icon .ui-icon-delete:after { - background-image: url(images/icons-png/delete-black.png); -} -.ui-alt-icon.ui-icon-edit:after, -.ui-alt-icon .ui-icon-edit:after { - background-image: url(images/icons-png/edit-black.png); -} -.ui-alt-icon.ui-icon-eye:after, -.ui-alt-icon .ui-icon-eye:after { - background-image: url(images/icons-png/eye-black.png); -} -.ui-alt-icon.ui-icon-forbidden:after, -.ui-alt-icon .ui-icon-forbidden:after { - background-image: url(images/icons-png/forbidden-black.png); -} -.ui-alt-icon.ui-icon-forward:after, -.ui-alt-icon .ui-icon-forward:after { - background-image: url(images/icons-png/forward-black.png); -} -.ui-alt-icon.ui-icon-gear:after, -.ui-alt-icon .ui-icon-gear:after { - background-image: url(images/icons-png/gear-black.png); -} -.ui-alt-icon.ui-icon-grid:after, -.ui-alt-icon .ui-icon-grid:after { - background-image: url(images/icons-png/grid-black.png); -} -.ui-alt-icon.ui-icon-heart:after, -.ui-alt-icon .ui-icon-heart:after { - background-image: url(images/icons-png/heart-black.png); -} -.ui-alt-icon.ui-icon-home:after, -.ui-alt-icon .ui-icon-home:after { - background-image: url(images/icons-png/home-black.png); -} -.ui-alt-icon.ui-icon-info:after, -.ui-alt-icon .ui-icon-info:after { - background-image: url(images/icons-png/info-black.png); -} -.ui-alt-icon.ui-icon-location:after, -.ui-alt-icon .ui-icon-location:after { - background-image: url(images/icons-png/location-black.png); -} -.ui-alt-icon.ui-icon-lock:after, -.ui-alt-icon .ui-icon-lock:after { - background-image: url(images/icons-png/lock-black.png); -} -.ui-alt-icon.ui-icon-mail:after, -.ui-alt-icon .ui-icon-mail:after { - background-image: url(images/icons-png/mail-black.png); -} -.ui-alt-icon.ui-icon-minus:after, -.ui-alt-icon .ui-icon-minus:after { - background-image: url(images/icons-png/minus-black.png); -} -.ui-alt-icon.ui-icon-navigation:after, -.ui-alt-icon .ui-icon-navigation:after { - background-image: url(images/icons-png/navigation-black.png); -} -.ui-alt-icon.ui-icon-phone:after, -.ui-alt-icon .ui-icon-phone:after { - background-image: url(images/icons-png/phone-black.png); -} -.ui-alt-icon.ui-icon-plus:after, -.ui-alt-icon .ui-icon-plus:after { - background-image: url(images/icons-png/plus-black.png); -} -.ui-alt-icon.ui-icon-power:after, -.ui-alt-icon .ui-icon-power:after { - background-image: url(images/icons-png/power-black.png); -} -.ui-alt-icon.ui-icon-recycle:after, -.ui-alt-icon .ui-icon-recycle:after { - background-image: url(images/icons-png/recycle-black.png); -} -.ui-alt-icon.ui-icon-refresh:after, -.ui-alt-icon .ui-icon-refresh:after { - background-image: url(images/icons-png/refresh-black.png); -} -.ui-alt-icon.ui-icon-search:after, -.ui-alt-icon .ui-icon-search:after, -.ui-input-search:after { - background-image: url(images/icons-png/search-black.png); -} -.ui-alt-icon.ui-icon-shop:after, -.ui-alt-icon .ui-icon-shop:after { - background-image: url(images/icons-png/shop-black.png); -} -.ui-alt-icon.ui-icon-star:after, -.ui-alt-icon .ui-icon-star:after { - background-image: url(images/icons-png/star-black.png); -} -.ui-alt-icon.ui-icon-tag:after, -.ui-alt-icon .ui-icon-tag:after { - background-image: url(images/icons-png/tag-black.png); -} -.ui-alt-icon.ui-icon-user:after, -.ui-alt-icon .ui-icon-user:after { - background-image: url(images/icons-png/user-black.png); -} -.ui-alt-icon.ui-icon-video:after, -.ui-alt-icon .ui-icon-video:after { - background-image: url(images/icons-png/video-black.png); -} -/* Globals */ -/* Font ------------------------------------------------------------------------------------------------------------*/ -html { - font-size: 100%; -} -body, -input, -select, -textarea, -button, -.ui-btn { - font-size: 1em; - line-height: 1.3; - font-family: sans-serif /*{global-font-family}*/; -} -legend, -.ui-input-text input, -.ui-input-search input { - color: inherit; - text-shadow: inherit; -} -/* Form labels (overrides font-weight bold in bars, and mini font-size) */ -.ui-mobile label, -div.ui-controlgroup-label { - font-weight: normal; - font-size: 16px; -} -/* Separators ------------------------------------------------------------------------------------------------------------*/ -/* Field contain separator (< 28em) */ -.ui-field-contain { - border-bottom-color: #828282; - border-bottom-color: rgba(0,0,0,.15); - border-bottom-width: 1px; - border-bottom-style: solid; -} -/* Table opt-in classes: strokes between each row, and alternating row stripes */ -/* Classes table-stroke and table-stripe are deprecated in 1.4. */ -.table-stroke thead th, -.table-stripe thead th, -.table-stripe tbody tr:last-child { - border-bottom: 1px solid #d6d6d6; /* non-RGBA fallback */ - border-bottom: 1px solid rgba(0,0,0,.1); -} -.table-stroke tbody th, -.table-stroke tbody td { - border-bottom: 1px solid #e6e6e6; /* non-RGBA fallback */ - border-bottom: 1px solid rgba(0,0,0,.05); -} -.table-stripe.table-stroke tbody tr:last-child th, -.table-stripe.table-stroke tbody tr:last-child td { - border-bottom: 0; -} -.table-stripe tbody tr:nth-child(odd) td, -.table-stripe tbody tr:nth-child(odd) th { - background-color: #eeeeee; /* non-RGBA fallback */ - background-color: rgba(0,0,0,.04); -} -/* Buttons ------------------------------------------------------------------------------------------------------------*/ -.ui-btn, -label.ui-btn { - font-weight: bold; - border-width: 1px; - border-style: solid; -} -.ui-btn { - text-decoration: none !important; -} -.ui-btn-active { - cursor: pointer; -} -/* Corner rounding ------------------------------------------------------------------------------------------------------------*/ -/* Class ui-btn-corner-all deprecated in 1.4 */ -.ui-corner-all { - -webkit-border-radius: .3125em /*{global-radii-blocks}*/; - border-radius: .3125em /*{global-radii-blocks}*/; -} -/* Buttons */ -.ui-btn-corner-all, -.ui-btn.ui-corner-all, -/* Slider track */ -.ui-slider-track.ui-corner-all, -/* Flipswitch */ -.ui-flipswitch.ui-corner-all, -/* Count bubble */ -.ui-li-count { - -webkit-border-radius: .3125em /*{global-radii-buttons}*/; - border-radius: .3125em /*{global-radii-buttons}*/; -} -/* Icon-only buttons */ -.ui-btn-icon-notext.ui-btn-corner-all, -.ui-btn-icon-notext.ui-corner-all { - -webkit-border-radius: 1em; - border-radius: 1em; -} -/* Radius clip workaround for cleaning up corner trapping */ -.ui-btn-corner-all, -.ui-corner-all { - -webkit-background-clip: padding; - background-clip: padding-box; -} -/* Popup arrow */ -.ui-popup.ui-corner-all > .ui-popup-arrow-guide { - left: .6em /*{global-radii-blocks}*/; - right: .6em /*{global-radii-blocks}*/; - top: .6em /*{global-radii-blocks}*/; - bottom: .6em /*{global-radii-blocks}*/; -} -/* Shadow ------------------------------------------------------------------------------------------------------------*/ -.ui-shadow { - -webkit-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; - -moz-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; - box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; -} -.ui-shadow-inset { - -webkit-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; - -moz-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; - box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; -} -.ui-overlay-shadow { - -webkit-box-shadow: 0 0 12px rgba(0,0,0,.6); - -moz-box-shadow: 0 0 12px rgba(0,0,0,.6); - box-shadow: 0 0 12px rgba(0,0,0,.6); -} -/* Icons ------------------------------------------------------------------------------------------------------------*/ -.ui-btn-icon-left:after, -.ui-btn-icon-right:after, -.ui-btn-icon-top:after, -.ui-btn-icon-bottom:after, -.ui-btn-icon-notext:after { - background-color: #666 /*{global-icon-color}*/; - background-color: rgba(0,0,0,.3) /*{global-icon-disc}*/; - background-position: center center; - background-repeat: no-repeat; - -webkit-border-radius: 1em; - border-radius: 1em; -} -/* Alt icons */ -.ui-alt-icon.ui-btn:after, -.ui-alt-icon .ui-btn:after, -html .ui-alt-icon.ui-checkbox-off:after, -html .ui-alt-icon.ui-radio-off:after, -html .ui-alt-icon .ui-checkbox-off:after, -html .ui-alt-icon .ui-radio-off:after { - background-color: #666 /*{global-icon-color}*/; - background-color: rgba(0,0,0,.15) /*{global-icon-disc}*/; -} -/* No disc */ -.ui-nodisc-icon.ui-btn:after, -.ui-nodisc-icon .ui-btn:after { - background-color: transparent; -} -/* Icon shadow */ -.ui-shadow-icon.ui-btn:after, -.ui-shadow-icon .ui-btn:after { - -webkit-box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; - -moz-box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; - box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; -} -/* Checkbox and radio */ -.ui-btn.ui-checkbox-off:after, -.ui-btn.ui-checkbox-on:after, -.ui-btn.ui-radio-off:after, -.ui-btn.ui-radio-on:after { - display: block; - width: 18px; - height: 18px; - margin: -9px 2px 0 2px; -} -.ui-checkbox-off:after, -.ui-btn.ui-radio-off:after { - filter: Alpha(Opacity=30); - opacity: .3; -} -.ui-btn.ui-checkbox-off:after, -.ui-btn.ui-checkbox-on:after { - -webkit-border-radius: .1875em; - border-radius: .1875em; -} -.ui-btn.ui-checkbox-off:after { - background-color: #666; - background-color: rgba(0,0,0,.3); -} -.ui-radio .ui-btn.ui-radio-on:after { - background-image: none; - background-color: #fff; - width: 8px; - height: 8px; - border-width: 5px; - border-style: solid; -} -.ui-alt-icon.ui-btn.ui-radio-on:after, -.ui-alt-icon .ui-btn.ui-radio-on:after { - background-color: #000; -} -/* Loader */ -.ui-icon-loading { - background: url(images/ajax-loader.gif); - background-size: 2.875em 2.875em; -} -/* Swatches */ -/* A ------------------------------------------------------------------------------------------------------------*/ -/* Bar: Toolbars, dividers, slider track */ -.ui-bar-a, -.ui-page-theme-a .ui-bar-inherit, -html .ui-bar-a .ui-bar-inherit, -html .ui-body-a .ui-bar-inherit, -html body .ui-group-theme-a .ui-bar-inherit { - background-color: #e9e9e9 /*{a-bar-background-color}*/; - border-color: #ddd /*{a-bar-border}*/; - color: #333 /*{a-bar-color}*/; - text-shadow: 0 /*{a-bar-shadow-x}*/ 1px /*{a-bar-shadow-y}*/ 0 /*{a-bar-shadow-radius}*/ #eee /*{a-bar-shadow-color}*/; - font-weight: bold; -} -.ui-bar-a { - border-width: 1px; - border-style: solid; -} -/* Page and overlay */ -.ui-overlay-a, -.ui-page-theme-a, -.ui-page-theme-a .ui-panel-wrapper { - background-color: #f9f9f9 /*{a-page-background-color}*/; - border-color: #bbb /*{a-page-border}*/; - color: #333 /*{a-page-color}*/; - text-shadow: 0 /*{a-page-shadow-x}*/ 1px /*{a-page-shadow-y}*/ 0 /*{a-page-shadow-radius}*/ #f3f3f3 /*{a-page-shadow-color}*/; -} -/* Body: Read-only lists, text inputs, collapsible content */ -.ui-body-a, -.ui-page-theme-a .ui-body-inherit, -html .ui-bar-a .ui-body-inherit, -html .ui-body-a .ui-body-inherit, -html body .ui-group-theme-a .ui-body-inherit, -html .ui-panel-page-container-a { - background-color: #fff /*{a-body-background-color}*/; - border-color: #ddd /*{a-body-border}*/; - color: #333 /*{a-body-color}*/; - text-shadow: 0 /*{a-body-shadow-x}*/ 1px /*{a-body-shadow-y}*/ 0 /*{a-body-shadow-radius}*/ #f3f3f3 /*{a-body-shadow-color}*/; -} -.ui-body-a { - border-width: 1px; - border-style: solid; -} -/* Links */ -.ui-page-theme-a a, -html .ui-bar-a a, -html .ui-body-a a, -html body .ui-group-theme-a a { - color: #3388cc /*{a-link-color}*/; - font-weight: bold; -} -.ui-page-theme-a a:visited, -html .ui-bar-a a:visited, -html .ui-body-a a:visited, -html body .ui-group-theme-a a:visited { - color: #3388cc /*{a-link-visited}*/; -} -.ui-page-theme-a a:hover, -html .ui-bar-a a:hover, -html .ui-body-a a:hover, -html body .ui-group-theme-a a:hover { - color: #005599 /*{a-link-hover}*/; -} -.ui-page-theme-a a:active, -html .ui-bar-a a:active, -html .ui-body-a a:active, -html body .ui-group-theme-a a:active { - color: #005599 /*{a-link-active}*/; -} -/* Button up */ -.ui-page-theme-a .ui-btn, -html .ui-bar-a .ui-btn, -html .ui-body-a .ui-btn, -html body .ui-group-theme-a .ui-btn, -html head + body .ui-btn.ui-btn-a, -/* Button visited */ -.ui-page-theme-a .ui-btn:visited, -html .ui-bar-a .ui-btn:visited, -html .ui-body-a .ui-btn:visited, -html body .ui-group-theme-a .ui-btn:visited, -html head + body .ui-btn.ui-btn-a:visited { - background-color: #f6f6f6 /*{a-bup-background-color}*/; - border-color: #ddd /*{a-bup-border}*/; - color: #333 /*{a-bup-color}*/; - text-shadow: 0 /*{a-bup-shadow-x}*/ 1px /*{a-bup-shadow-y}*/ 0 /*{a-bup-shadow-radius}*/ #f3f3f3 /*{a-bup-shadow-color}*/; -} -/* Button hover */ -.ui-page-theme-a .ui-btn:hover, -html .ui-bar-a .ui-btn:hover, -html .ui-body-a .ui-btn:hover, -html body .ui-group-theme-a .ui-btn:hover, -html head + body .ui-btn.ui-btn-a:hover { - background-color: #ededed /*{a-bhover-background-color}*/; - border-color: #ddd /*{a-bhover-border}*/; - color: #333 /*{a-bhover-color}*/; - text-shadow: 0 /*{a-bhover-shadow-x}*/ 1px /*{a-bhover-shadow-y}*/ 0 /*{a-bhover-shadow-radius}*/ #f3f3f3 /*{a-bhover-shadow-color}*/; -} -/* Button down */ -.ui-page-theme-a .ui-btn:active, -html .ui-bar-a .ui-btn:active, -html .ui-body-a .ui-btn:active, -html body .ui-group-theme-a .ui-btn:active, -html head + body .ui-btn.ui-btn-a:active { - background-color: #e8e8e8 /*{a-bdown-background-color}*/; - border-color: #ddd /*{a-bdown-border}*/; - color: #333 /*{a-bdown-color}*/; - text-shadow: 0 /*{a-bdown-shadow-x}*/ 1px /*{a-bdown-shadow-y}*/ 0 /*{a-bdown-shadow-radius}*/ #f3f3f3 /*{a-bdown-shadow-color}*/; -} -/* Active button */ -.ui-page-theme-a .ui-btn.ui-btn-active, -html .ui-bar-a .ui-btn.ui-btn-active, -html .ui-body-a .ui-btn.ui-btn-active, -html body .ui-group-theme-a .ui-btn.ui-btn-active, -html head + body .ui-btn.ui-btn-a.ui-btn-active, -/* Active checkbox icon */ -.ui-page-theme-a .ui-checkbox-on:after, -html .ui-bar-a .ui-checkbox-on:after, -html .ui-body-a .ui-checkbox-on:after, -html body .ui-group-theme-a .ui-checkbox-on:after, -.ui-btn.ui-checkbox-on.ui-btn-a:after, -/* Active flipswitch background */ -.ui-page-theme-a .ui-flipswitch-active, -html .ui-bar-a .ui-flipswitch-active, -html .ui-body-a .ui-flipswitch-active, -html body .ui-group-theme-a .ui-flipswitch-active, -html body .ui-flipswitch.ui-bar-a.ui-flipswitch-active, -/* Active slider track */ -.ui-page-theme-a .ui-slider-track .ui-btn-active, -html .ui-bar-a .ui-slider-track .ui-btn-active, -html .ui-body-a .ui-slider-track .ui-btn-active, -html body .ui-group-theme-a .ui-slider-track .ui-btn-active, -html body div.ui-slider-track.ui-body-a .ui-btn-active { - background-color: #3388cc /*{a-active-background-color}*/; - border-color: #3388cc /*{a-active-border}*/; - color: #fff /*{a-active-color}*/; - text-shadow: 0 /*{a-active-shadow-x}*/ 1px /*{a-active-shadow-y}*/ 0 /*{a-active-shadow-radius}*/ #005599 /*{a-active-shadow-color}*/; -} -/* Active radio button icon */ -.ui-page-theme-a .ui-radio-on:after, -html .ui-bar-a .ui-radio-on:after, -html .ui-body-a .ui-radio-on:after, -html body .ui-group-theme-a .ui-radio-on:after, -.ui-btn.ui-radio-on.ui-btn-a:after { - border-color: #3388cc /*{a-active-background-color}*/; -} -/* Focus */ -.ui-page-theme-a .ui-btn:focus, -html .ui-bar-a .ui-btn:focus, -html .ui-body-a .ui-btn:focus, -html body .ui-group-theme-a .ui-btn:focus, -html head + body .ui-btn.ui-btn-a:focus, -/* Focus buttons and text inputs with div wrap */ -.ui-page-theme-a .ui-focus, -html .ui-bar-a .ui-focus, -html .ui-body-a .ui-focus, -html body .ui-group-theme-a .ui-focus, -html head + body .ui-btn-a.ui-focus, -html head + body .ui-body-a.ui-focus { - -webkit-box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; - -moz-box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; - box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; -} -/* B ------------------------------------------------------------------------------------------------------------*/ -/* Bar: Toolbars, dividers, slider track */ -.ui-bar-b, -.ui-page-theme-b .ui-bar-inherit, -html .ui-bar-b .ui-bar-inherit, -html .ui-body-b .ui-bar-inherit, -html body .ui-group-theme-b .ui-bar-inherit { - background-color: #1d1d1d /*{b-bar-background-color}*/; - border-color: #1b1b1b /*{b-bar-border}*/; - color: #fff /*{b-bar-color}*/; - text-shadow: 0 /*{b-bar-shadow-x}*/ 1px /*{b-bar-shadow-y}*/ 0 /*{b-bar-shadow-radius}*/ #111 /*{b-bar-shadow-color}*/; - font-weight: bold; -} -.ui-bar-b { - border-width: 1px; - border-style: solid; -} -/* Page and overlay */ -.ui-overlay-b, -.ui-page-theme-b, -.ui-page-theme-b .ui-panel-wrapper { - background-color: #252525 /*{b-page-background-color}*/; - border-color: #454545 /*{b-page-border}*/; - color: #fff /*{b-page-color}*/; - text-shadow: 0 /*{b-page-shadow-x}*/ 1px /*{b-page-shadow-y}*/ 0 /*{b-page-shadow-radius}*/ #111 /*{b-page-shadow-color}*/; -} -/* Body: Read-only lists, text inputs, collapsible content */ -.ui-body-b, -.ui-page-theme-b .ui-body-inherit, -html .ui-bar-b .ui-body-inherit, -html .ui-body-b .ui-body-inherit, -html body .ui-group-theme-b .ui-body-inherit, -html .ui-panel-page-container-b { - background-color: #2a2a2a /*{b-body-background-color}*/; - border-color: #1d1d1d /*{b-body-border}*/; - color: #fff /*{b-body-color}*/; - text-shadow: 0 /*{b-body-shadow-x}*/ 1px /*{b-body-shadow-y}*/ 0 /*{b-body-shadow-radius}*/ #111 /*{b-body-shadow-color}*/; -} -.ui-body-b { - border-width: 1px; - border-style: solid; -} -/* Links */ -.ui-page-theme-b a, -html .ui-bar-b a, -html .ui-body-b a, -html body .ui-group-theme-b a { - color: #22aadd /*{b-link-color}*/; - font-weight: bold; -} -.ui-page-theme-b a:visited, -html .ui-bar-b a:visited, -html .ui-body-b a:visited, -html body .ui-group-theme-b a:visited { - color: #22aadd /*{b-link-visited}*/; -} -.ui-page-theme-b a:hover, -html .ui-bar-b a:hover, -html .ui-body-b a:hover, -html body .ui-group-theme-b a:hover { - color: #0088bb /*{b-link-hover}*/; -} -.ui-page-theme-b a:active, -html .ui-bar-b a:active, -html .ui-body-b a:active, -html body .ui-group-theme-b a:active { - color: #0088bb /*{b-link-active}*/; -} -/* Button up */ -.ui-page-theme-b .ui-btn, -html .ui-bar-b .ui-btn, -html .ui-body-b .ui-btn, -html body .ui-group-theme-b .ui-btn, -html head + body .ui-btn.ui-btn-b, -/* Button visited */ -.ui-page-theme-b .ui-btn:visited, -html .ui-bar-b .ui-btn:visited, -html .ui-body-b .ui-btn:visited, -html body .ui-group-theme-b .ui-btn:visited, -html head + body .ui-btn.ui-btn-b:visited { - background-color: #333 /*{b-bup-background-color}*/; - border-color: #1f1f1f /*{b-bup-border}*/; - color: #fff /*{b-bup-color}*/; - text-shadow: 0 /*{b-bup-shadow-x}*/ 1px /*{b-bup-shadow-y}*/ 0 /*{b-bup-shadow-radius}*/ #111 /*{b-bup-shadow-color}*/; -} -/* Button hover */ -.ui-page-theme-b .ui-btn:hover, -html .ui-bar-b .ui-btn:hover, -html .ui-body-b .ui-btn:hover, -html body .ui-group-theme-b .ui-btn:hover, -html head + body .ui-btn.ui-btn-b:hover { - background-color: #373737 /*{b-bhover-background-color}*/; - border-color: #1f1f1f /*{b-bhover-border}*/; - color: #fff /*{b-bhover-color}*/; - text-shadow: 0 /*{b-bhover-shadow-x}*/ 1px /*{b-bhover-shadow-y}*/ 0 /*{b-bhover-shadow-radius}*/ #111 /*{b-bhover-shadow-color}*/; -} -/* Button down */ -.ui-page-theme-b .ui-btn:active, -html .ui-bar-b .ui-btn:active, -html .ui-body-b .ui-btn:active, -html body .ui-group-theme-b .ui-btn:active, -html head + body .ui-btn.ui-btn-b:active { - background-color: #404040 /*{b-bdown-background-color}*/; - border-color: #1f1f1f /*{b-bdown-border}*/; - color: #fff /*{b-bdown-color}*/; - text-shadow: 0 /*{b-bdown-shadow-x}*/ 1px /*{b-bdown-shadow-y}*/ 0 /*{b-bdown-shadow-radius}*/ #111 /*{b-bdown-shadow-color}*/; -} -/* Active button */ -.ui-page-theme-b .ui-btn.ui-btn-active, -html .ui-bar-b .ui-btn.ui-btn-active, -html .ui-body-b .ui-btn.ui-btn-active, -html body .ui-group-theme-b .ui-btn.ui-btn-active, -html head + body .ui-btn.ui-btn-b.ui-btn-active, -/* Active checkbox icon */ -.ui-page-theme-b .ui-checkbox-on:after, -html .ui-bar-b .ui-checkbox-on:after, -html .ui-body-b .ui-checkbox-on:after, -html body .ui-group-theme-b .ui-checkbox-on:after, -.ui-btn.ui-checkbox-on.ui-btn-b:after, -/* Active flipswitch background */ -.ui-page-theme-b .ui-flipswitch-active, -html .ui-bar-b .ui-flipswitch-active, -html .ui-body-b .ui-flipswitch-active, -html body .ui-group-theme-b .ui-flipswitch-active, -html body .ui-flipswitch.ui-bar-b.ui-flipswitch-active, -/* Active slider track */ -.ui-page-theme-b .ui-slider-track .ui-btn-active, -html .ui-bar-b .ui-slider-track .ui-btn-active, -html .ui-body-b .ui-slider-track .ui-btn-active, -html body .ui-group-theme-b .ui-slider-track .ui-btn-active, -html body div.ui-slider-track.ui-body-b .ui-btn-active { - background-color: #22aadd /*{b-active-background-color}*/; - border-color: #22aadd /*{b-active-border}*/; - color: #fff /*{b-active-color}*/; - text-shadow: 0 /*{b-active-shadow-x}*/ 1px /*{b-active-shadow-y}*/ 0 /*{b-active-shadow-radius}*/ #0088bb /*{b-active-shadow-color}*/; -} -/* Active radio button icon */ -.ui-page-theme-b .ui-radio-on:after, -html .ui-bar-b .ui-radio-on:after, -html .ui-body-b .ui-radio-on:after, -html body .ui-group-theme-b .ui-radio-on:after, -.ui-btn.ui-radio-on.ui-btn-b:after { - border-color: #22aadd /*{b-active-background-color}*/; -} -/* Focus */ -.ui-page-theme-b .ui-btn:focus, -html .ui-bar-b .ui-btn:focus, -html .ui-body-b .ui-btn:focus, -html body .ui-group-theme-b .ui-btn:focus, -html head + body .ui-btn.ui-btn-b:focus, -/* Focus buttons and text inputs with div wrap */ -.ui-page-theme-b .ui-focus, -html .ui-bar-b .ui-focus, -html .ui-body-b .ui-focus, -html body .ui-group-theme-b .ui-focus, -html head + body .ui-btn-b.ui-focus, -html head + body .ui-body-b.ui-focus { - -webkit-box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; - -moz-box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; - box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; -} -/* Structure */ -/* Disabled ------------------------------------------------------------------------------------------------------------*/ -/* Class ui-disabled deprecated in 1.4. :disabled not supported by IE8 so we use [disabled] */ -.ui-disabled, -.ui-state-disabled, -button[disabled], -.ui-select .ui-btn.ui-state-disabled { - filter: Alpha(Opacity=30); - opacity: .3; - cursor: default !important; - pointer-events: none; -} -/* Focus state outline ------------------------------------------------------------------------------------------------------------*/ -.ui-btn:focus, -.ui-btn.ui-focus { - outline: 0; -} -/* Unset box-shadow in browsers that don't do it right */ -.ui-noboxshadow .ui-shadow, -.ui-noboxshadow .ui-shadow-inset, -.ui-noboxshadow .ui-overlay-shadow, -.ui-noboxshadow .ui-shadow-icon.ui-btn:after, -.ui-noboxshadow .ui-shadow-icon .ui-btn:after, -.ui-noboxshadow .ui-focus, -.ui-noboxshadow .ui-btn:focus, -.ui-noboxshadow input:focus, -.ui-noboxshadow .ui-panel { - -webkit-box-shadow: none !important; - -moz-box-shadow: none !important; - box-shadow: none !important; -} -.ui-noboxshadow .ui-btn:focus, -.ui-noboxshadow .ui-focus { - outline-width: 1px; - outline-style: auto; -} -/* Some unsets */ -.ui-mobile, -.ui-mobile body { - height: 99.9%; -} -.ui-mobile fieldset, -.ui-page { - padding: 0; - margin: 0; -} -.ui-mobile a img, -.ui-mobile fieldset { - border-width: 0; -} -/* Fixes for fieldset issues on IE10 and FF (see #6077) */ -.ui-mobile fieldset { - min-width: 0; -} -@-moz-document url-prefix() { - .ui-mobile fieldset { - display: table-column; - vertical-align: middle; - } -} -/* Viewport */ -.ui-mobile-viewport { - margin: 0; - overflow-x: visible; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust:none; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} -/* Issue #2066 */ -body.ui-mobile-viewport, -div.ui-mobile-viewport { - overflow-x: hidden; -} -/* "page" containers - full-screen views, one should always be in view post-pageload */ -.ui-mobile [data-role=page], -.ui-mobile [data-role=dialog], -.ui-page { - top: 0; - left: 0; - width: 100%; - min-height: 100%; - position: absolute; - display: none; - border: 0; -} -/* On ios4, setting focus on the page element causes flashing during transitions when there is an outline, so we turn off outlines */ -.ui-page { - outline: none; -} -.ui-mobile .ui-page-active { - display: block; - overflow: visible; - overflow-x: hidden; -} -@media screen and (orientation: portrait) { - .ui-mobile .ui-page { - min-height: 420px; - } -} -@media screen and (orientation: landscape) { - .ui-mobile .ui-page { - min-height: 300px; - } -} -/* Fouc */ -.ui-mobile-rendering > * { - visibility: hidden; -} -/* Non-js content hiding */ -.ui-nojs { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -/* Loading screen */ -.ui-loading .ui-loader { - display: block; -} -.ui-loader { - display: none; - z-index: 9999999; - position: fixed; - top: 50%; - left: 50%; - border:0; -} -.ui-loader-default { - background: none; - filter: Alpha(Opacity=18); - opacity: .18; - width: 2.875em; - height: 2.875em; - margin-left: -1.4375em; - margin-top: -1.4375em; -} -.ui-loader-verbose { - width: 12.5em; - filter: Alpha(Opacity=88); - opacity: .88; - box-shadow: 0 1px 1px -1px #fff; - height: auto; - margin-left: -6.875em; - margin-top: -2.6875em; - padding: .625em; -} -.ui-loader-default h1 { - font-size: 0; - width: 0; - height: 0; - overflow: hidden; -} -.ui-loader-verbose h1 { - font-size: 1em; - margin: 0; - text-align: center; -} -.ui-loader .ui-icon-loading { - background-color: #000; - display: block; - margin: 0; - width: 2.75em; - height: 2.75em; - padding: .0625em; - -webkit-border-radius: 2.25em; - border-radius: 2.25em; -} -.ui-loader-verbose .ui-icon-loading { - margin: 0 auto .625em; - filter: Alpha(Opacity=75); - opacity: .75; -} -.ui-loader-textonly { - padding: .9375em; - margin-left: -7.1875em; -} -.ui-loader-textonly .ui-icon-loading { - display: none; -} -.ui-loader-fakefix { - position: absolute; -} -/* Headers, content panels */ -.ui-bar, -.ui-body { - position: relative; - padding: .4em 1em; - overflow: hidden; - display: block; - clear: both; -} -.ui-bar h1, -.ui-bar h2, -.ui-bar h3, -.ui-bar h4, -.ui-bar h5, -.ui-bar h6 { - margin: 0; - padding: 0; - font-size: 1em; - display: inline-block; -} -.ui-header, -.ui-footer { - border-width: 1px 0; - border-style: solid; - position: relative; -} -.ui-header:empty, -.ui-footer:empty { - min-height: 2.6875em; -} -.ui-header .ui-title, -.ui-footer .ui-title { - font-size: 1em; - min-height: 1.1em; - text-align: center; - display: block; - margin: 0 30%; - padding: .7em 0; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; - outline: 0 !important; -} -.ui-footer .ui-title { - margin: 0 1em; -} -.ui-content { - border-width: 0; - overflow: visible; - overflow-x: hidden; - padding: 1em; -} -/* Corner styling for dialogs and popups */ -.ui-corner-all > .ui-header:first-child, -.ui-corner-all > .ui-content:first-child, -.ui-corner-all > .ui-footer:first-child { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; -} -.ui-corner-all > .ui-header:last-child, -.ui-corner-all > .ui-content:last-child, -.ui-corner-all > .ui-footer:last-child { - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -/* Buttons and icons */ -.ui-btn { - font-size: 16px; - margin: .5em 0; - padding: .7em 1em; - display: block; - position: relative; - text-align: center; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.ui-btn-icon-notext, -.ui-header button.ui-btn.ui-btn-icon-notext, -.ui-footer button.ui-btn.ui-btn-icon-notext { - padding: 0; - width: 1.75em; - height: 1.75em; - text-indent: -9999px; - white-space: nowrap !important; -} -.ui-mini { - font-size: 12.5px; -} -.ui-mini .ui-btn { - font-size: inherit; -} -/* Make buttons in toolbars default to mini and inline. */ -.ui-header .ui-btn, -.ui-footer .ui-btn { - font-size: 12.5px; - display: inline-block; - vertical-align: middle; -} -.ui-header .ui-controlgroup .ui-btn-icon-notext, -.ui-footer .ui-controlgroup .ui-btn-icon-notext { - font-size: 12.5px; -} -/* To ensure same top and left/right position when ui-btn-left/right are added to something other than buttons. */ -.ui-header .ui-btn-left, -.ui-header .ui-btn-right { - font-size: 12.5px; -} -.ui-mini.ui-btn-icon-notext, -.ui-mini .ui-btn-icon-notext, -.ui-header .ui-btn-icon-notext, -.ui-footer .ui-btn-icon-notext { - font-size: 16px; - padding: 0; -} -.ui-btn-inline { - display: inline-block; - vertical-align: middle; - margin-right: .625em; -} -.ui-btn-icon-left { - padding-left: 2.5em; -} -.ui-btn-icon-right { - padding-right: 2.5em; -} -.ui-btn-icon-top { - padding-top: 2.5em; -} -.ui-btn-icon-bottom { - padding-bottom: 2.5em; -} -.ui-header .ui-btn-icon-top, -.ui-footer .ui-btn-icon-top, -.ui-header .ui-btn-icon-bottom, -.ui-footer .ui-btn-icon-bottom { - padding-left: .3125em; - padding-right: .3125em; -} -.ui-btn-icon-left:after, -.ui-btn-icon-right:after, -.ui-btn-icon-top:after, -.ui-btn-icon-bottom:after, -.ui-btn-icon-notext:after { - content: ""; - position: absolute; - display: block; - width: 22px; - height: 22px; -} -.ui-btn-icon-notext:after, -.ui-btn-icon-left:after, -.ui-btn-icon-right:after { - top: 50%; - margin-top: -11px; -} -.ui-btn-icon-left:after { - left: .5625em; -} -.ui-btn-icon-right:after { - right: .5625em; -} -.ui-mini.ui-btn-icon-left:after, -.ui-mini .ui-btn-icon-left:after, -.ui-header .ui-btn-icon-left:after, -.ui-footer .ui-btn-icon-left:after { - left: .37em; -} -.ui-mini.ui-btn-icon-right:after, -.ui-mini .ui-btn-icon-right:after, -.ui-header .ui-btn-icon-right:after, -.ui-footer .ui-btn-icon-right:after { - right: .37em; -} -.ui-btn-icon-notext:after, -.ui-btn-icon-top:after, -.ui-btn-icon-bottom:after { - left: 50%; - margin-left: -11px; -} -.ui-btn-icon-top:after { - top: .5625em; -} -.ui-btn-icon-bottom:after { - top: auto; - bottom: .5625em; -} -/* Buttons in header position classes */ -.ui-header .ui-btn-left, -.ui-header .ui-btn-right, -.ui-btn-left > [class*="ui-"], -.ui-btn-right > [class*="ui-"] { - margin: 0; -} -.ui-btn-left, -.ui-btn-right { - position: absolute; - top: .24em; -} -.ui-btn-left { - left: .4em; -} -.ui-btn-right { - right: .4em; -} -.ui-btn-icon-notext.ui-btn-left { - top: .3125em; - left: .3125em; -} -.ui-btn-icon-notext.ui-btn-right { - top: .3125em; - right: .3125em; -} -/* Button elements */ -button.ui-btn, -.ui-controlgroup-controls button.ui-btn-icon-notext { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - -webkit-appearance: none; - -moz-appearance: none; - width: 100%; -} -button.ui-btn-inline, -.ui-header button.ui-btn, -.ui-footer button.ui-btn { - width: auto; -} -/* Firefox adds a 1px border in a button element. We negate this to make sure they have the same height as other buttons in controlgroups. */ -button.ui-btn::-moz-focus-inner { - border: 0; -} -button.ui-btn-icon-notext, -.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn { - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; - width: 1.75em; -} -/* Form labels */ -.ui-mobile label, -.ui-controlgroup-label { - display: block; - margin: 0 0 .4em; -} -/* Accessible content hiding */ -/* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */ -.ui-hide-label > label, -.ui-hide-label .ui-controlgroup-label, -.ui-hide-label .ui-rangeslider label, -.ui-hidden-accessible { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -/* Used for hiding elements by the filterable widget. You can also use this class to hide list items or buttons in controlgroups; this ensures correct corner styling. */ -.ui-screen-hidden { - display: none !important; -} -/* Transitions originally inspired by those from jQtouch, nice work, folks */ -.ui-mobile-viewport-transitioning, -.ui-mobile-viewport-transitioning .ui-page { - width: 100%; - height: 100%; - overflow: hidden; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.ui-page-pre-in { - opacity: 0; -} -.in { - -webkit-animation-timing-function: ease-out; - -webkit-animation-duration: 350ms; - -moz-animation-timing-function: ease-out; - -moz-animation-duration: 350ms; - animation-timing-function: ease-out; - animation-duration: 350ms; -} -.out { - -webkit-animation-timing-function: ease-in; - -webkit-animation-duration: 225ms; - -moz-animation-timing-function: ease-in; - -moz-animation-duration: 225ms; - animation-timing-function: ease-in; - animation-duration: 225ms; -} -@-webkit-keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } -} -@-moz-keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } -} -@keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } -} -@-webkit-keyframes fadeout { - from { opacity: 1; } - to { opacity: 0; } -} -@-moz-keyframes fadeout { - from { opacity: 1; } - to { opacity: 0; } -} -@keyframes fadeout { - from { opacity: 1; } - to { opacity: 0; } -} -.fade.out { - opacity: 0; - -webkit-animation-duration: 125ms; - -webkit-animation-name: fadeout; - -moz-animation-duration: 125ms; - -moz-animation-name: fadeout; - animation-duration: 125ms; - animation-name: fadeout; -} -.fade.in { - opacity: 1; - -webkit-animation-duration: 225ms; - -webkit-animation-name: fadein; - -moz-animation-duration: 225ms; - -moz-animation-name: fadein; - animation-duration: 225ms; - animation-name: fadein; -} -.pop { - -webkit-transform-origin: 50% 50%; - -moz-transform-origin: 50% 50%; - transform-origin: 50% 50%; -} -.pop.in { - -webkit-transform: scale(1); - -webkit-animation-name: popin; - -webkit-animation-duration: 350ms; - -moz-transform: scale(1); - -moz-animation-name: popin; - -moz-animation-duration: 350ms; - transform: scale(1); - animation-name: popin; - animation-duration: 350ms; - opacity: 1; -} -.pop.out { - -webkit-animation-name: fadeout; - -webkit-animation-duration: 100ms; - -moz-animation-name: fadeout; - -moz-animation-duration: 100ms; - animation-name: fadeout; - animation-duration: 100ms; - opacity: 0; -} -.pop.in.reverse { - -webkit-animation-name: fadein; - -moz-animation-name: fadein; - animation-name: fadein; -} -.pop.out.reverse { - -webkit-transform: scale(.8); - -webkit-animation-name: popout; - -moz-transform: scale(.8); - -moz-animation-name: popout; - transform: scale(.8); - animation-name: popout; -} -@-webkit-keyframes popin { - from { - -webkit-transform: scale(.8); - opacity: 0; - } - to { - -webkit-transform: scale(1); - opacity: 1; - } -} -@-moz-keyframes popin { - from { - -moz-transform: scale(.8); - opacity: 0; - } - to { - -moz-transform: scale(1); - opacity: 1; - } -} -@keyframes popin { - from { - transform: scale(.8); - opacity: 0; - } - to { - transform: scale(1); - opacity: 1; - } -} -@-webkit-keyframes popout { - from { - -webkit-transform: scale(1); - opacity: 1; - } - to { - -webkit-transform: scale(.8); - opacity: 0; - } -} -@-moz-keyframes popout { - from { - -moz-transform: scale(1); - opacity: 1; - } - to { - -moz-transform: scale(.8); - opacity: 0; - } -} -@keyframes popout { - from { - transform: scale(1); - opacity: 1; - } - to { - transform: scale(.8); - opacity: 0; - } -} -/* keyframes for slidein from sides */ -@-webkit-keyframes slideinfromright { - from { -webkit-transform: translate3d(100%,0,0); } - to { -webkit-transform: translate3d(0,0,0); } -} -@-moz-keyframes slideinfromright { - from { -moz-transform: translateX(100%); } - to { -moz-transform: translateX(0); } -} -@keyframes slideinfromright { - from { transform: translateX(100%); } - to { transform: translateX(0); } -} -@-webkit-keyframes slideinfromleft { - from { -webkit-transform: translate3d(-100%,0,0); } - to { -webkit-transform: translate3d(0,0,0); } -} -@-moz-keyframes slideinfromleft { - from { -moz-transform: translateX(-100%); } - to { -moz-transform: translateX(0); } -} -@keyframes slideinfromleft { - from { transform: translateX(-100%); } - to { transform: translateX(0); } -} -/* keyframes for slideout to sides */ -@-webkit-keyframes slideouttoleft { - from { -webkit-transform: translate3d(0,0,0); } - to { -webkit-transform: translate3d(-100%,0,0); } -} -@-moz-keyframes slideouttoleft { - from { -moz-transform: translateX(0); } - to { -moz-transform: translateX(-100%); } -} -@keyframes slideouttoleft { - from { transform: translateX(0); } - to { transform: translateX(-100%); } -} -@-webkit-keyframes slideouttoright { - from { -webkit-transform: translate3d(0,0,0); } - to { -webkit-transform: translate3d(100%,0,0); } -} -@-moz-keyframes slideouttoright { - from { -moz-transform: translateX(0); } - to { -moz-transform: translateX(100%); } -} -@keyframes slideouttoright { - from { transform: translateX(0); } - to { transform: translateX(100%); } -} -.slide.out, .slide.in { - -webkit-animation-timing-function: ease-out; - -webkit-animation-duration: 350ms; - -moz-animation-timing-function: ease-out; - -moz-animation-duration: 350ms; - animation-timing-function: ease-out; - animation-duration: 350ms; -} -.slide.out { - -webkit-transform: translate3d(-100%,0,0); - -webkit-animation-name: slideouttoleft; - -moz-transform: translateX(-100%); - -moz-animation-name: slideouttoleft; - transform: translateX(-100%); - animation-name: slideouttoleft; -} -.slide.in { - -webkit-transform: translate3d(0,0,0); - -webkit-animation-name: slideinfromright; - -moz-transform: translateX(0); - -moz-animation-name: slideinfromright; - transform: translateX(0); - animation-name: slideinfromright; -} -.slide.out.reverse { - -webkit-transform: translate3d(100%,0,0); - -webkit-animation-name: slideouttoright; - -moz-transform: translateX(100%); - -moz-animation-name: slideouttoright; - transform: translateX(100%); - animation-name: slideouttoright; -} -.slide.in.reverse { - -webkit-transform: translate3d(0,0,0); - -webkit-animation-name: slideinfromleft; - -moz-transform: translateX(0); - -moz-animation-name: slideinfromleft; - transform: translateX(0); - animation-name: slideinfromleft; -} -.slidefade.out { - -webkit-transform: translateX(-100%); - -webkit-animation-name: slideouttoleft; - -webkit-animation-duration: 225ms; - -moz-transform: translateX(-100%); - -moz-animation-name: slideouttoleft; - -moz-animation-duration: 225ms; - transform: translateX(-100%); - animation-name: slideouttoleft; - animation-duration: 225ms; -} -.slidefade.in { - -webkit-transform: translateX(0); - -webkit-animation-name: fadein; - -webkit-animation-duration: 200ms; - -moz-transform: translateX(0); - -moz-animation-name: fadein; - -moz-animation-duration: 200ms; - transform: translateX(0); - animation-name: fadein; - animation-duration: 200ms; -} -.slidefade.out.reverse { - -webkit-transform: translateX(100%); - -webkit-animation-name: slideouttoright; - -webkit-animation-duration: 200ms; - -moz-transform: translateX(100%); - -moz-animation-name: slideouttoright; - -moz-animation-duration: 200ms; - transform: translateX(100%); - animation-name: slideouttoright; - animation-duration: 200ms; -} -.slidefade.in.reverse { - -webkit-transform: translateX(0); - -webkit-animation-name: fadein; - -webkit-animation-duration: 200ms; - -moz-transform: translateX(0); - -moz-animation-name: fadein; - -moz-animation-duration: 200ms; - transform: translateX(0); - animation-name: fadein; - animation-duration: 200ms; -} -/* slide down */ -.slidedown.out { - -webkit-animation-name: fadeout; - -webkit-animation-duration: 100ms; - -moz-animation-name: fadeout; - -moz-animation-duration: 100ms; - animation-name: fadeout; - animation-duration: 100ms; -} -.slidedown.in { - -webkit-transform: translateY(0); - -webkit-animation-name: slideinfromtop; - -webkit-animation-duration: 250ms; - -moz-transform: translateY(0); - -moz-animation-name: slideinfromtop; - -moz-animation-duration: 250ms; - transform: translateY(0); - animation-name: slideinfromtop; - animation-duration: 250ms; -} -.slidedown.in.reverse { - -webkit-animation-name: fadein; - -webkit-animation-duration: 150ms; - -moz-animation-name: fadein; - -moz-animation-duration: 150ms; - animation-name: fadein; - animation-duration: 150ms; -} -.slidedown.out.reverse { - -webkit-transform: translateY(-100%); - -webkit-animation-name: slideouttotop; - -webkit-animation-duration: 200ms; - -moz-transform: translateY(-100%); - -moz-animation-name: slideouttotop; - -moz-animation-duration: 200ms; - transform: translateY(-100%); - animation-name: slideouttotop; - animation-duration: 200ms; -} -@-webkit-keyframes slideinfromtop { - from { -webkit-transform: translateY(-100%); } - to { -webkit-transform: translateY(0); } -} -@-moz-keyframes slideinfromtop { - from { -moz-transform: translateY(-100%); } - to { -moz-transform: translateY(0); } -} -@keyframes slideinfromtop { - from { transform: translateY(-100%); } - to { transform: translateY(0); } -} -@-webkit-keyframes slideouttotop { - from { -webkit-transform: translateY(0); } - to { -webkit-transform: translateY(-100%); } -} -@-moz-keyframes slideouttotop { - from { -moz-transform: translateY(0); } - to { -moz-transform: translateY(-100%); } -} -@keyframes slideouttotop { - from { transform: translateY(0); } - to { transform: translateY(-100%); } -} -/* slide up */ -.slideup.out { - -webkit-animation-name: fadeout; - -webkit-animation-duration: 100ms; - -moz-animation-name: fadeout; - -moz-animation-duration: 100ms; - animation-name: fadeout; - animation-duration: 100ms; -} -.slideup.in { - -webkit-transform: translateY(0); - -webkit-animation-name: slideinfrombottom; - -webkit-animation-duration: 250ms; - -moz-transform: translateY(0); - -moz-animation-name: slideinfrombottom; - -moz-animation-duration: 250ms; - transform: translateY(0); - animation-name: slideinfrombottom; - animation-duration: 250ms; -} -.slideup.in.reverse { - -webkit-animation-name: fadein; - -webkit-animation-duration: 150ms; - -moz-animation-name: fadein; - -moz-animation-duration: 150ms; - animation-name: fadein; - animation-duration: 150ms; -} -.slideup.out.reverse { - -webkit-transform: translateY(100%); - -webkit-animation-name: slideouttobottom; - -webkit-animation-duration: 200ms; - -moz-transform: translateY(100%); - -moz-animation-name: slideouttobottom; - -moz-animation-duration: 200ms; - transform: translateY(100%); - animation-name: slideouttobottom; - animation-duration: 200ms; -} -@-webkit-keyframes slideinfrombottom { - from { -webkit-transform: translateY(100%); } - to { -webkit-transform: translateY(0); } -} -@-moz-keyframes slideinfrombottom { - from { -moz-transform: translateY(100%); } - to { -moz-transform: translateY(0); } -} -@keyframes slideinfrombottom { - from { transform: translateY(100%); } - to { transform: translateY(0); } -} -@-webkit-keyframes slideouttobottom { - from { -webkit-transform: translateY(0); } - to { -webkit-transform: translateY(100%); } -} -@-moz-keyframes slideouttobottom { - from { -moz-transform: translateY(0); } - to { -moz-transform: translateY(100%); } -} -@keyframes slideouttobottom { - from { transform: translateY(0); } - to { transform: translateY(100%); } -} -/* The properties in this rule are only necessary for the 'flip' transition. - * We need specify the perspective to create a projection matrix. This will add - * some depth as the element flips. The depth number represents the distance of - * the viewer from the z-plane. According to the CSS3 spec, 1000 is a moderate - * value. - */ -.viewport-flip { - -webkit-perspective: 1000; - -moz-perspective: 1000; - perspective: 1000; - position: absolute; -} -.flip { - -webkit-backface-visibility: hidden; - -webkit-transform: translateX(0); /* Needed to work around an iOS 3.1 bug that causes listview thumbs to disappear when -webkit-visibility:hidden is used. */ - -moz-backface-visibility: hidden; - -moz-transform: translateX(0); - backface-visibility: hidden; - transform: translateX(0); -} -.flip.out { - -webkit-transform: rotateY(-90deg) scale(.9); - -webkit-animation-name: flipouttoleft; - -webkit-animation-duration: 175ms; - -moz-transform: rotateY(-90deg) scale(.9); - -moz-animation-name: flipouttoleft; - -moz-animation-duration: 175ms; - transform: rotateY(-90deg) scale(.9); - animation-name: flipouttoleft; - animation-duration: 175ms; -} -.flip.in { - -webkit-animation-name: flipintoright; - -webkit-animation-duration: 225ms; - -moz-animation-name: flipintoright; - -moz-animation-duration: 225ms; - animation-name: flipintoright; - animation-duration: 225ms; -} -.flip.out.reverse { - -webkit-transform: rotateY(90deg) scale(.9); - -webkit-animation-name: flipouttoright; - -moz-transform: rotateY(90deg) scale(.9); - -moz-animation-name: flipouttoright; - transform: rotateY(90deg) scale(.9); - animation-name: flipouttoright; -} -.flip.in.reverse { - -webkit-animation-name: flipintoleft; - -moz-animation-name: flipintoleft; - animation-name: flipintoleft; -} -@-webkit-keyframes flipouttoleft { - from { -webkit-transform: rotateY(0); } - to { -webkit-transform: rotateY(-90deg) scale(.9); } -} -@-moz-keyframes flipouttoleft { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(-90deg) scale(.9); } -} -@keyframes flipouttoleft { - from { transform: rotateY(0); } - to { transform: rotateY(-90deg) scale(.9); } -} -@-webkit-keyframes flipouttoright { - from { -webkit-transform: rotateY(0) ; } - to { -webkit-transform: rotateY(90deg) scale(.9); } -} -@-moz-keyframes flipouttoright { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(90deg) scale(.9); } -} -@keyframes flipouttoright { - from { transform: rotateY(0); } - to { transform: rotateY(90deg) scale(.9); } -} -@-webkit-keyframes flipintoleft { - from { -webkit-transform: rotateY(-90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoleft { - from { -moz-transform: rotateY(-90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoleft { - from { transform: rotateY(-90deg) scale(.9); } - to { transform: rotateY(0); } -} -@-webkit-keyframes flipintoright { - from { -webkit-transform: rotateY(90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoright { - from { -moz-transform: rotateY(90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoright { - from { transform: rotateY(90deg) scale(.9); } - to { transform: rotateY(0); } -} -/* The properties in this rule are only necessary for the 'flip' transition. - * We need specify the perspective to create a projection matrix. This will add - * some depth as the element flips. The depth number represents the distance of - * the viewer from the z-plane. According to the CSS3 spec, 1000 is a moderate - * value. - */ -.viewport-turn { - -webkit-perspective: 200px; - -moz-perspective: 200px; - -ms-perspective: 200px; - perspective: 200px; - position: absolute; -} -.turn { - -webkit-backface-visibility: hidden; - -webkit-transform: translateX(0); /* Needed to work around an iOS 3.1 bug that causes listview thumbs to disappear when -webkit-visibility:hidden is used. */ - -webkit-transform-origin: 0; - - -moz-backface-visibility: hidden; - -moz-transform: translateX(0); - -moz-transform-origin: 0; - - backface-visibility :hidden; - transform: translateX(0); - transform-origin: 0; -} -.turn.out { - -webkit-transform: rotateY(-90deg) scale(.9); - -webkit-animation-name: flipouttoleft; - -webkit-animation-duration: 125ms; - -moz-transform: rotateY(-90deg) scale(.9); - -moz-animation-name: flipouttoleft; - -moz-animation-duration: 125ms; - transform: rotateY(-90deg) scale(.9); - animation-name: flipouttoleft; - animation-duration: 125ms; -} -.turn.in { - -webkit-animation-name: flipintoright; - -webkit-animation-duration: 250ms; - -moz-animation-name: flipintoright; - -moz-animation-duration: 250ms; - animation-name: flipintoright; - animation-duration: 250ms; - -} -.turn.out.reverse { - -webkit-transform: rotateY(90deg) scale(.9); - -webkit-animation-name: flipouttoright; - -moz-transform: rotateY(90deg) scale(.9); - -moz-animation-name: flipouttoright; - transform: rotateY(90deg) scale(.9); - animation-name: flipouttoright; -} -.turn.in.reverse { - -webkit-animation-name: flipintoleft; - -moz-animation-name: flipintoleft; - animation-name: flipintoleft; -} -@-webkit-keyframes flipouttoleft { - from { -webkit-transform: rotateY(0); } - to { -webkit-transform: rotateY(-90deg) scale(.9); } -} -@-moz-keyframes flipouttoleft { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(-90deg) scale(.9); } -} -@keyframes flipouttoleft { - from { transform: rotateY(0); } - to { transform: rotateY(-90deg) scale(.9); } -} -@-webkit-keyframes flipouttoright { - from { -webkit-transform: rotateY(0) ; } - to { -webkit-transform: rotateY(90deg) scale(.9); } -} -@-moz-keyframes flipouttoright { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(90deg) scale(.9); } -} -@keyframes flipouttoright { - from { transform: rotateY(0); } - to { transform: rotateY(90deg) scale(.9); } -} -@-webkit-keyframes flipintoleft { - from { -webkit-transform: rotateY(-90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoleft { - from { -moz-transform: rotateY(-90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoleft { - from { transform: rotateY(-90deg) scale(.9); } - to { transform: rotateY(0); } -} -@-webkit-keyframes flipintoright { - from { -webkit-transform: rotateY(90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoright { - from { -moz-transform: rotateY(90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoright { - from { transform: rotateY(90deg) scale(.9); } - to { transform: rotateY(0); } -} -/* flow transition */ -.flow { - -webkit-transform-origin: 50% 30%; - -webkit-box-shadow: 0 0 20px rgba(0,0,0,.4); - -moz-transform-origin: 50% 30%; - -moz-box-shadow: 0 0 20px rgba(0,0,0,.4); - transform-origin: 50% 30%; - box-shadow: 0 0 20px rgba(0,0,0,.4); -} -.ui-dialog.flow { - -webkit-transform-origin: none; - -webkit-box-shadow: none; - -moz-transform-origin: none; - -moz-box-shadow: none; - transform-origin: none; - box-shadow: none; -} -.flow.out { - -webkit-transform: translateX(-100%) scale(.7); - -webkit-animation-name: flowouttoleft; - -webkit-animation-timing-function: ease; - -webkit-animation-duration: 350ms; - -moz-transform: translateX(-100%) scale(.7); - -moz-animation-name: flowouttoleft; - -moz-animation-timing-function: ease; - -moz-animation-duration: 350ms; - transform: translateX(-100%) scale(.7); - animation-name: flowouttoleft; - animation-timing-function: ease; - animation-duration: 350ms; -} -.flow.in { - -webkit-transform: translateX(0) scale(1); - -webkit-animation-name: flowinfromright; - -webkit-animation-timing-function: ease; - -webkit-animation-duration: 350ms; - -moz-transform: translateX(0) scale(1); - -moz-animation-name: flowinfromright; - -moz-animation-timing-function: ease; - -moz-animation-duration: 350ms; - transform: translateX(0) scale(1); - animation-name: flowinfromright; - animation-timing-function: ease; - animation-duration: 350ms; -} -.flow.out.reverse { - -webkit-transform: translateX(100%); - -webkit-animation-name: flowouttoright; - -moz-transform: translateX(100%); - -moz-animation-name: flowouttoright; - transform: translateX(100%); - animation-name: flowouttoright; -} -.flow.in.reverse { - -webkit-animation-name: flowinfromleft; - -moz-animation-name: flowinfromleft; - animation-name: flowinfromleft; -} -@-webkit-keyframes flowouttoleft { - 0% { -webkit-transform: translateX(0) scale(1); } - 60%, 70% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(-100%) scale(.7); } -} -@-moz-keyframes flowouttoleft { - 0% { -moz-transform: translateX(0) scale(1); } - 60%, 70% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(-100%) scale(.7); } -} -@keyframes flowouttoleft { - 0% { transform: translateX(0) scale(1); } - 60%, 70% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(-100%) scale(.7); } -} -@-webkit-keyframes flowouttoright { - 0% { -webkit-transform: translateX(0) scale(1); } - 60%, 70% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(100%) scale(.7); } -} -@-moz-keyframes flowouttoright { - 0% { -moz-transform: translateX(0) scale(1); } - 60%, 70% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(100%) scale(.7); } -} -@keyframes flowouttoright { - 0% { transform: translateX(0) scale(1); } - 60%, 70% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(100%) scale(.7); } -} -@-webkit-keyframes flowinfromleft { - 0% { -webkit-transform: translateX(-100%) scale(.7); } - 30%, 40% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(0) scale(1); } -} -@-moz-keyframes flowinfromleft { - 0% { -moz-transform: translateX(-100%) scale(.7); } - 30%, 40% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(0) scale(1); } -} -@keyframes flowinfromleft { - 0% { transform: translateX(-100%) scale(.7); } - 30%, 40% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(0) scale(1); } -} -@-webkit-keyframes flowinfromright { - 0% { -webkit-transform: translateX(100%) scale(.7); } - 30%, 40% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(0) scale(1); } -} -@-moz-keyframes flowinfromright { - 0% { -moz-transform: translateX(100%) scale(.7); } - 30%, 40% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(0) scale(1); } -} -@keyframes flowinfromright { - 0% { transform: translateX(100%) scale(.7); } - 30%, 40% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(0) scale(1); } -} -.ui-field-contain, -.ui-mobile fieldset.ui-field-contain { - display: block; - position: relative; - overflow: visible; - clear: both; - padding: .8em 0; -} -.ui-field-contain > label ~ [class*="ui-"], -.ui-field-contain .ui-controlgroup-controls { - margin: 0; -} -.ui-field-contain:last-child { - border-bottom-width: 0; -} -@media (min-width: 28em) { - .ui-field-contain, - .ui-mobile fieldset.ui-field-contain { - padding: 0; - margin: 1em 0; - border-bottom-width: 0; - } - .ui-field-contain:before, - .ui-field-contain:after { - content: ""; - display: table; - } - .ui-field-contain:after { - clear: both; - } - .ui-field-contain > label, - .ui-field-contain .ui-controlgroup-label, - .ui-field-contain > .ui-rangeslider > label { - float: left; - width: 20%; - margin: .5em 2% 0 0; - } - .ui-popup .ui-field-contain > label, - .ui-popup .ui-field-contain .ui-controlgroup-label, - .ui-popup .ui-field-contain > .ui-rangeslider > label { - float: none; - width: auto; - margin: 0 0 .4em; - } - .ui-field-contain > label ~ [class*="ui-"], - .ui-field-contain .ui-controlgroup-controls { - float: left; - width: 78%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - } - /* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */ - .ui-hide-label > label ~ [class*="ui-"], - .ui-hide-label .ui-controlgroup-controls, - .ui-popup .ui-field-contain > label ~ [class*="ui-"], - .ui-popup .ui-field-contain .ui-controlgroup-controls { - float: none; - width: 100%; - } - .ui-field-contain > label ~ .ui-btn-inline { - width: auto; - margin-right: .625em; - } - .ui-field-contain > label ~ .ui-btn-inline.ui-btn-icon-notext { - width: 1.75em; - } -} -/* content configurations. */ -.ui-grid-a, -.ui-grid-b, -.ui-grid-c, -.ui-grid-d, -.ui-grid-solo { - overflow: hidden; -} -.ui-block-a, -.ui-block-b, -.ui-block-c, -.ui-block-d, -.ui-block-e { - margin: 0; - padding: 0; - border: 0; - float: left; - min-height: 1px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -/* force new row */ -.ui-block-a { - clear: left; -} -ul.ui-grid-a, -ul.ui-grid-b, -ul.ui-grid-c, -ul.ui-grid-d, -ul.ui-grid-solo, -li.ui-block-a, -li.ui-block-b, -li.ui-block-c, -li.ui-block-d, -li.ui-block-e { - margin-left: 0; - margin-right: 0; - padding: 0; - list-style: none; -} -/* No margin in grids for 100% width button elements until we can use max-width: fill-available; */ -[class*="ui-block-"] > button.ui-btn { - margin-right: 0; - margin-left: 0; -} -[class*="ui-block-"] > .ui-btn, -[class*="ui-block-"] > .ui-select, -[class*="ui-block-"] > .ui-checkbox, -[class*="ui-block-"] > .ui-radio, -[class*="ui-block-"] > button.ui-btn-inline, -[class*="ui-block-"] > button.ui-btn-icon-notext, -.ui-header [class*="ui-block-"] > button.ui-btn, -.ui-footer [class*="ui-block-"] > button.ui-btn { - margin-right: .3125em; - margin-left: .3125em; -} -.ui-grid-a > .ui-block-a, -.ui-grid-a > .ui-block-b { - /* width: 49.95%; IE7 */ - /* margin-right: -.5px; BB5 */ - width: 50%; -} -.ui-grid-b > .ui-block-a, -.ui-grid-b > .ui-block-b, -.ui-grid-b > .ui-block-c { - /* width: 33.25%; IE7 */ - /* margin-right: -.5px; BB5 */ - width: 33.333%; -} -.ui-grid-c > .ui-block-a, -.ui-grid-c > .ui-block-b, -.ui-grid-c > .ui-block-c, -.ui-grid-c > .ui-block-d { - /* width: 24.925%; IE7 */ - /* margin-right: -.5px; BB5 */ - width: 25%; -} -.ui-grid-d > .ui-block-a, -.ui-grid-d > .ui-block-b, -.ui-grid-d > .ui-block-c, -.ui-grid-d > .ui-block-d, -.ui-grid-d > .ui-block-e { - /* width: 19.925%; IE7 */ - width: 20%; -} -.ui-grid-solo > .ui-block-a { - width: 100%; - float: none; -} -/* preset breakpoint to switch to stacked grid styles below 35em (560px) */ -@media (max-width: 35em) { - .ui-responsive > .ui-block-a, - .ui-responsive > .ui-block-b, - .ui-responsive > .ui-block-c, - .ui-responsive > .ui-block-d, - .ui-responsive > .ui-block-e { - width: 100%; - float: none; - } -} -/* fixed page header & footer configuration */ -.ui-header-fixed, -.ui-footer-fixed { - left: 0; - right: 0; - width: 100%; - position: fixed; - z-index: 1000; -} -.ui-header-fixed { - top: -1px; - padding-top: 1px; -} -.ui-header-fixed.ui-fixed-hidden { - top: 0; - padding-top: 0; -} -.ui-header-fixed .ui-btn-left, -.ui-header-fixed .ui-btn-right { - margin-top: 1px; -} -.ui-header-fixed.ui-fixed-hidden .ui-btn-left, -.ui-header-fixed.ui-fixed-hidden .ui-btn-right { - margin-top: 0; -} -.ui-footer-fixed { - bottom: -1px; - padding-bottom: 1px; -} -.ui-footer-fixed.ui-fixed-hidden { - bottom: 0; - padding-bottom: 0; -} -.ui-header-fullscreen, -.ui-footer-fullscreen { - filter: Alpha(Opacity=90); - opacity: .9; -} -/* updatePagePadding() will update the padding to actual height of header and footer. */ -.ui-page-header-fixed { - padding-top: 2.8125em; -} -.ui-page-footer-fixed { - padding-bottom: 2.8125em; -} -.ui-page-header-fullscreen > .ui-content, -.ui-page-footer-fullscreen > .ui-content { - padding: 0; -} -.ui-fixed-hidden { - position: absolute; -} -/* Tap toggle: hide external fixed footer. See issue #6604 */ -.ui-footer-fixed.ui-fixed-hidden { - display: none; -} -.ui-page .ui-footer-fixed.ui-fixed-hidden { - display: block -} -.ui-page-header-fullscreen .ui-fixed-hidden, -.ui-page-footer-fullscreen .ui-fixed-hidden { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-header-fixed .ui-btn, -.ui-footer-fixed .ui-btn { - z-index: 10; -} -/* workarounds for other widgets */ -.ui-android-2x-fixed .ui-li-has-thumb { - -webkit-transform: translate3d(0,0,0); -} -.ui-navbar { - max-width: 100%; -} -.ui-navbar ul:before, -.ui-navbar ul:after { - content: ""; - display: table; -} -.ui-navbar ul:after { - clear: both; -} -.ui-navbar ul { - list-style: none; - margin: 0; - padding: 0; - position: relative; - display: block; - border: 0; - max-width: 100%; - overflow: visible; -} -.ui-navbar li .ui-btn { - font-size: 12.5px; - display: block; - margin: 0; - border-right-width: 0; -} -.ui-header .ui-navbar li button.ui-btn, -.ui-footer .ui-navbar li button.ui-btn { - margin: 0; - width: 100%; -} -.ui-navbar .ui-btn:focus { - z-index: 1; -} -/* fixes gaps caused by subpixel problem */ -.ui-navbar li:last-child .ui-btn { - margin-right: -4px; -} -.ui-navbar li:last-child .ui-btn:after { - margin-right: 4px; -} -.ui-content .ui-navbar li:last-child .ui-btn, -.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn { - border-right-width: 1px; - margin-right: 0; -} -.ui-content .ui-navbar li:last-child .ui-btn:after, -.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn:after { - margin-right: 0; -} -.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn { - border-right-width: 1px; - margin-right: -1px; -} -.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn:after { - margin-right: 1px; -} -.ui-navbar .ui-grid-duo .ui-btn { - border-top-width: 0; -} -.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn { - border-top-width: 1px; -} -.ui-header .ui-navbar .ui-btn, -.ui-footer .ui-navbar .ui-btn { - border-top-width: 0; - border-bottom-width: 0; -} -.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn, -.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn { - border-top-width: 0; -} -.ui-header .ui-title ~ .ui-navbar .ui-btn, -.ui-footer .ui-title ~ .ui-navbar .ui-btn, -.ui-header .ui-navbar .ui-grid-duo .ui-btn, -.ui-footer .ui-navbar .ui-grid-duo .ui-btn, -.ui-header .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-footer .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-header .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn, -.ui-footer .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn { - border-top-width: 1px; -} -/* Hide the native input element */ -.ui-input-btn input { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - padding: 0; - border: 0; - outline: 0; - -webkit-border-radius: inherit; - border-radius: inherit; - -webkit-appearance: none; - -moz-appearance: none; - cursor: pointer; - background: #fff; - background: rgba(255,255,255,0); - filter: Alpha(Opacity=0); - opacity: .1; - font-size: 1px; - text-indent: -9999px; - z-index: 2; -} -/* Fixes IE/WP filter alpha opacity bugs */ -.ui-input-btn.ui-state-disabled input { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-collapsible { - margin: 0 -1em; -} -.ui-collapsible-inset, -.ui-collapsible-set { - margin: .5em 0; -} -.ui-collapsible-heading { - display: block; - margin: 0; - padding: 0; - position: relative; -} -.ui-collapsible-heading .ui-btn { - text-align: left; - margin: 0; - border-left-width: 0; - border-right-width: 0; -} -.ui-collapsible-heading .ui-btn-icon-top, -.ui-collapsible-heading .ui-btn-icon-bottom { - text-align: center; -} -.ui-collapsible-inset .ui-collapsible-heading .ui-btn { - border-right-width: 1px; - border-left-width: 1px; -} -.ui-collapsible-collapsed + .ui-collapsible:not(.ui-collapsible-inset) > .ui-collapsible-heading .ui-btn { - border-top-width: 0; -} -.ui-collapsible-set .ui-collapsible:not(.ui-collapsible-inset) .ui-collapsible-heading .ui-btn { - border-top-width: 1px; -} -.ui-collapsible-heading-status { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-collapsible-content { - display: block; - margin: 0; - padding: .5em 1em; -} -.ui-collapsible-themed-content .ui-collapsible-content { - border-left-width: 0; - border-right-width: 0; - border-top-width: 0; - border-bottom-width: 1px; - border-style: solid; -} -.ui-collapsible-inset.ui-collapsible-themed-content .ui-collapsible-content { - border-left-width: 1px; - border-right-width: 1px; -} -.ui-collapsible-inset .ui-collapsible-content { - margin: 0; -} -.ui-collapsible-content-collapsed { - display: none; -} -.ui-collapsible-set > .ui-collapsible.ui-corner-all { - -webkit-border-radius: 0; - border-radius: 0; -} -.ui-collapsible-heading, -.ui-collapsible-heading > .ui-btn { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-collapsible-set .ui-collapsible.ui-first-child { - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; -} -.ui-collapsible-content, -.ui-collapsible-set .ui-collapsible.ui-last-child { - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-collapsible-themed-content:not(.ui-collapsible-collapsed) > .ui-collapsible-heading { - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; -} -.ui-collapsible-set .ui-collapsible { - margin: -1px -1em 0; -} -.ui-collapsible-set .ui-collapsible-inset { - margin: -1px 0 0; -} -.ui-collapsible-set .ui-collapsible.ui-first-child { - margin-top: 0; -} -.ui-controlgroup, -fieldset.ui-controlgroup { - padding: 0; - margin: .5em 0; -} -.ui-field-contain .ui-controlgroup, -.ui-field-contain fieldset.ui-controlgroup { - margin: 0; -} -.ui-mini .ui-controlgroup-label { - font-size: 16px; -} -.ui-controlgroup.ui-mini .ui-btn-icon-notext, -.ui-controlgroup .ui-mini.ui-btn-icon-notext { - font-size: inherit; -} -.ui-controlgroup-controls .ui-btn, -.ui-controlgroup-controls .ui-checkbox, -.ui-controlgroup-controls .ui-radio, -.ui-controlgroup-controls .ui-select { - margin: 0; -} -.ui-controlgroup-controls .ui-btn:focus, -.ui-controlgroup-controls .ui-btn.ui-focus { - z-index: 1; -} -.ui-controlgroup-controls li { - list-style: none; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls { - display: inline-block; - vertical-align: middle; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls:before, -.ui-controlgroup-horizontal .ui-controlgroup-controls:after { - content: ""; - display: table; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls:after { - clear: both; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls > .ui-btn, -.ui-controlgroup-horizontal .ui-controlgroup-controls li > .ui-btn, -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-checkbox, -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-radio, -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-select { - float: left; - clear: none; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn, -.ui-controlgroup-controls .ui-btn-icon-notext { - width: auto; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn-icon-notext, -.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn-icon-notext { - width: 1.5em; -} - .ui-controlgroup-controls .ui-btn-icon-notext { - height: auto; - padding: .7em 1em; -} -.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn { - border-bottom-width: 0; -} -.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn.ui-last-child { - border-bottom-width: 1px; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn { - border-right-width: 0; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn.ui-last-child { - border-right-width: 1px; -} -.ui-controlgroup-controls .ui-btn-corner-all, -.ui-controlgroup-controls .ui-btn.ui-corner-all { - -webkit-border-radius: 0; - border-radius: 0; -} -.ui-controlgroup-controls, -.ui-controlgroup-controls .ui-radio, -.ui-controlgroup-controls .ui-checkbox, -.ui-controlgroup-controls .ui-select, -.ui-controlgroup-controls li { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-controlgroup-vertical .ui-btn.ui-first-child { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; -} -.ui-controlgroup-vertical .ui-btn.ui-last-child { - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -.ui-controlgroup-horizontal .ui-btn.ui-first-child { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-controlgroup-horizontal .ui-btn.ui-last-child { - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -.ui-controlgroup-controls a.ui-shadow:not(:focus), -.ui-controlgroup-controls button.ui-shadow:not(:focus), -.ui-controlgroup-controls div.ui-shadow:not(.ui-focus) { - -moz-box-shadow: none; - -webkit-box-shadow: none; - box-shadow: none; -} -/* Fixes legend not wrapping on IE10 */ -.ui-controlgroup-label legend { - max-width: 100%; -} -.ui-controlgroup-controls > label { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-dialog { - background: none !important; /* this is to ensure that dialog theming does not apply (by default at least) on the page div */ -} -.ui-dialog-contain { - width: 92.5%; - max-width: 500px; - margin: 10% auto 1em auto; - padding: 0; - position: relative; - top: -1em; -} -.ui-dialog-contain > .ui-header, -.ui-dialog-contain > .ui-content, -.ui-dialog-contain > .ui-footer { - display: block; - position: relative; - width: auto; - margin: 0; -} -.ui-dialog-contain > .ui-header { - overflow: hidden; - z-index: 10; - padding: 0; - border-top-width: 0; -} -.ui-dialog-contain > .ui-footer { - z-index: 10; - padding: 0 1em; - border-bottom-width: 0; -} -.ui-popup-open .ui-header-fixed, -.ui-popup-open .ui-footer-fixed { - position: absolute !important; /* See issues #4816, #4844 and #4874 and popup.js */ -} -.ui-popup-screen { - background-image: url("data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="); /* Necessary to set some form of background to ensure element is clickable in IE6/7. While legacy IE won't understand the data-URI'd image, it ensures no additional requests occur in all other browsers with little overhead. */ - top: 0; - left: 0; - right: 0; - bottom: 1px; - position: absolute; - filter: Alpha(Opacity=0); - opacity: 0; - z-index: 1099; -} -.ui-popup-screen.in { - opacity: 0.5; - filter: Alpha(Opacity=50); -} -.ui-popup-screen.out { - opacity: 0; - filter: Alpha(Opacity=0); -} -.ui-popup-container { - z-index: 1100; - display: inline-block; - position: absolute; - padding: 0; - outline: 0; -} -.ui-popup { - position: relative; -} -.ui-popup.ui-body-inherit { - border-width: 1px; - border-style: solid; -} -.ui-popup-hidden { - left: 0; - top: 0; - position: absolute !important; - visibility: hidden; -} -.ui-popup-truncate { - height: 1px; - width: 1px; - margin: -1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-popup.ui-content, -.ui-popup .ui-content { - overflow: visible; -} -.ui-popup > .ui-header { - border-top-width: 0; -} -.ui-popup > .ui-footer { - border-bottom-width: 0; -} -.ui-popup > p, -.ui-popup > h1, -.ui-popup > h2, -.ui-popup > h3, -.ui-popup > h4, -.ui-popup > h5, -.ui-popup > h6 { - margin: .5em .4375em; -} -.ui-popup > span { - display: block; - margin: .5em .4375em; -} -.ui-popup-container .ui-content > p, -.ui-popup-container .ui-content > h1, -.ui-popup-container .ui-content > h2, -.ui-popup-container .ui-content > h3, -.ui-popup-container .ui-content > h4, -.ui-popup-container .ui-content > h5, -.ui-popup-container .ui-content > h6 { - margin: .5em 0; -} -.ui-popup-container .ui-content > span { - margin: 0; -} -.ui-popup-container .ui-content > p:first-child, -.ui-popup-container .ui-content > h1:first-child, -.ui-popup-container .ui-content > h2:first-child, -.ui-popup-container .ui-content > h3:first-child, -.ui-popup-container .ui-content > h4:first-child, -.ui-popup-container .ui-content > h5:first-child, -.ui-popup-container .ui-content > h6:first-child { - margin-top: 0; -} -.ui-popup-container .ui-content > p:last-child, -.ui-popup-container .ui-content > h1:last-child, -.ui-popup-container .ui-content > h2:last-child, -.ui-popup-container .ui-content > h3:last-child, -.ui-popup-container .ui-content > h4:last-child, -.ui-popup-container .ui-content > h5:last-child, -.ui-popup-container .ui-content > h6:last-child { - margin-bottom: 0; -} -.ui-popup > img { - max-width: 100%; - max-height: 100%; - vertical-align: middle; -} -.ui-popup:not(.ui-content) > img:only-child, -.ui-popup:not(.ui-content) > .ui-btn-left:first-child + img:last-child, -.ui-popup:not(.ui-content) > .ui-btn-right:first-child + img:last-child { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-popup iframe { - vertical-align: middle; -} -.ui-popup > .ui-btn-left, -.ui-popup > .ui-btn-right { - position: absolute; - top: -11px; - margin: 0; - z-index: 1101; -} -.ui-popup > .ui-btn-left { - left: -11px; -} -.ui-popup > .ui-btn-right { - right: -11px; -} -/* Dimensions related to the popup arrow ------------------------------------------------------------------------------------------------------------*/ -/* desired triangle height: 10px */ -/** - * guide for the arrow - its width, height, and offset are theme-dependent and - * should be expessed as left, right, top, bottom, so that the element bearing - * such a class becomes stretched inside its parent position: relative element. - * The left/top/right/bottom specified below should reflect the corresponding - * border radii and so it leaves room for the shadow: - * ..--------------------.. - * ." ^ top ". - * / v \ - * | +------------------+ | - * | | | | - * | left| |right| - * |<--->| |<--->| - * | +------------------+ | - * \ ^ / - * `. v bottom .' - * ""--------------------"" - * The idea is that the top/left of the arrow container box does not move to a - * coordinate smaller than the top/left of the guide and the right/bottom of - * the arrow container box does not move to a coordinate larger than the - * bottom/right of the guide. This will help us avoid the following situation: - * ..--------------------.. - * ." ^ top ". - * /|/ v \ - * / | +------------------+ | - * \ | | | | - * \| left| |right| - * |<--->| |<--->| - * | +------------------+ | - * \ ^ / - * `. v bottom .' - * ""--------------------"" - * The arrow should not receive a top/left coordinate such that it is too close - * to one of the corners, because then at first the shadow of the arrow and, - * given a coordinate even closer to the corner, even the body of the arrow will - * "stick out" of the corner of the popup. The guide provides a hint to the - * arrow positioning code as to which range of values is acceptable for the - * arrow container's top/left coordinate. - **/ -.ui-popup-arrow-container { - width: 20px; - height: 20px; -} -/* aside from the "infinities" (-1000,2000), triangle height is used */ -.ui-popup-arrow-container.ui-popup-arrow-l { - left: -10px; - clip: rect(-1000px,10px,2000px,-1000px); -} -.ui-popup-arrow-container.ui-popup-arrow-t { - top: -10px; - clip: rect(-1000px,2000px,10px,-1000px); -} -.ui-popup-arrow-container.ui-popup-arrow-r { - right: -10px; - clip: rect(-1000px,2000px,2000px,10px); -} -.ui-popup-arrow-container.ui-popup-arrow-b { - bottom: -10px; - clip: rect(10px,2000px,1000px,-1000px); -} -/** - * For each side, the arrow is twice the desired size and its corner is aligned - * with the edge of the container: - * - * /\ /\ +----+ /\ - * / \ / \ | /\ |top / \ - * +----+ \ / +----+ +-->|/ \| / \ - * left| / | \ / | \ |right | | | / \ - * |/ | \ / | \| | /| |\ / \ - * |\ | / \ | /| | / +----+ \ \ +----+ / - * | \ | / \ | / | | \ / \| |/ - * +----+ / \ +----+ | \ / | | - * ^ \ / \ / ^ | \ / +->|\ /| - * | \/ \/ | | \ / | | \/ |bottom - * | | | \/ | +----+ - * +-------------------+--------+-----------+ - * | - * arrow container - * (clips arrow) - **/ -.ui-popup-arrow-container .ui-popup-arrow { - /* (4*desired triangle height)/sqrt(2) - does not account for border - centred within the outer rectangle */ - width: 28.284271247px; - height: 28.284271247px; - border-width: 1px; - border-style: solid; -} -.ui-popup-arrow-container.ui-popup-arrow-t .ui-popup-arrow { - left: -4.142135623px; - top: 5.857864376px; -} -.ui-popup-arrow-container.ui-popup-arrow-b .ui-popup-arrow { - left: -4.142135623px; - top: -14.142135623px; -} -.ui-popup-arrow-container.ui-popup-arrow-l .ui-popup-arrow { - left: 5.857864376px; - top: -4.142135623px; -} -.ui-popup-arrow-container.ui-popup-arrow-r .ui-popup-arrow { - left: -14.142135623px; - top: -4.142135623px; -} -/* Fix rotation center for oldIE - see http://www.useragentman.com/IETransformsTranslator/ */ -.ui-popup-arrow-container.ui-popup-arrow-t.ie .ui-popup-arrow { - margin-left: -5.857864376269049px; - margin-top: -7.0710678118654755px; -} -.ui-popup-arrow-container.ui-popup-arrow-b.ie .ui-popup-arrow { - margin-left: -5.857864376269049px; - margin-top: -4.142135623730951px; -} - -.ui-popup-arrow-container.ui-popup-arrow-l.ie .ui-popup-arrow { - margin-left: -7.0710678118654755px; - margin-top: -5.857864376269049px; -} -.ui-popup-arrow-container.ui-popup-arrow-r.ie .ui-popup-arrow { - margin-left: -4.142135623730951px; - margin-top: -5.857864376269049px; -} -/* structure */ -.ui-popup > .ui-popup-arrow-guide { - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - visibility: hidden; -} -.ui-popup-arrow-container { - position: absolute; -} -.ui-popup-arrow { - -webkit-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -ms-transform: rotate(45deg); - transform: rotate(45deg); - position: absolute; - overflow: hidden; - box-sizing: border-box; -} -.ui-popup-arrow-container.ie .ui-popup-arrow { - -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865474, M12=-0.7071067811865477, M21=0.7071067811865477, M22=0.7071067811865474, SizingMethod='auto expand')"; - filter: progid:DXImageTransform.Microsoft.Matrix( - M11=0.7071067811865474, - M12=-0.7071067811865477, - M21=0.7071067811865477, - M22=0.7071067811865474, - SizingMethod='auto expand'); -} -.ui-checkbox, -.ui-radio { - margin: .5em 0; - position: relative; -} -.ui-checkbox .ui-btn, -.ui-radio .ui-btn { - margin: 0; - text-align: left; - white-space: normal; /* Nowrap + ellipsis doesn't work on label. Issue #1419. */ - z-index: 2; -} -.ui-controlgroup .ui-checkbox .ui-btn.ui-focus, -.ui-controlgroup .ui-radio .ui-btn.ui-focus { - z-index: 3; -} -.ui-checkbox .ui-btn-icon-top, -.ui-radio .ui-btn-icon-top, -.ui-checkbox .ui-btn-icon-bottom, -.ui-radio .ui-btn-icon-bottom { - text-align: center; -} -.ui-controlgroup-horizontal .ui-checkbox .ui-btn:after, -.ui-controlgroup-horizontal .ui-radio .ui-btn:after { - content: none; - display: none; -} -/* Native input positioning */ -.ui-checkbox input, -.ui-radio input { - position: absolute; - left: .466em; - top: 50%; - width: 22px; - height: 22px; - margin: -11px 0 0 0; - outline: 0 !important; - z-index: 1; -} -.ui-controlgroup-horizontal .ui-checkbox input, -.ui-controlgroup-horizontal .ui-radio input { - left: 50%; - margin-left: -9px; -} -.ui-checkbox input:disabled, -.ui-radio input:disabled { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-select { - margin-top: .5em; - margin-bottom: .5em; /* no shorthand for margin because it would override margin-right for inline selects */ - position: relative; -} -.ui-select > select { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-select .ui-btn { - margin: 0; - opacity: 1; /* Fixes #2588: When Windows Phone 7.5 (Mango) tries to calculate a numeric opacity for a select (including "inherit") without explicitly specifying an opacity on the parent to give it context, a bug appears where clicking elsewhere on the page after opening the select will open the select again. */ -} -.ui-select .ui-btn select { - position: absolute; - top: 0; - left: 0; - width: 100%; - min-height: 1.5em; - min-height: 100%; - height: 3em; - max-height: 100%; - outline: 0; - -webkit-border-radius: inherit; - border-radius: inherit; - -webkit-appearance: none; - -moz-appearance: none; - cursor: pointer; - filter: Alpha(Opacity=0); - opacity: 0; - z-index: 2; -} -@-moz-document url-prefix() { - .ui-select .ui-btn select { - opacity: 0.0001; - } -} -/* Display none because of issues with IE/WP's filter alpha opacity */ -.ui-select .ui-state-disabled select { - display: none; -} -/* Because we add all classes of the select and option elements to the span... */ -.ui-select span.ui-state-disabled { - filter: Alpha(Opacity=100); - opacity: 1; -} -.ui-select .ui-btn.ui-select-nativeonly { - border-radius: 0; - border: 0; -} -.ui-select .ui-btn.ui-select-nativeonly select { - opacity: 1; - text-indent: 0; - display: block; -} -/* ui-li-count is styled in the listview CSS. We set padding and offset here because select supports icon position while listview doesn't. */ -.ui-select .ui-li-has-count.ui-btn { - padding-right: 2.8125em; -} -.ui-select .ui-li-has-count.ui-btn-icon-right { - padding-right: 4.6875em; -} -.ui-select .ui-btn-icon-right .ui-li-count { - right: 3.2em; -} -/* We set the rules for the span as well to fix an issue on Chrome with text-overflow ellipsis for the button in combination with text-align center. */ -.ui-select .ui-btn > span:not(.ui-li-count) { - display: block; - text-overflow: ellipsis; - overflow: hidden !important; - white-space: nowrap; -} -.ui-selectmenu.ui-popup { - min-width: 11em; -} -.ui-selectmenu .ui-dialog-contain { - overflow: hidden; -} -.ui-selectmenu .ui-header { - margin: 0; - padding: 0; - border-width: 0; -} -.ui-selectmenu.ui-dialog .ui-header { - z-index: 1; - position: relative; -} -.ui-selectmenu.ui-popup .ui-header { - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; -} -/* when no placeholder is defined in a multiple select, the header height doesn't even extend past the close button. this shim's content in there */ -.ui-selectmenu.ui-popup .ui-header h1:after { - content: '.'; - visibility: hidden; -} -.ui-selectmenu .ui-header .ui-title { - margin: 0 2.875em; -} -.ui-selectmenu.ui-dialog .ui-content { - overflow: visible; - z-index: 1; -} -.ui-selectmenu .ui-selectmenu-list { - margin: 0; - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-header:not(.ui-screen-hidden) + .ui-selectmenu-list { - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -webkit-border-top-left-radius: 0; - border-top-left-radius: 0; -} -.ui-header.ui-screen-hidden + .ui-selectmenu-list li.ui-first-child .ui-btn { - border-top-width: 0; -} -.ui-selectmenu .ui-selectmenu-list li.ui-last-child .ui-btn { - border-bottom-width: 0; -} -.ui-selectmenu .ui-btn.ui-li-divider { - cursor: default; -} -.ui-selectmenu .ui-selectmenu-placeholder { - display: none; -} -.ui-listview, -.ui-listview > li { - margin: 0; - padding: 0; - list-style: none; -} -.ui-content .ui-listview, -.ui-panel-inner > .ui-listview { - margin: -1em; -} -.ui-content .ui-listview-inset, -.ui-panel-inner > .ui-listview-inset { - margin: 1em 0; -} -.ui-collapsible-content > .ui-listview { - margin: -.5em -1em; -} -.ui-collapsible-content > .ui-listview-inset { - margin: .5em 0; -} -.ui-listview > li { - display: block; - position: relative; - overflow: visible; -} -.ui-listview > .ui-li-static, -.ui-listview > .ui-li-divider, -.ui-listview > li > a.ui-btn { - margin: 0; - display: block; - position: relative; - text-align: left; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} -.ui-listview > li > .ui-btn:focus { - z-index: 1; -} -.ui-listview > .ui-li-static, -.ui-listview > .ui-li-divider, -.ui-listview > li > a.ui-btn { - border-width: 1px 0 0 0; - border-style: solid; -} -.ui-listview-inset > .ui-li-static, -.ui-listview-inset > .ui-li-divider, -.ui-listview-inset > li > a.ui-btn { - border-right-width: 1px; - border-left-width: 1px; -} -.ui-listview > .ui-li-static.ui-last-child, -.ui-listview > .ui-li-divider.ui-last-child, -.ui-listview > li.ui-last-child > a.ui-btn { - border-bottom-width: 1px; -} -.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) > li.ui-first-child, -.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn { - border-top-width: 0; -} -.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset) > li.ui-last-child, -.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset) > li.ui-last-child > a.ui-btn { - border-bottom-width: 0; -} -.ui-listview > li.ui-first-child, -.ui-listview > li.ui-first-child > a.ui-btn { - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; -} -.ui-listview > li.ui-last-child, -.ui-listview > li.ui-last-child > a.ui-btn { - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-listview > li.ui-li-has-alt > a.ui-btn { - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; -} -.ui-listview > li.ui-first-child > a.ui-btn + a.ui-btn { - -webkit-border-top-left-radius: 0; - border-top-left-radius: 0; - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; -} -.ui-listview > li.ui-last-child > a.ui-btn + a.ui-btn { - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -.ui-listview > li.ui-first-child img:first-child:not(.ui-li-icon) { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; -} -.ui-listview > li.ui-last-child img:first-child:not(.ui-li-icon) { - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-listview > .ui-li-static { - padding: .7em 1em; -} -.ui-listview > .ui-li-divider { - padding: .5em 1.143em; - font-size: 14px; - font-weight: bold; - cursor: default; - outline: 0; /* Dividers in custom selectmenus have tabindex */ -} -.ui-listview > .ui-li-has-count > .ui-btn, -.ui-listview > .ui-li-static.ui-li-has-count, -.ui-listview > .ui-li-divider.ui-li-has-count { - padding-right: 2.8125em; -} -.ui-listview > .ui-li-has-count > .ui-btn-icon-right { - padding-right: 4.6875em; -} -.ui-listview > .ui-li-has-thumb > .ui-btn, -.ui-listview > .ui-li-static.ui-li-has-thumb { - min-height: 3.625em; - padding-left: 6.25em; -} -/* ui-li-has-icon deprecated in 1.4. TODO: remove in 1.5 */ -.ui-listview > .ui-li-has-icon > .ui-btn, -.ui-listview > .ui-li-static.ui-li-has-icon { - min-height: 1.25em; - padding-left: 2.5em; -} -/* Used by both listview and custom multiple select button */ -.ui-li-count { - position: absolute; - font-size: 12.5px; - font-weight: bold; - text-align: center; - border-width: 1px; - border-style: solid; - padding: 0 .48em; - line-height: 1.6em; - min-height: 1.6em; - min-width: .64em; - right: .8em; - top: 50%; - margin-top: -.88em; -} -.ui-listview .ui-btn-icon-right .ui-li-count { - right: 3.2em; -} -.ui-listview .ui-li-has-thumb > img:first-child, -.ui-listview .ui-li-has-thumb > .ui-btn > img:first-child, -.ui-listview .ui-li-has-thumb .ui-li-thumb { - position: absolute; - left: 0; - top: 0; - max-height: 5em; - max-width: 5em; -} -/* ui-li-has-icon deprecated in 1.4. TODO: remove in 1.5 */ -.ui-listview > .ui-li-has-icon > img:first-child, -.ui-listview > .ui-li-has-icon > .ui-btn > img:first-child { - position: absolute; - left: .625em; - top: .9em; - max-height: 1em; - max-width: 1em; -} -.ui-listview > li h1, -.ui-listview > li h2, -.ui-listview > li h3, -.ui-listview > li h4, -.ui-listview > li h5, -.ui-listview > li h6 { - font-size: 1em; - font-weight: bold; - display: block; - margin: .45em 0; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} -.ui-listview > li p { - font-size: .75em; - font-weight: normal; - display: block; - margin: .6em 0; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} -.ui-listview .ui-li-aside { - position: absolute; - top: 1em; - right: 3.333em; - margin: 0; - text-align: right; -} -.ui-listview > li.ui-li-has-alt > .ui-btn { - margin-right: 2.5em; - border-right-width: 0; -} -.ui-listview > li.ui-li-has-alt > .ui-btn + .ui-btn { - position: absolute; - width: 2.5em; - height: 100%; - min-height: auto; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - border-left-width: 1px; - top: 0; - right: 0; - margin: 0; - padding: 0; - z-index: 2; -} -.ui-listview-inset > li.ui-li-has-alt > .ui-btn + .ui-btn { - border-right-width: 1px; -} -.ui-listview > li.ui-li-has-alt > .ui-btn + .ui-btn:focus { - z-index: 3; -} -ol.ui-listview, -ol.ui-listview > .ui-li-divider { - counter-reset: listnumbering; -} -ol.ui-listview > li > .ui-btn, -ol.ui-listview > li.ui-li-static { - vertical-align: middle; -} -ol.ui-listview > li > .ui-btn:first-child:before, -ol.ui-listview > li.ui-li-static:before, -ol.ui-listview > li.ui-field-contain > label:before, -ol.ui-listview > li.ui-field-contain > .ui-controlgroup-label:before { - display: inline-block; - font-size: .9em; - font-weight: normal; - padding-right: .3em; - min-width: 1.4em; - line-height: 1.5; - vertical-align: middle; - counter-increment: listnumbering; - content: counter(listnumbering) "."; -} -ol.ui-listview > li.ui-field-contain:before { - content: none; - display: none; -} -ol.ui-listview > li h1:first-child, -ol.ui-listview > li h2:first-child, -ol.ui-listview > li h3:first-child, -ol.ui-listview > li h4:first-child, -ol.ui-listview > li h5:first-child, -ol.ui-listview > li h6:first-child, -ol.ui-listview > li p:first-child, -ol.ui-listview > li img:first-child + * { - display: inline-block; - vertical-align: middle; -} -ol.ui-listview > li h1:first-child ~ *, -ol.ui-listview > li h2:first-child ~ *, -ol.ui-listview > li h3:first-child ~ *, -ol.ui-listview > li h4:first-child ~ *, -ol.ui-listview > li h5:first-child ~ *, -ol.ui-listview > li h6:first-child ~ *, -ol.ui-listview > li p:first-child ~ *, -ol.ui-listview > li img:first-child + * ~ * { - margin-top: 0; - text-indent: 2.04em; /* (1.4em + .3em) * .9em / .75em */ -} -html .ui-filterable + .ui-listview, -html .ui-filterable.ui-listview { - margin-top: .5em; -} -.ui-collapsible-content > form.ui-filterable { - margin-top: -.5em; -} -.ui-collapsible-content > .ui-input-search.ui-filterable { - margin-top: 0; -} -.ui-collapsible-content > .ui-filterable + .ui-listview:not(.ui-listview-inset) > li.ui-first-child, -.ui-collapsible-content > .ui-filterable + .ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn, -.ui-collapsible-content > .ui-filterable.ui-listview:not(.ui-listview-inset) > li.ui-first-child, -.ui-collapsible-content > .ui-filterable.ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn { - border-top-width: 1px; -} -div.ui-slider { - height: 30px; - margin: .5em 0; - padding: 0; - -ms-touch-action: pan-y pinch-zoom double-tap-zoom; -} -div.ui-slider:before, -div.ui-slider:after { - content: ""; - display: table; -} -div.ui-slider:after { - clear: both; -} -input.ui-slider-input { - display: block; - float: left; - font-size: 14px; - font-weight: bold; - margin: 0; - padding: 4px; - width: 40px; - height: 20px; - line-height: 20px; - border-width: 1px; - border-style: solid; - outline: 0; - text-align: center; - vertical-align: text-bottom; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} -.ui-slider-input::-webkit-outer-spin-button, -.ui-slider-input::-webkit-inner-spin-button { - -webkit-appearance: none; - margin: 0; -} -.ui-slider-track { - position: relative; - overflow: visible; - border-width: 1px; - border-style: solid; - height: 15px; - margin: 0 15px 0 68px; - top: 6px; -} -.ui-slider-track.ui-mini { - height: 12px; - top: 8px; -} -.ui-slider-track .ui-slider-bg { - height: 100%; -} -/* High level of specificity to override button margins in grids */ -.ui-slider-track .ui-btn.ui-slider-handle { - position: absolute; - z-index: 1; - top: 50%; - width: 28px; - height: 28px; - margin: -15px 0 0 -15px; - outline: 0; - padding: 0; -} -.ui-slider-track.ui-mini .ui-slider-handle { - height: 14px; - width: 14px; - margin: -8px 0 0 -8px; -} -select.ui-slider-switch { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -div.ui-slider-switch { - display: inline-block; - height: 32px; - width: 5.8em; - top: 0; -} -/* reset the clearfix */ -div.ui-slider-switch:before, -div.ui-slider-switch:after { - display: none; - clear: none; -} -div.ui-slider-switch.ui-mini { - height: 29px; - top: 0; -} -.ui-slider-inneroffset { - margin: 0 16px; - position: relative; - z-index: 1; -} -.ui-slider-switch.ui-mini .ui-slider-inneroffset { - margin: 0 15px 0 14px; -} -.ui-slider-switch .ui-btn.ui-slider-handle { - margin: 1px 0 0 -15px; -} -.ui-slider-switch.ui-mini .ui-slider-handle { - width: 25px; - height: 25px; - margin: 1px 0 0 -13px; - padding: 0; -} -.ui-slider-handle-snapping { - -webkit-transition: left 70ms linear; - -moz-transition: left 70ms linear; - transition: left 70ms linear; -} -.ui-slider-switch .ui-slider-label { - position: absolute; - text-align: center; - width: 100%; - overflow: hidden; - font-size: 16px; - top: 0; - line-height: 2; - min-height: 100%; - white-space: nowrap; - cursor: pointer; -} -.ui-slider-switch.ui-mini .ui-slider-label { - font-size: 14px; -} -.ui-slider-switch .ui-slider-label-a { - z-index: 1; - left: 0; - text-indent: -1.5em; -} -.ui-slider-switch .ui-slider-label-b { - z-index: 0; - right: 0; - text-indent: 1.5em; -} -/* The corner radii for ui-slider-switch/track can be specified in theme CSS. The bg and handle inherits. */ -.ui-slider-track .ui-slider-bg, -.ui-slider-switch .ui-slider-label, -.ui-slider-switch .ui-slider-inneroffset, -.ui-slider-handle { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-field-contain div.ui-slider-switch { - margin: 0; -} -/* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */ -.ui-field-contain div.ui-slider-switch, -.ui-field-contain.ui-hide-label div.ui-slider-switch, -html .ui-popup .ui-field-contain div.ui-slider-switch { - display: inline-block; - width: 5.8em; -} -/* slider tooltip ------------------------------------------------------------------------------------------------------------*/ -.ui-slider-popup { - width: 64px; - height: 64px; - font-size: 36px; - padding-top: 14px; - opacity: 0.8; -} -.ui-slider-popup { - position: absolute !important; - text-align: center; - z-index: 100; -} -.ui-slider-track .ui-btn.ui-slider-handle { - font-size: .9em; - line-height: 30px; -} -.ui-rangeslider { - margin: .5em 0; -} -.ui-rangeslider:before, -.ui-rangeslider:after { - content: ""; - display: table; -} -.ui-rangeslider:after { - clear: both; -} -.ui-rangeslider .ui-slider-input.ui-rangeslider-last { - float: right; -} -.ui-rangeslider .ui-rangeslider-sliders { - position: relative; - overflow: visible; - height: 30px; - margin: 0 68px; -} -.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track { - position: absolute; - top: 6px; - right: 0; - left: 0; - margin: 0; -} -.ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track { - top: 8px; -} -.ui-rangeslider .ui-slider-track:first-child .ui-slider-bg { - display: none; -} -.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child { - background-color: transparent; - background: none; - border-width: 0; - height: 0; -} -/* this makes ie6 and ie7 set height to 0 to fix z-index problem */ -html >/**/body .ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child { - height: 15px; - border-width: 1px; -} -html >/**/body .ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track:first-child { - height: 12px; -} -/* Hide the second label (the first is moved outside the div) */ -div.ui-rangeslider label { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-field-contain .ui-rangeslider input.ui-slider-input, -.ui-field-contain .ui-rangeslider.ui-mini input.ui-slider-input, -.ui-field-contain .ui-rangeslider .ui-rangeslider-sliders, -.ui-field-contain .ui-rangeslider.ui-mini .ui-rangeslider-sliders { - margin-top: 0; - margin-bottom: 0; -} -.ui-input-text, -.ui-input-search { - margin: .5em 0; - border-width: 1px; - border-style: solid; -} -.ui-mini { - margin: .446em; -} -.ui-input-text input, -.ui-input-search input, -textarea.ui-input-text { - padding: .4em; - line-height: 1.4em; - display: block; - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - outline: 0; -} -.ui-input-text input, -.ui-input-search input { - margin: 0; - min-height: 2.2em; - text-align: left; /* Opera aligns type="date" right by default */ - border: 0; - background: transparent none; - -webkit-appearance: none; - -webkit-border-radius: inherit; - border-radius: inherit; -} -textarea.ui-input-text { - overflow: auto; - resize: vertical; -} -.ui-mini .ui-input-text input, -.ui-mini .ui-input-search input, -.ui-input-text.ui-mini input, -.ui-input-search.ui-mini input, -.ui-mini textarea.ui-input-text, -textarea.ui-mini { - font-size: 14px; -} -/* Same margin for mini textareas as other mini sized widgets (12.5/14 * 0.5em) */ -.ui-mini textarea.ui-input-text, -textarea.ui-mini { - margin: .446em 0; -} -.ui-input-has-clear, -.ui-input-search { - position: relative; -} -/* Padding on the div instead of input because of browser spinners etc. */ -.ui-input-has-clear { - padding-right: 2.375em; -} -.ui-mini.ui-input-has-clear { - padding-right: 2.923em; -} -.ui-input-has-clear input { - padding-right: 0; - /* Autofill on Chrome has bg color so we unset corners right as well. */ - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; -} -/* Search icon */ -.ui-input-search input { - padding-left: 1.75em; -} -.ui-input-search:after { - position: absolute; - left: .3125em; - top: 50%; - margin-top: -7px; - content: ""; - background-position: center center; - background-repeat: no-repeat; - width: 14px; - height: 14px; - filter: Alpha(Opacity=50); - opacity: .5; -} -.ui-input-search.ui-input-has-clear .ui-btn.ui-input-clear, -.ui-input-text.ui-input-has-clear .ui-btn.ui-input-clear { - position: absolute; - right: 0; - top: 50%; - margin: -14px .3125em 0; - border: 0; - background-color: transparent; -} -.ui-input-search .ui-input-clear-hidden, -.ui-input-text .ui-input-clear-hidden { - display: none; -} -/* Resolves issue #5166: Added to support issue introduced in Firefox 15. We can likely remove this in the future. */ -.ui-input-text input::-moz-placeholder, -.ui-input-search input::-moz-placeholder, -textarea.ui-input-text::-moz-placeholder { - color: #aaa; -} -/* Same for IE10 */ -.ui-input-text input:-ms-input-placeholder, -.ui-input-search input:-ms-input-placeholder, -textarea.ui-input-text:-ms-input-placeholder { - color: #aaa; -} -/* Resolves issue #5131: Width of textinput depends on its type, -for Android 4.1 */ -.ui-input-text input[type=number]::-webkit-outer-spin-button { - margin: 0; -} -/* Resolves issue #5756: Textinput in IE10 has a default clear button */ -.ui-input-text input::-ms-clear, -.ui-input-search input::-ms-clear { - display: none; -} -.ui-input-text input:focus, -.ui-input-search input:focus { - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -textarea.ui-input-text.ui-textinput-autogrow { - overflow: hidden; -} -.ui-textinput-autogrow-resize { - -webkit-transition: height 0.25s; - -o-transition: height 0.25s; - -moz-transition: height 0.25s; - transition: height 0.25s; -} -.ui-flipswitch { - display: inline-block; - vertical-align: middle; - width: 5.875em; /* Override this and padding-left in next rule if you use labels other than "on/off" and need more space */ - height: 1.875em; - border-width: 1px; - border-style: solid; - margin: .5em 0; - overflow: hidden; - -webkit-transition-property: padding, width, background-color, color, border-color; - -moz-transition-property: padding, width, background-color, color, border-color; - -o-transition-property: padding, width, background-color, color, border-color; - transition-property: padding, width, background-color, color, border-color; - -webkit-transition-duration: 100ms; - -moz-transition-duration: 100ms; - -o-transition-duration: 100ms; - transition-duration: 100ms; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: pointer; -} -.ui-flipswitch.ui-flipswitch-active { - padding-left: 4em; /* Override this and width in previous rule if you use labels other than "on/off" and need more space */ - width: 1.875em; -} -.ui-flipswitch-input { - position: absolute; - height: 1px; - width: 1px; - margin: -1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); - border: 0; - outline: 0; - filter: Alpha(Opacity=0); - opacity: 0; -} -.ui-flipswitch .ui-btn.ui-flipswitch-on, -.ui-flipswitch .ui-flipswitch-off { - float: left; - height: 1.75em; - margin: .0625em; - line-height: 1.65em; -} -.ui-flipswitch .ui-btn.ui-flipswitch-on { - width: 1.75em; - padding: 0; - text-indent: -2.6em; /* Override this to center text if you use a label other than "on" */ - text-align: left; - border-width: 1px; - border-style: solid; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - border-radius: inherit; - overflow: visible; - color: inherit; - text-shadow: inherit; -} -.ui-flipswitch .ui-flipswitch-off { - padding: 1px; - text-indent: 1em; /* Override this to center text if you use a label other than "off" */ -} -/* Override field container CSS to prevent the flipswitch from becomming full width */ -html .ui-field-contain > label + .ui-flipswitch, -html .ui-popup .ui-field-contain > label + .ui-flipswitch { - display: inline-block; - width: 5.875em; /* If you override the width for .ui-flipswitch you should repeat the same value here */ - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} -.ui-field-contain .ui-flipswitch.ui-flipswitch-active, -.ui-popup .ui-field-contain .ui-flipswitch.ui-flipswitch-active { - width: 1.875em; -} -.ui-table { - border: 0; - border-collapse: collapse; - padding: 0; - width: 100%; -} -.ui-table th, -.ui-table td { - line-height: 1.5em; - text-align: left; - padding: .4em .5em; - vertical-align:top; -} -.ui-table th .ui-btn, -.ui-table td .ui-btn { - line-height: normal; -} -.ui-table th { - font-weight: bold; -} -.ui-table caption { - text-align: left; - margin-bottom: 1.4em; - opacity: .5; -} -/* - Styles for the table columntoggle mode -*/ -.ui-table-columntoggle-btn { - float: right; - margin-bottom: .8em; -} -/* Remove top/bottom margins around the fieldcontain on check list */ -.ui-table-columntoggle-popup fieldset { - margin:0; -} -.ui-table-columntoggle { - clear: both; -} -/* Hide all prioritized columns by default */ -@media only all { - th.ui-table-priority-6, - td.ui-table-priority-6, - th.ui-table-priority-5, - td.ui-table-priority-5, - th.ui-table-priority-4, - td.ui-table-priority-4, - th.ui-table-priority-3, - td.ui-table-priority-3, - th.ui-table-priority-2, - td.ui-table-priority-2, - th.ui-table-priority-1, - td.ui-table-priority-1 { - display: none; - } -} -/* Preset breakpoints if ".ui-responsive" class added to table */ -/* Show priority 1 at 320px (20em x 16px) */ -@media screen and (min-width: 20em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-1, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-1 { - display: table-cell; - } -} -/* Show priority 2 at 480px (30em x 16px) */ -@media screen and (min-width: 30em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-2, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-2 { - display: table-cell; - } -} -/* Show priority 3 at 640px (40em x 16px) */ -@media screen and (min-width: 40em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-3, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-3 { - display: table-cell; - } -} -/* Show priority 4 at 800px (50em x 16px) */ -@media screen and (min-width: 50em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-4, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-4 { - display: table-cell; - } -} -/* Show priority 5 at 960px (60em x 16px) */ -@media screen and (min-width: 60em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-5, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-5 { - display: table-cell; - } -} -/* Show priority 6 at 1,120px (70em x 16px) */ -@media screen and (min-width: 70em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-6, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-6 { - display: table-cell; - } -} -/* Unchecked manually: Always hide */ -.ui-table-columntoggle th.ui-table-cell-hidden, -.ui-table-columntoggle td.ui-table-cell-hidden, -.ui-table-columntoggle.ui-responsive th.ui-table-cell-hidden, -.ui-table-columntoggle.ui-responsive td.ui-table-cell-hidden { - display: none; -} -/* Checked manually: Always show */ -.ui-table-columntoggle th.ui-table-cell-visible, -.ui-table-columntoggle td.ui-table-cell-visible, -.ui-table-columntoggle.ui-responsive th.ui-table-cell-visible, -.ui-table-columntoggle.ui-responsive td.ui-table-cell-visible { - display: table-cell; -} -/* - Styles for the table columntoggle mode -*/ -.ui-table-reflow td .ui-table-cell-label, -.ui-table-reflow th .ui-table-cell-label { - display: none; -} -/* Mobile first styles: Begin with the stacked presentation at narrow widths */ -@media only all { - /* Hide the table headers */ - .ui-table-reflow thead td, - .ui-table-reflow thead th { - display: none; - } - /* Show the table cells as a block level element */ - .ui-table-reflow td, - .ui-table-reflow th { - text-align: left; - display: block; - } - /* Add a fair amount of top margin to visually separate each row when stacked */ - .ui-table-reflow tbody th { - margin-top: 3em; - } - /* Make the label elements a percentage width */ - .ui-table-reflow td .ui-table-cell-label, - .ui-table-reflow th .ui-table-cell-label { - padding: .4em; - min-width: 30%; - display: inline-block; - margin: -.4em 1em -.4em -.4em; - } - /* For grouped headers, have a different style to visually separate the levels by classing the first label in each col group */ - .ui-table-reflow th .ui-table-cell-label-top, - .ui-table-reflow td .ui-table-cell-label-top { - display: block; - padding: .4em 0; - margin: .4em 0; - text-transform: uppercase; - font-size: .9em; - font-weight: normal; - } -} -/* Breakpoint to show as a standard table at 560px (35em x 16px) or wider */ -@media ( min-width: 35em ) { - /* Show the table header rows */ - .ui-table-reflow.ui-responsive td, - .ui-table-reflow.ui-responsive th, - .ui-table-reflow.ui-responsive tbody th, - .ui-table-reflow.ui-responsive tbody td, - .ui-table-reflow.ui-responsive thead td, - .ui-table-reflow.ui-responsive thead th { - display: table-cell; - margin: 0; - } - /* Hide the labels in each cell */ - .ui-table-reflow.ui-responsive td .ui-table-cell-label, - .ui-table-reflow.ui-responsive th .ui-table-cell-label { - display: none; - } -} -/* Hack to make IE9 and WP7.5 treat cells like block level elements, scoped to ui-responsive class */ -/* Applied in a max-width media query up to the table layout breakpoint so we don't need to negate this*/ -@media ( max-width: 35em ) { - .ui-table-reflow.ui-responsive td, - .ui-table-reflow.ui-responsive th { - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - float: left; - clear: left; - } -} -/* Panel */ -.ui-panel { - width: 17em; - min-height: 100%; - max-height: none; - border-width: 0; - position: absolute; - top: 0; - display: block; -} -.ui-panel-closed { - width: 0; - max-height: 100%; - overflow: hidden; - visibility: hidden; - left: 0; - clip: rect(1px,1px,1px,1px); -} -.ui-panel-fixed { - position: fixed; - bottom: -1px; /* Fixes gap on Chrome for Android */ - padding-bottom: 1px; -} -.ui-panel-display-reveal { - z-index: 1; -} -.ui-panel-display-push { - z-index: 999; -} -.ui-panel-display-overlay { - z-index: 1001; /* Fixed toolbars have z-index 1000 */ -} -.ui-panel-inner { - padding: 1em; -} -/* Container, page and wrapper */ -.ui-panel-page-container { - overflow-x: visible; -} -.ui-panel-page-container-themed .ui-page-active { - background: none; -} -.ui-panel-wrapper { - position: relative; - min-height: inherit; - border: 0; - overflow-x: hidden; - z-index: 999; -} -/* Fixed toolbars */ -.ui-panel-fixed-toolbar { - overflow-x: hidden; -} -/* Dismiss */ -.ui-panel-dismiss { - position: absolute; - top: 0; - left: 0; - right: 0; - height: 100%; - z-index: 1002; - display: none; -} -.ui-panel-dismiss-open { - display: block; -} -/* Animate class is added to panel, wrapper and fixed toolbars */ -.ui-panel-animate { - -webkit-transition: -webkit-transform 300ms ease; - -webkit-transition-duration: 300ms; - -moz-transition: -moz-transform 300ms ease; - transition: transform 300ms ease; -} -/* Fix for Windows Phone issue #6349: unset the transition for transforms in case of fixed toolbars. */ -@media screen and ( max-device-width: 768px ) { - .ui-page-header-fixed .ui-panel-animate.ui-panel-wrapper, - .ui-page-footer-fixed .ui-panel-animate.ui-panel-wrapper, - .ui-panel-animate.ui-panel-fixed-toolbar { - -ms-transition: none; - } - /* We need a transitionend event ... */ - .ui-panel-animate.ui-panel-fixed-toolbar { - -ms-transition: -ms-transform 1ms; - -ms-transform: rotate(0deg); - } -} -/* Hardware acceleration for smoother transitions on WebKit browsers */ -.ui-panel-animate.ui-panel:not(.ui-panel-display-reveal) { - -webkit-backface-visibility: hidden; - -webkit-transform: translate3d(0,0,0); -} -/* Panel positioning (for overlay and push) */ -/* Panel left closed */ -.ui-panel-position-left { - left: -17em; -} -/* Panel left closed animated */ -.ui-panel-animate.ui-panel-position-left.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-position-left.ui-panel-display-push { - left: 0; - -webkit-transform: translate3d(-17em,0,0); - -moz-transform: translate3d(-17em,0,0); - transform: translate3d(-17em,0,0); -} -/* Panel left open */ -.ui-panel-position-left.ui-panel-display-reveal, /* Unset "panel left closed" for reveal */ -.ui-panel-open.ui-panel-position-left { - left: 0; -} -/* Panel left open animated */ -.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-push { - -webkit-transform: translate3d(0,0,0); - transform: translate3d(0,0,0); - -moz-transform: none; -} -/* Panel right closed */ -.ui-panel-position-right { - right: -17em; -} -/* Panel right closed animated */ -.ui-panel-animate.ui-panel-position-right.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-position-right.ui-panel-display-push { - right: 0; - -webkit-transform: translate3d(17em,0,0); - -moz-transform: translate3d(17em,0,0); - transform: translate3d(17em,0,0); -} -/* Panel right open */ -.ui-panel-position-right.ui-panel-display-reveal, /* Unset "panel right closed" for reveal */ -.ui-panel-position-right.ui-panel-open { - right: 0; -} -/* Panel right open animated */ -.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-push { - -webkit-transform: translate3d(0,0,0); - transform: translate3d(0,0,0); - -moz-transform: none; -} -/* Wrapper and fixed toolbars positioning (for reveal and push) */ -/* Panel left open */ -.ui-panel-page-content-position-left { - left: 17em; - right: -17em; -} -/* Panel left open animated */ -.ui-panel-animate.ui-panel-page-content-position-left { - left: 0; - right: 0; - -webkit-transform: translate3d(17em,0,0); - -moz-transform: translate3d(17em,0,0); - transform: translate3d(17em,0,0); -} -/* Panel right open */ -.ui-panel-page-content-position-right { - left: -17em; - right: 17em; -} -/* Panel right open animated */ -.ui-panel-animate.ui-panel-page-content-position-right { - left: 0; - right: 0; - -webkit-transform: translate3d(-17em,0,0); - -moz-transform: translate3d(-17em,0,0); - transform: translate3d(-17em,0,0); -} -/* Dismiss model open */ -.ui-panel-dismiss-open.ui-panel-dismiss-position-left { - left: 17em; -} -.ui-panel-dismiss-open.ui-panel-dismiss-position-right { - right: 17em; -} -/* Shadows and borders */ -.ui-panel-display-reveal { - -webkit-box-shadow: inset -5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: inset -5px 0 5px rgba(0,0,0,.15); - box-shadow: inset -5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-position-right.ui-panel-display-reveal { - -webkit-box-shadow: inset 5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: inset 5px 0 5px rgba(0,0,0,.15); - box-shadow: inset 5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-display-overlay { - -webkit-box-shadow: 5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: 5px 0 5px rgba(0,0,0,.15); - box-shadow: 5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-position-right.ui-panel-display-overlay { - -webkit-box-shadow: -5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: -5px 0 5px rgba(0,0,0,.15); - box-shadow: -5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-open.ui-panel-position-left.ui-panel-display-push { - border-right-width: 1px; - margin-right: -1px; -} -.ui-panel-page-content-position-left.ui-panel-page-content-display-push { - margin-left: 1px; - width: auto; -} -.ui-panel-open.ui-panel-position-right.ui-panel-display-push { - border-left-width: 1px; - margin-left: -1px; -} -.ui-panel-page-content-position-right.ui-panel-page-content-display-push { - margin-right: 1px; - width: auto; -} -/* Responsive: wrap on wide viewports once open */ -@media (min-width:55em) { - .ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-left { - margin-right: 17em; - } - .ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-right { - margin-left: 17em; - } - .ui-responsive-panel .ui-panel-page-content-open { - width: auto; - } - .ui-responsive-panel .ui-panel-dismiss-display-push, - .ui-responsive-panel.ui-page-active ~ .ui-panel-dismiss-display-push { - display: none; - } -} -.ui-tabs { - position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ - padding: .2em; -} diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.external-png-1.4.5.min.css b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.external-png-1.4.5.min.css deleted file mode 100644 index b1e78616346035ef3cf4a7ea079b0a1c1c719564..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.external-png-1.4.5.min.css +++ /dev/null @@ -1,24 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! jQuery Mobile 1.4.5 | Git HEADhash: 68e55e7 <> 2014-10-31T17:33:30Z | (c) 2010, 2014 jQuery Foundation, Inc. | jquery.org/license */ - -.ui-icon-action:after{background-image:url(images/icons-png/action-white.png)}.ui-icon-alert:after{background-image:url(images/icons-png/alert-white.png)}.ui-icon-arrow-d-l:after{background-image:url(images/icons-png/arrow-d-l-white.png)}.ui-icon-arrow-d-r:after{background-image:url(images/icons-png/arrow-d-r-white.png)}.ui-icon-arrow-d:after{background-image:url(images/icons-png/arrow-d-white.png)}.ui-icon-arrow-l:after{background-image:url(images/icons-png/arrow-l-white.png)}.ui-icon-arrow-r:after{background-image:url(images/icons-png/arrow-r-white.png)}.ui-icon-arrow-u-l:after{background-image:url(images/icons-png/arrow-u-l-white.png)}.ui-icon-arrow-u-r:after{background-image:url(images/icons-png/arrow-u-r-white.png)}.ui-icon-arrow-u:after{background-image:url(images/icons-png/arrow-u-white.png)}.ui-icon-audio:after{background-image:url(images/icons-png/audio-white.png)}.ui-icon-back:after{background-image:url(images/icons-png/back-white.png)}.ui-icon-bars:after{background-image:url(images/icons-png/bars-white.png)}.ui-icon-bullets:after{background-image:url(images/icons-png/bullets-white.png)}.ui-icon-calendar:after{background-image:url(images/icons-png/calendar-white.png)}.ui-icon-camera:after{background-image:url(images/icons-png/camera-white.png)}.ui-icon-carat-d:after{background-image:url(images/icons-png/carat-d-white.png)}.ui-icon-carat-l:after{background-image:url(images/icons-png/carat-l-white.png)}.ui-icon-carat-r:after{background-image:url(images/icons-png/carat-r-white.png)}.ui-icon-carat-u:after{background-image:url(images/icons-png/carat-u-white.png)}.ui-icon-check:after,html .ui-btn.ui-checkbox-on.ui-checkbox-on:after{background-image:url(images/icons-png/check-white.png)}.ui-icon-clock:after{background-image:url(images/icons-png/clock-white.png)}.ui-icon-cloud:after{background-image:url(images/icons-png/cloud-white.png)}.ui-icon-comment:after{background-image:url(images/icons-png/comment-white.png)}.ui-icon-delete:after{background-image:url(images/icons-png/delete-white.png)}.ui-icon-edit:after{background-image:url(images/icons-png/edit-white.png)}.ui-icon-eye:after{background-image:url(images/icons-png/eye-white.png)}.ui-icon-forbidden:after{background-image:url(images/icons-png/forbidden-white.png)}.ui-icon-forward:after{background-image:url(images/icons-png/forward-white.png)}.ui-icon-gear:after{background-image:url(images/icons-png/gear-white.png)}.ui-icon-grid:after{background-image:url(images/icons-png/grid-white.png)}.ui-icon-heart:after{background-image:url(images/icons-png/heart-white.png)}.ui-icon-home:after{background-image:url(images/icons-png/home-white.png)}.ui-icon-info:after{background-image:url(images/icons-png/info-white.png)}.ui-icon-location:after{background-image:url(images/icons-png/location-white.png)}.ui-icon-lock:after{background-image:url(images/icons-png/lock-white.png)}.ui-icon-mail:after{background-image:url(images/icons-png/mail-white.png)}.ui-icon-minus:after{background-image:url(images/icons-png/minus-white.png)}.ui-icon-navigation:after{background-image:url(images/icons-png/navigation-white.png)}.ui-icon-phone:after{background-image:url(images/icons-png/phone-white.png)}.ui-icon-plus:after{background-image:url(images/icons-png/plus-white.png)}.ui-icon-power:after{background-image:url(images/icons-png/power-white.png)}.ui-icon-recycle:after{background-image:url(images/icons-png/recycle-white.png)}.ui-icon-refresh:after{background-image:url(images/icons-png/refresh-white.png)}.ui-icon-search:after{background-image:url(images/icons-png/search-white.png)}.ui-icon-shop:after{background-image:url(images/icons-png/shop-white.png)}.ui-icon-star:after{background-image:url(images/icons-png/star-white.png)}.ui-icon-tag:after{background-image:url(images/icons-png/tag-white.png)}.ui-icon-user:after{background-image:url(images/icons-png/user-white.png)}.ui-icon-video:after{background-image:url(images/icons-png/video-white.png)}.ui-alt-icon.ui-icon-action:after,.ui-alt-icon .ui-icon-action:after{background-image:url(images/icons-png/action-black.png)}.ui-alt-icon.ui-icon-alert:after,.ui-alt-icon .ui-icon-alert:after{background-image:url(images/icons-png/alert-black.png)}.ui-alt-icon.ui-icon-arrow-d:after,.ui-alt-icon .ui-icon-arrow-d:after{background-image:url(images/icons-png/arrow-d-black.png)}.ui-alt-icon.ui-icon-arrow-d-l:after,.ui-alt-icon .ui-icon-arrow-d-l:after{background-image:url(images/icons-png/arrow-d-l-black.png)}.ui-alt-icon.ui-icon-arrow-d-r:after,.ui-alt-icon .ui-icon-arrow-d-r:after{background-image:url(images/icons-png/arrow-d-r-black.png)}.ui-alt-icon.ui-icon-arrow-l:after,.ui-alt-icon .ui-icon-arrow-l:after{background-image:url(images/icons-png/arrow-l-black.png)}.ui-alt-icon.ui-icon-arrow-r:after,.ui-alt-icon .ui-icon-arrow-r:after{background-image:url(images/icons-png/arrow-r-black.png)}.ui-alt-icon.ui-icon-arrow-u:after,.ui-alt-icon .ui-icon-arrow-u:after{background-image:url(images/icons-png/arrow-u-black.png)}.ui-alt-icon.ui-icon-arrow-u-l:after,.ui-alt-icon .ui-icon-arrow-u-l:after{background-image:url(images/icons-png/arrow-u-l-black.png)}.ui-alt-icon.ui-icon-arrow-u-r:after,.ui-alt-icon .ui-icon-arrow-u-r:after{background-image:url(images/icons-png/arrow-u-r-black.png)}.ui-alt-icon.ui-icon-audio:after,.ui-alt-icon .ui-icon-audio:after{background-image:url(images/icons-png/audio-black.png)}.ui-alt-icon.ui-icon-back:after,.ui-alt-icon .ui-icon-back:after{background-image:url(images/icons-png/back-black.png)}.ui-alt-icon.ui-icon-bars:after,.ui-alt-icon .ui-icon-bars:after{background-image:url(images/icons-png/bars-black.png)}.ui-alt-icon.ui-icon-bullets:after,.ui-alt-icon .ui-icon-bullets:after{background-image:url(images/icons-png/bullets-black.png)}.ui-alt-icon.ui-icon-calendar:after,.ui-alt-icon .ui-icon-calendar:after{background-image:url(images/icons-png/calendar-black.png)}.ui-alt-icon.ui-icon-camera:after,.ui-alt-icon .ui-icon-camera:after{background-image:url(images/icons-png/camera-black.png)}.ui-alt-icon.ui-icon-carat-d:after,.ui-alt-icon .ui-icon-carat-d:after{background-image:url(images/icons-png/carat-d-black.png)}.ui-alt-icon.ui-icon-carat-l:after,.ui-alt-icon .ui-icon-carat-l:after{background-image:url(images/icons-png/carat-l-black.png)}.ui-alt-icon.ui-icon-carat-r:after,.ui-alt-icon .ui-icon-carat-r:after{background-image:url(images/icons-png/carat-r-black.png)}.ui-alt-icon.ui-icon-carat-u:after,.ui-alt-icon .ui-icon-carat-u:after{background-image:url(images/icons-png/carat-u-black.png)}.ui-alt-icon.ui-icon-check:after,.ui-alt-icon .ui-icon-check:after,html .ui-alt-icon.ui-btn.ui-checkbox-on:after,html .ui-alt-icon .ui-btn.ui-checkbox-on:after{background-image:url(images/icons-png/check-black.png)}.ui-alt-icon.ui-icon-clock:after,.ui-alt-icon .ui-icon-clock:after{background-image:url(images/icons-png/clock-black.png)}.ui-alt-icon.ui-icon-cloud:after,.ui-alt-icon .ui-icon-cloud:after{background-image:url(images/icons-png/cloud-black.png)}.ui-alt-icon.ui-icon-comment:after,.ui-alt-icon .ui-icon-comment:after{background-image:url(images/icons-png/comment-black.png)}.ui-alt-icon.ui-icon-delete:after,.ui-alt-icon .ui-icon-delete:after{background-image:url(images/icons-png/delete-black.png)}.ui-alt-icon.ui-icon-edit:after,.ui-alt-icon .ui-icon-edit:after{background-image:url(images/icons-png/edit-black.png)}.ui-alt-icon.ui-icon-eye:after,.ui-alt-icon .ui-icon-eye:after{background-image:url(images/icons-png/eye-black.png)}.ui-alt-icon.ui-icon-forbidden:after,.ui-alt-icon .ui-icon-forbidden:after{background-image:url(images/icons-png/forbidden-black.png)}.ui-alt-icon.ui-icon-forward:after,.ui-alt-icon .ui-icon-forward:after{background-image:url(images/icons-png/forward-black.png)}.ui-alt-icon.ui-icon-gear:after,.ui-alt-icon .ui-icon-gear:after{background-image:url(images/icons-png/gear-black.png)}.ui-alt-icon.ui-icon-grid:after,.ui-alt-icon .ui-icon-grid:after{background-image:url(images/icons-png/grid-black.png)}.ui-alt-icon.ui-icon-heart:after,.ui-alt-icon .ui-icon-heart:after{background-image:url(images/icons-png/heart-black.png)}.ui-alt-icon.ui-icon-home:after,.ui-alt-icon .ui-icon-home:after{background-image:url(images/icons-png/home-black.png)}.ui-alt-icon.ui-icon-info:after,.ui-alt-icon .ui-icon-info:after{background-image:url(images/icons-png/info-black.png)}.ui-alt-icon.ui-icon-location:after,.ui-alt-icon .ui-icon-location:after{background-image:url(images/icons-png/location-black.png)}.ui-alt-icon.ui-icon-lock:after,.ui-alt-icon .ui-icon-lock:after{background-image:url(images/icons-png/lock-black.png)}.ui-alt-icon.ui-icon-mail:after,.ui-alt-icon .ui-icon-mail:after{background-image:url(images/icons-png/mail-black.png)}.ui-alt-icon.ui-icon-minus:after,.ui-alt-icon .ui-icon-minus:after{background-image:url(images/icons-png/minus-black.png)}.ui-alt-icon.ui-icon-navigation:after,.ui-alt-icon .ui-icon-navigation:after{background-image:url(images/icons-png/navigation-black.png)}.ui-alt-icon.ui-icon-phone:after,.ui-alt-icon .ui-icon-phone:after{background-image:url(images/icons-png/phone-black.png)}.ui-alt-icon.ui-icon-plus:after,.ui-alt-icon .ui-icon-plus:after{background-image:url(images/icons-png/plus-black.png)}.ui-alt-icon.ui-icon-power:after,.ui-alt-icon .ui-icon-power:after{background-image:url(images/icons-png/power-black.png)}.ui-alt-icon.ui-icon-recycle:after,.ui-alt-icon .ui-icon-recycle:after{background-image:url(images/icons-png/recycle-black.png)}.ui-alt-icon.ui-icon-refresh:after,.ui-alt-icon .ui-icon-refresh:after{background-image:url(images/icons-png/refresh-black.png)}.ui-alt-icon.ui-icon-search:after,.ui-alt-icon .ui-icon-search:after,.ui-input-search:after{background-image:url(images/icons-png/search-black.png)}.ui-alt-icon.ui-icon-shop:after,.ui-alt-icon .ui-icon-shop:after{background-image:url(images/icons-png/shop-black.png)}.ui-alt-icon.ui-icon-star:after,.ui-alt-icon .ui-icon-star:after{background-image:url(images/icons-png/star-black.png)}.ui-alt-icon.ui-icon-tag:after,.ui-alt-icon .ui-icon-tag:after{background-image:url(images/icons-png/tag-black.png)}.ui-alt-icon.ui-icon-user:after,.ui-alt-icon .ui-icon-user:after{background-image:url(images/icons-png/user-black.png)}.ui-alt-icon.ui-icon-video:after,.ui-alt-icon .ui-icon-video:after{background-image:url(images/icons-png/video-black.png)}html{font-size:100%}body,input,select,textarea,button,.ui-btn{font-size:1em;line-height:1.3;font-family:sans-serif}legend,.ui-input-text input,.ui-input-search input{color:inherit;text-shadow:inherit}.ui-mobile label,div.ui-controlgroup-label{font-weight:400;font-size:16px}.ui-field-contain{border-bottom-color:#828282;border-bottom-color:rgba(0,0,0,.15);border-bottom-width:1px;border-bottom-style:solid}.table-stroke thead th,.table-stripe thead th,.table-stripe tbody tr:last-child{border-bottom:1px solid #d6d6d6;border-bottom:1px solid rgba(0,0,0,.1)}.table-stroke tbody th,.table-stroke tbody td{border-bottom:1px solid #e6e6e6;border-bottom:1px solid rgba(0,0,0,.05)}.table-stripe.table-stroke tbody tr:last-child th,.table-stripe.table-stroke tbody tr:last-child td{border-bottom:0}.table-stripe tbody tr:nth-child(odd) td,.table-stripe tbody tr:nth-child(odd) th{background-color:#eee;background-color:rgba(0,0,0,.04)}.ui-btn,label.ui-btn{font-weight:700;border-width:1px;border-style:solid}.ui-btn{text-decoration:none!important}.ui-btn-active{cursor:pointer}.ui-corner-all{-webkit-border-radius:.3125em;border-radius:.3125em}.ui-btn-corner-all,.ui-btn.ui-corner-all,.ui-slider-track.ui-corner-all,.ui-flipswitch.ui-corner-all,.ui-li-count{-webkit-border-radius:.3125em;border-radius:.3125em}.ui-btn-icon-notext.ui-btn-corner-all,.ui-btn-icon-notext.ui-corner-all{-webkit-border-radius:1em;border-radius:1em}.ui-btn-corner-all,.ui-corner-all{-webkit-background-clip:padding;background-clip:padding-box}.ui-popup.ui-corner-all>.ui-popup-arrow-guide{left:.6em;right:.6em;top:.6em;bottom:.6em}.ui-shadow{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.15);-moz-box-shadow:0 1px 3px rgba(0,0,0,.15);box-shadow:0 1px 3px rgba(0,0,0,.15)}.ui-shadow-inset{-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.2);-moz-box-shadow:inset 0 1px 3px rgba(0,0,0,.2);box-shadow:inset 0 1px 3px rgba(0,0,0,.2)}.ui-overlay-shadow{-webkit-box-shadow:0 0 12px rgba(0,0,0,.6);-moz-box-shadow:0 0 12px rgba(0,0,0,.6);box-shadow:0 0 12px rgba(0,0,0,.6)}.ui-btn-icon-left:after,.ui-btn-icon-right:after,.ui-btn-icon-top:after,.ui-btn-icon-bottom:after,.ui-btn-icon-notext:after{background-color:#666;background-color:rgba(0,0,0,.3);background-position:center center;background-repeat:no-repeat;-webkit-border-radius:1em;border-radius:1em}.ui-alt-icon.ui-btn:after,.ui-alt-icon .ui-btn:after,html .ui-alt-icon.ui-checkbox-off:after,html .ui-alt-icon.ui-radio-off:after,html .ui-alt-icon .ui-checkbox-off:after,html .ui-alt-icon .ui-radio-off:after{background-color:#666;background-color:rgba(0,0,0,.15)}.ui-nodisc-icon.ui-btn:after,.ui-nodisc-icon .ui-btn:after{background-color:transparent}.ui-shadow-icon.ui-btn:after,.ui-shadow-icon .ui-btn:after{-webkit-box-shadow:0 1px 0 rgba(255,255,255,.3);-moz-box-shadow:0 1px 0 rgba(255,255,255,.3);box-shadow:0 1px 0 rgba(255,255,255,.3)}.ui-btn.ui-checkbox-off:after,.ui-btn.ui-checkbox-on:after,.ui-btn.ui-radio-off:after,.ui-btn.ui-radio-on:after{display:block;width:18px;height:18px;margin:-9px 2px 0 2px}.ui-checkbox-off:after,.ui-btn.ui-radio-off:after{filter:Alpha(Opacity=30);opacity:.3}.ui-btn.ui-checkbox-off:after,.ui-btn.ui-checkbox-on:after{-webkit-border-radius:.1875em;border-radius:.1875em}.ui-btn.ui-checkbox-off:after{background-color:#666;background-color:rgba(0,0,0,.3)}.ui-radio .ui-btn.ui-radio-on:after{background-image:none;background-color:#fff;width:8px;height:8px;border-width:5px;border-style:solid}.ui-alt-icon.ui-btn.ui-radio-on:after,.ui-alt-icon .ui-btn.ui-radio-on:after{background-color:#000}.ui-icon-loading{background:url(images/ajax-loader.gif);background-size:2.875em 2.875em}.ui-bar-a,.ui-page-theme-a .ui-bar-inherit,html .ui-bar-a .ui-bar-inherit,html .ui-body-a .ui-bar-inherit,html body .ui-group-theme-a .ui-bar-inherit{background-color:#e9e9e9;border-color:#ddd;color:#333;text-shadow:0 1px 0 #eee;font-weight:700}.ui-bar-a{border-width:1px;border-style:solid}.ui-overlay-a,.ui-page-theme-a,.ui-page-theme-a .ui-panel-wrapper{background-color:#f9f9f9;border-color:#bbb;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-body-a,.ui-page-theme-a .ui-body-inherit,html .ui-bar-a .ui-body-inherit,html .ui-body-a .ui-body-inherit,html body .ui-group-theme-a .ui-body-inherit,html .ui-panel-page-container-a{background-color:#fff;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-body-a{border-width:1px;border-style:solid}.ui-page-theme-a a,html .ui-bar-a a,html .ui-body-a a,html body .ui-group-theme-a a{color:#38c;font-weight:700}.ui-page-theme-a a:visited,html .ui-bar-a a:visited,html .ui-body-a a:visited,html body .ui-group-theme-a a:visited{color:#38c}.ui-page-theme-a a:hover,html .ui-bar-a a:hover,html .ui-body-a a:hover,html body .ui-group-theme-a a:hover{color:#059}.ui-page-theme-a a:active,html .ui-bar-a a:active,html .ui-body-a a:active,html body .ui-group-theme-a a:active{color:#059}.ui-page-theme-a .ui-btn,html .ui-bar-a .ui-btn,html .ui-body-a .ui-btn,html body .ui-group-theme-a .ui-btn,html head+body .ui-btn.ui-btn-a,.ui-page-theme-a .ui-btn:visited,html .ui-bar-a .ui-btn:visited,html .ui-body-a .ui-btn:visited,html body .ui-group-theme-a .ui-btn:visited,html head+body .ui-btn.ui-btn-a:visited{background-color:#f6f6f6;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-page-theme-a .ui-btn:hover,html .ui-bar-a .ui-btn:hover,html .ui-body-a .ui-btn:hover,html body .ui-group-theme-a .ui-btn:hover,html head+body .ui-btn.ui-btn-a:hover{background-color:#ededed;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-page-theme-a .ui-btn:active,html .ui-bar-a .ui-btn:active,html .ui-body-a .ui-btn:active,html body .ui-group-theme-a .ui-btn:active,html head+body .ui-btn.ui-btn-a:active{background-color:#e8e8e8;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-page-theme-a .ui-btn.ui-btn-active,html .ui-bar-a .ui-btn.ui-btn-active,html .ui-body-a .ui-btn.ui-btn-active,html body .ui-group-theme-a .ui-btn.ui-btn-active,html head+body .ui-btn.ui-btn-a.ui-btn-active,.ui-page-theme-a .ui-checkbox-on:after,html .ui-bar-a .ui-checkbox-on:after,html .ui-body-a .ui-checkbox-on:after,html body .ui-group-theme-a .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-a:after,.ui-page-theme-a .ui-flipswitch-active,html .ui-bar-a .ui-flipswitch-active,html .ui-body-a .ui-flipswitch-active,html body .ui-group-theme-a .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-a.ui-flipswitch-active,.ui-page-theme-a .ui-slider-track .ui-btn-active,html .ui-bar-a .ui-slider-track .ui-btn-active,html .ui-body-a .ui-slider-track .ui-btn-active,html body .ui-group-theme-a .ui-slider-track .ui-btn-active,html body div.ui-slider-track.ui-body-a .ui-btn-active{background-color:#38c;border-color:#38c;color:#fff;text-shadow:0 1px 0 #059}.ui-page-theme-a .ui-radio-on:after,html .ui-bar-a .ui-radio-on:after,html .ui-body-a .ui-radio-on:after,html body .ui-group-theme-a .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-a:after{border-color:#38c}.ui-page-theme-a .ui-btn:focus,html .ui-bar-a .ui-btn:focus,html .ui-body-a .ui-btn:focus,html body .ui-group-theme-a .ui-btn:focus,html head+body .ui-btn.ui-btn-a:focus,.ui-page-theme-a .ui-focus,html .ui-bar-a .ui-focus,html .ui-body-a .ui-focus,html body .ui-group-theme-a .ui-focus,html head+body .ui-btn-a.ui-focus,html head+body .ui-body-a.ui-focus{-webkit-box-shadow:0 0 12px #38c;-moz-box-shadow:0 0 12px #38c;box-shadow:0 0 12px #38c}.ui-bar-b,.ui-page-theme-b .ui-bar-inherit,html .ui-bar-b .ui-bar-inherit,html .ui-body-b .ui-bar-inherit,html body .ui-group-theme-b .ui-bar-inherit{background-color:#1d1d1d;border-color:#1b1b1b;color:#fff;text-shadow:0 1px 0 #111;font-weight:700}.ui-bar-b{border-width:1px;border-style:solid}.ui-overlay-b,.ui-page-theme-b,.ui-page-theme-b .ui-panel-wrapper{background-color:#252525;border-color:#454545;color:#fff;text-shadow:0 1px 0 #111}.ui-body-b,.ui-page-theme-b .ui-body-inherit,html .ui-bar-b .ui-body-inherit,html .ui-body-b .ui-body-inherit,html body .ui-group-theme-b .ui-body-inherit,html .ui-panel-page-container-b{background-color:#2a2a2a;border-color:#1d1d1d;color:#fff;text-shadow:0 1px 0 #111}.ui-body-b{border-width:1px;border-style:solid}.ui-page-theme-b a,html .ui-bar-b a,html .ui-body-b a,html body .ui-group-theme-b a{color:#2ad;font-weight:700}.ui-page-theme-b a:visited,html .ui-bar-b a:visited,html .ui-body-b a:visited,html body .ui-group-theme-b a:visited{color:#2ad}.ui-page-theme-b a:hover,html .ui-bar-b a:hover,html .ui-body-b a:hover,html body .ui-group-theme-b a:hover{color:#08b}.ui-page-theme-b a:active,html .ui-bar-b a:active,html .ui-body-b a:active,html body .ui-group-theme-b a:active{color:#08b}.ui-page-theme-b .ui-btn,html .ui-bar-b .ui-btn,html .ui-body-b .ui-btn,html body .ui-group-theme-b .ui-btn,html head+body .ui-btn.ui-btn-b,.ui-page-theme-b .ui-btn:visited,html .ui-bar-b .ui-btn:visited,html .ui-body-b .ui-btn:visited,html body .ui-group-theme-b .ui-btn:visited,html head+body .ui-btn.ui-btn-b:visited{background-color:#333;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111}.ui-page-theme-b .ui-btn:hover,html .ui-bar-b .ui-btn:hover,html .ui-body-b .ui-btn:hover,html body .ui-group-theme-b .ui-btn:hover,html head+body .ui-btn.ui-btn-b:hover{background-color:#373737;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111}.ui-page-theme-b .ui-btn:active,html .ui-bar-b .ui-btn:active,html .ui-body-b .ui-btn:active,html body .ui-group-theme-b .ui-btn:active,html head+body .ui-btn.ui-btn-b:active{background-color:#404040;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111}.ui-page-theme-b .ui-btn.ui-btn-active,html .ui-bar-b .ui-btn.ui-btn-active,html .ui-body-b .ui-btn.ui-btn-active,html body .ui-group-theme-b .ui-btn.ui-btn-active,html head+body .ui-btn.ui-btn-b.ui-btn-active,.ui-page-theme-b .ui-checkbox-on:after,html .ui-bar-b .ui-checkbox-on:after,html .ui-body-b .ui-checkbox-on:after,html body .ui-group-theme-b .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-b:after,.ui-page-theme-b .ui-flipswitch-active,html .ui-bar-b .ui-flipswitch-active,html .ui-body-b .ui-flipswitch-active,html body .ui-group-theme-b .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-b.ui-flipswitch-active,.ui-page-theme-b .ui-slider-track .ui-btn-active,html .ui-bar-b .ui-slider-track .ui-btn-active,html .ui-body-b .ui-slider-track .ui-btn-active,html body .ui-group-theme-b .ui-slider-track .ui-btn-active,html body div.ui-slider-track.ui-body-b .ui-btn-active{background-color:#2ad;border-color:#2ad;color:#fff;text-shadow:0 1px 0 #08b}.ui-page-theme-b .ui-radio-on:after,html .ui-bar-b .ui-radio-on:after,html .ui-body-b .ui-radio-on:after,html body .ui-group-theme-b .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-b:after{border-color:#2ad}.ui-page-theme-b .ui-btn:focus,html .ui-bar-b .ui-btn:focus,html .ui-body-b .ui-btn:focus,html body .ui-group-theme-b .ui-btn:focus,html head+body .ui-btn.ui-btn-b:focus,.ui-page-theme-b .ui-focus,html .ui-bar-b .ui-focus,html .ui-body-b .ui-focus,html body .ui-group-theme-b .ui-focus,html head+body .ui-btn-b.ui-focus,html head+body .ui-body-b.ui-focus{-webkit-box-shadow:0 0 12px #2ad;-moz-box-shadow:0 0 12px #2ad;box-shadow:0 0 12px #2ad}.ui-disabled,.ui-state-disabled,button[disabled],.ui-select .ui-btn.ui-state-disabled{filter:Alpha(Opacity=30);opacity:.3;cursor:default!important;pointer-events:none}.ui-btn:focus,.ui-btn.ui-focus{outline:0}.ui-noboxshadow .ui-shadow,.ui-noboxshadow .ui-shadow-inset,.ui-noboxshadow .ui-overlay-shadow,.ui-noboxshadow .ui-shadow-icon.ui-btn:after,.ui-noboxshadow .ui-shadow-icon .ui-btn:after,.ui-noboxshadow .ui-focus,.ui-noboxshadow .ui-btn:focus,.ui-noboxshadow input:focus,.ui-noboxshadow .ui-panel{-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important}.ui-noboxshadow .ui-btn:focus,.ui-noboxshadow .ui-focus{outline-width:1px;outline-style:auto}.ui-mobile,.ui-mobile body{height:99.9%}.ui-mobile fieldset,.ui-page{padding:0;margin:0}.ui-mobile a img,.ui-mobile fieldset{border-width:0}.ui-mobile fieldset{min-width:0}@-moz-document url-prefix(){.ui-mobile fieldset{display:table-column;vertical-align:middle}}.ui-mobile-viewport{margin:0;overflow-x:visible;-webkit-text-size-adjust:100%;-ms-text-size-adjust:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}body.ui-mobile-viewport,div.ui-mobile-viewport{overflow-x:hidden}.ui-mobile [data-role=page],.ui-mobile [data-role=dialog],.ui-page{top:0;left:0;width:100%;min-height:100%;position:absolute;display:none;border:0}.ui-page{outline:0}.ui-mobile .ui-page-active{display:block;overflow:visible;overflow-x:hidden}@media screen and (orientation:portrait){.ui-mobile .ui-page{min-height:420px}}@media screen and (orientation:landscape){.ui-mobile .ui-page{min-height:300px}}.ui-mobile-rendering>*{visibility:hidden}.ui-nojs{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-loading .ui-loader{display:block}.ui-loader{display:none;z-index:9999999;position:fixed;top:50%;left:50%;border:0}.ui-loader-default{background:0;filter:Alpha(Opacity=18);opacity:.18;width:2.875em;height:2.875em;margin-left:-1.4375em;margin-top:-1.4375em}.ui-loader-verbose{width:12.5em;filter:Alpha(Opacity=88);opacity:.88;box-shadow:0 1px 1px -1px #fff;height:auto;margin-left:-6.875em;margin-top:-2.6875em;padding:.625em}.ui-loader-default h1{font-size:0;width:0;height:0;overflow:hidden}.ui-loader-verbose h1{font-size:1em;margin:0;text-align:center}.ui-loader .ui-icon-loading{background-color:#000;display:block;margin:0;width:2.75em;height:2.75em;padding:.0625em;-webkit-border-radius:2.25em;border-radius:2.25em}.ui-loader-verbose .ui-icon-loading{margin:0 auto .625em;filter:Alpha(Opacity=75);opacity:.75}.ui-loader-textonly{padding:.9375em;margin-left:-7.1875em}.ui-loader-textonly .ui-icon-loading{display:none}.ui-loader-fakefix{position:absolute}.ui-bar,.ui-body{position:relative;padding:.4em 1em;overflow:hidden;display:block;clear:both}.ui-bar h1,.ui-bar h2,.ui-bar h3,.ui-bar h4,.ui-bar h5,.ui-bar h6{margin:0;padding:0;font-size:1em;display:inline-block}.ui-header,.ui-footer{border-width:1px 0;border-style:solid;position:relative}.ui-header:empty,.ui-footer:empty{min-height:2.6875em}.ui-header .ui-title,.ui-footer .ui-title{font-size:1em;min-height:1.1em;text-align:center;display:block;margin:0 30%;padding:.7em 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;outline:0!important}.ui-footer .ui-title{margin:0 1em}.ui-content{border-width:0;overflow:visible;overflow-x:hidden;padding:1em}.ui-corner-all>.ui-header:first-child,.ui-corner-all>.ui-content:first-child,.ui-corner-all>.ui-footer:first-child{-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit;-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit}.ui-corner-all>.ui-header:last-child,.ui-corner-all>.ui-content:last-child,.ui-corner-all>.ui-footer:last-child{-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-btn{font-size:16px;margin:.5em 0;padding:.7em 1em;display:block;position:relative;text-align:center;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui-btn-icon-notext,.ui-header button.ui-btn.ui-btn-icon-notext,.ui-footer button.ui-btn.ui-btn-icon-notext{padding:0;width:1.75em;height:1.75em;text-indent:-9999px;white-space:nowrap!important}.ui-mini{font-size:12.5px}.ui-mini .ui-btn{font-size:inherit}.ui-header .ui-btn,.ui-footer .ui-btn{font-size:12.5px;display:inline-block;vertical-align:middle}.ui-header .ui-controlgroup .ui-btn-icon-notext,.ui-footer .ui-controlgroup .ui-btn-icon-notext{font-size:12.5px}.ui-header .ui-btn-left,.ui-header .ui-btn-right{font-size:12.5px}.ui-mini.ui-btn-icon-notext,.ui-mini .ui-btn-icon-notext,.ui-header .ui-btn-icon-notext,.ui-footer .ui-btn-icon-notext{font-size:16px;padding:0}.ui-btn-inline{display:inline-block;vertical-align:middle;margin-right:.625em}.ui-btn-icon-left{padding-left:2.5em}.ui-btn-icon-right{padding-right:2.5em}.ui-btn-icon-top{padding-top:2.5em}.ui-btn-icon-bottom{padding-bottom:2.5em}.ui-header .ui-btn-icon-top,.ui-footer .ui-btn-icon-top,.ui-header .ui-btn-icon-bottom,.ui-footer .ui-btn-icon-bottom{padding-left:.3125em;padding-right:.3125em}.ui-btn-icon-left:after,.ui-btn-icon-right:after,.ui-btn-icon-top:after,.ui-btn-icon-bottom:after,.ui-btn-icon-notext:after{content:"";position:absolute;display:block;width:22px;height:22px}.ui-btn-icon-notext:after,.ui-btn-icon-left:after,.ui-btn-icon-right:after{top:50%;margin-top:-11px}.ui-btn-icon-left:after{left:.5625em}.ui-btn-icon-right:after{right:.5625em}.ui-mini.ui-btn-icon-left:after,.ui-mini .ui-btn-icon-left:after,.ui-header .ui-btn-icon-left:after,.ui-footer .ui-btn-icon-left:after{left:.37em}.ui-mini.ui-btn-icon-right:after,.ui-mini .ui-btn-icon-right:after,.ui-header .ui-btn-icon-right:after,.ui-footer .ui-btn-icon-right:after{right:.37em}.ui-btn-icon-notext:after,.ui-btn-icon-top:after,.ui-btn-icon-bottom:after{left:50%;margin-left:-11px}.ui-btn-icon-top:after{top:.5625em}.ui-btn-icon-bottom:after{top:auto;bottom:.5625em}.ui-header .ui-btn-left,.ui-header .ui-btn-right,.ui-btn-left>[class*=ui-],.ui-btn-right>[class*=ui-]{margin:0}.ui-btn-left,.ui-btn-right{position:absolute;top:.24em}.ui-btn-left{left:.4em}.ui-btn-right{right:.4em}.ui-btn-icon-notext.ui-btn-left{top:.3125em;left:.3125em}.ui-btn-icon-notext.ui-btn-right{top:.3125em;right:.3125em}button.ui-btn,.ui-controlgroup-controls button.ui-btn-icon-notext{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;width:100%}button.ui-btn-inline,.ui-header button.ui-btn,.ui-footer button.ui-btn{width:auto}button.ui-btn::-moz-focus-inner{border:0}button.ui-btn-icon-notext,.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;width:1.75em}.ui-mobile label,.ui-controlgroup-label{display:block;margin:0 0 .4em}.ui-hide-label>label,.ui-hide-label .ui-controlgroup-label,.ui-hide-label .ui-rangeslider label,.ui-hidden-accessible{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-screen-hidden{display:none!important}.ui-mobile-viewport-transitioning,.ui-mobile-viewport-transitioning .ui-page{width:100%;height:100%;overflow:hidden;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-page-pre-in{opacity:0}.in{-webkit-animation-timing-function:ease-out;-webkit-animation-duration:350ms;-moz-animation-timing-function:ease-out;-moz-animation-duration:350ms;animation-timing-function:ease-out;animation-duration:350ms}.out{-webkit-animation-timing-function:ease-in;-webkit-animation-duration:225ms;-moz-animation-timing-function:ease-in;-moz-animation-duration:225ms;animation-timing-function:ease-in;animation-duration:225ms}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@-moz-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadeout{from{opacity:1}to{opacity:0}}@-moz-keyframes fadeout{from{opacity:1}to{opacity:0}}@keyframes fadeout{from{opacity:1}to{opacity:0}}.fade.out{opacity:0;-webkit-animation-duration:125ms;-webkit-animation-name:fadeout;-moz-animation-duration:125ms;-moz-animation-name:fadeout;animation-duration:125ms;animation-name:fadeout}.fade.in{opacity:1;-webkit-animation-duration:225ms;-webkit-animation-name:fadein;-moz-animation-duration:225ms;-moz-animation-name:fadein;animation-duration:225ms;animation-name:fadein}.pop{-webkit-transform-origin:50% 50%;-moz-transform-origin:50% 50%;transform-origin:50% 50%}.pop.in{-webkit-transform:scale(1);-webkit-animation-name:popin;-webkit-animation-duration:350ms;-moz-transform:scale(1);-moz-animation-name:popin;-moz-animation-duration:350ms;transform:scale(1);animation-name:popin;animation-duration:350ms;opacity:1}.pop.out{-webkit-animation-name:fadeout;-webkit-animation-duration:100ms;-moz-animation-name:fadeout;-moz-animation-duration:100ms;animation-name:fadeout;animation-duration:100ms;opacity:0}.pop.in.reverse{-webkit-animation-name:fadein;-moz-animation-name:fadein;animation-name:fadein}.pop.out.reverse{-webkit-transform:scale(.8);-webkit-animation-name:popout;-moz-transform:scale(.8);-moz-animation-name:popout;transform:scale(.8);animation-name:popout}@-webkit-keyframes popin{from{-webkit-transform:scale(.8);opacity:0}to{-webkit-transform:scale(1);opacity:1}}@-moz-keyframes popin{from{-moz-transform:scale(.8);opacity:0}to{-moz-transform:scale(1);opacity:1}}@keyframes popin{from{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@-webkit-keyframes popout{from{-webkit-transform:scale(1);opacity:1}to{-webkit-transform:scale(.8);opacity:0}}@-moz-keyframes popout{from{-moz-transform:scale(1);opacity:1}to{-moz-transform:scale(.8);opacity:0}}@keyframes popout{from{transform:scale(1);opacity:1}to{transform:scale(.8);opacity:0}}@-webkit-keyframes slideinfromright{from{-webkit-transform:translate3d(100%,0,0)}to{-webkit-transform:translate3d(0,0,0)}}@-moz-keyframes slideinfromright{from{-moz-transform:translateX(100%)}to{-moz-transform:translateX(0)}}@keyframes slideinfromright{from{transform:translateX(100%)}to{transform:translateX(0)}}@-webkit-keyframes slideinfromleft{from{-webkit-transform:translate3d(-100%,0,0)}to{-webkit-transform:translate3d(0,0,0)}}@-moz-keyframes slideinfromleft{from{-moz-transform:translateX(-100%)}to{-moz-transform:translateX(0)}}@keyframes slideinfromleft{from{transform:translateX(-100%)}to{transform:translateX(0)}}@-webkit-keyframes slideouttoleft{from{-webkit-transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-100%,0,0)}}@-moz-keyframes slideouttoleft{from{-moz-transform:translateX(0)}to{-moz-transform:translateX(-100%)}}@keyframes slideouttoleft{from{transform:translateX(0)}to{transform:translateX(-100%)}}@-webkit-keyframes slideouttoright{from{-webkit-transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(100%,0,0)}}@-moz-keyframes slideouttoright{from{-moz-transform:translateX(0)}to{-moz-transform:translateX(100%)}}@keyframes slideouttoright{from{transform:translateX(0)}to{transform:translateX(100%)}}.slide.out,.slide.in{-webkit-animation-timing-function:ease-out;-webkit-animation-duration:350ms;-moz-animation-timing-function:ease-out;-moz-animation-duration:350ms;animation-timing-function:ease-out;animation-duration:350ms}.slide.out{-webkit-transform:translate3d(-100%,0,0);-webkit-animation-name:slideouttoleft;-moz-transform:translateX(-100%);-moz-animation-name:slideouttoleft;transform:translateX(-100%);animation-name:slideouttoleft}.slide.in{-webkit-transform:translate3d(0,0,0);-webkit-animation-name:slideinfromright;-moz-transform:translateX(0);-moz-animation-name:slideinfromright;transform:translateX(0);animation-name:slideinfromright}.slide.out.reverse{-webkit-transform:translate3d(100%,0,0);-webkit-animation-name:slideouttoright;-moz-transform:translateX(100%);-moz-animation-name:slideouttoright;transform:translateX(100%);animation-name:slideouttoright}.slide.in.reverse{-webkit-transform:translate3d(0,0,0);-webkit-animation-name:slideinfromleft;-moz-transform:translateX(0);-moz-animation-name:slideinfromleft;transform:translateX(0);animation-name:slideinfromleft}.slidefade.out{-webkit-transform:translateX(-100%);-webkit-animation-name:slideouttoleft;-webkit-animation-duration:225ms;-moz-transform:translateX(-100%);-moz-animation-name:slideouttoleft;-moz-animation-duration:225ms;transform:translateX(-100%);animation-name:slideouttoleft;animation-duration:225ms}.slidefade.in{-webkit-transform:translateX(0);-webkit-animation-name:fadein;-webkit-animation-duration:200ms;-moz-transform:translateX(0);-moz-animation-name:fadein;-moz-animation-duration:200ms;transform:translateX(0);animation-name:fadein;animation-duration:200ms}.slidefade.out.reverse{-webkit-transform:translateX(100%);-webkit-animation-name:slideouttoright;-webkit-animation-duration:200ms;-moz-transform:translateX(100%);-moz-animation-name:slideouttoright;-moz-animation-duration:200ms;transform:translateX(100%);animation-name:slideouttoright;animation-duration:200ms}.slidefade.in.reverse{-webkit-transform:translateX(0);-webkit-animation-name:fadein;-webkit-animation-duration:200ms;-moz-transform:translateX(0);-moz-animation-name:fadein;-moz-animation-duration:200ms;transform:translateX(0);animation-name:fadein;animation-duration:200ms}.slidedown.out{-webkit-animation-name:fadeout;-webkit-animation-duration:100ms;-moz-animation-name:fadeout;-moz-animation-duration:100ms;animation-name:fadeout;animation-duration:100ms}.slidedown.in{-webkit-transform:translateY(0);-webkit-animation-name:slideinfromtop;-webkit-animation-duration:250ms;-moz-transform:translateY(0);-moz-animation-name:slideinfromtop;-moz-animation-duration:250ms;transform:translateY(0);animation-name:slideinfromtop;animation-duration:250ms}.slidedown.in.reverse{-webkit-animation-name:fadein;-webkit-animation-duration:150ms;-moz-animation-name:fadein;-moz-animation-duration:150ms;animation-name:fadein;animation-duration:150ms}.slidedown.out.reverse{-webkit-transform:translateY(-100%);-webkit-animation-name:slideouttotop;-webkit-animation-duration:200ms;-moz-transform:translateY(-100%);-moz-animation-name:slideouttotop;-moz-animation-duration:200ms;transform:translateY(-100%);animation-name:slideouttotop;animation-duration:200ms}@-webkit-keyframes slideinfromtop{from{-webkit-transform:translateY(-100%)}to{-webkit-transform:translateY(0)}}@-moz-keyframes slideinfromtop{from{-moz-transform:translateY(-100%)}to{-moz-transform:translateY(0)}}@keyframes slideinfromtop{from{transform:translateY(-100%)}to{transform:translateY(0)}}@-webkit-keyframes slideouttotop{from{-webkit-transform:translateY(0)}to{-webkit-transform:translateY(-100%)}}@-moz-keyframes slideouttotop{from{-moz-transform:translateY(0)}to{-moz-transform:translateY(-100%)}}@keyframes slideouttotop{from{transform:translateY(0)}to{transform:translateY(-100%)}}.slideup.out{-webkit-animation-name:fadeout;-webkit-animation-duration:100ms;-moz-animation-name:fadeout;-moz-animation-duration:100ms;animation-name:fadeout;animation-duration:100ms}.slideup.in{-webkit-transform:translateY(0);-webkit-animation-name:slideinfrombottom;-webkit-animation-duration:250ms;-moz-transform:translateY(0);-moz-animation-name:slideinfrombottom;-moz-animation-duration:250ms;transform:translateY(0);animation-name:slideinfrombottom;animation-duration:250ms}.slideup.in.reverse{-webkit-animation-name:fadein;-webkit-animation-duration:150ms;-moz-animation-name:fadein;-moz-animation-duration:150ms;animation-name:fadein;animation-duration:150ms}.slideup.out.reverse{-webkit-transform:translateY(100%);-webkit-animation-name:slideouttobottom;-webkit-animation-duration:200ms;-moz-transform:translateY(100%);-moz-animation-name:slideouttobottom;-moz-animation-duration:200ms;transform:translateY(100%);animation-name:slideouttobottom;animation-duration:200ms}@-webkit-keyframes slideinfrombottom{from{-webkit-transform:translateY(100%)}to{-webkit-transform:translateY(0)}}@-moz-keyframes slideinfrombottom{from{-moz-transform:translateY(100%)}to{-moz-transform:translateY(0)}}@keyframes slideinfrombottom{from{transform:translateY(100%)}to{transform:translateY(0)}}@-webkit-keyframes slideouttobottom{from{-webkit-transform:translateY(0)}to{-webkit-transform:translateY(100%)}}@-moz-keyframes slideouttobottom{from{-moz-transform:translateY(0)}to{-moz-transform:translateY(100%)}}@keyframes slideouttobottom{from{transform:translateY(0)}to{transform:translateY(100%)}}.viewport-flip{-webkit-perspective:1000;-moz-perspective:1000;perspective:1000;position:absolute}.flip{-webkit-backface-visibility:hidden;-webkit-transform:translateX(0);-moz-backface-visibility:hidden;-moz-transform:translateX(0);backface-visibility:hidden;transform:translateX(0)}.flip.out{-webkit-transform:rotateY(-90deg) scale(.9);-webkit-animation-name:flipouttoleft;-webkit-animation-duration:175ms;-moz-transform:rotateY(-90deg) scale(.9);-moz-animation-name:flipouttoleft;-moz-animation-duration:175ms;transform:rotateY(-90deg) scale(.9);animation-name:flipouttoleft;animation-duration:175ms}.flip.in{-webkit-animation-name:flipintoright;-webkit-animation-duration:225ms;-moz-animation-name:flipintoright;-moz-animation-duration:225ms;animation-name:flipintoright;animation-duration:225ms}.flip.out.reverse{-webkit-transform:rotateY(90deg) scale(.9);-webkit-animation-name:flipouttoright;-moz-transform:rotateY(90deg) scale(.9);-moz-animation-name:flipouttoright;transform:rotateY(90deg) scale(.9);animation-name:flipouttoright}.flip.in.reverse{-webkit-animation-name:flipintoleft;-moz-animation-name:flipintoleft;animation-name:flipintoleft}@-webkit-keyframes flipouttoleft{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(-90deg) scale(.9)}}@-moz-keyframes flipouttoleft{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(-90deg) scale(.9)}}@keyframes flipouttoleft{from{transform:rotateY(0)}to{transform:rotateY(-90deg) scale(.9)}}@-webkit-keyframes flipouttoright{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(90deg) scale(.9)}}@-moz-keyframes flipouttoright{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(90deg) scale(.9)}}@keyframes flipouttoright{from{transform:rotateY(0)}to{transform:rotateY(90deg) scale(.9)}}@-webkit-keyframes flipintoleft{from{-webkit-transform:rotateY(-90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoleft{from{-moz-transform:rotateY(-90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoleft{from{transform:rotateY(-90deg) scale(.9)}to{transform:rotateY(0)}}@-webkit-keyframes flipintoright{from{-webkit-transform:rotateY(90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoright{from{-moz-transform:rotateY(90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoright{from{transform:rotateY(90deg) scale(.9)}to{transform:rotateY(0)}}.viewport-turn{-webkit-perspective:200px;-moz-perspective:200px;-ms-perspective:200px;perspective:200px;position:absolute}.turn{-webkit-backface-visibility:hidden;-webkit-transform:translateX(0);-webkit-transform-origin:0;-moz-backface-visibility:hidden;-moz-transform:translateX(0);-moz-transform-origin:0;backface-visibility:hidden;transform:translateX(0);transform-origin:0}.turn.out{-webkit-transform:rotateY(-90deg) scale(.9);-webkit-animation-name:flipouttoleft;-webkit-animation-duration:125ms;-moz-transform:rotateY(-90deg) scale(.9);-moz-animation-name:flipouttoleft;-moz-animation-duration:125ms;transform:rotateY(-90deg) scale(.9);animation-name:flipouttoleft;animation-duration:125ms}.turn.in{-webkit-animation-name:flipintoright;-webkit-animation-duration:250ms;-moz-animation-name:flipintoright;-moz-animation-duration:250ms;animation-name:flipintoright;animation-duration:250ms}.turn.out.reverse{-webkit-transform:rotateY(90deg) scale(.9);-webkit-animation-name:flipouttoright;-moz-transform:rotateY(90deg) scale(.9);-moz-animation-name:flipouttoright;transform:rotateY(90deg) scale(.9);animation-name:flipouttoright}.turn.in.reverse{-webkit-animation-name:flipintoleft;-moz-animation-name:flipintoleft;animation-name:flipintoleft}@-webkit-keyframes flipouttoleft{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(-90deg) scale(.9)}}@-moz-keyframes flipouttoleft{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(-90deg) scale(.9)}}@keyframes flipouttoleft{from{transform:rotateY(0)}to{transform:rotateY(-90deg) scale(.9)}}@-webkit-keyframes flipouttoright{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(90deg) scale(.9)}}@-moz-keyframes flipouttoright{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(90deg) scale(.9)}}@keyframes flipouttoright{from{transform:rotateY(0)}to{transform:rotateY(90deg) scale(.9)}}@-webkit-keyframes flipintoleft{from{-webkit-transform:rotateY(-90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoleft{from{-moz-transform:rotateY(-90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoleft{from{transform:rotateY(-90deg) scale(.9)}to{transform:rotateY(0)}}@-webkit-keyframes flipintoright{from{-webkit-transform:rotateY(90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoright{from{-moz-transform:rotateY(90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoright{from{transform:rotateY(90deg) scale(.9)}to{transform:rotateY(0)}}.flow{-webkit-transform-origin:50% 30%;-webkit-box-shadow:0 0 20px rgba(0,0,0,.4);-moz-transform-origin:50% 30%;-moz-box-shadow:0 0 20px rgba(0,0,0,.4);transform-origin:50% 30%;box-shadow:0 0 20px rgba(0,0,0,.4)}.ui-dialog.flow{-webkit-transform-origin:none;-webkit-box-shadow:none;-moz-transform-origin:none;-moz-box-shadow:none;transform-origin:none;box-shadow:none}.flow.out{-webkit-transform:translateX(-100%) scale(.7);-webkit-animation-name:flowouttoleft;-webkit-animation-timing-function:ease;-webkit-animation-duration:350ms;-moz-transform:translateX(-100%) scale(.7);-moz-animation-name:flowouttoleft;-moz-animation-timing-function:ease;-moz-animation-duration:350ms;transform:translateX(-100%) scale(.7);animation-name:flowouttoleft;animation-timing-function:ease;animation-duration:350ms}.flow.in{-webkit-transform:translateX(0) scale(1);-webkit-animation-name:flowinfromright;-webkit-animation-timing-function:ease;-webkit-animation-duration:350ms;-moz-transform:translateX(0) scale(1);-moz-animation-name:flowinfromright;-moz-animation-timing-function:ease;-moz-animation-duration:350ms;transform:translateX(0) scale(1);animation-name:flowinfromright;animation-timing-function:ease;animation-duration:350ms}.flow.out.reverse{-webkit-transform:translateX(100%);-webkit-animation-name:flowouttoright;-moz-transform:translateX(100%);-moz-animation-name:flowouttoright;transform:translateX(100%);animation-name:flowouttoright}.flow.in.reverse{-webkit-animation-name:flowinfromleft;-moz-animation-name:flowinfromleft;animation-name:flowinfromleft}@-webkit-keyframes flowouttoleft{0%{-webkit-transform:translateX(0) scale(1)}60%,70%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(-100%) scale(.7)}}@-moz-keyframes flowouttoleft{0%{-moz-transform:translateX(0) scale(1)}60%,70%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(-100%) scale(.7)}}@keyframes flowouttoleft{0%{transform:translateX(0) scale(1)}60%,70%{transform:translateX(0) scale(.7)}100%{transform:translateX(-100%) scale(.7)}}@-webkit-keyframes flowouttoright{0%{-webkit-transform:translateX(0) scale(1)}60%,70%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(100%) scale(.7)}}@-moz-keyframes flowouttoright{0%{-moz-transform:translateX(0) scale(1)}60%,70%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(100%) scale(.7)}}@keyframes flowouttoright{0%{transform:translateX(0) scale(1)}60%,70%{transform:translateX(0) scale(.7)}100%{transform:translateX(100%) scale(.7)}}@-webkit-keyframes flowinfromleft{0%{-webkit-transform:translateX(-100%) scale(.7)}30%,40%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(0) scale(1)}}@-moz-keyframes flowinfromleft{0%{-moz-transform:translateX(-100%) scale(.7)}30%,40%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(0) scale(1)}}@keyframes flowinfromleft{0%{transform:translateX(-100%) scale(.7)}30%,40%{transform:translateX(0) scale(.7)}100%{transform:translateX(0) scale(1)}}@-webkit-keyframes flowinfromright{0%{-webkit-transform:translateX(100%) scale(.7)}30%,40%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(0) scale(1)}}@-moz-keyframes flowinfromright{0%{-moz-transform:translateX(100%) scale(.7)}30%,40%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(0) scale(1)}}@keyframes flowinfromright{0%{transform:translateX(100%) scale(.7)}30%,40%{transform:translateX(0) scale(.7)}100%{transform:translateX(0) scale(1)}}.ui-field-contain,.ui-mobile fieldset.ui-field-contain{display:block;position:relative;overflow:visible;clear:both;padding:.8em 0}.ui-field-contain>label~[class*=ui-],.ui-field-contain .ui-controlgroup-controls{margin:0}.ui-field-contain:last-child{border-bottom-width:0}@media (min-width:28em){.ui-field-contain,.ui-mobile fieldset.ui-field-contain{padding:0;margin:1em 0;border-bottom-width:0}.ui-field-contain:before,.ui-field-contain:after{content:"";display:table}.ui-field-contain:after{clear:both}.ui-field-contain>label,.ui-field-contain .ui-controlgroup-label,.ui-field-contain>.ui-rangeslider>label{float:left;width:20%;margin:.5em 2% 0 0}.ui-popup .ui-field-contain>label,.ui-popup .ui-field-contain .ui-controlgroup-label,.ui-popup .ui-field-contain>.ui-rangeslider>label{float:none;width:auto;margin:0 0 .4em}.ui-field-contain>label~[class*=ui-],.ui-field-contain .ui-controlgroup-controls{float:left;width:78%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-hide-label>label~[class*=ui-],.ui-hide-label .ui-controlgroup-controls,.ui-popup .ui-field-contain>label~[class*=ui-],.ui-popup .ui-field-contain .ui-controlgroup-controls{float:none;width:100%}.ui-field-contain>label~.ui-btn-inline{width:auto;margin-right:.625em}.ui-field-contain>label~.ui-btn-inline.ui-btn-icon-notext{width:1.75em}}.ui-grid-a,.ui-grid-b,.ui-grid-c,.ui-grid-d,.ui-grid-solo{overflow:hidden}.ui-block-a,.ui-block-b,.ui-block-c,.ui-block-d,.ui-block-e{margin:0;padding:0;border:0;float:left;min-height:1px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-block-a{clear:left}ul.ui-grid-a,ul.ui-grid-b,ul.ui-grid-c,ul.ui-grid-d,ul.ui-grid-solo,li.ui-block-a,li.ui-block-b,li.ui-block-c,li.ui-block-d,li.ui-block-e{margin-left:0;margin-right:0;padding:0;list-style:none}[class*=ui-block-]>button.ui-btn{margin-right:0;margin-left:0}[class*=ui-block-]>.ui-btn,[class*=ui-block-]>.ui-select,[class*=ui-block-]>.ui-checkbox,[class*=ui-block-]>.ui-radio,[class*=ui-block-]>button.ui-btn-inline,[class*=ui-block-]>button.ui-btn-icon-notext,.ui-header [class*=ui-block-]>button.ui-btn,.ui-footer [class*=ui-block-]>button.ui-btn{margin-right:.3125em;margin-left:.3125em}.ui-grid-a>.ui-block-a,.ui-grid-a>.ui-block-b{width:50%}.ui-grid-b>.ui-block-a,.ui-grid-b>.ui-block-b,.ui-grid-b>.ui-block-c{width:33.333%}.ui-grid-c>.ui-block-a,.ui-grid-c>.ui-block-b,.ui-grid-c>.ui-block-c,.ui-grid-c>.ui-block-d{width:25%}.ui-grid-d>.ui-block-a,.ui-grid-d>.ui-block-b,.ui-grid-d>.ui-block-c,.ui-grid-d>.ui-block-d,.ui-grid-d>.ui-block-e{width:20%}.ui-grid-solo>.ui-block-a{width:100%;float:none}@media (max-width:35em){.ui-responsive>.ui-block-a,.ui-responsive>.ui-block-b,.ui-responsive>.ui-block-c,.ui-responsive>.ui-block-d,.ui-responsive>.ui-block-e{width:100%;float:none}}.ui-header-fixed,.ui-footer-fixed{left:0;right:0;width:100%;position:fixed;z-index:1000}.ui-header-fixed{top:-1px;padding-top:1px}.ui-header-fixed.ui-fixed-hidden{top:0;padding-top:0}.ui-header-fixed .ui-btn-left,.ui-header-fixed .ui-btn-right{margin-top:1px}.ui-header-fixed.ui-fixed-hidden .ui-btn-left,.ui-header-fixed.ui-fixed-hidden .ui-btn-right{margin-top:0}.ui-footer-fixed{bottom:-1px;padding-bottom:1px}.ui-footer-fixed.ui-fixed-hidden{bottom:0;padding-bottom:0}.ui-header-fullscreen,.ui-footer-fullscreen{filter:Alpha(Opacity=90);opacity:.9}.ui-page-header-fixed{padding-top:2.8125em}.ui-page-footer-fixed{padding-bottom:2.8125em}.ui-page-header-fullscreen>.ui-content,.ui-page-footer-fullscreen>.ui-content{padding:0}.ui-fixed-hidden{position:absolute}.ui-footer-fixed.ui-fixed-hidden{display:none}.ui-page .ui-footer-fixed.ui-fixed-hidden{display:block}.ui-page-header-fullscreen .ui-fixed-hidden,.ui-page-footer-fullscreen .ui-fixed-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-header-fixed .ui-btn,.ui-footer-fixed .ui-btn{z-index:10}.ui-android-2x-fixed .ui-li-has-thumb{-webkit-transform:translate3d(0,0,0)}.ui-navbar{max-width:100%}.ui-navbar ul:before,.ui-navbar ul:after{content:"";display:table}.ui-navbar ul:after{clear:both}.ui-navbar ul{list-style:none;margin:0;padding:0;position:relative;display:block;border:0;max-width:100%;overflow:visible}.ui-navbar li .ui-btn{font-size:12.5px;display:block;margin:0;border-right-width:0}.ui-header .ui-navbar li button.ui-btn,.ui-footer .ui-navbar li button.ui-btn{margin:0;width:100%}.ui-navbar .ui-btn:focus{z-index:1}.ui-navbar li:last-child .ui-btn{margin-right:-4px}.ui-navbar li:last-child .ui-btn:after{margin-right:4px}.ui-content .ui-navbar li:last-child .ui-btn,.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn{border-right-width:1px;margin-right:0}.ui-content .ui-navbar li:last-child .ui-btn:after,.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn:after{margin-right:0}.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn{border-right-width:1px;margin-right:-1px}.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn:after{margin-right:1px}.ui-navbar .ui-grid-duo .ui-btn{border-top-width:0}.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn{border-top-width:1px}.ui-header .ui-navbar .ui-btn,.ui-footer .ui-navbar .ui-btn{border-top-width:0;border-bottom-width:0}.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn,.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn{border-top-width:0}.ui-header .ui-title~.ui-navbar .ui-btn,.ui-footer .ui-title~.ui-navbar .ui-btn,.ui-header .ui-navbar .ui-grid-duo .ui-btn,.ui-footer .ui-navbar .ui-grid-duo .ui-btn,.ui-header .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-footer .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-header .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn,.ui-footer .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn{border-top-width:1px}.ui-input-btn input{position:absolute;top:0;left:0;width:100%;height:100%;padding:0;border:0;outline:0;-webkit-border-radius:inherit;border-radius:inherit;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;background:#fff;background:rgba(255,255,255,0);filter:Alpha(Opacity=0);opacity:.1;font-size:1px;text-indent:-9999px;z-index:2}.ui-input-btn.ui-state-disabled input{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-collapsible{margin:0 -1em}.ui-collapsible-inset,.ui-collapsible-set{margin:.5em 0}.ui-collapsible-heading{display:block;margin:0;padding:0;position:relative}.ui-collapsible-heading .ui-btn{text-align:left;margin:0;border-left-width:0;border-right-width:0}.ui-collapsible-heading .ui-btn-icon-top,.ui-collapsible-heading .ui-btn-icon-bottom{text-align:center}.ui-collapsible-inset .ui-collapsible-heading .ui-btn{border-right-width:1px;border-left-width:1px}.ui-collapsible-collapsed+.ui-collapsible:not(.ui-collapsible-inset)>.ui-collapsible-heading .ui-btn{border-top-width:0}.ui-collapsible-set .ui-collapsible:not(.ui-collapsible-inset) .ui-collapsible-heading .ui-btn{border-top-width:1px}.ui-collapsible-heading-status{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-collapsible-content{display:block;margin:0;padding:.5em 1em}.ui-collapsible-themed-content .ui-collapsible-content{border-left-width:0;border-right-width:0;border-top-width:0;border-bottom-width:1px;border-style:solid}.ui-collapsible-inset.ui-collapsible-themed-content .ui-collapsible-content{border-left-width:1px;border-right-width:1px}.ui-collapsible-inset .ui-collapsible-content{margin:0}.ui-collapsible-content-collapsed{display:none}.ui-collapsible-set>.ui-collapsible.ui-corner-all{-webkit-border-radius:0;border-radius:0}.ui-collapsible-heading,.ui-collapsible-heading>.ui-btn{-webkit-border-radius:inherit;border-radius:inherit}.ui-collapsible-set .ui-collapsible.ui-first-child{-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit;-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit}.ui-collapsible-content,.ui-collapsible-set .ui-collapsible.ui-last-child{-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit;-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-collapsible-themed-content:not(.ui-collapsible-collapsed)>.ui-collapsible-heading{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-collapsible-set .ui-collapsible{margin:-1px -1em 0}.ui-collapsible-set .ui-collapsible-inset{margin:-1px 0 0}.ui-collapsible-set .ui-collapsible.ui-first-child{margin-top:0}.ui-controlgroup,fieldset.ui-controlgroup{padding:0;margin:.5em 0}.ui-field-contain .ui-controlgroup,.ui-field-contain fieldset.ui-controlgroup{margin:0}.ui-mini .ui-controlgroup-label{font-size:16px}.ui-controlgroup.ui-mini .ui-btn-icon-notext,.ui-controlgroup .ui-mini.ui-btn-icon-notext{font-size:inherit}.ui-controlgroup-controls .ui-btn,.ui-controlgroup-controls .ui-checkbox,.ui-controlgroup-controls .ui-radio,.ui-controlgroup-controls .ui-select{margin:0}.ui-controlgroup-controls .ui-btn:focus,.ui-controlgroup-controls .ui-btn.ui-focus{z-index:1}.ui-controlgroup-controls li{list-style:none}.ui-controlgroup-horizontal .ui-controlgroup-controls{display:inline-block;vertical-align:middle}.ui-controlgroup-horizontal .ui-controlgroup-controls:before,.ui-controlgroup-horizontal .ui-controlgroup-controls:after{content:"";display:table}.ui-controlgroup-horizontal .ui-controlgroup-controls:after{clear:both}.ui-controlgroup-horizontal .ui-controlgroup-controls>.ui-btn,.ui-controlgroup-horizontal .ui-controlgroup-controls li>.ui-btn,.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-checkbox,.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-radio,.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-select{float:left;clear:none}.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn,.ui-controlgroup-controls .ui-btn-icon-notext{width:auto}.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn-icon-notext,.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn-icon-notext{width:1.5em}.ui-controlgroup-controls .ui-btn-icon-notext{height:auto;padding:.7em 1em}.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn{border-bottom-width:0}.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn.ui-last-child{border-bottom-width:1px}.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn{border-right-width:0}.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn.ui-last-child{border-right-width:1px}.ui-controlgroup-controls .ui-btn-corner-all,.ui-controlgroup-controls .ui-btn.ui-corner-all{-webkit-border-radius:0;border-radius:0}.ui-controlgroup-controls,.ui-controlgroup-controls .ui-radio,.ui-controlgroup-controls .ui-checkbox,.ui-controlgroup-controls .ui-select,.ui-controlgroup-controls li{-webkit-border-radius:inherit;border-radius:inherit}.ui-controlgroup-vertical .ui-btn.ui-first-child{-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit;-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit}.ui-controlgroup-vertical .ui-btn.ui-last-child{-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-controlgroup-horizontal .ui-btn.ui-first-child{-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit;-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-controlgroup-horizontal .ui-btn.ui-last-child{-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-controlgroup-controls a.ui-shadow:not(:focus),.ui-controlgroup-controls button.ui-shadow:not(:focus),.ui-controlgroup-controls div.ui-shadow:not(.ui-focus){-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.ui-controlgroup-label legend{max-width:100%}.ui-controlgroup-controls>label{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-dialog{background:none!important}.ui-dialog-contain{width:92.5%;max-width:500px;margin:10% auto 1em;padding:0;position:relative;top:-1em}.ui-dialog-contain>.ui-header,.ui-dialog-contain>.ui-content,.ui-dialog-contain>.ui-footer{display:block;position:relative;width:auto;margin:0}.ui-dialog-contain>.ui-header{overflow:hidden;z-index:10;padding:0;border-top-width:0}.ui-dialog-contain>.ui-footer{z-index:10;padding:0 1em;border-bottom-width:0}.ui-popup-open .ui-header-fixed,.ui-popup-open .ui-footer-fixed{position:absolute!important}.ui-popup-screen{background-image:url("data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==");top:0;left:0;right:0;bottom:1px;position:absolute;filter:Alpha(Opacity=0);opacity:0;z-index:1099}.ui-popup-screen.in{opacity:.5;filter:Alpha(Opacity=50)}.ui-popup-screen.out{opacity:0;filter:Alpha(Opacity=0)}.ui-popup-container{z-index:1100;display:inline-block;position:absolute;padding:0;outline:0}.ui-popup{position:relative}.ui-popup.ui-body-inherit{border-width:1px;border-style:solid}.ui-popup-hidden{left:0;top:0;position:absolute!important;visibility:hidden}.ui-popup-truncate{height:1px;width:1px;margin:-1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-popup.ui-content,.ui-popup .ui-content{overflow:visible}.ui-popup>.ui-header{border-top-width:0}.ui-popup>.ui-footer{border-bottom-width:0}.ui-popup>p,.ui-popup>h1,.ui-popup>h2,.ui-popup>h3,.ui-popup>h4,.ui-popup>h5,.ui-popup>h6{margin:.5em .4375em}.ui-popup>span{display:block;margin:.5em .4375em}.ui-popup-container .ui-content>p,.ui-popup-container .ui-content>h1,.ui-popup-container .ui-content>h2,.ui-popup-container .ui-content>h3,.ui-popup-container .ui-content>h4,.ui-popup-container .ui-content>h5,.ui-popup-container .ui-content>h6{margin:.5em 0}.ui-popup-container .ui-content>span{margin:0}.ui-popup-container .ui-content>p:first-child,.ui-popup-container .ui-content>h1:first-child,.ui-popup-container .ui-content>h2:first-child,.ui-popup-container .ui-content>h3:first-child,.ui-popup-container .ui-content>h4:first-child,.ui-popup-container .ui-content>h5:first-child,.ui-popup-container .ui-content>h6:first-child{margin-top:0}.ui-popup-container .ui-content>p:last-child,.ui-popup-container .ui-content>h1:last-child,.ui-popup-container .ui-content>h2:last-child,.ui-popup-container .ui-content>h3:last-child,.ui-popup-container .ui-content>h4:last-child,.ui-popup-container .ui-content>h5:last-child,.ui-popup-container .ui-content>h6:last-child{margin-bottom:0}.ui-popup>img{max-width:100%;max-height:100%;vertical-align:middle}.ui-popup:not(.ui-content)>img:only-child,.ui-popup:not(.ui-content)>.ui-btn-left:first-child+img:last-child,.ui-popup:not(.ui-content)>.ui-btn-right:first-child+img:last-child{-webkit-border-radius:inherit;border-radius:inherit}.ui-popup iframe{vertical-align:middle}.ui-popup>.ui-btn-left,.ui-popup>.ui-btn-right{position:absolute;top:-11px;margin:0;z-index:1101}.ui-popup>.ui-btn-left{left:-11px}.ui-popup>.ui-btn-right{right:-11px}.ui-popup-arrow-container{width:20px;height:20px}.ui-popup-arrow-container.ui-popup-arrow-l{left:-10px;clip:rect(-1000px,10px,2000px,-1000px)}.ui-popup-arrow-container.ui-popup-arrow-t{top:-10px;clip:rect(-1000px,2000px,10px,-1000px)}.ui-popup-arrow-container.ui-popup-arrow-r{right:-10px;clip:rect(-1000px,2000px,2000px,10px)}.ui-popup-arrow-container.ui-popup-arrow-b{bottom:-10px;clip:rect(10px,2000px,1000px,-1000px)}.ui-popup-arrow-container .ui-popup-arrow{width:28.284271247px;height:28.284271247px;border-width:1px;border-style:solid}.ui-popup-arrow-container.ui-popup-arrow-t .ui-popup-arrow{left:-4.142135623px;top:5.857864376px}.ui-popup-arrow-container.ui-popup-arrow-b .ui-popup-arrow{left:-4.142135623px;top:-14.142135623px}.ui-popup-arrow-container.ui-popup-arrow-l .ui-popup-arrow{left:5.857864376px;top:-4.142135623px}.ui-popup-arrow-container.ui-popup-arrow-r .ui-popup-arrow{left:-14.142135623px;top:-4.142135623px}.ui-popup-arrow-container.ui-popup-arrow-t.ie .ui-popup-arrow{margin-left:-5.857864376269049px;margin-top:-7.0710678118654755px}.ui-popup-arrow-container.ui-popup-arrow-b.ie .ui-popup-arrow{margin-left:-5.857864376269049px;margin-top:-4.142135623730951px}.ui-popup-arrow-container.ui-popup-arrow-l.ie .ui-popup-arrow{margin-left:-7.0710678118654755px;margin-top:-5.857864376269049px}.ui-popup-arrow-container.ui-popup-arrow-r.ie .ui-popup-arrow{margin-left:-4.142135623730951px;margin-top:-5.857864376269049px}.ui-popup>.ui-popup-arrow-guide{position:absolute;left:0;right:0;top:0;bottom:0;visibility:hidden}.ui-popup-arrow-container{position:absolute}.ui-popup-arrow{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);position:absolute;overflow:hidden;box-sizing:border-box}.ui-popup-arrow-container.ie .ui-popup-arrow{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865474, M12=-0.7071067811865477, M21=0.7071067811865477, M22=0.7071067811865474, SizingMethod='auto expand')";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.7071067811865474, M12=-.7071067811865477, M21=.7071067811865477, M22=.7071067811865474, SizingMethod='auto expand')}.ui-checkbox,.ui-radio{margin:.5em 0;position:relative}.ui-checkbox .ui-btn,.ui-radio .ui-btn{margin:0;text-align:left;white-space:normal;z-index:2}.ui-controlgroup .ui-checkbox .ui-btn.ui-focus,.ui-controlgroup .ui-radio .ui-btn.ui-focus{z-index:3}.ui-checkbox .ui-btn-icon-top,.ui-radio .ui-btn-icon-top,.ui-checkbox .ui-btn-icon-bottom,.ui-radio .ui-btn-icon-bottom{text-align:center}.ui-controlgroup-horizontal .ui-checkbox .ui-btn:after,.ui-controlgroup-horizontal .ui-radio .ui-btn:after{content:none;display:none}.ui-checkbox input,.ui-radio input{position:absolute;left:.466em;top:50%;width:22px;height:22px;margin:-11px 0 0 0;outline:0!important;z-index:1}.ui-controlgroup-horizontal .ui-checkbox input,.ui-controlgroup-horizontal .ui-radio input{left:50%;margin-left:-9px}.ui-checkbox input:disabled,.ui-radio input:disabled{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-select{margin-top:.5em;margin-bottom:.5em;position:relative}.ui-select>select{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-select .ui-btn{margin:0;opacity:1}.ui-select .ui-btn select{position:absolute;top:0;left:0;width:100%;min-height:1.5em;min-height:100%;height:3em;max-height:100%;outline:0;-webkit-border-radius:inherit;border-radius:inherit;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;filter:Alpha(Opacity=0);opacity:0;z-index:2}@-moz-document url-prefix(){.ui-select .ui-btn select{opacity:.0001}}.ui-select .ui-state-disabled select{display:none}.ui-select span.ui-state-disabled{filter:Alpha(Opacity=100);opacity:1}.ui-select .ui-btn.ui-select-nativeonly{border-radius:0;border:0}.ui-select .ui-btn.ui-select-nativeonly select{opacity:1;text-indent:0;display:block}.ui-select .ui-li-has-count.ui-btn{padding-right:2.8125em}.ui-select .ui-li-has-count.ui-btn-icon-right{padding-right:4.6875em}.ui-select .ui-btn-icon-right .ui-li-count{right:3.2em}.ui-select .ui-btn>span:not(.ui-li-count){display:block;text-overflow:ellipsis;overflow:hidden!important;white-space:nowrap}.ui-selectmenu.ui-popup{min-width:11em}.ui-selectmenu .ui-dialog-contain{overflow:hidden}.ui-selectmenu .ui-header{margin:0;padding:0;border-width:0}.ui-selectmenu.ui-dialog .ui-header{z-index:1;position:relative}.ui-selectmenu.ui-popup .ui-header{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-selectmenu.ui-popup .ui-header h1:after{content:'.';visibility:hidden}.ui-selectmenu .ui-header .ui-title{margin:0 2.875em}.ui-selectmenu.ui-dialog .ui-content{overflow:visible;z-index:1}.ui-selectmenu .ui-selectmenu-list{margin:0;-webkit-border-radius:inherit;border-radius:inherit}.ui-header:not(.ui-screen-hidden)+.ui-selectmenu-list{-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-top-left-radius:0;border-top-left-radius:0}.ui-header.ui-screen-hidden+.ui-selectmenu-list li.ui-first-child .ui-btn{border-top-width:0}.ui-selectmenu .ui-selectmenu-list li.ui-last-child .ui-btn{border-bottom-width:0}.ui-selectmenu .ui-btn.ui-li-divider{cursor:default}.ui-selectmenu .ui-selectmenu-placeholder{display:none}.ui-listview,.ui-listview>li{margin:0;padding:0;list-style:none}.ui-content .ui-listview,.ui-panel-inner>.ui-listview{margin:-1em}.ui-content .ui-listview-inset,.ui-panel-inner>.ui-listview-inset{margin:1em 0}.ui-collapsible-content>.ui-listview{margin:-.5em -1em}.ui-collapsible-content>.ui-listview-inset{margin:.5em 0}.ui-listview>li{display:block;position:relative;overflow:visible}.ui-listview>.ui-li-static,.ui-listview>.ui-li-divider,.ui-listview>li>a.ui-btn{margin:0;display:block;position:relative;text-align:left;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-listview>li>.ui-btn:focus{z-index:1}.ui-listview>.ui-li-static,.ui-listview>.ui-li-divider,.ui-listview>li>a.ui-btn{border-width:1px 0 0;border-style:solid}.ui-listview-inset>.ui-li-static,.ui-listview-inset>.ui-li-divider,.ui-listview-inset>li>a.ui-btn{border-right-width:1px;border-left-width:1px}.ui-listview>.ui-li-static.ui-last-child,.ui-listview>.ui-li-divider.ui-last-child,.ui-listview>li.ui-last-child>a.ui-btn{border-bottom-width:1px}.ui-collapsible-content>.ui-listview:not(.ui-listview-inset)>li.ui-first-child,.ui-collapsible-content>.ui-listview:not(.ui-listview-inset)>li.ui-first-child>a.ui-btn{border-top-width:0}.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset)>li.ui-last-child,.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset)>li.ui-last-child>a.ui-btn{border-bottom-width:0}.ui-listview>li.ui-first-child,.ui-listview>li.ui-first-child>a.ui-btn{-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit;-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit}.ui-listview>li.ui-last-child,.ui-listview>li.ui-last-child>a.ui-btn{-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit;-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-listview>li.ui-li-has-alt>a.ui-btn{-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0}.ui-listview>li.ui-first-child>a.ui-btn+a.ui-btn{-webkit-border-top-left-radius:0;border-top-left-radius:0;-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit}.ui-listview>li.ui-last-child>a.ui-btn+a.ui-btn{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-listview>li.ui-first-child img:first-child:not(.ui-li-icon){-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit}.ui-listview>li.ui-last-child img:first-child:not(.ui-li-icon){-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-collapsible-content>.ui-listview:not(.ui-listview-inset){-webkit-border-radius:inherit;border-radius:inherit}.ui-listview>.ui-li-static{padding:.7em 1em}.ui-listview>.ui-li-divider{padding:.5em 1.143em;font-size:14px;font-weight:700;cursor:default;outline:0}.ui-listview>.ui-li-has-count>.ui-btn,.ui-listview>.ui-li-static.ui-li-has-count,.ui-listview>.ui-li-divider.ui-li-has-count{padding-right:2.8125em}.ui-listview>.ui-li-has-count>.ui-btn-icon-right{padding-right:4.6875em}.ui-listview>.ui-li-has-thumb>.ui-btn,.ui-listview>.ui-li-static.ui-li-has-thumb{min-height:3.625em;padding-left:6.25em}.ui-listview>.ui-li-has-icon>.ui-btn,.ui-listview>.ui-li-static.ui-li-has-icon{min-height:1.25em;padding-left:2.5em}.ui-li-count{position:absolute;font-size:12.5px;font-weight:700;text-align:center;border-width:1px;border-style:solid;padding:0 .48em;line-height:1.6em;min-height:1.6em;min-width:.64em;right:.8em;top:50%;margin-top:-.88em}.ui-listview .ui-btn-icon-right .ui-li-count{right:3.2em}.ui-listview .ui-li-has-thumb>img:first-child,.ui-listview .ui-li-has-thumb>.ui-btn>img:first-child,.ui-listview .ui-li-has-thumb .ui-li-thumb{position:absolute;left:0;top:0;max-height:5em;max-width:5em}.ui-listview>.ui-li-has-icon>img:first-child,.ui-listview>.ui-li-has-icon>.ui-btn>img:first-child{position:absolute;left:.625em;top:.9em;max-height:1em;max-width:1em}.ui-listview>li h1,.ui-listview>li h2,.ui-listview>li h3,.ui-listview>li h4,.ui-listview>li h5,.ui-listview>li h6{font-size:1em;font-weight:700;display:block;margin:.45em 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-listview>li p{font-size:.75em;font-weight:400;display:block;margin:.6em 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-listview .ui-li-aside{position:absolute;top:1em;right:3.333em;margin:0;text-align:right}.ui-listview>li.ui-li-has-alt>.ui-btn{margin-right:2.5em;border-right-width:0}.ui-listview>li.ui-li-has-alt>.ui-btn+.ui-btn{position:absolute;width:2.5em;height:100%;min-height:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-left-width:1px;top:0;right:0;margin:0;padding:0;z-index:2}.ui-listview-inset>li.ui-li-has-alt>.ui-btn+.ui-btn{border-right-width:1px}.ui-listview>li.ui-li-has-alt>.ui-btn+.ui-btn:focus{z-index:3}ol.ui-listview,ol.ui-listview>.ui-li-divider{counter-reset:listnumbering}ol.ui-listview>li>.ui-btn,ol.ui-listview>li.ui-li-static{vertical-align:middle}ol.ui-listview>li>.ui-btn:first-child:before,ol.ui-listview>li.ui-li-static:before,ol.ui-listview>li.ui-field-contain>label:before,ol.ui-listview>li.ui-field-contain>.ui-controlgroup-label:before{display:inline-block;font-size:.9em;font-weight:400;padding-right:.3em;min-width:1.4em;line-height:1.5;vertical-align:middle;counter-increment:listnumbering;content:counter(listnumbering) "."}ol.ui-listview>li.ui-field-contain:before{content:none;display:none}ol.ui-listview>li h1:first-child,ol.ui-listview>li h2:first-child,ol.ui-listview>li h3:first-child,ol.ui-listview>li h4:first-child,ol.ui-listview>li h5:first-child,ol.ui-listview>li h6:first-child,ol.ui-listview>li p:first-child,ol.ui-listview>li img:first-child+*{display:inline-block;vertical-align:middle}ol.ui-listview>li h1:first-child~*,ol.ui-listview>li h2:first-child~*,ol.ui-listview>li h3:first-child~*,ol.ui-listview>li h4:first-child~*,ol.ui-listview>li h5:first-child~*,ol.ui-listview>li h6:first-child~*,ol.ui-listview>li p:first-child~*,ol.ui-listview>li img:first-child+*~*{margin-top:0;text-indent:2.04em}html .ui-filterable+.ui-listview,html .ui-filterable.ui-listview{margin-top:.5em}.ui-collapsible-content>form.ui-filterable{margin-top:-.5em}.ui-collapsible-content>.ui-input-search.ui-filterable{margin-top:0}.ui-collapsible-content>.ui-filterable+.ui-listview:not(.ui-listview-inset)>li.ui-first-child,.ui-collapsible-content>.ui-filterable+.ui-listview:not(.ui-listview-inset)>li.ui-first-child>a.ui-btn,.ui-collapsible-content>.ui-filterable.ui-listview:not(.ui-listview-inset)>li.ui-first-child,.ui-collapsible-content>.ui-filterable.ui-listview:not(.ui-listview-inset)>li.ui-first-child>a.ui-btn{border-top-width:1px}div.ui-slider{height:30px;margin:.5em 0;padding:0;-ms-touch-action:pan-y pinch-zoom double-tap-zoom}div.ui-slider:before,div.ui-slider:after{content:"";display:table}div.ui-slider:after{clear:both}input.ui-slider-input{display:block;float:left;font-size:14px;font-weight:700;margin:0;padding:4px;width:40px;height:20px;line-height:20px;border-width:1px;border-style:solid;outline:0;text-align:center;vertical-align:text-bottom;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.ui-slider-input::-webkit-outer-spin-button,.ui-slider-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ui-slider-track{position:relative;overflow:visible;border-width:1px;border-style:solid;height:15px;margin:0 15px 0 68px;top:6px}.ui-slider-track.ui-mini{height:12px;top:8px}.ui-slider-track .ui-slider-bg{height:100%}.ui-slider-track .ui-btn.ui-slider-handle{position:absolute;z-index:1;top:50%;width:28px;height:28px;margin:-15px 0 0 -15px;outline:0;padding:0}.ui-slider-track.ui-mini .ui-slider-handle{height:14px;width:14px;margin:-8px 0 0 -8px}select.ui-slider-switch{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}div.ui-slider-switch{display:inline-block;height:32px;width:5.8em;top:0}div.ui-slider-switch:before,div.ui-slider-switch:after{display:none;clear:none}div.ui-slider-switch.ui-mini{height:29px;top:0}.ui-slider-inneroffset{margin:0 16px;position:relative;z-index:1}.ui-slider-switch.ui-mini .ui-slider-inneroffset{margin:0 15px 0 14px}.ui-slider-switch .ui-btn.ui-slider-handle{margin:1px 0 0 -15px}.ui-slider-switch.ui-mini .ui-slider-handle{width:25px;height:25px;margin:1px 0 0 -13px;padding:0}.ui-slider-handle-snapping{-webkit-transition:left 70ms linear;-moz-transition:left 70ms linear;transition:left 70ms linear}.ui-slider-switch .ui-slider-label{position:absolute;text-align:center;width:100%;overflow:hidden;font-size:16px;top:0;line-height:2;min-height:100%;white-space:nowrap;cursor:pointer}.ui-slider-switch.ui-mini .ui-slider-label{font-size:14px}.ui-slider-switch .ui-slider-label-a{z-index:1;left:0;text-indent:-1.5em}.ui-slider-switch .ui-slider-label-b{z-index:0;right:0;text-indent:1.5em}.ui-slider-track .ui-slider-bg,.ui-slider-switch .ui-slider-label,.ui-slider-switch .ui-slider-inneroffset,.ui-slider-handle{-webkit-border-radius:inherit;border-radius:inherit}.ui-field-contain div.ui-slider-switch{margin:0}.ui-field-contain div.ui-slider-switch,.ui-field-contain.ui-hide-label div.ui-slider-switch,html .ui-popup .ui-field-contain div.ui-slider-switch{display:inline-block;width:5.8em}.ui-slider-popup{width:64px;height:64px;font-size:36px;padding-top:14px;opacity:.8}.ui-slider-popup{position:absolute!important;text-align:center;z-index:100}.ui-slider-track .ui-btn.ui-slider-handle{font-size:.9em;line-height:30px}.ui-rangeslider{margin:.5em 0}.ui-rangeslider:before,.ui-rangeslider:after{content:"";display:table}.ui-rangeslider:after{clear:both}.ui-rangeslider .ui-slider-input.ui-rangeslider-last{float:right}.ui-rangeslider .ui-rangeslider-sliders{position:relative;overflow:visible;height:30px;margin:0 68px}.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track{position:absolute;top:6px;right:0;left:0;margin:0}.ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track{top:8px}.ui-rangeslider .ui-slider-track:first-child .ui-slider-bg{display:none}.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child{background-color:transparent;background:0;border-width:0;height:0}html >body .ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child{height:15px;border-width:1px}html >body .ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track:first-child{height:12px}div.ui-rangeslider label{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-field-contain .ui-rangeslider input.ui-slider-input,.ui-field-contain .ui-rangeslider.ui-mini input.ui-slider-input,.ui-field-contain .ui-rangeslider .ui-rangeslider-sliders,.ui-field-contain .ui-rangeslider.ui-mini .ui-rangeslider-sliders{margin-top:0;margin-bottom:0}.ui-input-text,.ui-input-search{margin:.5em 0;border-width:1px;border-style:solid}.ui-mini{margin:.446em}.ui-input-text input,.ui-input-search input,textarea.ui-input-text{padding:.4em;line-height:1.4em;display:block;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;outline:0}.ui-input-text input,.ui-input-search input{margin:0;min-height:2.2em;text-align:left;border:0;background:transparent none;-webkit-appearance:none;-webkit-border-radius:inherit;border-radius:inherit}textarea.ui-input-text{overflow:auto;resize:vertical}.ui-mini .ui-input-text input,.ui-mini .ui-input-search input,.ui-input-text.ui-mini input,.ui-input-search.ui-mini input,.ui-mini textarea.ui-input-text,textarea.ui-mini{font-size:14px}.ui-mini textarea.ui-input-text,textarea.ui-mini{margin:.446em 0}.ui-input-has-clear,.ui-input-search{position:relative}.ui-input-has-clear{padding-right:2.375em}.ui-mini.ui-input-has-clear{padding-right:2.923em}.ui-input-has-clear input{padding-right:0;-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0}.ui-input-search input{padding-left:1.75em}.ui-input-search:after{position:absolute;left:.3125em;top:50%;margin-top:-7px;content:"";background-position:center center;background-repeat:no-repeat;width:14px;height:14px;filter:Alpha(Opacity=50);opacity:.5}.ui-input-search.ui-input-has-clear .ui-btn.ui-input-clear,.ui-input-text.ui-input-has-clear .ui-btn.ui-input-clear{position:absolute;right:0;top:50%;margin:-14px .3125em 0;border:0;background-color:transparent}.ui-input-search .ui-input-clear-hidden,.ui-input-text .ui-input-clear-hidden{display:none}.ui-input-text input::-moz-placeholder,.ui-input-search input::-moz-placeholder,textarea.ui-input-text::-moz-placeholder{color:#aaa}.ui-input-text input:-ms-input-placeholder,.ui-input-search input:-ms-input-placeholder,textarea.ui-input-text:-ms-input-placeholder{color:#aaa}.ui-input-text input[type=number]::-webkit-outer-spin-button{margin:0}.ui-input-text input::-ms-clear,.ui-input-search input::-ms-clear{display:none}.ui-input-text input:focus,.ui-input-search input:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}textarea.ui-input-text.ui-textinput-autogrow{overflow:hidden}.ui-textinput-autogrow-resize{-webkit-transition:height .25s;-o-transition:height .25s;-moz-transition:height .25s;transition:height .25s}.ui-flipswitch{display:inline-block;vertical-align:middle;width:5.875em;height:1.875em;border-width:1px;border-style:solid;margin:.5em 0;overflow:hidden;-webkit-transition-property:padding,width,background-color,color,border-color;-moz-transition-property:padding,width,background-color,color,border-color;-o-transition-property:padding,width,background-color,color,border-color;transition-property:padding,width,background-color,color,border-color;-webkit-transition-duration:100ms;-moz-transition-duration:100ms;-o-transition-duration:100ms;transition-duration:100ms;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.ui-flipswitch.ui-flipswitch-active{padding-left:4em;width:1.875em}.ui-flipswitch-input{position:absolute;height:1px;width:1px;margin:-1px;overflow:hidden;clip:rect(1px,1px,1px,1px);border:0;outline:0;filter:Alpha(Opacity=0);opacity:0}.ui-flipswitch .ui-btn.ui-flipswitch-on,.ui-flipswitch .ui-flipswitch-off{float:left;height:1.75em;margin:.0625em;line-height:1.65em}.ui-flipswitch .ui-btn.ui-flipswitch-on{width:1.75em;padding:0;text-indent:-2.6em;text-align:left;border-width:1px;border-style:solid;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-radius:inherit;overflow:visible;color:inherit;text-shadow:inherit}.ui-flipswitch .ui-flipswitch-off{padding:1px;text-indent:1em}html .ui-field-contain>label+.ui-flipswitch,html .ui-popup .ui-field-contain>label+.ui-flipswitch{display:inline-block;width:5.875em;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.ui-field-contain .ui-flipswitch.ui-flipswitch-active,.ui-popup .ui-field-contain .ui-flipswitch.ui-flipswitch-active{width:1.875em}.ui-table{border:0;border-collapse:collapse;padding:0;width:100%}.ui-table th,.ui-table td{line-height:1.5em;text-align:left;padding:.4em .5em;vertical-align:top}.ui-table th .ui-btn,.ui-table td .ui-btn{line-height:normal}.ui-table th{font-weight:700}.ui-table caption{text-align:left;margin-bottom:1.4em;opacity:.5}.ui-table-columntoggle-btn{float:right;margin-bottom:.8em}.ui-table-columntoggle-popup fieldset{margin:0}.ui-table-columntoggle{clear:both}@media only all{th.ui-table-priority-6,td.ui-table-priority-6,th.ui-table-priority-5,td.ui-table-priority-5,th.ui-table-priority-4,td.ui-table-priority-4,th.ui-table-priority-3,td.ui-table-priority-3,th.ui-table-priority-2,td.ui-table-priority-2,th.ui-table-priority-1,td.ui-table-priority-1{display:none}}@media screen and (min-width:20em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-1,.ui-table-columntoggle.ui-responsive td.ui-table-priority-1{display:table-cell}}@media screen and (min-width:30em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-2,.ui-table-columntoggle.ui-responsive td.ui-table-priority-2{display:table-cell}}@media screen and (min-width:40em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-3,.ui-table-columntoggle.ui-responsive td.ui-table-priority-3{display:table-cell}}@media screen and (min-width:50em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-4,.ui-table-columntoggle.ui-responsive td.ui-table-priority-4{display:table-cell}}@media screen and (min-width:60em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-5,.ui-table-columntoggle.ui-responsive td.ui-table-priority-5{display:table-cell}}@media screen and (min-width:70em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-6,.ui-table-columntoggle.ui-responsive td.ui-table-priority-6{display:table-cell}}.ui-table-columntoggle th.ui-table-cell-hidden,.ui-table-columntoggle td.ui-table-cell-hidden,.ui-table-columntoggle.ui-responsive th.ui-table-cell-hidden,.ui-table-columntoggle.ui-responsive td.ui-table-cell-hidden{display:none}.ui-table-columntoggle th.ui-table-cell-visible,.ui-table-columntoggle td.ui-table-cell-visible,.ui-table-columntoggle.ui-responsive th.ui-table-cell-visible,.ui-table-columntoggle.ui-responsive td.ui-table-cell-visible{display:table-cell}.ui-table-reflow td .ui-table-cell-label,.ui-table-reflow th .ui-table-cell-label{display:none}@media only all{.ui-table-reflow thead td,.ui-table-reflow thead th{display:none}.ui-table-reflow td,.ui-table-reflow th{text-align:left;display:block}.ui-table-reflow tbody th{margin-top:3em}.ui-table-reflow td .ui-table-cell-label,.ui-table-reflow th .ui-table-cell-label{padding:.4em;min-width:30%;display:inline-block;margin:-.4em 1em -.4em -.4em}.ui-table-reflow th .ui-table-cell-label-top,.ui-table-reflow td .ui-table-cell-label-top{display:block;padding:.4em 0;margin:.4em 0;text-transform:uppercase;font-size:.9em;font-weight:400}}@media (min-width:35em){.ui-table-reflow.ui-responsive td,.ui-table-reflow.ui-responsive th,.ui-table-reflow.ui-responsive tbody th,.ui-table-reflow.ui-responsive tbody td,.ui-table-reflow.ui-responsive thead td,.ui-table-reflow.ui-responsive thead th{display:table-cell;margin:0}.ui-table-reflow.ui-responsive td .ui-table-cell-label,.ui-table-reflow.ui-responsive th .ui-table-cell-label{display:none}}@media (max-width:35em){.ui-table-reflow.ui-responsive td,.ui-table-reflow.ui-responsive th{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;clear:left}}.ui-panel{width:17em;min-height:100%;max-height:none;border-width:0;position:absolute;top:0;display:block}.ui-panel-closed{width:0;max-height:100%;overflow:hidden;visibility:hidden;left:0;clip:rect(1px,1px,1px,1px)}.ui-panel-fixed{position:fixed;bottom:-1px;padding-bottom:1px}.ui-panel-display-reveal{z-index:1}.ui-panel-display-push{z-index:999}.ui-panel-display-overlay{z-index:1001}.ui-panel-inner{padding:1em}.ui-panel-page-container{overflow-x:visible}.ui-panel-page-container-themed .ui-page-active{background:0}.ui-panel-wrapper{position:relative;min-height:inherit;border:0;overflow-x:hidden;z-index:999}.ui-panel-fixed-toolbar{overflow-x:hidden}.ui-panel-dismiss{position:absolute;top:0;left:0;right:0;height:100%;z-index:1002;display:none}.ui-panel-dismiss-open{display:block}.ui-panel-animate{-webkit-transition:-webkit-transform 300ms ease;-webkit-transition-duration:300ms;-moz-transition:-moz-transform 300ms ease;transition:transform 300ms ease}@media screen and (max-device-width:768px){.ui-page-header-fixed .ui-panel-animate.ui-panel-wrapper,.ui-page-footer-fixed .ui-panel-animate.ui-panel-wrapper,.ui-panel-animate.ui-panel-fixed-toolbar{-ms-transition:none}.ui-panel-animate.ui-panel-fixed-toolbar{-ms-transition:-ms-transform 1ms;-ms-transform:rotate(0deg)}}.ui-panel-animate.ui-panel:not(.ui-panel-display-reveal){-webkit-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0)}.ui-panel-position-left{left:-17em}.ui-panel-animate.ui-panel-position-left.ui-panel-display-overlay,.ui-panel-animate.ui-panel-position-left.ui-panel-display-push{left:0;-webkit-transform:translate3d(-17em,0,0);-moz-transform:translate3d(-17em,0,0);transform:translate3d(-17em,0,0)}.ui-panel-position-left.ui-panel-display-reveal,.ui-panel-open.ui-panel-position-left{left:0}.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-overlay,.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-push{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-moz-transform:none}.ui-panel-position-right{right:-17em}.ui-panel-animate.ui-panel-position-right.ui-panel-display-overlay,.ui-panel-animate.ui-panel-position-right.ui-panel-display-push{right:0;-webkit-transform:translate3d(17em,0,0);-moz-transform:translate3d(17em,0,0);transform:translate3d(17em,0,0)}.ui-panel-position-right.ui-panel-display-reveal,.ui-panel-position-right.ui-panel-open{right:0}.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-overlay,.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-push{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-moz-transform:none}.ui-panel-page-content-position-left{left:17em;right:-17em}.ui-panel-animate.ui-panel-page-content-position-left{left:0;right:0;-webkit-transform:translate3d(17em,0,0);-moz-transform:translate3d(17em,0,0);transform:translate3d(17em,0,0)}.ui-panel-page-content-position-right{left:-17em;right:17em}.ui-panel-animate.ui-panel-page-content-position-right{left:0;right:0;-webkit-transform:translate3d(-17em,0,0);-moz-transform:translate3d(-17em,0,0);transform:translate3d(-17em,0,0)}.ui-panel-dismiss-open.ui-panel-dismiss-position-left{left:17em}.ui-panel-dismiss-open.ui-panel-dismiss-position-right{right:17em}.ui-panel-display-reveal{-webkit-box-shadow:inset -5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:inset -5px 0 5px rgba(0,0,0,.15);box-shadow:inset -5px 0 5px rgba(0,0,0,.15)}.ui-panel-position-right.ui-panel-display-reveal{-webkit-box-shadow:inset 5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:inset 5px 0 5px rgba(0,0,0,.15);box-shadow:inset 5px 0 5px rgba(0,0,0,.15)}.ui-panel-display-overlay{-webkit-box-shadow:5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:5px 0 5px rgba(0,0,0,.15);box-shadow:5px 0 5px rgba(0,0,0,.15)}.ui-panel-position-right.ui-panel-display-overlay{-webkit-box-shadow:-5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:-5px 0 5px rgba(0,0,0,.15);box-shadow:-5px 0 5px rgba(0,0,0,.15)}.ui-panel-open.ui-panel-position-left.ui-panel-display-push{border-right-width:1px;margin-right:-1px}.ui-panel-page-content-position-left.ui-panel-page-content-display-push{margin-left:1px;width:auto}.ui-panel-open.ui-panel-position-right.ui-panel-display-push{border-left-width:1px;margin-left:-1px}.ui-panel-page-content-position-right.ui-panel-page-content-display-push{margin-right:1px;width:auto}@media (min-width:55em){.ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-left{margin-right:17em}.ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-right{margin-left:17em}.ui-responsive-panel .ui-panel-page-content-open{width:auto}.ui-responsive-panel .ui-panel-dismiss-display-push,.ui-responsive-panel.ui-page-active~.ui-panel-dismiss-display-push{display:none}}.ui-tabs{position:relative;padding:.2em} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.icons-1.4.5.css b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.icons-1.4.5.css deleted file mode 100644 index cf786205586f2d1d71f903dd483e2693ac68a523..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.icons-1.4.5.css +++ /dev/null @@ -1,746 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! -* jQuery Mobile 1.4.5 -* Git HEAD hash: 68e55e78b292634d3991c795f06f5e37a512decc <> Date: Fri Oct 31 2014 17:33:30 UTC -* http://jquerymobile.com -* -* Copyright 2010, 2014 jQuery Foundation, Inc. and othercontributors -* Released under the MIT license. -* http://jquery.org/license -* -*/ - - -/* SVG icons */ -.ui-icon-action:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M9%2C5v3l5-4L9%2C0v3c0%2C0-5%2C0-5%2C7C6%2C5%2C9%2C5%2C9%2C5z%20M11%2C12H2V5h1l2-2H0v11h13V7l-2%2C2V12z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-alert:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C0L0%2C12h14L7%2C0z%20M7%2C11c-0.553%2C0-1-0.447-1-1s0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1S7.553%2C11%2C7%2C11z%20M7%2C8%20C6.447%2C8%2C6%2C7.553%2C6%2C7V5c0-0.553%2C0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1v2C8%2C7.553%2C7.553%2C8%2C7%2C8z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-d-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C3%2011%2C0%203.5%2C7.5%200%2C4%200%2C14%2010%2C14%206.5%2C10.5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-d-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2210.5%2C7.5%203%2C0%200%2C3%207.5%2C10.5%204%2C14%2014%2C14%2014%2C4%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-d:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%229%2C7%209%2C0%205%2C0%205%2C7%200%2C7%207%2C14%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C5%207%2C0%200%2C7%207%2C14%207%2C9%2014%2C9%2014%2C5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C7%207%2C0%207%2C5%200%2C5%200%2C9%207%2C9%207%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-u-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C11%206.5%2C3.5%2010%2C0%200%2C0%200%2C10%203.5%2C6.5%2011%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-u-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C0%204%2C0%207.5%2C3.5%200%2C11%203%2C14%2010.5%2C6.5%2014%2C10%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-u:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C0%200%2C7%205%2C7%205%2C14%209%2C14%209%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-audio:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.018px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014.018%2014%22%20style%3D%22enable-background%3Anew%200%200%2014.018%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M1%2C4C0.447%2C4%2C0%2C4.447%2C0%2C5v4c0%2C0.553%2C0.447%2C1%2C1%2C1h1l4%2C4V0L2%2C4H1z%20M10.346%2C7c0-1.699-1.042-3.154-2.546-3.867L6.982%2C4.68%20C7.885%2C5.107%2C8.51%2C5.98%2C8.51%2C7S7.885%2C8.893%2C6.982%2C9.32L7.8%2C10.867C9.304%2C10.154%2C10.346%2C8.699%2C10.346%2C7z%20M9.447%2C0.017L8.618%2C1.586%20C10.723%2C2.584%2C12.182%2C4.621%2C12.182%2C7s-1.459%2C4.416-3.563%2C5.414l0.829%2C1.569c2.707-1.283%2C4.57-3.925%2C4.57-6.983%20S12.154%2C1.3%2C9.447%2C0.017z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-back:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M5%2C3V0L1%2C4l4%2C4V5c0%2C0%2C6%2C0%2C6%2C3s-5%2C4-5%2C4v2c0%2C0%2C7-1%2C7-6C13%2C4%2C8%2C3%2C5%2C3z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-bars:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M1%2C4h12c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H1C0.447%2C2%2C0%2C2.447%2C0%2C3S0.447%2C4%2C1%2C4z%20M13%2C6H1%20C0.447%2C6%2C0%2C6.447%2C0%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H1c-0.553%2C0-1%2C0.447-1%2C1%20s0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-bullets:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M5%2C4h8c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H5C4.447%2C2%2C4%2C2.447%2C4%2C3S4.447%2C4%2C5%2C4z%20M13%2C6H5%20C4.447%2C6%2C4%2C6.447%2C4%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H5c-0.553%2C0-1%2C0.447-1%2C1%20s0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%20M1%2C2C0.447%2C2%2C0%2C2.447%2C0%2C3s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C2%2C1%2C2z%20M1%2C6%20C0.447%2C6%2C0%2C6.447%2C0%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1s1-0.447%2C1-1C2%2C6.447%2C1.553%2C6%2C1%2C6z%20M1%2C10c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1s1-0.447%2C1-1%20S1.553%2C10%2C1%2C10z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-calendar:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M0%2C8h2V6H0V8z%20M3%2C8h2V6H3V8z%20M6%2C8h2V6H6V8z%20M9%2C8h2V6H9V8z%20M12%2C8h2V6h-2V8z%20M0%2C11h2V9H0V11z%20M3%2C11h2V9H3V11z%20M6%2C11h2V9H6V11z%20%20M9%2C11h2V9H9V11z%20M12%2C11h2V9h-2V11z%20M0%2C14h2v-2H0V14z%20M3%2C14h2v-2H3V14z%20M6%2C14h2v-2H6V14z%20M9%2C14h2v-2H9V14z%20M12%2C1%20c0-0.553-0.447-1-1-1s-1%2C0.447-1%2C1H4c0-0.553-0.447-1-1-1S2%2C0.447%2C2%2C1H0v4h14V1H12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-camera:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M12%2C2.5H9.908c-0.206-0.581-0.756-1-1.408-1h-3c-0.652%2C0-1.202%2C0.419-1.408%2C1H2c-1.104%2C0-2%2C0.896-2%2C2%20v6c0%2C1.104%2C0.896%2C2%2C2%2C2h10c1.104%2C0%2C2-0.896%2C2-2v-6C14%2C3.396%2C13.104%2C2.5%2C12%2C2.5z%20M7%2C10.5c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3C10%2C9.156%2C8.657%2C10.5%2C7%2C10.5z%20M7%2C5.5c-1.104%2C0-2%2C0.896-2%2C2c0%2C1.104%2C0.896%2C2%2C2%2C2c1.104%2C0%2C2-0.896%2C2-2%20C9%2C6.396%2C8.104%2C5.5%2C7%2C5.5z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-carat-d:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2211.949%2C3.404%207%2C8.354%202.05%2C3.404%20-0.071%2C5.525%207%2C12.596%2014.07%2C5.525%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-carat-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2210.596%2C11.949%205.646%2C7%2010.596%2C2.05%208.475%2C-0.071%201.404%2C7%208.475%2C14.07%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-carat-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%223.404%2C2.051%208.354%2C7%203.404%2C11.95%205.525%2C14.07%2012.596%2C7%205.525%2C-0.071%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-carat-u:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%222.051%2C10.596%207%2C5.646%2011.95%2C10.596%2014.07%2C8.475%207%2C1.404%20-0.071%2C8.475%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-check:after, -/* Used ui-checkbox-on twice to increase specificity. If active state has background-image for gradient this rule overrides. */ -html .ui-btn.ui-checkbox-on.ui-checkbox-on:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2214%2C4%2011%2C1%205.003%2C6.997%203%2C5%200%2C8%204.966%2C13%204.983%2C12.982%205%2C13%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-clock:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C12c-2.762%2C0-5-2.238-5-5s2.238-5%2C5-5s5%2C2.238%2C5%2C5%20S9.762%2C12%2C7%2C12z%20M9%2C6H8V4c0-0.553-0.447-1-1-1S6%2C3.447%2C6%2C4v3c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1S9.553%2C6%2C9%2C6z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-cloud:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M14%2C9.5c0-0.793-0.465-1.473-1.134-1.795C12.949%2C7.484%2C13%2C7.249%2C13%2C7c0-1.104-0.896-2-2-2%20c-0.158%2C0-0.311%2C0.023-0.457%2C0.058C9.816%2C3.549%2C8.286%2C2.5%2C6.5%2C2.5c-2.33%2C0-4.224%2C1.777-4.454%2C4.046C0.883%2C6.76%2C0%2C7.773%2C0%2C9%20c0%2C1.381%2C1.119%2C2.5%2C2.5%2C2.5h10v-0.07C13.361%2C11.206%2C14%2C10.432%2C14%2C9.5z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-comment:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M12%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v7c0%2C1.104%2C0.896%2C2%2C2%2C2h1v3l3-3h6c1.104%2C0%2C2-0.896%2C2-2V2C14%2C0.896%2C13.104%2C0%2C12%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-delete:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C3%2011%2C0%207%2C4%203%2C0%200%2C3%204%2C7%200%2C11%203%2C14%207%2C10%2011%2C14%2014%2C11%2010%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-edit:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M1%2C10l-1%2C4l4-1l7-7L8%2C3L1%2C10z%20M11%2C0L9%2C2l3%2C3l2-2L11%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-eye:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C2C3%2C2%2C0%2C7%2C0%2C7s3%2C5%2C7%2C5s7-5%2C7-5S11%2C2%2C7%2C2z%20M7%2C10c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3C10%2C8.656%2C8.657%2C10%2C7%2C10z%20M7%2C6C6.448%2C6%2C6%2C6.447%2C6%2C7c0%2C0.553%2C0.448%2C1%2C1%2C1s1-0.447%2C1-1C8%2C6.447%2C7.552%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-forbidden:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M12.601%2C11.187C13.476%2C10.018%2C14%2C8.572%2C14%2C7c0-3.866-3.134-7-7-7C5.428%2C0%2C3.982%2C0.524%2C2.813%2C1.399L2.757%2C1.343L2.053%2C2.048%20L2.048%2C2.053L1.343%2C2.758l0.056%2C0.056C0.524%2C3.982%2C0%2C5.428%2C0%2C7c0%2C3.866%2C3.134%2C7%2C7%2C7c1.572%2C0%2C3.018-0.524%2C4.187-1.399l0.056%2C0.057%20l0.705-0.705l0.005-0.005l0.705-0.705L12.601%2C11.187z%20M7%2C2c2.761%2C0%2C5%2C2.238%2C5%2C5c0%2C1.019-0.308%2C1.964-0.832%2C2.754L4.246%2C2.832%20C5.036%2C2.308%2C5.981%2C2%2C7%2C2z%20M7%2C12c-2.761%2C0-5-2.238-5-5c0-1.019%2C0.308-1.964%2C0.832-2.754l6.922%2C6.922C8.964%2C11.692%2C8.019%2C12%2C7%2C12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-forward:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M13%2C4L9%2C0v3C6%2C3%2C1%2C4%2C1%2C8c0%2C5%2C7%2C6%2C7%2C6v-2c0%2C0-5-1-5-4s6-3%2C6-3v3L13%2C4z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-gear:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M13.621%2C5.904l-1.036-0.259c-0.168-0.042-0.303-0.168-0.355-0.332c-0.092-0.284-0.205-0.559-0.339-0.82%20c-0.079-0.153-0.073-0.337%2C0.017-0.486l0.549-0.915c0.118-0.196%2C0.088-0.448-0.075-0.61l-0.862-0.863%20c-0.162-0.163-0.414-0.193-0.611-0.075l-0.916%2C0.55C9.844%2C2.182%2C9.659%2C2.188%2C9.506%2C2.109C9.244%2C1.975%2C8.97%2C1.861%2C8.686%2C1.77%20c-0.165-0.052-0.29-0.187-0.332-0.354L8.095%2C0.379C8.039%2C0.156%2C7.839%2C0%2C7.609%2C0H6.391c-0.229%2C0-0.43%2C0.156-0.485%2C0.379L5.646%2C1.415%20C5.604%2C1.582%2C5.479%2C1.718%2C5.313%2C1.77c-0.284%2C0.092-0.559%2C0.206-0.82%2C0.34C4.339%2C2.188%2C4.155%2C2.182%2C4.007%2C2.093L3.092%2C1.544%20c-0.196-0.118-0.448-0.087-0.61%2C0.075L1.619%2C2.481C1.457%2C2.644%2C1.426%2C2.896%2C1.544%2C3.093l0.549%2C0.914%20c0.089%2C0.148%2C0.095%2C0.332%2C0.017%2C0.486C1.975%2C4.755%2C1.861%2C5.029%2C1.77%2C5.314c-0.053%2C0.164-0.188%2C0.29-0.354%2C0.332L0.379%2C5.905%20C0.156%2C5.961%2C0%2C6.161%2C0%2C6.391v1.219c0%2C0.229%2C0.156%2C0.43%2C0.379%2C0.485l1.036%2C0.26C1.582%2C8.396%2C1.717%2C8.521%2C1.77%2C8.687%20c0.092%2C0.284%2C0.205%2C0.559%2C0.34%2C0.82C2.188%2C9.66%2C2.182%2C9.844%2C2.093%2C9.993l-0.549%2C0.915c-0.118%2C0.195-0.087%2C0.448%2C0.075%2C0.61%20l0.862%2C0.862c0.162%2C0.163%2C0.414%2C0.193%2C0.61%2C0.075l0.915-0.549c0.148-0.089%2C0.332-0.095%2C0.486-0.017%20c0.262%2C0.135%2C0.536%2C0.248%2C0.82%2C0.34c0.165%2C0.053%2C0.291%2C0.187%2C0.332%2C0.354l0.259%2C1.036C5.96%2C13.844%2C6.16%2C14%2C6.39%2C14h1.22%20c0.229%2C0%2C0.43-0.156%2C0.485-0.379l0.259-1.036c0.042-0.167%2C0.168-0.302%2C0.333-0.354c0.284-0.092%2C0.559-0.205%2C0.82-0.34%20c0.154-0.078%2C0.338-0.072%2C0.486%2C0.017l0.914%2C0.549c0.197%2C0.118%2C0.449%2C0.088%2C0.611-0.074l0.862-0.863%20c0.163-0.162%2C0.193-0.415%2C0.075-0.611l-0.549-0.915c-0.089-0.148-0.096-0.332-0.017-0.485c0.134-0.263%2C0.248-0.536%2C0.339-0.82%20c0.053-0.165%2C0.188-0.291%2C0.355-0.333l1.036-0.259C13.844%2C8.039%2C14%2C7.839%2C14%2C7.609V6.39C14%2C6.16%2C13.844%2C5.96%2C13.621%2C5.904z%20M7%2C10%20c-1.657%2C0-3-1.343-3-3s1.343-3%2C3-3s3%2C1.343%2C3%2C3S8.657%2C10%2C7%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-grid:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M3%2C0H1C0.447%2C0%2C0%2C0.447%2C0%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C4%2C0.447%2C3.553%2C0%2C3%2C0z%20M8%2C0H6%20C5.447%2C0%2C5%2C0.447%2C5%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C9%2C0.447%2C8.553%2C0%2C8%2C0z%20M13%2C0h-2c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C14%2C0.447%2C13.553%2C0%2C13%2C0z%20M3%2C5H1C0.447%2C5%2C0%2C5.447%2C0%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1V6C4%2C5.447%2C3.553%2C5%2C3%2C5z%20M8%2C5H6C5.447%2C5%2C5%2C5.447%2C5%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6%20C9%2C5.447%2C8.553%2C5%2C8%2C5z%20M13%2C5h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6C14%2C5.447%2C13.553%2C5%2C13%2C5z%20M3%2C10%20H1c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C4%2C10.447%2C3.553%2C10%2C3%2C10z%20M8%2C10H6c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C9%2C10.447%2C8.553%2C10%2C8%2C10z%20M13%2C10h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1v-2C14%2C10.447%2C13.553%2C10%2C13%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-heart:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C1.872c-2-3-7-2-7%2C2c0%2C3%2C4%2C7%2C4%2C7s2.417%2C2.479%2C3%2C3c0.583-0.521%2C3-3%2C3-3s4-4%2C4-7%20C14-0.128%2C9-1.128%2C7%2C1.872z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-home:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C0%200%2C7%202%2C7%202%2C14%205%2C14%205%2C9%209%2C9%209%2C14%2012%2C14%2012%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-info:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C2c0.552%2C0%2C1%2C0.447%2C1%2C1S7.552%2C4%2C7%2C4S6%2C3.553%2C6%2C3%20S6.448%2C2%2C7%2C2z%20M9%2C11H5v-1h1V6H5V5h3v5h1V11z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-location:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C0C4.791%2C0%2C3%2C1.791%2C3%2C4c0%2C2%2C4%2C10%2C4%2C10s4-8%2C4-10C11%2C1.791%2C9.209%2C0%2C7%2C0z%20M7%2C6C5.896%2C6%2C5%2C5.104%2C5%2C4%20s0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2S8.104%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-lock:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M12%2C6V5c0-2.762-2.238-5-5-5C4.239%2C0%2C2%2C2.238%2C2%2C5v1H1v8h12V6H12z%20M7.5%2C9.848V12h-1V9.848%20C6.207%2C9.673%2C6%2C9.366%2C6%2C9c0-0.553%2C0.448-1%2C1-1s1%2C0.447%2C1%2C1C8%2C9.366%2C7.793%2C9.673%2C7.5%2C9.848z%20M10%2C6H4V5c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3V6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-mail:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M0%2C3.75V12h14V3.75L7%2C9L0%2C3.75z%20M14%2C2H0l7%2C5L14%2C2z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-minus:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20y%3D%225%22%20style%3D%22fill%3A%23FFFFFF%3B%22%20width%3D%2214%22%20height%3D%224%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-navigation:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2213%2C1%200%2C6%207%2C7%208%2C14%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-phone:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%22-0.01%200.008%2014%2014%22%20style%3D%22enable-background%3Anew%20-0.01%200.008%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M6.939%2C9.189C6.165%2C8.557%2C5.271%2C7.705%2C4.497%2C6.744C3.953%2C6.071%2C3.473%2C5.363%2C3.969%2C4.866l-3.482-3.48%20C-0.021%2C2.02-1.146%2C5.04%2C3.675%2C9.984c5.08%2C5.211%2C8.356%2C4.097%2C8.92%2C3.511l-3.396-3.4C8.725%2C10.568%2C8.113%2C10.146%2C6.939%2C9.189z%20%20M13.82%2C11.519v-0.004c0%2C0-2.648-2.646-2.649-2.647c-0.21-0.211-0.546-0.205-0.754%2C0.002L9.455%2C9.831l3.403%2C3.407%20c0%2C0%2C0.962-0.96%2C0.961-0.961l0.002-0.001C14.043%2C12.056%2C14.021%2C11.721%2C13.82%2C11.519z%20M5.192%2C3.644V3.642%20c0.222-0.222%2C0.2-0.557%2C0-0.758V2.881c0%2C0-2.726-2.725-2.727-2.726C2.255-0.055%2C1.92-0.05%2C1.712%2C0.156L0.751%2C1.121l3.479%2C3.482%20C4.231%2C4.604%2C5.192%2C3.645%2C5.192%2C3.644z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-plus:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C5%209%2C5%209%2C0%205%2C0%205%2C5%200%2C5%200%2C9%205%2C9%205%2C14%209%2C14%209%2C9%2014%2C9%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-power:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M11.243%2C2.408c-0.392-0.401-1.024-0.401-1.415%2C0c-0.391%2C0.401-0.391%2C1.054%2C0%2C1.455%20C10.584%2C4.642%2C11%2C5.675%2C11%2C6.773s-0.416%2C2.133-1.172%2C2.91c-1.512%2C1.558-4.145%2C1.558-5.656%2C0C3.416%2C8.904%2C3%2C7.872%2C3%2C6.773%20C3%2C5.673%2C3.416%2C4.64%2C4.172%2C3.863c0.39-0.401%2C0.39-1.054%2C0-1.455c-0.391-0.401-1.024-0.401-1.415%2C0C1.624%2C3.574%2C1%2C5.125%2C1%2C6.773%20c0%2C1.647%2C0.624%2C3.199%2C1.757%2C4.365c1.134%2C1.166%2C2.64%2C1.809%2C4.243%2C1.809c1.604%2C0%2C3.109-0.645%2C4.243-1.811%20C12.376%2C9.975%2C13%2C8.423%2C13%2C6.773C13%2C5.125%2C12.376%2C3.574%2C11.243%2C2.408z%20M7%2C8.053c0.553%2C0%2C1-0.445%2C1-1v-6c0-0.553-0.447-1-1-1%20c-0.553%2C0-1%2C0.447-1%2C1v6C6%2C7.604%2C6.447%2C8.053%2C7%2C8.053z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-recycle:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M3%2C7h1L2%2C4L0%2C7h1c0%2C3.313%2C2.687%2C6%2C6%2C6c0.702%2C0%2C1.374-0.127%2C2-0.35v-2.205C8.41%2C10.789%2C7.732%2C11%2C7%2C11%20C4.791%2C11%2C3%2C9.209%2C3%2C7z%20M13%2C7c0-3.313-2.688-6-6-6C6.298%2C1%2C5.626%2C1.127%2C5%2C1.349v2.206C5.59%2C3.211%2C6.268%2C3%2C7%2C3c2.209%2C0%2C4%2C1.791%2C4%2C4%20h-1l2%2C3l2-3H13z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-refresh:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.001px%22%20height%3D%2214.002px%22%20viewBox%3D%220%200%2014.001%2014.002%22%20style%3D%22enable-background%3Anew%200%200%2014.001%2014.002%3B%22%20%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M14.001%2C6.001v-6l-2.06%2C2.06c-0.423-0.424-0.897-0.809-1.44-1.122C7.153-0.994%2C2.872%2C0.153%2C0.939%2C3.501%20c-1.933%2C3.348-0.786%2C7.629%2C2.562%2C9.562c3.348%2C1.933%2C7.629%2C0.785%2C9.562-2.562l-1.732-1c-1.381%2C2.392-4.438%2C3.211-6.83%2C1.83%20s-3.211-4.438-1.83-6.83s4.438-3.211%2C6.83-1.83c0.389%2C0.225%2C0.718%2C0.506%2C1.02%2C0.81l-2.52%2C2.52H14.001z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-search:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M10.171%2C8.766c0.617-0.888%2C0.979-1.964%2C0.979-3.126c0-3.037-2.463-5.5-5.5-5.5s-5.5%2C2.463-5.5%2C5.5%20s2.463%2C5.5%2C5.5%2C5.5c1.152%2C0%2C2.223-0.355%2C3.104-0.962l3.684%2C3.683l1.414-1.414L10.171%2C8.766z%20M5.649%2C9.14c-1.933%2C0-3.5-1.567-3.5-3.5%20c0-1.933%2C1.567-3.5%2C3.5-3.5c1.933%2C0%2C3.5%2C1.567%2C3.5%2C3.5C9.149%2C7.572%2C7.582%2C9.14%2C5.649%2C9.14z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-shop:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M10%2C4V3c0-1.657-1.343-3-3-3S4%2C1.343%2C4%2C3v1H1v10h12V4H10z%20M4.5%2C6C4.224%2C6%2C4%2C5.776%2C4%2C5.5%20S4.224%2C5%2C4.5%2C5S5%2C5.224%2C5%2C5.5S4.776%2C6%2C4.5%2C6z%20M5%2C3c0-1.104%2C0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2v1H5V3z%20M9.5%2C6C9.225%2C6%2C9%2C5.776%2C9%2C5.5%20S9.225%2C5%2C9.5%2C5S10%2C5.224%2C10%2C5.5S9.775%2C6%2C9.5%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-star:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2214%2C5%209%2C5%207%2C0%205%2C5%200%2C5%204%2C8%202.625%2C13%207%2C10%2011.375%2C13%2010%2C8%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-tag:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M5%2C0H0v5l9%2C9l5-5L5%2C0z%20M3%2C4C2.447%2C4%2C2%2C3.553%2C2%2C3s0.447-1%2C1-1s1%2C0.447%2C1%2C1S3.553%2C4%2C3%2C4z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-user:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M8.851%2C10.101c-0.18-0.399-0.2-0.763-0.153-1.104C9.383%2C8.49%2C9.738%2C7.621%2C9.891%2C6.465C10.493%2C6.355%2C10.5%2C5.967%2C10.5%2C5.5%20c0-0.437-0.008-0.804-0.502-0.94C9.999%2C4.539%2C10%2C4.521%2C10%2C4.5c0-2.103-1-4-2-4C8%2C0.5%2C7.5%2C0%2C6.5%2C0C5%2C0%2C4%2C1.877%2C4%2C4.5%20c0%2C0.021%2C0.001%2C0.039%2C0.002%2C0.06C3.508%2C4.696%2C3.5%2C5.063%2C3.5%2C5.5c0%2C0.467%2C0.007%2C0.855%2C0.609%2C0.965%20C4.262%2C7.621%2C4.617%2C8.49%2C5.303%2C8.997c0.047%2C0.341%2C0.026%2C0.704-0.153%2C1.104C1.503%2C10.503%2C0%2C12%2C0%2C12v2h14v-2%20C14%2C12%2C12.497%2C10.503%2C8.851%2C10.101z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-video:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%20-2%2014%2014%22%20style%3D%22enable-background%3Anew%200%20-2%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M8%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2h6c1.104%2C0%2C2-0.896%2C2-2V5V2C10%2C0.896%2C9.104%2C0%2C8%2C0z%20%20M10%2C5l4%2C4V1L10%2C5z%22%2F%3E%3C%2Fsvg%3E"); -} -/* Alt icons */ -.ui-alt-icon.ui-icon-action:after, -.ui-alt-icon .ui-icon-action:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M9%2C5v3l5-4L9%2C0v3c0%2C0-5%2C0-5%2C7C6%2C5%2C9%2C5%2C9%2C5z%20M11%2C12H2V5h1l2-2H0v11h13V7l-2%2C2V12z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-alert:after, -.ui-alt-icon .ui-icon-alert:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0L0%2C12h14L7%2C0z%20M7%2C11c-0.553%2C0-1-0.447-1-1s0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1S7.553%2C11%2C7%2C11z%20M7%2C8C6.447%2C8%2C6%2C7.553%2C6%2C7V5%20c0-0.553%2C0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1v2C8%2C7.553%2C7.553%2C8%2C7%2C8z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-d:after, -.ui-alt-icon .ui-icon-arrow-d:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%229%2C7%209%2C0%205%2C0%205%2C7%200%2C7%207%2C14%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-d-l:after, -.ui-alt-icon .ui-icon-arrow-d-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C3%2011%2C0%203.5%2C7.5%200%2C4%200%2C14%2010%2C14%206.5%2C10.5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-d-r:after, -.ui-alt-icon .ui-icon-arrow-d-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2210.5%2C7.5%203%2C0%200%2C3%207.5%2C10.5%204%2C14%2014%2C14%2014%2C4%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-l:after, -.ui-alt-icon .ui-icon-arrow-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C5%207%2C0%200%2C7%207%2C14%207%2C9%2014%2C9%2014%2C5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-r:after, -.ui-alt-icon .ui-icon-arrow-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C7%207%2C0%207%2C5%200%2C5%200%2C9%207%2C9%207%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-u:after, -.ui-alt-icon .ui-icon-arrow-u:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C0%200%2C7%205%2C7%205%2C14%209%2C14%209%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-u-l:after, -.ui-alt-icon .ui-icon-arrow-u-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C11%206.5%2C3.5%2010%2C0%200%2C0%200%2C10%203.5%2C6.5%2011%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-u-r:after, -.ui-alt-icon .ui-icon-arrow-u-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C0%204%2C0%207.5%2C3.5%200%2C11%203%2C14%2010.5%2C6.5%2014%2C10%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-audio:after, -.ui-alt-icon .ui-icon-audio:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.018px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014.018%2014%22%20style%3D%22enable-background%3Anew%200%200%2014.018%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C4C0.447%2C4%2C0%2C4.447%2C0%2C5v4c0%2C0.553%2C0.447%2C1%2C1%2C1h1l4%2C4V0L2%2C4H1z%20M10.346%2C7c0-1.699-1.042-3.154-2.546-3.867L6.982%2C4.68%20C7.885%2C5.107%2C8.51%2C5.98%2C8.51%2C7S7.885%2C8.893%2C6.982%2C9.32L7.8%2C10.867C9.304%2C10.154%2C10.346%2C8.699%2C10.346%2C7z%20M9.447%2C0.017L8.618%2C1.586%20C10.723%2C2.584%2C12.182%2C4.621%2C12.182%2C7s-1.459%2C4.416-3.563%2C5.414l0.829%2C1.569c2.707-1.283%2C4.57-3.925%2C4.57-6.983%20S12.154%2C1.3%2C9.447%2C0.017z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-back:after, -.ui-alt-icon .ui-icon-back:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C3V0L1%2C4l4%2C4V5c0%2C0%2C6%2C0%2C6%2C3s-5%2C4-5%2C4v2c0%2C0%2C7-1%2C7-6C13%2C4%2C8%2C3%2C5%2C3z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-bars:after, -.ui-alt-icon .ui-icon-bars:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C4h12c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H1C0.447%2C2%2C0%2C2.447%2C0%2C3S0.447%2C4%2C1%2C4z%20M13%2C6H1C0.447%2C6%2C0%2C6.447%2C0%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H1c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1h12%20c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-bullets:after, -.ui-alt-icon .ui-icon-bullets:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C4h8c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H5C4.447%2C2%2C4%2C2.447%2C4%2C3S4.447%2C4%2C5%2C4z%20M13%2C6H5C4.447%2C6%2C4%2C6.447%2C4%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H5c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1h8%20c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%20M1%2C2C0.447%2C2%2C0%2C2.447%2C0%2C3s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C2%2C1%2C2z%20M1%2C6C0.447%2C6%2C0%2C6.447%2C0%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1s1-0.447%2C1-1C2%2C6.447%2C1.553%2C6%2C1%2C6z%20M1%2C10c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C10%2C1%2C10z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-calendar:after, -.ui-alt-icon .ui-icon-calendar:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M0%2C8h2V6H0V8z%20M3%2C8h2V6H3V8z%20M6%2C8h2V6H6V8z%20M9%2C8h2V6H9V8z%20M12%2C8h2V6h-2V8z%20M0%2C11h2V9H0V11z%20M3%2C11h2V9H3V11z%20M6%2C11h2V9H6V11z%20%20M9%2C11h2V9H9V11z%20M12%2C11h2V9h-2V11z%20M0%2C14h2v-2H0V14z%20M3%2C14h2v-2H3V14z%20M6%2C14h2v-2H6V14z%20M9%2C14h2v-2H9V14z%20M12%2C1%20c0-0.553-0.447-1-1-1s-1%2C0.447-1%2C1H4c0-0.553-0.447-1-1-1S2%2C0.447%2C2%2C1H0v4h14V1H12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-camera:after, -.ui-alt-icon .ui-icon-camera:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C2.5H9.908c-0.206-0.581-0.756-1-1.408-1h-3c-0.652%2C0-1.202%2C0.419-1.408%2C1H2c-1.104%2C0-2%2C0.896-2%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2%20h10c1.104%2C0%2C2-0.896%2C2-2v-6C14%2C3.396%2C13.104%2C2.5%2C12%2C2.5z%20M7%2C10.5c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3%20C10%2C9.156%2C8.657%2C10.5%2C7%2C10.5z%20M7%2C5.5c-1.104%2C0-2%2C0.896-2%2C2c0%2C1.104%2C0.896%2C2%2C2%2C2c1.104%2C0%2C2-0.896%2C2-2C9%2C6.396%2C8.104%2C5.5%2C7%2C5.5z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-carat-d:after, -.ui-alt-icon .ui-icon-carat-d:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2211.949%2C3.404%207%2C8.354%202.05%2C3.404%20-0.071%2C5.525%207%2C12.596%2014.07%2C5.525%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-carat-l:after, -.ui-alt-icon .ui-icon-carat-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2210.596%2C11.949%205.646%2C7%2010.596%2C2.05%208.475%2C-0.071%201.404%2C7%208.475%2C14.07%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-carat-r:after, -.ui-alt-icon .ui-icon-carat-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%223.404%2C2.051%208.354%2C7%203.404%2C11.95%205.525%2C14.07%2012.596%2C7%205.525%2C-0.071%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-carat-u:after, -.ui-alt-icon .ui-icon-carat-u:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%222.051%2C10.596%207%2C5.646%2011.95%2C10.596%2014.07%2C8.475%207%2C1.404%20-0.071%2C8.475%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-check:after, -.ui-alt-icon .ui-icon-check:after, -html .ui-alt-icon.ui-btn.ui-checkbox-on:after, -html .ui-alt-icon .ui-btn.ui-checkbox-on:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C4%2011%2C1%205.003%2C6.997%203%2C5%200%2C8%204.966%2C13%204.983%2C12.982%205%2C13%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-clock:after, -.ui-alt-icon .ui-icon-clock:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C12c-2.762%2C0-5-2.238-5-5s2.238-5%2C5-5s5%2C2.238%2C5%2C5%20S9.762%2C12%2C7%2C12z%20M9%2C6H8V4c0-0.553-0.447-1-1-1S6%2C3.447%2C6%2C4v3c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1S9.553%2C6%2C9%2C6z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-cloud:after, -.ui-alt-icon .ui-icon-cloud:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M14%2C9.5c0-0.793-0.465-1.473-1.134-1.795C12.949%2C7.484%2C13%2C7.249%2C13%2C7c0-1.104-0.896-2-2-2c-0.158%2C0-0.311%2C0.023-0.457%2C0.058%20C9.816%2C3.549%2C8.286%2C2.5%2C6.5%2C2.5c-2.33%2C0-4.224%2C1.777-4.454%2C4.046C0.883%2C6.76%2C0%2C7.773%2C0%2C9c0%2C1.381%2C1.119%2C2.5%2C2.5%2C2.5h10v-0.07%20C13.361%2C11.206%2C14%2C10.432%2C14%2C9.5z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-comment:after, -.ui-alt-icon .ui-icon-comment:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v7c0%2C1.104%2C0.896%2C2%2C2%2C2h1v3l3-3h6c1.104%2C0%2C2-0.896%2C2-2V2C14%2C0.896%2C13.104%2C0%2C12%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-delete:after, -.ui-alt-icon .ui-icon-delete:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C3%2011%2C0%207%2C4%203%2C0%200%2C3%204%2C7%200%2C11%203%2C14%207%2C10%2011%2C14%2014%2C11%2010%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-edit:after, -.ui-alt-icon .ui-icon-edit:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C10l-1%2C4l4-1l7-7L8%2C3L1%2C10z%20M11%2C0L9%2C2l3%2C3l2-2L11%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-eye:after, -.ui-alt-icon .ui-icon-eye:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C2C3%2C2%2C0%2C7%2C0%2C7s3%2C5%2C7%2C5s7-5%2C7-5S11%2C2%2C7%2C2z%20M7%2C10c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3%20C10%2C8.656%2C8.657%2C10%2C7%2C10z%20M7%2C6C6.448%2C6%2C6%2C6.447%2C6%2C7c0%2C0.553%2C0.448%2C1%2C1%2C1s1-0.447%2C1-1C8%2C6.447%2C7.552%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-forbidden:after, -.ui-alt-icon .ui-icon-forbidden:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12.601%2C11.187C13.476%2C10.018%2C14%2C8.572%2C14%2C7c0-3.866-3.134-7-7-7C5.428%2C0%2C3.982%2C0.524%2C2.813%2C1.399L2.757%2C1.343L2.053%2C2.048%20L2.048%2C2.053L1.343%2C2.758l0.056%2C0.056C0.524%2C3.982%2C0%2C5.428%2C0%2C7c0%2C3.866%2C3.134%2C7%2C7%2C7c1.572%2C0%2C3.018-0.524%2C4.187-1.399l0.056%2C0.057%20l0.705-0.705l0.005-0.005l0.705-0.705L12.601%2C11.187z%20M7%2C2c2.761%2C0%2C5%2C2.238%2C5%2C5c0%2C1.019-0.308%2C1.964-0.832%2C2.754L4.246%2C2.832%20C5.036%2C2.308%2C5.981%2C2%2C7%2C2z%20M7%2C12c-2.761%2C0-5-2.238-5-5c0-1.019%2C0.308-1.964%2C0.832-2.754l6.922%2C6.922C8.964%2C11.692%2C8.019%2C12%2C7%2C12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-forward:after, -.ui-alt-icon .ui-icon-forward:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M13%2C4L9%2C0v3C6%2C3%2C1%2C4%2C1%2C8c0%2C5%2C7%2C6%2C7%2C6v-2c0%2C0-5-1-5-4s6-3%2C6-3v3L13%2C4z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-gear:after, -.ui-alt-icon .ui-icon-gear:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M13.621%2C5.904l-1.036-0.259c-0.168-0.042-0.303-0.168-0.355-0.332c-0.092-0.284-0.205-0.559-0.339-0.82%20c-0.079-0.153-0.073-0.337%2C0.017-0.486l0.549-0.915c0.118-0.196%2C0.088-0.448-0.075-0.61l-0.862-0.863%20c-0.162-0.163-0.414-0.193-0.611-0.075l-0.916%2C0.55C9.844%2C2.182%2C9.659%2C2.188%2C9.506%2C2.109C9.244%2C1.975%2C8.97%2C1.861%2C8.686%2C1.77%20c-0.165-0.052-0.29-0.187-0.332-0.354L8.095%2C0.379C8.039%2C0.156%2C7.839%2C0%2C7.609%2C0H6.391c-0.229%2C0-0.43%2C0.156-0.485%2C0.379L5.646%2C1.415%20C5.604%2C1.582%2C5.479%2C1.718%2C5.313%2C1.77c-0.284%2C0.092-0.559%2C0.206-0.82%2C0.34C4.339%2C2.188%2C4.155%2C2.182%2C4.007%2C2.093L3.092%2C1.544%20c-0.196-0.118-0.448-0.087-0.61%2C0.075L1.619%2C2.481C1.457%2C2.644%2C1.426%2C2.896%2C1.544%2C3.093l0.549%2C0.914%20c0.089%2C0.148%2C0.095%2C0.332%2C0.017%2C0.486C1.975%2C4.755%2C1.861%2C5.029%2C1.77%2C5.314c-0.053%2C0.164-0.188%2C0.29-0.354%2C0.332L0.379%2C5.905%20C0.156%2C5.961%2C0%2C6.161%2C0%2C6.391v1.219c0%2C0.229%2C0.156%2C0.43%2C0.379%2C0.485l1.036%2C0.26C1.582%2C8.396%2C1.717%2C8.521%2C1.77%2C8.687%20c0.092%2C0.284%2C0.205%2C0.559%2C0.34%2C0.82C2.188%2C9.66%2C2.182%2C9.844%2C2.093%2C9.993l-0.549%2C0.915c-0.118%2C0.195-0.087%2C0.448%2C0.075%2C0.61%20l0.862%2C0.862c0.162%2C0.163%2C0.414%2C0.193%2C0.61%2C0.075l0.915-0.549c0.148-0.089%2C0.332-0.095%2C0.486-0.017%20c0.262%2C0.135%2C0.536%2C0.248%2C0.82%2C0.34c0.165%2C0.053%2C0.291%2C0.187%2C0.332%2C0.354l0.259%2C1.036C5.96%2C13.844%2C6.16%2C14%2C6.39%2C14h1.22%20c0.229%2C0%2C0.43-0.156%2C0.485-0.379l0.259-1.036c0.042-0.167%2C0.168-0.302%2C0.333-0.354c0.284-0.092%2C0.559-0.205%2C0.82-0.34%20c0.154-0.078%2C0.338-0.072%2C0.486%2C0.017l0.914%2C0.549c0.197%2C0.118%2C0.449%2C0.088%2C0.611-0.074l0.862-0.863%20c0.163-0.162%2C0.193-0.415%2C0.075-0.611l-0.549-0.915c-0.089-0.148-0.096-0.332-0.017-0.485c0.134-0.263%2C0.248-0.536%2C0.339-0.82%20c0.053-0.165%2C0.188-0.291%2C0.355-0.333l1.036-0.259C13.844%2C8.039%2C14%2C7.839%2C14%2C7.609V6.39C14%2C6.16%2C13.844%2C5.96%2C13.621%2C5.904z%20M7%2C10%20c-1.657%2C0-3-1.343-3-3s1.343-3%2C3-3s3%2C1.343%2C3%2C3S8.657%2C10%2C7%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-grid:after, -.ui-alt-icon .ui-icon-grid:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M3%2C0H1C0.447%2C0%2C0%2C0.447%2C0%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C4%2C0.447%2C3.553%2C0%2C3%2C0z%20M8%2C0H6%20C5.447%2C0%2C5%2C0.447%2C5%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C9%2C0.447%2C8.553%2C0%2C8%2C0z%20M13%2C0h-2c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C14%2C0.447%2C13.553%2C0%2C13%2C0z%20M3%2C5H1C0.447%2C5%2C0%2C5.447%2C0%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1V6C4%2C5.447%2C3.553%2C5%2C3%2C5z%20M8%2C5H6C5.447%2C5%2C5%2C5.447%2C5%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6%20C9%2C5.447%2C8.553%2C5%2C8%2C5z%20M13%2C5h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6C14%2C5.447%2C13.553%2C5%2C13%2C5z%20M3%2C10%20H1c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C4%2C10.447%2C3.553%2C10%2C3%2C10z%20M8%2C10H6c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C9%2C10.447%2C8.553%2C10%2C8%2C10z%20M13%2C10h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1v-2C14%2C10.447%2C13.553%2C10%2C13%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-heart:after, -.ui-alt-icon .ui-icon-heart:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C1.958c-2-3-7-2.128-7%2C1.872c0%2C3%2C4%2C7%2C4%2C7s2.417%2C2.48%2C3%2C3c0.583-0.52%2C3-3%2C3-3s4-4%2C4-7C14-0.169%2C9-1.042%2C7%2C1.958z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-home:after, -.ui-alt-icon .ui-icon-home:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C0%200%2C7%202%2C7%202%2C14%205%2C14%205%2C9%209%2C9%209%2C14%2012%2C14%2012%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-info:after, -.ui-alt-icon .ui-icon-info:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C2c0.552%2C0%2C1%2C0.447%2C1%2C1S7.552%2C4%2C7%2C4S6%2C3.553%2C6%2C3%20S6.448%2C2%2C7%2C2z%20M9%2C11H5v-1h1V6H5V5h3v5h1V11z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-location:after, -.ui-alt-icon .ui-icon-location:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C4.791%2C0%2C3%2C1.791%2C3%2C4c0%2C2%2C4%2C10%2C4%2C10s4-8%2C4-10C11%2C1.791%2C9.209%2C0%2C7%2C0z%20M7%2C6C5.896%2C6%2C5%2C5.104%2C5%2C4s0.896-2%2C2-2%20c1.104%2C0%2C2%2C0.896%2C2%2C2S8.104%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-lock:after, -.ui-alt-icon .ui-icon-lock:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C6V5c0-2.762-2.238-5-5-5C4.239%2C0%2C2%2C2.238%2C2%2C5v1H1v8h12V6H12z%20M7.5%2C9.848V12h-1V9.848C6.207%2C9.673%2C6%2C9.366%2C6%2C9%20c0-0.553%2C0.448-1%2C1-1s1%2C0.447%2C1%2C1C8%2C9.366%2C7.793%2C9.673%2C7.5%2C9.848z%20M10%2C6H4V5c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3V6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-mail:after, -.ui-alt-icon .ui-icon-mail:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M0%2C3.75V12h14V3.75L7%2C9L0%2C3.75z%20M14%2C2H0l7%2C5L14%2C2z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-minus:after, -.ui-alt-icon .ui-icon-minus:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20y%3D%225%22%20width%3D%2214%22%20height%3D%224%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-navigation:after, -.ui-alt-icon .ui-icon-navigation:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2213%2C1%200%2C6%207%2C7%208%2C14%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-phone:after, -.ui-alt-icon .ui-icon-phone:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M6.949%2C9.182C6.175%2C8.549%2C5.281%2C7.697%2C4.507%2C6.736C3.963%2C6.063%2C3.483%2C5.355%2C3.979%2C4.858l-3.482-3.48%20c-0.508%2C0.634-1.633%2C3.654%2C3.188%2C8.598c5.08%2C5.211%2C8.356%2C4.097%2C8.92%2C3.511l-3.396-3.399C8.734%2C10.561%2C8.123%2C10.139%2C6.949%2C9.182z%20%20M13.83%2C11.512v-0.004c0%2C0-2.648-2.646-2.649-2.647c-0.21-0.212-0.546-0.205-0.754%2C0.002L9.465%2C9.823l3.402%2C3.407%20c0%2C0%2C0.963-0.961%2C0.961-0.961l0.002-0.002C14.053%2C12.049%2C14.031%2C11.713%2C13.83%2C11.512z%20M5.202%2C3.636V3.634%20c0.222-0.222%2C0.2-0.557%2C0-0.758V2.873c0%2C0-2.726-2.725-2.727-2.726c-0.21-0.21-0.545-0.205-0.753%2C0.001L0.761%2C1.113L4.24%2C4.595%20C4.241%2C4.596%2C5.202%2C3.637%2C5.202%2C3.636z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-plus:after, -.ui-alt-icon .ui-icon-plus:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C5%209%2C5%209%2C0%205%2C0%205%2C5%200%2C5%200%2C9%205%2C9%205%2C14%209%2C14%209%2C9%2014%2C9%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-power:after, -.ui-alt-icon .ui-icon-power:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M11.243%2C2.408c-0.392-0.401-1.024-0.401-1.415%2C0c-0.391%2C0.401-0.391%2C1.054%2C0%2C1.455C10.584%2C4.642%2C11%2C5.675%2C11%2C6.773%20s-0.416%2C2.133-1.172%2C2.91c-1.512%2C1.558-4.145%2C1.558-5.656%2C0C3.416%2C8.904%2C3%2C7.872%2C3%2C6.773C3%2C5.673%2C3.416%2C4.64%2C4.172%2C3.863%20c0.39-0.401%2C0.39-1.054%2C0-1.455c-0.391-0.401-1.024-0.401-1.415%2C0C1.624%2C3.574%2C1%2C5.125%2C1%2C6.773c0%2C1.647%2C0.624%2C3.199%2C1.757%2C4.365%20c1.134%2C1.166%2C2.64%2C1.809%2C4.243%2C1.809c1.604%2C0%2C3.109-0.645%2C4.243-1.811C12.376%2C9.975%2C13%2C8.423%2C13%2C6.773%20C13%2C5.125%2C12.376%2C3.574%2C11.243%2C2.408z%20M7%2C8.053c0.553%2C0%2C1-0.445%2C1-1v-6c0-0.553-0.447-1-1-1c-0.553%2C0-1%2C0.447-1%2C1v6%20C6%2C7.604%2C6.447%2C8.053%2C7%2C8.053z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-recycle:after, -.ui-alt-icon .ui-icon-recycle:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M3%2C7h1L2%2C4L0%2C7h1c0%2C3.313%2C2.687%2C6%2C6%2C6c0.702%2C0%2C1.374-0.127%2C2-0.35v-2.205C8.41%2C10.789%2C7.732%2C11%2C7%2C11C4.791%2C11%2C3%2C9.209%2C3%2C7z%20%20M13%2C7c0-3.313-2.688-6-6-6C6.298%2C1%2C5.626%2C1.127%2C5%2C1.349v2.206C5.59%2C3.211%2C6.268%2C3%2C7%2C3c2.209%2C0%2C4%2C1.791%2C4%2C4h-1l2%2C3l2-3H13z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-refresh:after, -.ui-alt-icon .ui-icon-refresh:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.001px%22%20height%3D%2214.002px%22%20viewBox%3D%220%200%2014.001%2014.002%22%20style%3D%22enable-background%3Anew%200%200%2014.001%2014.002%3B%22%20%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M14.001%2C6.001v-6l-2.06%2C2.06c-0.423-0.424-0.897-0.809-1.44-1.122C7.153-0.994%2C2.872%2C0.153%2C0.939%2C3.501%20c-1.933%2C3.348-0.786%2C7.629%2C2.562%2C9.562c3.348%2C1.933%2C7.629%2C0.785%2C9.562-2.562l-1.732-1c-1.381%2C2.392-4.438%2C3.211-6.83%2C1.83%20s-3.211-4.438-1.83-6.83s4.438-3.211%2C6.83-1.83c0.389%2C0.225%2C0.718%2C0.506%2C1.02%2C0.81l-2.52%2C2.52H14.001z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-search:after, -.ui-alt-icon .ui-icon-search:after, -.ui-input-search:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M10.171%2C8.766c0.617-0.888%2C0.979-1.964%2C0.979-3.126c0-3.037-2.463-5.5-5.5-5.5s-5.5%2C2.463-5.5%2C5.5s2.463%2C5.5%2C5.5%2C5.5%20c1.152%2C0%2C2.223-0.355%2C3.104-0.962l3.684%2C3.683l1.414-1.414L10.171%2C8.766z%20M5.649%2C9.14c-1.933%2C0-3.5-1.567-3.5-3.5%20c0-1.933%2C1.567-3.5%2C3.5-3.5c1.933%2C0%2C3.5%2C1.567%2C3.5%2C3.5C9.149%2C7.572%2C7.582%2C9.14%2C5.649%2C9.14z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-shop:after, -.ui-alt-icon .ui-icon-shop:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M10%2C4V3c0-1.657-1.343-3-3-3S4%2C1.343%2C4%2C3v1H1v10h12V4H10z%20M4.5%2C6C4.224%2C6%2C4%2C5.776%2C4%2C5.5S4.224%2C5%2C4.5%2C5S5%2C5.224%2C5%2C5.5%20S4.776%2C6%2C4.5%2C6z%20M5%2C3c0-1.104%2C0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2v1H5V3z%20M9.5%2C6C9.225%2C6%2C9%2C5.776%2C9%2C5.5S9.225%2C5%2C9.5%2C5S10%2C5.224%2C10%2C5.5%20S9.775%2C6%2C9.5%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-star:after, -.ui-alt-icon .ui-icon-star:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C5%209%2C5%207%2C0%205%2C5%200%2C5%204%2C8%202.625%2C13%207%2C10%2011.375%2C13%2010%2C8%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-tag:after, -.ui-alt-icon .ui-icon-tag:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C0H0v5l9%2C9l5-5L5%2C0z%20M3%2C4C2.447%2C4%2C2%2C3.553%2C2%2C3s0.447-1%2C1-1s1%2C0.447%2C1%2C1S3.553%2C4%2C3%2C4z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-user:after, -.ui-alt-icon .ui-icon-user:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M8.851%2C10.101c-0.18-0.399-0.2-0.763-0.153-1.104C9.383%2C8.49%2C9.738%2C7.621%2C9.891%2C6.465C10.493%2C6.355%2C10.5%2C5.967%2C10.5%2C5.5%20c0-0.437-0.008-0.804-0.502-0.94C9.999%2C4.539%2C10%2C4.521%2C10%2C4.5c0-2.103-1-4-2-4C8%2C0.5%2C7.5%2C0%2C6.5%2C0C5%2C0%2C4%2C1.877%2C4%2C4.5%20c0%2C0.021%2C0.001%2C0.039%2C0.002%2C0.06C3.508%2C4.696%2C3.5%2C5.063%2C3.5%2C5.5c0%2C0.467%2C0.007%2C0.855%2C0.609%2C0.965%20C4.262%2C7.621%2C4.617%2C8.49%2C5.303%2C8.997c0.047%2C0.341%2C0.026%2C0.704-0.153%2C1.104C1.503%2C10.503%2C0%2C12%2C0%2C12v2h14v-2%20C14%2C12%2C12.497%2C10.503%2C8.851%2C10.101z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-video:after, -.ui-alt-icon .ui-icon-video:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%20-2%2014%2014%22%20style%3D%22enable-background%3Anew%200%20-2%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M8%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2h6c1.104%2C0%2C2-0.896%2C2-2V5V2C10%2C0.896%2C9.104%2C0%2C8%2C0z%20M10%2C5l4%2C4V1L10%2C5z%22%2F%3E%3C%2Fsvg%3E"); -} -/* PNG icons */ -.ui-nosvg .ui-icon-action:after { - background-image: url("images/icons-png/action-white.png"); -} -.ui-nosvg .ui-icon-alert:after { - background-image: url("images/icons-png/alert-white.png"); -} -.ui-nosvg .ui-icon-arrow-d-l:after { - background-image: url("images/icons-png/arrow-d-l-white.png"); -} -.ui-nosvg .ui-icon-arrow-d-r:after { - background-image: url("images/icons-png/arrow-d-r-white.png"); -} -.ui-nosvg .ui-icon-arrow-d:after { - background-image: url("images/icons-png/arrow-d-white.png"); -} -.ui-nosvg .ui-icon-arrow-l:after { - background-image: url("images/icons-png/arrow-l-white.png"); -} -.ui-nosvg .ui-icon-arrow-r:after { - background-image: url("images/icons-png/arrow-r-white.png"); -} -.ui-nosvg .ui-icon-arrow-u-l:after { - background-image: url("images/icons-png/arrow-u-l-white.png"); -} -.ui-nosvg .ui-icon-arrow-u-r:after { - background-image: url("images/icons-png/arrow-u-r-white.png"); -} -.ui-nosvg .ui-icon-arrow-u:after { - background-image: url("images/icons-png/arrow-u-white.png"); -} -.ui-nosvg .ui-icon-audio:after { - background-image: url("images/icons-png/audio-white.png"); -} -.ui-nosvg .ui-icon-back:after { - background-image: url("images/icons-png/back-white.png"); -} -.ui-nosvg .ui-icon-bars:after { - background-image: url("images/icons-png/bars-white.png"); -} -.ui-nosvg .ui-icon-bullets:after { - background-image: url("images/icons-png/bullets-white.png"); -} -.ui-nosvg .ui-icon-calendar:after { - background-image: url("images/icons-png/calendar-white.png"); -} -.ui-nosvg .ui-icon-camera:after { - background-image: url("images/icons-png/camera-white.png"); -} -.ui-nosvg .ui-icon-carat-d:after { - background-image: url("images/icons-png/carat-d-white.png"); -} -.ui-nosvg .ui-icon-carat-l:after { - background-image: url("images/icons-png/carat-l-white.png"); -} -.ui-nosvg .ui-icon-carat-r:after { - background-image: url("images/icons-png/carat-r-white.png"); -} -.ui-nosvg .ui-icon-carat-u:after { - background-image: url("images/icons-png/carat-u-white.png"); -} -.ui-nosvg .ui-icon-check:after, -html.ui-nosvg .ui-btn.ui-checkbox-on:after { - background-image: url("images/icons-png/check-white.png"); -} -.ui-nosvg .ui-icon-clock:after { - background-image: url("images/icons-png/clock-white.png"); -} -.ui-nosvg .ui-icon-cloud:after { - background-image: url("images/icons-png/cloud-white.png"); -} -.ui-nosvg .ui-icon-comment:after { - background-image: url("images/icons-png/comment-white.png"); -} -.ui-nosvg .ui-icon-delete:after { - background-image: url("images/icons-png/delete-white.png"); -} -.ui-nosvg .ui-icon-edit:after { - background-image: url("images/icons-png/edit-white.png"); -} -.ui-nosvg .ui-icon-eye:after { - background-image: url("images/icons-png/eye-white.png"); -} -.ui-nosvg .ui-icon-forbidden:after { - background-image: url("images/icons-png/forbidden-white.png"); -} -.ui-nosvg .ui-icon-forward:after { - background-image: url("images/icons-png/forward-white.png"); -} -.ui-nosvg .ui-icon-gear:after { - background-image: url("images/icons-png/gear-white.png"); -} -.ui-nosvg .ui-icon-grid:after { - background-image: url("images/icons-png/grid-white.png"); -} -.ui-nosvg .ui-icon-heart:after { - background-image: url("images/icons-png/heart-white.png"); -} -.ui-nosvg .ui-icon-home:after { - background-image: url("images/icons-png/home-white.png"); -} -.ui-nosvg .ui-icon-info:after { - background-image: url("images/icons-png/info-white.png"); -} -.ui-nosvg .ui-icon-location:after { - background-image: url("images/icons-png/location-white.png"); -} -.ui-nosvg .ui-icon-lock:after { - background-image: url("images/icons-png/lock-white.png"); -} -.ui-nosvg .ui-icon-mail:after { - background-image: url("images/icons-png/mail-white.png"); -} -.ui-nosvg .ui-icon-minus:after { - background-image: url("images/icons-png/minus-white.png"); -} -.ui-nosvg .ui-icon-navigation:after { - background-image: url("images/icons-png/navigation-white.png"); -} -.ui-nosvg .ui-icon-phone:after { - background-image: url("images/icons-png/phone-white.png"); -} -.ui-nosvg .ui-icon-plus:after { - background-image: url("images/icons-png/plus-white.png"); -} -.ui-nosvg .ui-icon-power:after { - background-image: url("images/icons-png/power-white.png"); -} -.ui-nosvg .ui-icon-recycle:after { - background-image: url("images/icons-png/recycle-white.png"); -} -.ui-nosvg .ui-icon-refresh:after { - background-image: url("images/icons-png/refresh-white.png"); -} -.ui-nosvg .ui-icon-search:after { - background-image: url("images/icons-png/search-white.png"); -} -.ui-nosvg .ui-icon-shop:after { - background-image: url("images/icons-png/shop-white.png"); -} -.ui-nosvg .ui-icon-star:after { - background-image: url("images/icons-png/star-white.png"); -} -.ui-nosvg .ui-icon-tag:after { - background-image: url("images/icons-png/tag-white.png"); -} -.ui-nosvg .ui-icon-user:after { - background-image: url("images/icons-png/user-white.png"); -} -.ui-nosvg .ui-icon-video:after { - background-image: url("images/icons-png/video-white.png"); -} -/* Alt icons */ -.ui-nosvg .ui-alt-icon.ui-icon-action:after, -.ui-nosvg .ui-alt-icon .ui-icon-action:after { - background-image: url("images/icons-png/action-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-alert:after, -.ui-nosvg .ui-alt-icon .ui-icon-alert:after { - background-image: url("images/icons-png/alert-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-arrow-d:after, -.ui-nosvg .ui-alt-icon .ui-icon-arrow-d:after { - background-image: url("images/icons-png/arrow-d-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-arrow-d-l:after, -.ui-nosvg .ui-alt-icon .ui-icon-arrow-d-l:after { - background-image: url("images/icons-png/arrow-d-l-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-arrow-d-r:after, -.ui-nosvg .ui-alt-icon .ui-icon-arrow-d-r:after { - background-image: url("images/icons-png/arrow-d-r-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-arrow-l:after, -.ui-nosvg .ui-alt-icon .ui-icon-arrow-l:after { - background-image: url("images/icons-png/arrow-l-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-arrow-r:after, -.ui-nosvg .ui-alt-icon .ui-icon-arrow-r:after { - background-image: url("images/icons-png/arrow-r-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-arrow-u:after, -.ui-nosvg .ui-alt-icon .ui-icon-arrow-u:after { - background-image: url("images/icons-png/arrow-u-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-arrow-u-l:after, -.ui-nosvg .ui-alt-icon .ui-icon-arrow-u-l:after { - background-image: url("images/icons-png/arrow-u-l-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-arrow-u-r:after, -.ui-nosvg .ui-alt-icon .ui-icon-arrow-u-r:after { - background-image: url("images/icons-png/arrow-u-r-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-audio:after, -.ui-nosvg .ui-alt-icon .ui-icon-audio:after { - background-image: url("images/icons-png/audio-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-back:after, -.ui-nosvg .ui-alt-icon .ui-icon-back:after { - background-image: url("images/icons-png/back-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-bars:after, -.ui-nosvg .ui-alt-icon .ui-icon-bars:after { - background-image: url("images/icons-png/bars-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-bullets:after, -.ui-nosvg .ui-alt-icon .ui-icon-bullets:after { - background-image: url("images/icons-png/bullets-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-calendar:after, -.ui-nosvg .ui-alt-icon .ui-icon-calendar:after { - background-image: url("images/icons-png/calendar-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-camera:after, -.ui-nosvg .ui-alt-icon .ui-icon-camera:after { - background-image: url("images/icons-png/camera-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-carat-d:after, -.ui-nosvg .ui-alt-icon .ui-icon-carat-d:after { - background-image: url("images/icons-png/carat-d-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-carat-l:after, -.ui-nosvg .ui-alt-icon .ui-icon-carat-l:after { - background-image: url("images/icons-png/carat-l-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-carat-r:after, -.ui-nosvg .ui-alt-icon .ui-icon-carat-r:after { - background-image: url("images/icons-png/carat-r-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-carat-u:after, -.ui-nosvg .ui-alt-icon .ui-icon-carat-u:after { - background-image: url("images/icons-png/carat-u-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-check:after, -.ui-nosvg .ui-alt-icon .ui-icon-check:after, -.ui-nosvg .ui-alt-icon.ui-btn.ui-checkbox-on:after, -.ui-nosvg .ui-alt-icon .ui-btn.ui-checkbox-on:after { - background-image: url("images/icons-png/check-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-clock:after, -.ui-nosvg .ui-alt-icon .ui-icon-clock:after { - background-image: url("images/icons-png/clock-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-cloud:after, -.ui-nosvg .ui-alt-icon .ui-icon-cloud:after { - background-image: url("images/icons-png/cloud-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-comment:after, -.ui-nosvg .ui-alt-icon .ui-icon-comment:after { - background-image: url("images/icons-png/comment-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-delete:after, -.ui-nosvg .ui-alt-icon .ui-icon-delete:after { - background-image: url("images/icons-png/delete-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-edit:after, -.ui-nosvg .ui-alt-icon .ui-icon-edit:after { - background-image: url("images/icons-png/edit-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-eye:after, -.ui-nosvg .ui-alt-icon .ui-icon-eye:after { - background-image: url("images/icons-png/eye-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-forbidden:after, -.ui-nosvg .ui-alt-icon .ui-icon-forbidden:after { - background-image: url("images/icons-png/forbidden-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-forward:after, -.ui-nosvg .ui-alt-icon .ui-icon-forward:after { - background-image: url("images/icons-png/forward-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-gear:after, -.ui-nosvg .ui-alt-icon .ui-icon-gear:after { - background-image: url("images/icons-png/gear-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-grid:after, -.ui-nosvg .ui-alt-icon .ui-icon-grid:after { - background-image: url("images/icons-png/grid-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-heart:after, -.ui-nosvg .ui-alt-icon .ui-icon-heart:after { - background-image: url("images/icons-png/heart-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-home:after, -.ui-nosvg .ui-alt-icon .ui-icon-home:after { - background-image: url("images/icons-png/home-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-info:after, -.ui-nosvg .ui-alt-icon .ui-icon-info:after { - background-image: url("images/icons-png/info-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-location:after, -.ui-nosvg .ui-alt-icon .ui-icon-location:after { - background-image: url("images/icons-png/location-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-lock:after, -.ui-nosvg .ui-alt-icon .ui-icon-lock:after { - background-image: url("images/icons-png/lock-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-mail:after, -.ui-nosvg .ui-alt-icon .ui-icon-mail:after { - background-image: url("images/icons-png/mail-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-minus:after, -.ui-nosvg .ui-alt-icon .ui-icon-minus:after { - background-image: url("images/icons-png/minus-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-navigation:after, -.ui-nosvg .ui-alt-icon .ui-icon-navigation:after { - background-image: url("images/icons-png/navigation-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-phone:after, -.ui-nosvg .ui-alt-icon .ui-icon-phone:after { - background-image: url("images/icons-png/phone-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-plus:after, -.ui-nosvg .ui-alt-icon .ui-icon-plus:after { - background-image: url("images/icons-png/plus-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-power:after, -.ui-nosvg .ui-alt-icon .ui-icon-power:after { - background-image: url("images/icons-png/power-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-recycle:after, -.ui-nosvg .ui-alt-icon .ui-icon-recycle:after { - background-image: url("images/icons-png/recycle-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-refresh:after, -.ui-nosvg .ui-alt-icon .ui-icon-refresh:after { - background-image: url("images/icons-png/refresh-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-search:after, -.ui-nosvg .ui-alt-icon .ui-icon-search:after, -.ui-nosvg .ui-input-search:after { - background-image: url("images/icons-png/search-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-shop:after, -.ui-nosvg .ui-alt-icon .ui-icon-shop:after { - background-image: url("images/icons-png/shop-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-star:after, -.ui-nosvg .ui-alt-icon .ui-icon-star:after { - background-image: url("images/icons-png/star-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-tag:after, -.ui-nosvg .ui-alt-icon .ui-icon-tag:after { - background-image: url("images/icons-png/tag-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-user:after, -.ui-nosvg .ui-alt-icon .ui-icon-user:after { - background-image: url("images/icons-png/user-black.png"); -} -.ui-nosvg .ui-alt-icon.ui-icon-video:after, -.ui-nosvg .ui-alt-icon .ui-icon-video:after { - background-image: url("images/icons-png/video-black.png"); -} diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.icons-1.4.5.min.css b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.icons-1.4.5.min.css deleted file mode 100644 index 987931e4e66e1cb22629790815384795bb76cbdf..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.icons-1.4.5.min.css +++ /dev/null @@ -1,24 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! jQuery Mobile 1.4.5 | Git HEADhash: 68e55e7 <> 2014-10-31T17:33:30Z | (c) 2010, 2014 jQuery Foundation, Inc. | jquery.org/license */ - -.ui-icon-action:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M9%2C5v3l5-4L9%2C0v3c0%2C0-5%2C0-5%2C7C6%2C5%2C9%2C5%2C9%2C5z%20M11%2C12H2V5h1l2-2H0v11h13V7l-2%2C2V12z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-alert:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C0L0%2C12h14L7%2C0z%20M7%2C11c-0.553%2C0-1-0.447-1-1s0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1S7.553%2C11%2C7%2C11z%20M7%2C8%20C6.447%2C8%2C6%2C7.553%2C6%2C7V5c0-0.553%2C0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1v2C8%2C7.553%2C7.553%2C8%2C7%2C8z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-arrow-d-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C3%2011%2C0%203.5%2C7.5%200%2C4%200%2C14%2010%2C14%206.5%2C10.5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-d-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2210.5%2C7.5%203%2C0%200%2C3%207.5%2C10.5%204%2C14%2014%2C14%2014%2C4%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-d:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%229%2C7%209%2C0%205%2C0%205%2C7%200%2C7%207%2C14%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C5%207%2C0%200%2C7%207%2C14%207%2C9%2014%2C9%2014%2C5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C7%207%2C0%207%2C5%200%2C5%200%2C9%207%2C9%207%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-u-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C11%206.5%2C3.5%2010%2C0%200%2C0%200%2C10%203.5%2C6.5%2011%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-u-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C0%204%2C0%207.5%2C3.5%200%2C11%203%2C14%2010.5%2C6.5%2014%2C10%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-u:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C0%200%2C7%205%2C7%205%2C14%209%2C14%209%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-audio:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.018px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014.018%2014%22%20style%3D%22enable-background%3Anew%200%200%2014.018%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M1%2C4C0.447%2C4%2C0%2C4.447%2C0%2C5v4c0%2C0.553%2C0.447%2C1%2C1%2C1h1l4%2C4V0L2%2C4H1z%20M10.346%2C7c0-1.699-1.042-3.154-2.546-3.867L6.982%2C4.68%20C7.885%2C5.107%2C8.51%2C5.98%2C8.51%2C7S7.885%2C8.893%2C6.982%2C9.32L7.8%2C10.867C9.304%2C10.154%2C10.346%2C8.699%2C10.346%2C7z%20M9.447%2C0.017L8.618%2C1.586%20C10.723%2C2.584%2C12.182%2C4.621%2C12.182%2C7s-1.459%2C4.416-3.563%2C5.414l0.829%2C1.569c2.707-1.283%2C4.57-3.925%2C4.57-6.983%20S12.154%2C1.3%2C9.447%2C0.017z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-back:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M5%2C3V0L1%2C4l4%2C4V5c0%2C0%2C6%2C0%2C6%2C3s-5%2C4-5%2C4v2c0%2C0%2C7-1%2C7-6C13%2C4%2C8%2C3%2C5%2C3z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-bars:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M1%2C4h12c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H1C0.447%2C2%2C0%2C2.447%2C0%2C3S0.447%2C4%2C1%2C4z%20M13%2C6H1%20C0.447%2C6%2C0%2C6.447%2C0%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H1c-0.553%2C0-1%2C0.447-1%2C1%20s0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-bullets:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M5%2C4h8c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H5C4.447%2C2%2C4%2C2.447%2C4%2C3S4.447%2C4%2C5%2C4z%20M13%2C6H5%20C4.447%2C6%2C4%2C6.447%2C4%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H5c-0.553%2C0-1%2C0.447-1%2C1%20s0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%20M1%2C2C0.447%2C2%2C0%2C2.447%2C0%2C3s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C2%2C1%2C2z%20M1%2C6%20C0.447%2C6%2C0%2C6.447%2C0%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1s1-0.447%2C1-1C2%2C6.447%2C1.553%2C6%2C1%2C6z%20M1%2C10c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1s1-0.447%2C1-1%20S1.553%2C10%2C1%2C10z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-calendar:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M0%2C8h2V6H0V8z%20M3%2C8h2V6H3V8z%20M6%2C8h2V6H6V8z%20M9%2C8h2V6H9V8z%20M12%2C8h2V6h-2V8z%20M0%2C11h2V9H0V11z%20M3%2C11h2V9H3V11z%20M6%2C11h2V9H6V11z%20%20M9%2C11h2V9H9V11z%20M12%2C11h2V9h-2V11z%20M0%2C14h2v-2H0V14z%20M3%2C14h2v-2H3V14z%20M6%2C14h2v-2H6V14z%20M9%2C14h2v-2H9V14z%20M12%2C1%20c0-0.553-0.447-1-1-1s-1%2C0.447-1%2C1H4c0-0.553-0.447-1-1-1S2%2C0.447%2C2%2C1H0v4h14V1H12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-camera:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M12%2C2.5H9.908c-0.206-0.581-0.756-1-1.408-1h-3c-0.652%2C0-1.202%2C0.419-1.408%2C1H2c-1.104%2C0-2%2C0.896-2%2C2%20v6c0%2C1.104%2C0.896%2C2%2C2%2C2h10c1.104%2C0%2C2-0.896%2C2-2v-6C14%2C3.396%2C13.104%2C2.5%2C12%2C2.5z%20M7%2C10.5c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3C10%2C9.156%2C8.657%2C10.5%2C7%2C10.5z%20M7%2C5.5c-1.104%2C0-2%2C0.896-2%2C2c0%2C1.104%2C0.896%2C2%2C2%2C2c1.104%2C0%2C2-0.896%2C2-2%20C9%2C6.396%2C8.104%2C5.5%2C7%2C5.5z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-carat-d:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2211.949%2C3.404%207%2C8.354%202.05%2C3.404%20-0.071%2C5.525%207%2C12.596%2014.07%2C5.525%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-carat-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2210.596%2C11.949%205.646%2C7%2010.596%2C2.05%208.475%2C-0.071%201.404%2C7%208.475%2C14.07%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-carat-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%223.404%2C2.051%208.354%2C7%203.404%2C11.95%205.525%2C14.07%2012.596%2C7%205.525%2C-0.071%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-carat-u:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%222.051%2C10.596%207%2C5.646%2011.95%2C10.596%2014.07%2C8.475%207%2C1.404%20-0.071%2C8.475%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-check:after,html .ui-btn.ui-checkbox-on.ui-checkbox-on:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2214%2C4%2011%2C1%205.003%2C6.997%203%2C5%200%2C8%204.966%2C13%204.983%2C12.982%205%2C13%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-clock:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C12c-2.762%2C0-5-2.238-5-5s2.238-5%2C5-5s5%2C2.238%2C5%2C5%20S9.762%2C12%2C7%2C12z%20M9%2C6H8V4c0-0.553-0.447-1-1-1S6%2C3.447%2C6%2C4v3c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1S9.553%2C6%2C9%2C6z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-cloud:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M14%2C9.5c0-0.793-0.465-1.473-1.134-1.795C12.949%2C7.484%2C13%2C7.249%2C13%2C7c0-1.104-0.896-2-2-2%20c-0.158%2C0-0.311%2C0.023-0.457%2C0.058C9.816%2C3.549%2C8.286%2C2.5%2C6.5%2C2.5c-2.33%2C0-4.224%2C1.777-4.454%2C4.046C0.883%2C6.76%2C0%2C7.773%2C0%2C9%20c0%2C1.381%2C1.119%2C2.5%2C2.5%2C2.5h10v-0.07C13.361%2C11.206%2C14%2C10.432%2C14%2C9.5z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-comment:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M12%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v7c0%2C1.104%2C0.896%2C2%2C2%2C2h1v3l3-3h6c1.104%2C0%2C2-0.896%2C2-2V2C14%2C0.896%2C13.104%2C0%2C12%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-delete:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C3%2011%2C0%207%2C4%203%2C0%200%2C3%204%2C7%200%2C11%203%2C14%207%2C10%2011%2C14%2014%2C11%2010%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-edit:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M1%2C10l-1%2C4l4-1l7-7L8%2C3L1%2C10z%20M11%2C0L9%2C2l3%2C3l2-2L11%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-eye:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C2C3%2C2%2C0%2C7%2C0%2C7s3%2C5%2C7%2C5s7-5%2C7-5S11%2C2%2C7%2C2z%20M7%2C10c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3C10%2C8.656%2C8.657%2C10%2C7%2C10z%20M7%2C6C6.448%2C6%2C6%2C6.447%2C6%2C7c0%2C0.553%2C0.448%2C1%2C1%2C1s1-0.447%2C1-1C8%2C6.447%2C7.552%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-forbidden:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M12.601%2C11.187C13.476%2C10.018%2C14%2C8.572%2C14%2C7c0-3.866-3.134-7-7-7C5.428%2C0%2C3.982%2C0.524%2C2.813%2C1.399L2.757%2C1.343L2.053%2C2.048%20L2.048%2C2.053L1.343%2C2.758l0.056%2C0.056C0.524%2C3.982%2C0%2C5.428%2C0%2C7c0%2C3.866%2C3.134%2C7%2C7%2C7c1.572%2C0%2C3.018-0.524%2C4.187-1.399l0.056%2C0.057%20l0.705-0.705l0.005-0.005l0.705-0.705L12.601%2C11.187z%20M7%2C2c2.761%2C0%2C5%2C2.238%2C5%2C5c0%2C1.019-0.308%2C1.964-0.832%2C2.754L4.246%2C2.832%20C5.036%2C2.308%2C5.981%2C2%2C7%2C2z%20M7%2C12c-2.761%2C0-5-2.238-5-5c0-1.019%2C0.308-1.964%2C0.832-2.754l6.922%2C6.922C8.964%2C11.692%2C8.019%2C12%2C7%2C12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-forward:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M13%2C4L9%2C0v3C6%2C3%2C1%2C4%2C1%2C8c0%2C5%2C7%2C6%2C7%2C6v-2c0%2C0-5-1-5-4s6-3%2C6-3v3L13%2C4z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-gear:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M13.621%2C5.904l-1.036-0.259c-0.168-0.042-0.303-0.168-0.355-0.332c-0.092-0.284-0.205-0.559-0.339-0.82%20c-0.079-0.153-0.073-0.337%2C0.017-0.486l0.549-0.915c0.118-0.196%2C0.088-0.448-0.075-0.61l-0.862-0.863%20c-0.162-0.163-0.414-0.193-0.611-0.075l-0.916%2C0.55C9.844%2C2.182%2C9.659%2C2.188%2C9.506%2C2.109C9.244%2C1.975%2C8.97%2C1.861%2C8.686%2C1.77%20c-0.165-0.052-0.29-0.187-0.332-0.354L8.095%2C0.379C8.039%2C0.156%2C7.839%2C0%2C7.609%2C0H6.391c-0.229%2C0-0.43%2C0.156-0.485%2C0.379L5.646%2C1.415%20C5.604%2C1.582%2C5.479%2C1.718%2C5.313%2C1.77c-0.284%2C0.092-0.559%2C0.206-0.82%2C0.34C4.339%2C2.188%2C4.155%2C2.182%2C4.007%2C2.093L3.092%2C1.544%20c-0.196-0.118-0.448-0.087-0.61%2C0.075L1.619%2C2.481C1.457%2C2.644%2C1.426%2C2.896%2C1.544%2C3.093l0.549%2C0.914%20c0.089%2C0.148%2C0.095%2C0.332%2C0.017%2C0.486C1.975%2C4.755%2C1.861%2C5.029%2C1.77%2C5.314c-0.053%2C0.164-0.188%2C0.29-0.354%2C0.332L0.379%2C5.905%20C0.156%2C5.961%2C0%2C6.161%2C0%2C6.391v1.219c0%2C0.229%2C0.156%2C0.43%2C0.379%2C0.485l1.036%2C0.26C1.582%2C8.396%2C1.717%2C8.521%2C1.77%2C8.687%20c0.092%2C0.284%2C0.205%2C0.559%2C0.34%2C0.82C2.188%2C9.66%2C2.182%2C9.844%2C2.093%2C9.993l-0.549%2C0.915c-0.118%2C0.195-0.087%2C0.448%2C0.075%2C0.61%20l0.862%2C0.862c0.162%2C0.163%2C0.414%2C0.193%2C0.61%2C0.075l0.915-0.549c0.148-0.089%2C0.332-0.095%2C0.486-0.017%20c0.262%2C0.135%2C0.536%2C0.248%2C0.82%2C0.34c0.165%2C0.053%2C0.291%2C0.187%2C0.332%2C0.354l0.259%2C1.036C5.96%2C13.844%2C6.16%2C14%2C6.39%2C14h1.22%20c0.229%2C0%2C0.43-0.156%2C0.485-0.379l0.259-1.036c0.042-0.167%2C0.168-0.302%2C0.333-0.354c0.284-0.092%2C0.559-0.205%2C0.82-0.34%20c0.154-0.078%2C0.338-0.072%2C0.486%2C0.017l0.914%2C0.549c0.197%2C0.118%2C0.449%2C0.088%2C0.611-0.074l0.862-0.863%20c0.163-0.162%2C0.193-0.415%2C0.075-0.611l-0.549-0.915c-0.089-0.148-0.096-0.332-0.017-0.485c0.134-0.263%2C0.248-0.536%2C0.339-0.82%20c0.053-0.165%2C0.188-0.291%2C0.355-0.333l1.036-0.259C13.844%2C8.039%2C14%2C7.839%2C14%2C7.609V6.39C14%2C6.16%2C13.844%2C5.96%2C13.621%2C5.904z%20M7%2C10%20c-1.657%2C0-3-1.343-3-3s1.343-3%2C3-3s3%2C1.343%2C3%2C3S8.657%2C10%2C7%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-grid:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M3%2C0H1C0.447%2C0%2C0%2C0.447%2C0%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C4%2C0.447%2C3.553%2C0%2C3%2C0z%20M8%2C0H6%20C5.447%2C0%2C5%2C0.447%2C5%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C9%2C0.447%2C8.553%2C0%2C8%2C0z%20M13%2C0h-2c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C14%2C0.447%2C13.553%2C0%2C13%2C0z%20M3%2C5H1C0.447%2C5%2C0%2C5.447%2C0%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1V6C4%2C5.447%2C3.553%2C5%2C3%2C5z%20M8%2C5H6C5.447%2C5%2C5%2C5.447%2C5%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6%20C9%2C5.447%2C8.553%2C5%2C8%2C5z%20M13%2C5h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6C14%2C5.447%2C13.553%2C5%2C13%2C5z%20M3%2C10%20H1c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C4%2C10.447%2C3.553%2C10%2C3%2C10z%20M8%2C10H6c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C9%2C10.447%2C8.553%2C10%2C8%2C10z%20M13%2C10h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1v-2C14%2C10.447%2C13.553%2C10%2C13%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-heart:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C1.872c-2-3-7-2-7%2C2c0%2C3%2C4%2C7%2C4%2C7s2.417%2C2.479%2C3%2C3c0.583-0.521%2C3-3%2C3-3s4-4%2C4-7%20C14-0.128%2C9-1.128%2C7%2C1.872z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-home:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C0%200%2C7%202%2C7%202%2C14%205%2C14%205%2C9%209%2C9%209%2C14%2012%2C14%2012%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-info:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C2c0.552%2C0%2C1%2C0.447%2C1%2C1S7.552%2C4%2C7%2C4S6%2C3.553%2C6%2C3%20S6.448%2C2%2C7%2C2z%20M9%2C11H5v-1h1V6H5V5h3v5h1V11z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-location:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C0C4.791%2C0%2C3%2C1.791%2C3%2C4c0%2C2%2C4%2C10%2C4%2C10s4-8%2C4-10C11%2C1.791%2C9.209%2C0%2C7%2C0z%20M7%2C6C5.896%2C6%2C5%2C5.104%2C5%2C4%20s0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2S8.104%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-lock:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M12%2C6V5c0-2.762-2.238-5-5-5C4.239%2C0%2C2%2C2.238%2C2%2C5v1H1v8h12V6H12z%20M7.5%2C9.848V12h-1V9.848%20C6.207%2C9.673%2C6%2C9.366%2C6%2C9c0-0.553%2C0.448-1%2C1-1s1%2C0.447%2C1%2C1C8%2C9.366%2C7.793%2C9.673%2C7.5%2C9.848z%20M10%2C6H4V5c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3V6z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-mail:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M0%2C3.75V12h14V3.75L7%2C9L0%2C3.75z%20M14%2C2H0l7%2C5L14%2C2z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-minus:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20y%3D%225%22%20style%3D%22fill%3A%23FFFFFF%3B%22%20width%3D%2214%22%20height%3D%224%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-navigation:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2213%2C1%200%2C6%207%2C7%208%2C14%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-phone:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%22-0.01%200.008%2014%2014%22%20style%3D%22enable-background%3Anew%20-0.01%200.008%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M6.939%2C9.189C6.165%2C8.557%2C5.271%2C7.705%2C4.497%2C6.744C3.953%2C6.071%2C3.473%2C5.363%2C3.969%2C4.866l-3.482-3.48%20C-0.021%2C2.02-1.146%2C5.04%2C3.675%2C9.984c5.08%2C5.211%2C8.356%2C4.097%2C8.92%2C3.511l-3.396-3.4C8.725%2C10.568%2C8.113%2C10.146%2C6.939%2C9.189z%20%20M13.82%2C11.519v-0.004c0%2C0-2.648-2.646-2.649-2.647c-0.21-0.211-0.546-0.205-0.754%2C0.002L9.455%2C9.831l3.403%2C3.407%20c0%2C0%2C0.962-0.96%2C0.961-0.961l0.002-0.001C14.043%2C12.056%2C14.021%2C11.721%2C13.82%2C11.519z%20M5.192%2C3.644V3.642%20c0.222-0.222%2C0.2-0.557%2C0-0.758V2.881c0%2C0-2.726-2.725-2.727-2.726C2.255-0.055%2C1.92-0.05%2C1.712%2C0.156L0.751%2C1.121l3.479%2C3.482%20C4.231%2C4.604%2C5.192%2C3.645%2C5.192%2C3.644z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-plus:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C5%209%2C5%209%2C0%205%2C0%205%2C5%200%2C5%200%2C9%205%2C9%205%2C14%209%2C14%209%2C9%2014%2C9%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-power:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M11.243%2C2.408c-0.392-0.401-1.024-0.401-1.415%2C0c-0.391%2C0.401-0.391%2C1.054%2C0%2C1.455%20C10.584%2C4.642%2C11%2C5.675%2C11%2C6.773s-0.416%2C2.133-1.172%2C2.91c-1.512%2C1.558-4.145%2C1.558-5.656%2C0C3.416%2C8.904%2C3%2C7.872%2C3%2C6.773%20C3%2C5.673%2C3.416%2C4.64%2C4.172%2C3.863c0.39-0.401%2C0.39-1.054%2C0-1.455c-0.391-0.401-1.024-0.401-1.415%2C0C1.624%2C3.574%2C1%2C5.125%2C1%2C6.773%20c0%2C1.647%2C0.624%2C3.199%2C1.757%2C4.365c1.134%2C1.166%2C2.64%2C1.809%2C4.243%2C1.809c1.604%2C0%2C3.109-0.645%2C4.243-1.811%20C12.376%2C9.975%2C13%2C8.423%2C13%2C6.773C13%2C5.125%2C12.376%2C3.574%2C11.243%2C2.408z%20M7%2C8.053c0.553%2C0%2C1-0.445%2C1-1v-6c0-0.553-0.447-1-1-1%20c-0.553%2C0-1%2C0.447-1%2C1v6C6%2C7.604%2C6.447%2C8.053%2C7%2C8.053z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-recycle:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M3%2C7h1L2%2C4L0%2C7h1c0%2C3.313%2C2.687%2C6%2C6%2C6c0.702%2C0%2C1.374-0.127%2C2-0.35v-2.205C8.41%2C10.789%2C7.732%2C11%2C7%2C11%20C4.791%2C11%2C3%2C9.209%2C3%2C7z%20M13%2C7c0-3.313-2.688-6-6-6C6.298%2C1%2C5.626%2C1.127%2C5%2C1.349v2.206C5.59%2C3.211%2C6.268%2C3%2C7%2C3c2.209%2C0%2C4%2C1.791%2C4%2C4%20h-1l2%2C3l2-3H13z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-refresh:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.001px%22%20height%3D%2214.002px%22%20viewBox%3D%220%200%2014.001%2014.002%22%20style%3D%22enable-background%3Anew%200%200%2014.001%2014.002%3B%22%20%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M14.001%2C6.001v-6l-2.06%2C2.06c-0.423-0.424-0.897-0.809-1.44-1.122C7.153-0.994%2C2.872%2C0.153%2C0.939%2C3.501%20c-1.933%2C3.348-0.786%2C7.629%2C2.562%2C9.562c3.348%2C1.933%2C7.629%2C0.785%2C9.562-2.562l-1.732-1c-1.381%2C2.392-4.438%2C3.211-6.83%2C1.83%20s-3.211-4.438-1.83-6.83s4.438-3.211%2C6.83-1.83c0.389%2C0.225%2C0.718%2C0.506%2C1.02%2C0.81l-2.52%2C2.52H14.001z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-search:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M10.171%2C8.766c0.617-0.888%2C0.979-1.964%2C0.979-3.126c0-3.037-2.463-5.5-5.5-5.5s-5.5%2C2.463-5.5%2C5.5%20s2.463%2C5.5%2C5.5%2C5.5c1.152%2C0%2C2.223-0.355%2C3.104-0.962l3.684%2C3.683l1.414-1.414L10.171%2C8.766z%20M5.649%2C9.14c-1.933%2C0-3.5-1.567-3.5-3.5%20c0-1.933%2C1.567-3.5%2C3.5-3.5c1.933%2C0%2C3.5%2C1.567%2C3.5%2C3.5C9.149%2C7.572%2C7.582%2C9.14%2C5.649%2C9.14z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-shop:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M10%2C4V3c0-1.657-1.343-3-3-3S4%2C1.343%2C4%2C3v1H1v10h12V4H10z%20M4.5%2C6C4.224%2C6%2C4%2C5.776%2C4%2C5.5%20S4.224%2C5%2C4.5%2C5S5%2C5.224%2C5%2C5.5S4.776%2C6%2C4.5%2C6z%20M5%2C3c0-1.104%2C0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2v1H5V3z%20M9.5%2C6C9.225%2C6%2C9%2C5.776%2C9%2C5.5%20S9.225%2C5%2C9.5%2C5S10%2C5.224%2C10%2C5.5S9.775%2C6%2C9.5%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-star:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2214%2C5%209%2C5%207%2C0%205%2C5%200%2C5%204%2C8%202.625%2C13%207%2C10%2011.375%2C13%2010%2C8%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-tag:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M5%2C0H0v5l9%2C9l5-5L5%2C0z%20M3%2C4C2.447%2C4%2C2%2C3.553%2C2%2C3s0.447-1%2C1-1s1%2C0.447%2C1%2C1S3.553%2C4%2C3%2C4z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-user:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M8.851%2C10.101c-0.18-0.399-0.2-0.763-0.153-1.104C9.383%2C8.49%2C9.738%2C7.621%2C9.891%2C6.465C10.493%2C6.355%2C10.5%2C5.967%2C10.5%2C5.5%20c0-0.437-0.008-0.804-0.502-0.94C9.999%2C4.539%2C10%2C4.521%2C10%2C4.5c0-2.103-1-4-2-4C8%2C0.5%2C7.5%2C0%2C6.5%2C0C5%2C0%2C4%2C1.877%2C4%2C4.5%20c0%2C0.021%2C0.001%2C0.039%2C0.002%2C0.06C3.508%2C4.696%2C3.5%2C5.063%2C3.5%2C5.5c0%2C0.467%2C0.007%2C0.855%2C0.609%2C0.965%20C4.262%2C7.621%2C4.617%2C8.49%2C5.303%2C8.997c0.047%2C0.341%2C0.026%2C0.704-0.153%2C1.104C1.503%2C10.503%2C0%2C12%2C0%2C12v2h14v-2%20C14%2C12%2C12.497%2C10.503%2C8.851%2C10.101z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-video:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%20-2%2014%2014%22%20style%3D%22enable-background%3Anew%200%20-2%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M8%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2h6c1.104%2C0%2C2-0.896%2C2-2V5V2C10%2C0.896%2C9.104%2C0%2C8%2C0z%20%20M10%2C5l4%2C4V1L10%2C5z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-action:after,.ui-alt-icon .ui-icon-action:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M9%2C5v3l5-4L9%2C0v3c0%2C0-5%2C0-5%2C7C6%2C5%2C9%2C5%2C9%2C5z%20M11%2C12H2V5h1l2-2H0v11h13V7l-2%2C2V12z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-alert:after,.ui-alt-icon .ui-icon-alert:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0L0%2C12h14L7%2C0z%20M7%2C11c-0.553%2C0-1-0.447-1-1s0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1S7.553%2C11%2C7%2C11z%20M7%2C8C6.447%2C8%2C6%2C7.553%2C6%2C7V5%20c0-0.553%2C0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1v2C8%2C7.553%2C7.553%2C8%2C7%2C8z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-d:after,.ui-alt-icon .ui-icon-arrow-d:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%229%2C7%209%2C0%205%2C0%205%2C7%200%2C7%207%2C14%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-d-l:after,.ui-alt-icon .ui-icon-arrow-d-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C3%2011%2C0%203.5%2C7.5%200%2C4%200%2C14%2010%2C14%206.5%2C10.5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-d-r:after,.ui-alt-icon .ui-icon-arrow-d-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2210.5%2C7.5%203%2C0%200%2C3%207.5%2C10.5%204%2C14%2014%2C14%2014%2C4%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-l:after,.ui-alt-icon .ui-icon-arrow-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C5%207%2C0%200%2C7%207%2C14%207%2C9%2014%2C9%2014%2C5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-r:after,.ui-alt-icon .ui-icon-arrow-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C7%207%2C0%207%2C5%200%2C5%200%2C9%207%2C9%207%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-u:after,.ui-alt-icon .ui-icon-arrow-u:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C0%200%2C7%205%2C7%205%2C14%209%2C14%209%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-u-l:after,.ui-alt-icon .ui-icon-arrow-u-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C11%206.5%2C3.5%2010%2C0%200%2C0%200%2C10%203.5%2C6.5%2011%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-u-r:after,.ui-alt-icon .ui-icon-arrow-u-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C0%204%2C0%207.5%2C3.5%200%2C11%203%2C14%2010.5%2C6.5%2014%2C10%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-audio:after,.ui-alt-icon .ui-icon-audio:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.018px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014.018%2014%22%20style%3D%22enable-background%3Anew%200%200%2014.018%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C4C0.447%2C4%2C0%2C4.447%2C0%2C5v4c0%2C0.553%2C0.447%2C1%2C1%2C1h1l4%2C4V0L2%2C4H1z%20M10.346%2C7c0-1.699-1.042-3.154-2.546-3.867L6.982%2C4.68%20C7.885%2C5.107%2C8.51%2C5.98%2C8.51%2C7S7.885%2C8.893%2C6.982%2C9.32L7.8%2C10.867C9.304%2C10.154%2C10.346%2C8.699%2C10.346%2C7z%20M9.447%2C0.017L8.618%2C1.586%20C10.723%2C2.584%2C12.182%2C4.621%2C12.182%2C7s-1.459%2C4.416-3.563%2C5.414l0.829%2C1.569c2.707-1.283%2C4.57-3.925%2C4.57-6.983%20S12.154%2C1.3%2C9.447%2C0.017z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-back:after,.ui-alt-icon .ui-icon-back:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C3V0L1%2C4l4%2C4V5c0%2C0%2C6%2C0%2C6%2C3s-5%2C4-5%2C4v2c0%2C0%2C7-1%2C7-6C13%2C4%2C8%2C3%2C5%2C3z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-bars:after,.ui-alt-icon .ui-icon-bars:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C4h12c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H1C0.447%2C2%2C0%2C2.447%2C0%2C3S0.447%2C4%2C1%2C4z%20M13%2C6H1C0.447%2C6%2C0%2C6.447%2C0%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H1c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1h12%20c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-bullets:after,.ui-alt-icon .ui-icon-bullets:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C4h8c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H5C4.447%2C2%2C4%2C2.447%2C4%2C3S4.447%2C4%2C5%2C4z%20M13%2C6H5C4.447%2C6%2C4%2C6.447%2C4%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H5c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1h8%20c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%20M1%2C2C0.447%2C2%2C0%2C2.447%2C0%2C3s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C2%2C1%2C2z%20M1%2C6C0.447%2C6%2C0%2C6.447%2C0%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1s1-0.447%2C1-1C2%2C6.447%2C1.553%2C6%2C1%2C6z%20M1%2C10c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C10%2C1%2C10z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-calendar:after,.ui-alt-icon .ui-icon-calendar:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M0%2C8h2V6H0V8z%20M3%2C8h2V6H3V8z%20M6%2C8h2V6H6V8z%20M9%2C8h2V6H9V8z%20M12%2C8h2V6h-2V8z%20M0%2C11h2V9H0V11z%20M3%2C11h2V9H3V11z%20M6%2C11h2V9H6V11z%20%20M9%2C11h2V9H9V11z%20M12%2C11h2V9h-2V11z%20M0%2C14h2v-2H0V14z%20M3%2C14h2v-2H3V14z%20M6%2C14h2v-2H6V14z%20M9%2C14h2v-2H9V14z%20M12%2C1%20c0-0.553-0.447-1-1-1s-1%2C0.447-1%2C1H4c0-0.553-0.447-1-1-1S2%2C0.447%2C2%2C1H0v4h14V1H12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-camera:after,.ui-alt-icon .ui-icon-camera:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C2.5H9.908c-0.206-0.581-0.756-1-1.408-1h-3c-0.652%2C0-1.202%2C0.419-1.408%2C1H2c-1.104%2C0-2%2C0.896-2%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2%20h10c1.104%2C0%2C2-0.896%2C2-2v-6C14%2C3.396%2C13.104%2C2.5%2C12%2C2.5z%20M7%2C10.5c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3%20C10%2C9.156%2C8.657%2C10.5%2C7%2C10.5z%20M7%2C5.5c-1.104%2C0-2%2C0.896-2%2C2c0%2C1.104%2C0.896%2C2%2C2%2C2c1.104%2C0%2C2-0.896%2C2-2C9%2C6.396%2C8.104%2C5.5%2C7%2C5.5z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-carat-d:after,.ui-alt-icon .ui-icon-carat-d:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2211.949%2C3.404%207%2C8.354%202.05%2C3.404%20-0.071%2C5.525%207%2C12.596%2014.07%2C5.525%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-carat-l:after,.ui-alt-icon .ui-icon-carat-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2210.596%2C11.949%205.646%2C7%2010.596%2C2.05%208.475%2C-0.071%201.404%2C7%208.475%2C14.07%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-carat-r:after,.ui-alt-icon .ui-icon-carat-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%223.404%2C2.051%208.354%2C7%203.404%2C11.95%205.525%2C14.07%2012.596%2C7%205.525%2C-0.071%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-carat-u:after,.ui-alt-icon .ui-icon-carat-u:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%222.051%2C10.596%207%2C5.646%2011.95%2C10.596%2014.07%2C8.475%207%2C1.404%20-0.071%2C8.475%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-check:after,.ui-alt-icon .ui-icon-check:after,html .ui-alt-icon.ui-btn.ui-checkbox-on:after,html .ui-alt-icon .ui-btn.ui-checkbox-on:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C4%2011%2C1%205.003%2C6.997%203%2C5%200%2C8%204.966%2C13%204.983%2C12.982%205%2C13%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-clock:after,.ui-alt-icon .ui-icon-clock:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C12c-2.762%2C0-5-2.238-5-5s2.238-5%2C5-5s5%2C2.238%2C5%2C5%20S9.762%2C12%2C7%2C12z%20M9%2C6H8V4c0-0.553-0.447-1-1-1S6%2C3.447%2C6%2C4v3c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1S9.553%2C6%2C9%2C6z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-cloud:after,.ui-alt-icon .ui-icon-cloud:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M14%2C9.5c0-0.793-0.465-1.473-1.134-1.795C12.949%2C7.484%2C13%2C7.249%2C13%2C7c0-1.104-0.896-2-2-2c-0.158%2C0-0.311%2C0.023-0.457%2C0.058%20C9.816%2C3.549%2C8.286%2C2.5%2C6.5%2C2.5c-2.33%2C0-4.224%2C1.777-4.454%2C4.046C0.883%2C6.76%2C0%2C7.773%2C0%2C9c0%2C1.381%2C1.119%2C2.5%2C2.5%2C2.5h10v-0.07%20C13.361%2C11.206%2C14%2C10.432%2C14%2C9.5z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-comment:after,.ui-alt-icon .ui-icon-comment:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v7c0%2C1.104%2C0.896%2C2%2C2%2C2h1v3l3-3h6c1.104%2C0%2C2-0.896%2C2-2V2C14%2C0.896%2C13.104%2C0%2C12%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-delete:after,.ui-alt-icon .ui-icon-delete:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C3%2011%2C0%207%2C4%203%2C0%200%2C3%204%2C7%200%2C11%203%2C14%207%2C10%2011%2C14%2014%2C11%2010%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-edit:after,.ui-alt-icon .ui-icon-edit:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C10l-1%2C4l4-1l7-7L8%2C3L1%2C10z%20M11%2C0L9%2C2l3%2C3l2-2L11%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-eye:after,.ui-alt-icon .ui-icon-eye:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C2C3%2C2%2C0%2C7%2C0%2C7s3%2C5%2C7%2C5s7-5%2C7-5S11%2C2%2C7%2C2z%20M7%2C10c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3%20C10%2C8.656%2C8.657%2C10%2C7%2C10z%20M7%2C6C6.448%2C6%2C6%2C6.447%2C6%2C7c0%2C0.553%2C0.448%2C1%2C1%2C1s1-0.447%2C1-1C8%2C6.447%2C7.552%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-forbidden:after,.ui-alt-icon .ui-icon-forbidden:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12.601%2C11.187C13.476%2C10.018%2C14%2C8.572%2C14%2C7c0-3.866-3.134-7-7-7C5.428%2C0%2C3.982%2C0.524%2C2.813%2C1.399L2.757%2C1.343L2.053%2C2.048%20L2.048%2C2.053L1.343%2C2.758l0.056%2C0.056C0.524%2C3.982%2C0%2C5.428%2C0%2C7c0%2C3.866%2C3.134%2C7%2C7%2C7c1.572%2C0%2C3.018-0.524%2C4.187-1.399l0.056%2C0.057%20l0.705-0.705l0.005-0.005l0.705-0.705L12.601%2C11.187z%20M7%2C2c2.761%2C0%2C5%2C2.238%2C5%2C5c0%2C1.019-0.308%2C1.964-0.832%2C2.754L4.246%2C2.832%20C5.036%2C2.308%2C5.981%2C2%2C7%2C2z%20M7%2C12c-2.761%2C0-5-2.238-5-5c0-1.019%2C0.308-1.964%2C0.832-2.754l6.922%2C6.922C8.964%2C11.692%2C8.019%2C12%2C7%2C12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-forward:after,.ui-alt-icon .ui-icon-forward:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M13%2C4L9%2C0v3C6%2C3%2C1%2C4%2C1%2C8c0%2C5%2C7%2C6%2C7%2C6v-2c0%2C0-5-1-5-4s6-3%2C6-3v3L13%2C4z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-gear:after,.ui-alt-icon .ui-icon-gear:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M13.621%2C5.904l-1.036-0.259c-0.168-0.042-0.303-0.168-0.355-0.332c-0.092-0.284-0.205-0.559-0.339-0.82%20c-0.079-0.153-0.073-0.337%2C0.017-0.486l0.549-0.915c0.118-0.196%2C0.088-0.448-0.075-0.61l-0.862-0.863%20c-0.162-0.163-0.414-0.193-0.611-0.075l-0.916%2C0.55C9.844%2C2.182%2C9.659%2C2.188%2C9.506%2C2.109C9.244%2C1.975%2C8.97%2C1.861%2C8.686%2C1.77%20c-0.165-0.052-0.29-0.187-0.332-0.354L8.095%2C0.379C8.039%2C0.156%2C7.839%2C0%2C7.609%2C0H6.391c-0.229%2C0-0.43%2C0.156-0.485%2C0.379L5.646%2C1.415%20C5.604%2C1.582%2C5.479%2C1.718%2C5.313%2C1.77c-0.284%2C0.092-0.559%2C0.206-0.82%2C0.34C4.339%2C2.188%2C4.155%2C2.182%2C4.007%2C2.093L3.092%2C1.544%20c-0.196-0.118-0.448-0.087-0.61%2C0.075L1.619%2C2.481C1.457%2C2.644%2C1.426%2C2.896%2C1.544%2C3.093l0.549%2C0.914%20c0.089%2C0.148%2C0.095%2C0.332%2C0.017%2C0.486C1.975%2C4.755%2C1.861%2C5.029%2C1.77%2C5.314c-0.053%2C0.164-0.188%2C0.29-0.354%2C0.332L0.379%2C5.905%20C0.156%2C5.961%2C0%2C6.161%2C0%2C6.391v1.219c0%2C0.229%2C0.156%2C0.43%2C0.379%2C0.485l1.036%2C0.26C1.582%2C8.396%2C1.717%2C8.521%2C1.77%2C8.687%20c0.092%2C0.284%2C0.205%2C0.559%2C0.34%2C0.82C2.188%2C9.66%2C2.182%2C9.844%2C2.093%2C9.993l-0.549%2C0.915c-0.118%2C0.195-0.087%2C0.448%2C0.075%2C0.61%20l0.862%2C0.862c0.162%2C0.163%2C0.414%2C0.193%2C0.61%2C0.075l0.915-0.549c0.148-0.089%2C0.332-0.095%2C0.486-0.017%20c0.262%2C0.135%2C0.536%2C0.248%2C0.82%2C0.34c0.165%2C0.053%2C0.291%2C0.187%2C0.332%2C0.354l0.259%2C1.036C5.96%2C13.844%2C6.16%2C14%2C6.39%2C14h1.22%20c0.229%2C0%2C0.43-0.156%2C0.485-0.379l0.259-1.036c0.042-0.167%2C0.168-0.302%2C0.333-0.354c0.284-0.092%2C0.559-0.205%2C0.82-0.34%20c0.154-0.078%2C0.338-0.072%2C0.486%2C0.017l0.914%2C0.549c0.197%2C0.118%2C0.449%2C0.088%2C0.611-0.074l0.862-0.863%20c0.163-0.162%2C0.193-0.415%2C0.075-0.611l-0.549-0.915c-0.089-0.148-0.096-0.332-0.017-0.485c0.134-0.263%2C0.248-0.536%2C0.339-0.82%20c0.053-0.165%2C0.188-0.291%2C0.355-0.333l1.036-0.259C13.844%2C8.039%2C14%2C7.839%2C14%2C7.609V6.39C14%2C6.16%2C13.844%2C5.96%2C13.621%2C5.904z%20M7%2C10%20c-1.657%2C0-3-1.343-3-3s1.343-3%2C3-3s3%2C1.343%2C3%2C3S8.657%2C10%2C7%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-grid:after,.ui-alt-icon .ui-icon-grid:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M3%2C0H1C0.447%2C0%2C0%2C0.447%2C0%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C4%2C0.447%2C3.553%2C0%2C3%2C0z%20M8%2C0H6%20C5.447%2C0%2C5%2C0.447%2C5%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C9%2C0.447%2C8.553%2C0%2C8%2C0z%20M13%2C0h-2c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C14%2C0.447%2C13.553%2C0%2C13%2C0z%20M3%2C5H1C0.447%2C5%2C0%2C5.447%2C0%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1V6C4%2C5.447%2C3.553%2C5%2C3%2C5z%20M8%2C5H6C5.447%2C5%2C5%2C5.447%2C5%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6%20C9%2C5.447%2C8.553%2C5%2C8%2C5z%20M13%2C5h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6C14%2C5.447%2C13.553%2C5%2C13%2C5z%20M3%2C10%20H1c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C4%2C10.447%2C3.553%2C10%2C3%2C10z%20M8%2C10H6c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C9%2C10.447%2C8.553%2C10%2C8%2C10z%20M13%2C10h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1v-2C14%2C10.447%2C13.553%2C10%2C13%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-heart:after,.ui-alt-icon .ui-icon-heart:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C1.958c-2-3-7-2.128-7%2C1.872c0%2C3%2C4%2C7%2C4%2C7s2.417%2C2.48%2C3%2C3c0.583-0.52%2C3-3%2C3-3s4-4%2C4-7C14-0.169%2C9-1.042%2C7%2C1.958z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-home:after,.ui-alt-icon .ui-icon-home:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C0%200%2C7%202%2C7%202%2C14%205%2C14%205%2C9%209%2C9%209%2C14%2012%2C14%2012%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-info:after,.ui-alt-icon .ui-icon-info:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C2c0.552%2C0%2C1%2C0.447%2C1%2C1S7.552%2C4%2C7%2C4S6%2C3.553%2C6%2C3%20S6.448%2C2%2C7%2C2z%20M9%2C11H5v-1h1V6H5V5h3v5h1V11z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-location:after,.ui-alt-icon .ui-icon-location:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C4.791%2C0%2C3%2C1.791%2C3%2C4c0%2C2%2C4%2C10%2C4%2C10s4-8%2C4-10C11%2C1.791%2C9.209%2C0%2C7%2C0z%20M7%2C6C5.896%2C6%2C5%2C5.104%2C5%2C4s0.896-2%2C2-2%20c1.104%2C0%2C2%2C0.896%2C2%2C2S8.104%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-lock:after,.ui-alt-icon .ui-icon-lock:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C6V5c0-2.762-2.238-5-5-5C4.239%2C0%2C2%2C2.238%2C2%2C5v1H1v8h12V6H12z%20M7.5%2C9.848V12h-1V9.848C6.207%2C9.673%2C6%2C9.366%2C6%2C9%20c0-0.553%2C0.448-1%2C1-1s1%2C0.447%2C1%2C1C8%2C9.366%2C7.793%2C9.673%2C7.5%2C9.848z%20M10%2C6H4V5c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3V6z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-mail:after,.ui-alt-icon .ui-icon-mail:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M0%2C3.75V12h14V3.75L7%2C9L0%2C3.75z%20M14%2C2H0l7%2C5L14%2C2z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-minus:after,.ui-alt-icon .ui-icon-minus:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20y%3D%225%22%20width%3D%2214%22%20height%3D%224%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-navigation:after,.ui-alt-icon .ui-icon-navigation:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2213%2C1%200%2C6%207%2C7%208%2C14%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-phone:after,.ui-alt-icon .ui-icon-phone:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M6.949%2C9.182C6.175%2C8.549%2C5.281%2C7.697%2C4.507%2C6.736C3.963%2C6.063%2C3.483%2C5.355%2C3.979%2C4.858l-3.482-3.48%20c-0.508%2C0.634-1.633%2C3.654%2C3.188%2C8.598c5.08%2C5.211%2C8.356%2C4.097%2C8.92%2C3.511l-3.396-3.399C8.734%2C10.561%2C8.123%2C10.139%2C6.949%2C9.182z%20%20M13.83%2C11.512v-0.004c0%2C0-2.648-2.646-2.649-2.647c-0.21-0.212-0.546-0.205-0.754%2C0.002L9.465%2C9.823l3.402%2C3.407%20c0%2C0%2C0.963-0.961%2C0.961-0.961l0.002-0.002C14.053%2C12.049%2C14.031%2C11.713%2C13.83%2C11.512z%20M5.202%2C3.636V3.634%20c0.222-0.222%2C0.2-0.557%2C0-0.758V2.873c0%2C0-2.726-2.725-2.727-2.726c-0.21-0.21-0.545-0.205-0.753%2C0.001L0.761%2C1.113L4.24%2C4.595%20C4.241%2C4.596%2C5.202%2C3.637%2C5.202%2C3.636z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-plus:after,.ui-alt-icon .ui-icon-plus:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C5%209%2C5%209%2C0%205%2C0%205%2C5%200%2C5%200%2C9%205%2C9%205%2C14%209%2C14%209%2C9%2014%2C9%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-power:after,.ui-alt-icon .ui-icon-power:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M11.243%2C2.408c-0.392-0.401-1.024-0.401-1.415%2C0c-0.391%2C0.401-0.391%2C1.054%2C0%2C1.455C10.584%2C4.642%2C11%2C5.675%2C11%2C6.773%20s-0.416%2C2.133-1.172%2C2.91c-1.512%2C1.558-4.145%2C1.558-5.656%2C0C3.416%2C8.904%2C3%2C7.872%2C3%2C6.773C3%2C5.673%2C3.416%2C4.64%2C4.172%2C3.863%20c0.39-0.401%2C0.39-1.054%2C0-1.455c-0.391-0.401-1.024-0.401-1.415%2C0C1.624%2C3.574%2C1%2C5.125%2C1%2C6.773c0%2C1.647%2C0.624%2C3.199%2C1.757%2C4.365%20c1.134%2C1.166%2C2.64%2C1.809%2C4.243%2C1.809c1.604%2C0%2C3.109-0.645%2C4.243-1.811C12.376%2C9.975%2C13%2C8.423%2C13%2C6.773%20C13%2C5.125%2C12.376%2C3.574%2C11.243%2C2.408z%20M7%2C8.053c0.553%2C0%2C1-0.445%2C1-1v-6c0-0.553-0.447-1-1-1c-0.553%2C0-1%2C0.447-1%2C1v6%20C6%2C7.604%2C6.447%2C8.053%2C7%2C8.053z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-recycle:after,.ui-alt-icon .ui-icon-recycle:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M3%2C7h1L2%2C4L0%2C7h1c0%2C3.313%2C2.687%2C6%2C6%2C6c0.702%2C0%2C1.374-0.127%2C2-0.35v-2.205C8.41%2C10.789%2C7.732%2C11%2C7%2C11C4.791%2C11%2C3%2C9.209%2C3%2C7z%20%20M13%2C7c0-3.313-2.688-6-6-6C6.298%2C1%2C5.626%2C1.127%2C5%2C1.349v2.206C5.59%2C3.211%2C6.268%2C3%2C7%2C3c2.209%2C0%2C4%2C1.791%2C4%2C4h-1l2%2C3l2-3H13z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-refresh:after,.ui-alt-icon .ui-icon-refresh:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.001px%22%20height%3D%2214.002px%22%20viewBox%3D%220%200%2014.001%2014.002%22%20style%3D%22enable-background%3Anew%200%200%2014.001%2014.002%3B%22%20%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M14.001%2C6.001v-6l-2.06%2C2.06c-0.423-0.424-0.897-0.809-1.44-1.122C7.153-0.994%2C2.872%2C0.153%2C0.939%2C3.501%20c-1.933%2C3.348-0.786%2C7.629%2C2.562%2C9.562c3.348%2C1.933%2C7.629%2C0.785%2C9.562-2.562l-1.732-1c-1.381%2C2.392-4.438%2C3.211-6.83%2C1.83%20s-3.211-4.438-1.83-6.83s4.438-3.211%2C6.83-1.83c0.389%2C0.225%2C0.718%2C0.506%2C1.02%2C0.81l-2.52%2C2.52H14.001z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-search:after,.ui-alt-icon .ui-icon-search:after,.ui-input-search:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M10.171%2C8.766c0.617-0.888%2C0.979-1.964%2C0.979-3.126c0-3.037-2.463-5.5-5.5-5.5s-5.5%2C2.463-5.5%2C5.5s2.463%2C5.5%2C5.5%2C5.5%20c1.152%2C0%2C2.223-0.355%2C3.104-0.962l3.684%2C3.683l1.414-1.414L10.171%2C8.766z%20M5.649%2C9.14c-1.933%2C0-3.5-1.567-3.5-3.5%20c0-1.933%2C1.567-3.5%2C3.5-3.5c1.933%2C0%2C3.5%2C1.567%2C3.5%2C3.5C9.149%2C7.572%2C7.582%2C9.14%2C5.649%2C9.14z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-shop:after,.ui-alt-icon .ui-icon-shop:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M10%2C4V3c0-1.657-1.343-3-3-3S4%2C1.343%2C4%2C3v1H1v10h12V4H10z%20M4.5%2C6C4.224%2C6%2C4%2C5.776%2C4%2C5.5S4.224%2C5%2C4.5%2C5S5%2C5.224%2C5%2C5.5%20S4.776%2C6%2C4.5%2C6z%20M5%2C3c0-1.104%2C0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2v1H5V3z%20M9.5%2C6C9.225%2C6%2C9%2C5.776%2C9%2C5.5S9.225%2C5%2C9.5%2C5S10%2C5.224%2C10%2C5.5%20S9.775%2C6%2C9.5%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-star:after,.ui-alt-icon .ui-icon-star:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C5%209%2C5%207%2C0%205%2C5%200%2C5%204%2C8%202.625%2C13%207%2C10%2011.375%2C13%2010%2C8%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-tag:after,.ui-alt-icon .ui-icon-tag:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C0H0v5l9%2C9l5-5L5%2C0z%20M3%2C4C2.447%2C4%2C2%2C3.553%2C2%2C3s0.447-1%2C1-1s1%2C0.447%2C1%2C1S3.553%2C4%2C3%2C4z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-user:after,.ui-alt-icon .ui-icon-user:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M8.851%2C10.101c-0.18-0.399-0.2-0.763-0.153-1.104C9.383%2C8.49%2C9.738%2C7.621%2C9.891%2C6.465C10.493%2C6.355%2C10.5%2C5.967%2C10.5%2C5.5%20c0-0.437-0.008-0.804-0.502-0.94C9.999%2C4.539%2C10%2C4.521%2C10%2C4.5c0-2.103-1-4-2-4C8%2C0.5%2C7.5%2C0%2C6.5%2C0C5%2C0%2C4%2C1.877%2C4%2C4.5%20c0%2C0.021%2C0.001%2C0.039%2C0.002%2C0.06C3.508%2C4.696%2C3.5%2C5.063%2C3.5%2C5.5c0%2C0.467%2C0.007%2C0.855%2C0.609%2C0.965%20C4.262%2C7.621%2C4.617%2C8.49%2C5.303%2C8.997c0.047%2C0.341%2C0.026%2C0.704-0.153%2C1.104C1.503%2C10.503%2C0%2C12%2C0%2C12v2h14v-2%20C14%2C12%2C12.497%2C10.503%2C8.851%2C10.101z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-video:after,.ui-alt-icon .ui-icon-video:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%20-2%2014%2014%22%20style%3D%22enable-background%3Anew%200%20-2%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M8%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2h6c1.104%2C0%2C2-0.896%2C2-2V5V2C10%2C0.896%2C9.104%2C0%2C8%2C0z%20M10%2C5l4%2C4V1L10%2C5z%22%2F%3E%3C%2Fsvg%3E")}.ui-nosvg .ui-icon-action:after{background-image:url(images/icons-png/action-white.png)}.ui-nosvg .ui-icon-alert:after{background-image:url(images/icons-png/alert-white.png)}.ui-nosvg .ui-icon-arrow-d-l:after{background-image:url(images/icons-png/arrow-d-l-white.png)}.ui-nosvg .ui-icon-arrow-d-r:after{background-image:url(images/icons-png/arrow-d-r-white.png)}.ui-nosvg .ui-icon-arrow-d:after{background-image:url(images/icons-png/arrow-d-white.png)}.ui-nosvg .ui-icon-arrow-l:after{background-image:url(images/icons-png/arrow-l-white.png)}.ui-nosvg .ui-icon-arrow-r:after{background-image:url(images/icons-png/arrow-r-white.png)}.ui-nosvg .ui-icon-arrow-u-l:after{background-image:url(images/icons-png/arrow-u-l-white.png)}.ui-nosvg .ui-icon-arrow-u-r:after{background-image:url(images/icons-png/arrow-u-r-white.png)}.ui-nosvg .ui-icon-arrow-u:after{background-image:url(images/icons-png/arrow-u-white.png)}.ui-nosvg .ui-icon-audio:after{background-image:url(images/icons-png/audio-white.png)}.ui-nosvg .ui-icon-back:after{background-image:url(images/icons-png/back-white.png)}.ui-nosvg .ui-icon-bars:after{background-image:url(images/icons-png/bars-white.png)}.ui-nosvg .ui-icon-bullets:after{background-image:url(images/icons-png/bullets-white.png)}.ui-nosvg .ui-icon-calendar:after{background-image:url(images/icons-png/calendar-white.png)}.ui-nosvg .ui-icon-camera:after{background-image:url(images/icons-png/camera-white.png)}.ui-nosvg .ui-icon-carat-d:after{background-image:url(images/icons-png/carat-d-white.png)}.ui-nosvg .ui-icon-carat-l:after{background-image:url(images/icons-png/carat-l-white.png)}.ui-nosvg .ui-icon-carat-r:after{background-image:url(images/icons-png/carat-r-white.png)}.ui-nosvg .ui-icon-carat-u:after{background-image:url(images/icons-png/carat-u-white.png)}.ui-nosvg .ui-icon-check:after,html.ui-nosvg .ui-btn.ui-checkbox-on:after{background-image:url(images/icons-png/check-white.png)}.ui-nosvg .ui-icon-clock:after{background-image:url(images/icons-png/clock-white.png)}.ui-nosvg .ui-icon-cloud:after{background-image:url(images/icons-png/cloud-white.png)}.ui-nosvg .ui-icon-comment:after{background-image:url(images/icons-png/comment-white.png)}.ui-nosvg .ui-icon-delete:after{background-image:url(images/icons-png/delete-white.png)}.ui-nosvg .ui-icon-edit:after{background-image:url(images/icons-png/edit-white.png)}.ui-nosvg .ui-icon-eye:after{background-image:url(images/icons-png/eye-white.png)}.ui-nosvg .ui-icon-forbidden:after{background-image:url(images/icons-png/forbidden-white.png)}.ui-nosvg .ui-icon-forward:after{background-image:url(images/icons-png/forward-white.png)}.ui-nosvg .ui-icon-gear:after{background-image:url(images/icons-png/gear-white.png)}.ui-nosvg .ui-icon-grid:after{background-image:url(images/icons-png/grid-white.png)}.ui-nosvg .ui-icon-heart:after{background-image:url(images/icons-png/heart-white.png)}.ui-nosvg .ui-icon-home:after{background-image:url(images/icons-png/home-white.png)}.ui-nosvg .ui-icon-info:after{background-image:url(images/icons-png/info-white.png)}.ui-nosvg .ui-icon-location:after{background-image:url(images/icons-png/location-white.png)}.ui-nosvg .ui-icon-lock:after{background-image:url(images/icons-png/lock-white.png)}.ui-nosvg .ui-icon-mail:after{background-image:url(images/icons-png/mail-white.png)}.ui-nosvg .ui-icon-minus:after{background-image:url(images/icons-png/minus-white.png)}.ui-nosvg .ui-icon-navigation:after{background-image:url(images/icons-png/navigation-white.png)}.ui-nosvg .ui-icon-phone:after{background-image:url(images/icons-png/phone-white.png)}.ui-nosvg .ui-icon-plus:after{background-image:url(images/icons-png/plus-white.png)}.ui-nosvg .ui-icon-power:after{background-image:url(images/icons-png/power-white.png)}.ui-nosvg .ui-icon-recycle:after{background-image:url(images/icons-png/recycle-white.png)}.ui-nosvg .ui-icon-refresh:after{background-image:url(images/icons-png/refresh-white.png)}.ui-nosvg .ui-icon-search:after{background-image:url(images/icons-png/search-white.png)}.ui-nosvg .ui-icon-shop:after{background-image:url(images/icons-png/shop-white.png)}.ui-nosvg .ui-icon-star:after{background-image:url(images/icons-png/star-white.png)}.ui-nosvg .ui-icon-tag:after{background-image:url(images/icons-png/tag-white.png)}.ui-nosvg .ui-icon-user:after{background-image:url(images/icons-png/user-white.png)}.ui-nosvg .ui-icon-video:after{background-image:url(images/icons-png/video-white.png)}.ui-nosvg .ui-alt-icon.ui-icon-action:after,.ui-nosvg .ui-alt-icon .ui-icon-action:after{background-image:url(images/icons-png/action-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-alert:after,.ui-nosvg .ui-alt-icon .ui-icon-alert:after{background-image:url(images/icons-png/alert-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-d:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-d:after{background-image:url(images/icons-png/arrow-d-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-d-l:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-d-l:after{background-image:url(images/icons-png/arrow-d-l-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-d-r:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-d-r:after{background-image:url(images/icons-png/arrow-d-r-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-l:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-l:after{background-image:url(images/icons-png/arrow-l-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-r:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-r:after{background-image:url(images/icons-png/arrow-r-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-u:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-u:after{background-image:url(images/icons-png/arrow-u-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-u-l:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-u-l:after{background-image:url(images/icons-png/arrow-u-l-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-u-r:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-u-r:after{background-image:url(images/icons-png/arrow-u-r-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-audio:after,.ui-nosvg .ui-alt-icon .ui-icon-audio:after{background-image:url(images/icons-png/audio-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-back:after,.ui-nosvg .ui-alt-icon .ui-icon-back:after{background-image:url(images/icons-png/back-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-bars:after,.ui-nosvg .ui-alt-icon .ui-icon-bars:after{background-image:url(images/icons-png/bars-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-bullets:after,.ui-nosvg .ui-alt-icon .ui-icon-bullets:after{background-image:url(images/icons-png/bullets-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-calendar:after,.ui-nosvg .ui-alt-icon .ui-icon-calendar:after{background-image:url(images/icons-png/calendar-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-camera:after,.ui-nosvg .ui-alt-icon .ui-icon-camera:after{background-image:url(images/icons-png/camera-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-carat-d:after,.ui-nosvg .ui-alt-icon .ui-icon-carat-d:after{background-image:url(images/icons-png/carat-d-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-carat-l:after,.ui-nosvg .ui-alt-icon .ui-icon-carat-l:after{background-image:url(images/icons-png/carat-l-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-carat-r:after,.ui-nosvg .ui-alt-icon .ui-icon-carat-r:after{background-image:url(images/icons-png/carat-r-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-carat-u:after,.ui-nosvg .ui-alt-icon .ui-icon-carat-u:after{background-image:url(images/icons-png/carat-u-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-check:after,.ui-nosvg .ui-alt-icon .ui-icon-check:after,.ui-nosvg .ui-alt-icon.ui-btn.ui-checkbox-on:after,.ui-nosvg .ui-alt-icon .ui-btn.ui-checkbox-on:after{background-image:url(images/icons-png/check-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-clock:after,.ui-nosvg .ui-alt-icon .ui-icon-clock:after{background-image:url(images/icons-png/clock-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-cloud:after,.ui-nosvg .ui-alt-icon .ui-icon-cloud:after{background-image:url(images/icons-png/cloud-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-comment:after,.ui-nosvg .ui-alt-icon .ui-icon-comment:after{background-image:url(images/icons-png/comment-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-delete:after,.ui-nosvg .ui-alt-icon .ui-icon-delete:after{background-image:url(images/icons-png/delete-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-edit:after,.ui-nosvg .ui-alt-icon .ui-icon-edit:after{background-image:url(images/icons-png/edit-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-eye:after,.ui-nosvg .ui-alt-icon .ui-icon-eye:after{background-image:url(images/icons-png/eye-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-forbidden:after,.ui-nosvg .ui-alt-icon .ui-icon-forbidden:after{background-image:url(images/icons-png/forbidden-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-forward:after,.ui-nosvg .ui-alt-icon .ui-icon-forward:after{background-image:url(images/icons-png/forward-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-gear:after,.ui-nosvg .ui-alt-icon .ui-icon-gear:after{background-image:url(images/icons-png/gear-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-grid:after,.ui-nosvg .ui-alt-icon .ui-icon-grid:after{background-image:url(images/icons-png/grid-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-heart:after,.ui-nosvg .ui-alt-icon .ui-icon-heart:after{background-image:url(images/icons-png/heart-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-home:after,.ui-nosvg .ui-alt-icon .ui-icon-home:after{background-image:url(images/icons-png/home-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-info:after,.ui-nosvg .ui-alt-icon .ui-icon-info:after{background-image:url(images/icons-png/info-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-location:after,.ui-nosvg .ui-alt-icon .ui-icon-location:after{background-image:url(images/icons-png/location-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-lock:after,.ui-nosvg .ui-alt-icon .ui-icon-lock:after{background-image:url(images/icons-png/lock-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-mail:after,.ui-nosvg .ui-alt-icon .ui-icon-mail:after{background-image:url(images/icons-png/mail-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-minus:after,.ui-nosvg .ui-alt-icon .ui-icon-minus:after{background-image:url(images/icons-png/minus-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-navigation:after,.ui-nosvg .ui-alt-icon .ui-icon-navigation:after{background-image:url(images/icons-png/navigation-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-phone:after,.ui-nosvg .ui-alt-icon .ui-icon-phone:after{background-image:url(images/icons-png/phone-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-plus:after,.ui-nosvg .ui-alt-icon .ui-icon-plus:after{background-image:url(images/icons-png/plus-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-power:after,.ui-nosvg .ui-alt-icon .ui-icon-power:after{background-image:url(images/icons-png/power-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-recycle:after,.ui-nosvg .ui-alt-icon .ui-icon-recycle:after{background-image:url(images/icons-png/recycle-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-refresh:after,.ui-nosvg .ui-alt-icon .ui-icon-refresh:after{background-image:url(images/icons-png/refresh-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-search:after,.ui-nosvg .ui-alt-icon .ui-icon-search:after,.ui-nosvg .ui-input-search:after{background-image:url(images/icons-png/search-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-shop:after,.ui-nosvg .ui-alt-icon .ui-icon-shop:after{background-image:url(images/icons-png/shop-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-star:after,.ui-nosvg .ui-alt-icon .ui-icon-star:after{background-image:url(images/icons-png/star-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-tag:after,.ui-nosvg .ui-alt-icon .ui-icon-tag:after{background-image:url(images/icons-png/tag-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-user:after,.ui-nosvg .ui-alt-icon .ui-icon-user:after{background-image:url(images/icons-png/user-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-video:after,.ui-nosvg .ui-alt-icon .ui-icon-video:after{background-image:url(images/icons-png/video-black.png)} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.inline-png-1.4.5.css b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.inline-png-1.4.5.css deleted file mode 100644 index 7a3eea5da2cf3fe23f3aae0cf95bbbc1bbf7ed3e..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.inline-png-1.4.5.css +++ /dev/null @@ -1,4380 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! -* jQuery Mobile 1.4.5 -* Git HEAD hash: 68e55e78b292634d3991c795f06f5e37a512decc <> Date: Fri Oct 31 2014 17:33:30 UTC -* http://jquerymobile.com -* -* Copyright 2010, 2014 jQuery Foundation, Inc. and othercontributors -* Released under the MIT license. -* http://jquery.org/license -* -*/ - - -.ui-icon-action:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAIVJREFUOMtjYCAC/P//fxYQszGQCv5DwDEgliRHIwg8A2JLdEEYaICKqwHxciD+gCb/E4jTGHBosgPiL/+xA1SNSM7iBeIXQPwDiOuAWByvU5E05gPxZyC2xhs4WDTuBuJwtMCZCYsOmHewaZyLJ3Qb4GqxaDQiFC1YNRITn9TRSAqgSCMAGL+QeSGFbu0AAAAASUVORK5CYII="); -} -.ui-icon-alert:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJVJREFUOMu9z7ENgkAUgOGj0I6eBXQCg8QRdAhdwiV0CF2CIRxBF6Cn08LP5oxIIEjjX13evS+5C6EnbLAOY8IUN1wxGQP3Pu1/RRnqBqyR/QLPEeQo4vk0hJZ4QmMmzvI+lODyfl8LindJF9z5rsCqNdu2UYrKcBXSJjx2LC3in9sd3miOR8fCsuOpcMcsoDS+Mvy9F2w1bmFOO7YjAAAAAElFTkSuQmCC"); -} -.ui-icon-arrow-d-l:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAE9JREFUOMut0VsKACAIBECP3tG8mSFZRGVujwV/wkE0IjAikrToJIZq0g3CsIMK9PQWWcM0OkQdbI8QGqCGIbSAAl/wCgWQo7/6PvFpRxdn/yOefcvwdI0AAAAASUVORK5CYII="); -} -.ui-icon-arrow-d-r:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAE1JREFUOMtjYICC////N4AwAykAqgkGGsjRRLRmJhzi9UTZjMNWnDajiBOrGaaOJJuR5Ulx9gFkDql+xq+RGM2EQvsAfWwky4/EaAIBAH/xh5XOyrKIAAAAAElFTkSuQmCC"); -} -.ui-icon-arrow-d:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADdJREFUOMtjYMAC/qMBBmLBqEZKNQLFG/6TDhrI0dxAjs0N5Di7gVDANJCsCYfmBgZSAFQzTk0AIbtHzgIaJM8AAAAASUVORK5CYII="); -} -.ui-icon-arrow-l:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAD5JREFUOMul0kEKADAMAsE8PT/fXktpqVHvA8FY9QjQNQ3QABYawR3J8EQSvKFfLJRB+9SonOgd0QCiyakjXzjeR87keFK/AAAAAElFTkSuQmCC"); -} -.ui-icon-arrow-r:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADpJREFUOMu90rENADAIA0FG/82dgooiSDgK31+DiWiSRDgpw4VzrBourFjzcGHiTcjbcX7PwdrLXdEBwEtHzn8VrGMAAAAASUVORK5CYII="); -} -.ui-icon-arrow-u-l:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEtJREFUOMtj+E8caGBAB2RpIkIjdk0ENB5gwAdoYSNJfjxATqg2QPkNRGnGJkiUZlx+INpmUjUz4dPIyMgIMr2RgVyAZnMDOZrhmgAEuoiZ+HH38AAAAABJRU5ErkJggg=="); -} -.ui-icon-arrow-u-r:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEdJREFUOMu9z8ENACAIQ9GOzmhuVq+GSCke/Fd8AYEUyaARbjkYVR2GiuT6s/HpjwKtEgoUeW6j/G6ETjxG3YkaFdhDCdtoA045nn2X6PolAAAAAElFTkSuQmCC"); -} -.ui-icon-arrow-u:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADlJREFUOMtjYMAB/v//3wDCDKQAqCYYaCBHE3GacWjCr5mAJuyaidSEqplETQSdjQJIiY5RjZRoBADXbkfOGh7ilQAAAABJRU5ErkJggg=="); -} -.ui-icon-audio:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAANxJREFUOMuV0rEuRFEQxvETL2DpZVEoVLyFJ1CJRKfabCKikbiJUhQa3kSj32K7DQqJwgugQVay8lOYleO654avmm/m/HMmM5NSg3CUxTO4wlZqE44xyfwa3nzprA2Sg5FfwV3UDkrQN4gd9CJewCPesZQw9FtTcBR+P3wv/GnSrCnYxRNe0cEcPnDbCgZ8HrmN8A8Y/wW8+DeIZTzjBbOYj1ZvEgaYFMDr8P3w/fAn+TqqBnAbuxEvxqDG6NZ3WRUOYBX3UdsrXU9VG856/PKzxQJ8WDvyS2zmbz4B8IPWAlHG2vgAAAAASUVORK5CYII="); -} -.ui-icon-back:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJJJREFUOMtjYEAD////b2AgFYA0AfF/sjSRpBFZExT8AeLXQHwciCcAsQOxGrGBM0CsS0gzKxBLA7ELELcC8VOo+Ccg1iY6cIBCXEC8Fqp5M05n4xCXgGr8TGqoC5OrsRGqcS+xGkABVQ/E/6AaXQlpUATiYiC+C9UA0lhKjE3I4CYQexDrxGdAvBSIfYGYCV0eAL8TDNuB31nNAAAAAElFTkSuQmCC"); -} -.ui-icon-bars:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAClJREFUOMtjYKA7+P///8n/pIMTII3HydB4lGHUjzTy4xly/XhiaPgRALzOTCcBlK2mAAAAAElFTkSuQmCC"); -} -.ui-icon-bullets:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADpJREFUOMtjYKA7+P///0kgPo7GJwROgBQeB+KjSBqPE6HxKMOoH2nkxzNgN6PyifLjCTQ/nhicfgQA/VEZvCqEuYoAAAAASUVORK5CYII="); -} -.ui-icon-calendar:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADFJREFUOMtjYICC////nwTi4ww4AFDuDBCfQBYgCwwljWQDZBNIYpOtcdSpeGwhVyMA6YDNaA+GXWMAAAAASUVORK5CYII="); -} -.ui-icon-camera:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJ1JREFUOMtjYKAW+P//vzoQ1wBxAxSD2KrYFHIBcSaSwqf/McFjJPksIOYEadz8n3SwCaTxDxaJh0A8AYj7oGx08IcBi+ABIBaFOh/kLBEgPoiuCJtGAzTnbwJiQ2I0sgDxLyT+TyBmJdbGTUj89UBsTIzGQ0h+zICyj2DT+BeL5kdA3A8N2ce4QnUTGfG4HqSREy3lEMIZ4JRDLgAADx5bua1tC5oAAAAASUVORK5CYII="); -} -.ui-icon-carat-d:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAHdJREFUKJHV0D0OwjAMBtCcpiBSVn7uv8MpUNVMwAUeSyuiKG3DyLdZ9rMlh/BfwR6nhrkLurnYYcAT5xV0xRsPdAF331TxdOmVzd0CIsYlXEEjDnOzildRtjkiFbhEcekBJd5GGe4LnDZRho8TSOibUIF/Qy35ADEDFfz8Tu1HAAAAAElFTkSuQmCC"); -} -.ui-icon-carat-l:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAFNJREFUOMtjYMAD/v//rwvE54FYhYFYAFSsB8Sv/0PAUyBWJVUTCLwHYmNyNJkQo+kNqZr06aOJIo14NJuSEnfImj+Qqvk1mmYzumt+TGp6xZnIAZYXFgOYoY9iAAAAAElFTkSuQmCC"); -} -.ui-icon-carat-r:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAGRJREFUOMtjYEAD////Vwfi80CsxUAsACrWAOLn/yHgJRBrE6vRDIg//EcAkjSbU1PzK0o161CiWZdYjR9JshWowIIcTZZYNGkTo+kTSdEBdd4nkuMQqEgNiJ+SHPFIms8RSuQASm4V+ztdam4AAAAASUVORK5CYII="); -} -.ui-icon-carat-u:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAG5JREFUOMtjYKA2+P//vz4Ik6PpDRTrkaoJBghrBilA0wQDr3Fqhmp6jaT4PRQja9YlRpMJEJsC8QesmkEMbJqQDEXX/AqsGUicx6UJj+ZzIEEVIH6KSxOSZjOo5scgPTBBVSA2JiKqzOCahg4AAODRFgCi4LIMAAAAAElFTkSuQmCC"); -} -.ui-icon-check:after, -/* Used ui-checkbox-on twice to increase specificity. If active state has background-image for gradient this rule overrides. */ -html .ui-btn.ui-checkbox-on.ui-checkbox-on:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAE5JREFUOMu10DEKACEQQ1GPHl2QxUvHZsURQRJhfzfFKzIp/R1JkISLMmdQUeEebtAKvw053I+KRuUGncLpYxoS9kgfrDYK+LVRwM1GTh2KeDEWoG7NGwAAAABJRU5ErkJggg=="); -} -.ui-icon-clock:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAN5JREFUOMuNkl0KglAQhYeexA0kthWtVQRCq6gQWkBRi4mIaA/Zm2EbsYJ6STsjx7jYtTrwoXecP2euiKGyLHtgBc7gQTKwBL7YhA8jcCvbdQWRLaigwxoEwCEh2PBb8Q5me3WliZHsCA7GOabPBXjCf6oqNbqo1LBtaV4IB6EK/gjs03wSTk7l2AKphDaX53tH2pUY70/bGjJmCeWH4DOgb6oV97SP5bemfO41i8/lquIv1Wb0yUG3NkbGBdhyei7R9nbGBRg2M0ZcbpvyjyAj2NPl6p505CQF83d71As1WJi0XvrCDgAAAABJRU5ErkJggg=="); -} -.ui-icon-cloud:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAHRJREFUOMtjYBhw8P//f2EgTgTiWigtRIymSCD+/B8VfATiEHyabIH473/s4DcQm+PSuOs/fvAPiF8BsT+yJncg/vafOPASpqniP2ngCxBzgjS+/U862AjS+I4MjT9BGsvJ0LgO5k8XaIQ3EIEzgZiD/kkTAK0pr7/Ot6yrAAAAAElFTkSuQmCC"); -} -.ui-icon-comment:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEJJREFUOMtj+P//fyAQv/xPPHgFxP4MJGqCgZcM/8kEoxpppfEVGfpegDT6k5gIXgCxLwMyQJJsYCAFkKUJqpFoTQBdxXiyPJoNzQAAAABJRU5ErkJggg=="); -} -.ui-icon-delete:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAFtJREFUOMulklEKwDAIQ83J153c0U1GK0ZG5o/ga4pNA4ty9zE7gGFFZY5leMSZM4srjjS0LKacgBtGLxmaW1k9q5J3tKLXnI/izbT/QmlVyRz5O+QAyJFTQ34BOkVgA0nxhd0AAAAASUVORK5CYII="); -} -.ui-icon-edit:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAExJREFUOMtjYCAS/P//vwGEGUgBUE0w0ECuRsKakZ1HtK3YFBL0JxanEe28/yRpHPyaFEjWBNWYQLImqMYFJGuCajwA1QyyWYHYZAgAGGspdigXzkIAAAAASUVORK5CYII="); -} -.ui-icon-eye:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJ9JREFUOMtjYBhQ8P//f0YgjgLig0D8FYoPQMUYcWmSgCrCBUBy4uia5ID4HlTBDyDOBmIBIOaDsn9A5UBq5GCa+IH4OpLJ2Vhck4MkD1LLDxJcheYkAajik0B8HMlwZLCSCYt3/yHRMDYjtkBBd2ouFjUFSPLXQH7HFTi5UAMFoJp+YgQOkqniBKJjP0Z0oCWASKgBX6D4AFSMcWCTJwDwblGBQMiLsgAAAABJRU5ErkJggg=="); -} -.ui-icon-forbidden:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAANZJREFUOMuF0jFuwkAUhOEtCT0R4iwh4hgu0uUM3AAU5TKIKk1OgSPlHCgUQMOXZrAsY8NIK9k7/v3ezttSWsIMn/jFGSf84AOz0ie842BYB1R90CUffOEFo6w5NvEuDZz22pVqTHo6Wsb/w7TkTNdK9QN4G39dEoS0N7kH4zXeriQ9GMUchDHO/rEk8ga8B+Mpe6eSOcG809YNjMX1vWS4sOkJowt/53nVHcfyAQx7PF/NqnUBtklvnDMtWpUueOv+ucpwh7S/gVrwFGvscEziNVZNe9E/AYkNLyf6mZAAAAAASUVORK5CYII="); -} -.ui-icon-forward:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJVJREFUOMud0SEPQWEUBuA7I6iSTdFtfoNgJvkzNtE+QfcnRFFVFX9AECmaieYRfOGyue533/qeZ2c7J8tKBCGrEu+EqrAYY4AV9rji4TPhG/Rx8D8hj3q4xeKMJYbooFG0bRuLDZqlj4N7LNtJ78jBVuq5dxEuUuEowifmqKfgWYRwwhTdsniMY/5pKZtrmGCNy6+5F/zkDN/sPUM/AAAAAElFTkSuQmCC"); -} -.ui-icon-gear:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAANBJREFUOMuN0k1OAkEUReGKDVPsBUiCe/An6CZMCHERkLgABzpwr0rCAhoM/Tl56ktTQc+o07dud71TVUoFXOITe0zLKfCIOcZ488sLRrjDslaCHlvHbCPrscjFebz8ix7XuThOf+qwQotJPHeRbdBkEXmmVWX+dcpfMSthL9NWiueDNfsSyjOTSrEdrOkKpqH81FafUv6Mi+9gNJCzju21UdpF9o6z/MV7/+OAm1xcxhkd8FEpbNIFeBjOscAVmlCeZ2pwe1SqyJiF7d2PiAFfUWcCdKtjEnkAAAAASUVORK5CYII="); -} -.ui-icon-grid:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAElJREFUOMtj+P///8n/CHCcAQjQxE5Axc4gizGCSAYkwAgExIgxMZAJQBpPIPGPQWlsYiexiJEBhlbgnCQyIKgXOGcIBcQQDxwAcK29sfGNuOEAAAAASUVORK5CYII="); -} -.ui-icon-heart:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJhJREFUOMud0L0NwjAQgNErGAEGoU0WSYUEggGyVULFCFCyAgPQQQsU5NE4EuLfPOka258sXUREYIwldtiixiBNnc526c04UlTg7NkqzaMzisBGvnW8+e2bU+D4R3gItH+Ebb+cXEW/2SYjaqKHEfY/RHsM4x5KXD5EF5TxCipcX0RXVPEJpugeokn8AosUd5hFDswxfXd/AyJMQU8RkPn/AAAAAElFTkSuQmCC"); -} -.ui-icon-home:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADxJREFUOMtjYMAB/v//3wDCDKQAqCYYaCBHE3GacWjCr5mAJuyaidSEqplETZg2E6sDmx8p10iK3HDWCADqFJ92uuEinAAAAABJRU5ErkJggg=="); -} -.ui-icon-info:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJ1JREFUOMul0k0KwjAQQOHcQtF7SPEeQsHrKHo8S71IVdBVPzejaJ0u1AezSfKS+UkpL2COPY64RbTYYVYysMbFOGfUmdQPDi5QDdb6pxzpZS9VWCbrJ0xL1PQt2xKNeGNQRkZTonPG5BHx+pfY/iAeSgz3W3FTMIvhps1J5A6Tx0adfICMHqvhrXUMd4zuQ3qRp9iiwTXigM0zveAO8O5cUyF3tnAAAAAASUVORK5CYII="); -} -.ui-icon-location:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJlJREFUOMuV0TEOAVEUhtHXWYGh04pWzypYlJWIIENU1oQQdJKjucUL4+Er/7knr5iUXsIAO9xxwxb9VCrQxXvnIo6XYI0KbdSxbUrwHkdVtlWxXUvwFEedbOvEdizBVRzV6AbaxrYswanPTUqwhUMDOqD17ZfMGuAsfQs9PDL0QC/9EhYZnKdfwzCDw/RP2GOf/g1jjD59fwKZSi5HaePOlAAAAABJRU5ErkJggg=="); -} -.ui-icon-lock:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAHFJREFUOMtjYEAD////Dwbiw0D8HYoPAXEgAz4AVND7HzfowqUpGKrgBxBnA7EAEPNB2T+gcv7YNB6GSmZjkcuByh3EpvE7VFIAixw/VO4rNo1ggMf/mPL/SQQ002gCxObkaDQGYlNyNDZAMf000iZUAdQHDgw3MuoHAAAAAElFTkSuQmCC"); -} -.ui-icon-mail:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAIVJREFUOMtjYKA7+P//fzQQf/xPPACpjQZp5AJiRSA+SoQmkBoFkB6QxqtArAXEzEDcAMR/sGgAidVD1WiD9DBAJb4CcQLU6VZAfB9J0z0gtoTKJUDV/mdAM3kB1Ol8QLwEivmgYguQFTJgcRbY6UiBpw0V+09II9zpyE4jViNBMAAa6Q4ARIAH2Rfeh/QAAAAASUVORK5CYII="); -} -.ui-icon-minus:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABZJREFUOE9jYBgFuMF/MsFQ0jgKcAMA2lPfIe/W1fgAAAAASUVORK5CYII="); -} -.ui-icon-navigation:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJNJREFUOMtjYKA1+P//vxAQ5wLxXGIUMwGxKxCvAOIf/yEgB58GeSBuAOIH/1HBdyAWRFfMAcSRQLwbiP/9xw6WI2swBOIpQPzuP2Hggu5pMyCOBuJ6IF4CxCeA+C2aJpCzGYkNSWRX1JMSBSehmv4CsRwpGpdCNe4iNdIboBojSNUYAw0kdlI1mgPxZHLTpyE2OQBXFwcOWoyvmwAAAABJRU5ErkJggg=="); -} -.ui-icon-phone:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAALRJREFUOMtj+P//PxMQLwDiI0DMy0AsACqOAuKz/yHgGNGagQrfAPFqNM08xGj8BtWwBqr5NxCbEqPx9H8EWAXEHsQ6tRxJ4yVSAocf6k8YCCZFcyySxi9AbE6K5vlImj8AsTWavBYQc2PTyAbEu5E0/wDiFKicNTT0sScSoCAXEO/5jwouAfFypHg+ikszyOaF/zHBGiTNh/D5OQGI36JphqWwiYQCTACIK4D4HNTPr2HRBQChdFG//DBhowAAAABJRU5ErkJggg=="); -} -.ui-icon-plus:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAB5JREFUOMtjYMAC/qMBBmLBcNP4n0wwlDSOJgDcGgFPin6QGOaERAAAAABJRU5ErkJggg=="); -} -.ui-icon-power:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAANBJREFUOMtjYMAB/v//vxeIdzOQCv5DATEKQ4H4FhCbo2sEUrZAfBuIA9E1KQLxV6jaUCwaY6HcL0Ash6xxClRiNS6nApkboEITkTXehwoa49FoBhW6g6zxD1SQBY9GVqjQb2SNX6CCQkhiF4H4PBJfBKrmE7LGQ1DBBCQxJiBmROKnQtXsQ9aYCBV8AQphLFGlAsSvoWpikSWYkWx9A8QloIACYhMgLgfid1A5UGpiQjdVEIgP/scNQJr4caUeJmhk7wbi51C8C4ijkf1LEQAAs65tnfCMVk0AAAAASUVORK5CYII="); -} -.ui-icon-recycle:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJ9JREFUOMtjYKAm+P///1kg/gnEP6DsQiBmJ0YjNnAZiGUIafQDYi4g5gZiXyC+DtV8CcVmICcUhPEYxI+kuQAmKArEr6BYlIArQOA0TGA1kj9W4dHIA1XzDVnwB1SQG49GTAugQQ4Cvng0YnoJyCiCagQFAD8ezaiBCORwAPEVJM1+UD+BcAihuJNF0owCiEkxHNDkdQYUelB8gqrpGQBlvyiNmsjT4QAAAABJRU5ErkJggg=="); -} -.ui-icon-refresh:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAM9JREFUOMtjYEAC////lwbiTiC+AsQ/gfgHEF8C4lYglkBSV4+sKRaIv/zHDT4BcSQQNwPxH5imGCD+B1WwCoitgJgNiq2BeC2aIX9AmiSB+DNUII8BBwDK7UfX2A7lrMGjqRmbjVegHEscmhqx+Bes8QeUw8ZACqBE42WoRmtSNbZBNa4lQq0vEDPDOJLQyAWBEjyaqqBqDiILRiAlgA1AbA/E3FDsCMRboHJ/gTgI3cQwIP6AJ8mB5IJxOUcMiJuA+Dw03X6BskFxKYasFgCG8ZXX6DfYhgAAAABJRU5ErkJggg=="); -} -.ui-icon-search:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAONJREFUOMuV0c8qhVEUhvFvcvKlMHBCUUwU5RpMlIm5UnIFOp2bMHEDiokLkJKpMpXO4Bg4MlAGLkDK3/AzWYPd195iDd/nfVbttasqBjU6OMcdetjFdFUazOJGfp6wlpNqDKI0wDrmsYzjyF+x1BS3E2k0s/gg+EkTnAXYKDyjjU+8o07BbYiLv9zgPjpzaXgR4UpBGsJLdMZSsBPhaUHsBO81wRQeAx5iMrl2Fx/BNnNbV/EchS884K3xn32M5+QFHCXCNy6xhevIrtAuXbCFGYwk2cSf5MLCVN6r/jMh72P4BxnPgmBrkPyTAAAAAElFTkSuQmCC"); -} -.ui-icon-shop:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAE9JREFUOMtjYEAD////ZwfiKUD8Hog/QtnsDIQAVOE6IBYDYlEg3gDEk4nRCLJJDIkPMuADMRr/EyMGlyAF4NJoiUWtOTEaybZxVOOAaQQAmEocSjETvxYAAAAASUVORK5CYII="); -} -.ui-icon-star:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJFJREFUOMtjYMAB/v//bwzCDKQCoKZZQDyTVE28QPwZiD8BMQ8pGtP/I0AaKRrPImk8g0tRAhB//U88AKmNh2nWAuKrRGi6AlKLbjMXEC/Ao2k+SA0uZyvj0aiML1Cy8GjMxKdxA1TRWyAOh+K3ULH1uDSxQCN8KxBLIolLAvE2IP4IUoNNowG+yAbJgdQwUAoAbN9GiH93pK4AAAAASUVORK5CYII="); -} -.ui-icon-tag:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEFJREFUOMtj+I8dNDAQAv9xgwZiNZoBsQXRmpEUgTRZEW3zf+JAAzaNDaOaSYhjApoJJowGspIiFs3EaULTjKEJAH1ft8O6vRfvAAAAAElFTkSuQmCC"); -} -.ui-icon-user:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJdJREFUOMud0jsOQUEUgOEpJGxD0CpswAqUohStLYitiEJUEtHZgETJKjyiIqqb3E9D4nFdE399vuTkzITwFgqYIMEarRAT+l5L0YyBK5/NY+A5Ax5/oZrsUlTz4ND3BnmwglMGOqD8a91ZBpzGHKeB6xO6oB77lssnuMgbLKGDMbb3X/MowQYjtFF8oB724tuhG/zZ3/AGG1/AkN/xnJsAAAAASUVORK5CYII="); -} -.ui-icon-video:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAExJREFUOMvF0csJACAMBNE0KGJHlqtpYjwJIvF70Lk/CFmR5wEByIxTwFtwhmq5M1HYrEUAR7CiI9iiN/D6VOs5uuGSNYdfbJkAJ98rtv7WyPB7sagAAAAASUVORK5CYII="); -} -/* Alt icons */ -.ui-alt-icon.ui-icon-action:after, -.ui-alt-icon .ui-icon-action:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAH1JREFUOMtjYCAOzAJiNgYywH8gPgbEkuRoBOFnQGyJLgjDDVBxNSBeDsQf0OR/AnEaAw5NdkD8BYuhWDXCAC8QvwDiH0BcB8TihJwKA/lA/BmIrQkFDrrG3UAcjhY4M5GiowGXxrl4QrcBWS26RiMiogWrRga6aSQFk68RAP5OVqWXKdm9AAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-alert:after, -.ui-alt-icon .ui-icon-alert:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJZJREFUOMtjYMANvIHYi4FEwAbEt4D4JhCzkqKxFIj/Q3EpsZokgPgTksZPUDGCYAFUgxkQW0DZ8wlpMgfif1DFMPAfKmaGSxMjEJ9EciKyxv9QOUZsGhOQFP2HOtMKTSweXRMvED9HU4QNP4eqhYNuLIpMoH5GF++CaVID4l9YFJhjcSoI/wRiVZDGrUQ4ER1vZaA7AAA8nEl47CBNKgAAAABJRU5ErkJggg=="); -} -.ui-alt-icon.ui-icon-arrow-d:after, -.ui-alt-icon .ui-icon-arrow-d:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADRJREFUOMtjYMAO/qNhosGoRko1NmBRSAg3kKO5gRybG8hxdgOhgGkgRxM2zQ0MJIIGfJoARZtMu19O4xgAAAAASUVORK5CYII="); -} -.ui-alt-icon.ui-icon-arrow-d-l:after, -.ui-alt-icon .ui-icon-arrow-d-l:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAElJREFUOMtjYCAeNEAxSQCk4T8UN5CjiWjN2DTBNTaQo4kBh9UENTFgESRKEwOa5AFiNTHgUEhUCJKlCZ/GA4Tiiuo2UuRHnJoBqxder3inhF8AAAAASUVORK5CYII="); -} -.ui-alt-icon.ui-icon-arrow-d-r:after, -.ui-alt-icon .ui-icon-arrow-d-r:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEFJREFUOMtjYECABigmCYA0/IfiBnI0kaQZm0aaaW4gRzNMHUk2I8sT7ewDaHyS/ExQIzGa8YIDdLORLD8So+k/AHCSXq9v5cRTAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-arrow-l:after, -.ui-alt-icon .ui-icon-arrow-l:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADdJREFUOMtjYMANGhjIACBN/8nV9J9cTf/J1fSfXE2EMFmaKNNItlMpChyKooOiBEBRkiMqkQMAcwJMu8C5mgwAAAAASUVORK5CYII="); -} -.ui-alt-icon.ui-icon-arrow-r:after, -.ui-alt-icon .ui-icon-arrow-r:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADVJREFUOMtjYMAPGhjIBP/J1fyfXM3/ydX8H5/m/yTiBnI1wjXTTWMDxYFD0+hooFuSw6kJAOa7TLvbyXpwAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-arrow-u:after, -.ui-alt-icon .ui-icon-arrow-u:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADVJREFUOMtjYMANGqCYJADS8B+KG8jRRLRmbJoIasanCadmYjRhaCZFE0FnoyskGoxqpEQjABQxTLu007KqAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-arrow-u-l:after, -.ui-alt-icon .ui-icon-arrow-u-l:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEVJREFUOMtjYGBg+E8EbmDAAsjSxECuJnwaDzAQAFS3kSQ/HiAnVGGSDcRqxiZIlGZcfmggJ8BoppkojeiaidaErBmuCQCtL16vpLfRlQAAAABJRU5ErkJggg=="); -} -.ui-alt-icon.ui-icon-arrow-u-r:after, -.ui-alt-icon .ui-icon-arrow-u-r:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEVJREFUOMu9zzEOACAIA8A+nafxM12JFiwMNmGCCwDcMQBLKBqbQgWX8W8bRz9myCuYISN9GZ1zLRTn26g88YkYllHEMtpyql6v/pwMSQAAAABJRU5ErkJggg=="); -} -.ui-alt-icon.ui-icon-audio:after, -.ui-alt-icon .ui-icon-audio:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAANVJREFUOMuF0jFKg0EQhuHHXCBqL1ELCytzi5zAKgh2ViEgYhMwYCkWaXIUG/sU6YJaCBZewKRRiaAkzRTLun/+r5pvZ15mdhjKukniBh7RVaNb/Cb+BN9YYbQJWmUgHOE1ctdVUAqeoxfxHj7wgwOYJkAOzsJfhe+Fv1eAUrCFOb6wjR384aUOhHG8dcK/Y9lQr62qxKaOh1jgE03sxqjPMInCEvgUvh++H/4u7TwsgGe4iHg/FrWMpSnB+QEc4y1yl1V/HmZgO7r8G7GkQXbkDzhNC9aKZ1PDJ0JepAAAAABJRU5ErkJggg=="); -} -.ui-alt-icon.ui-icon-back:after, -.ui-alt-icon .ui-icon-back:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAItJREFUOMtjYMAEDQxkAJCm/+Rq+k+uJhD+A8Svgfg4EE8AYgdiNWLDZ4BYl5BmViCWBmIXIG4F4qdQ8U9ArE1K4HAB8Vqo3GZ8zsYGJKAaP5Ma6sLkamyEatxLrAZQQNUD8T+oRldCGhSBuBiI70I1gDSWEmMTchzeBGIPYp34DIiXArEvEDOhSwIAi9Qyp4aUzewAAAAASUVORK5CYII="); -} -.ui-alt-icon.ui-icon-bars:after, -.ui-alt-icon .ui-icon-bars:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAACZJREFUOMtjYBgIcBKI/5OIT4A0HidD41GGUT/SCJwh148nhoYfAe0YURTen2r1AAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-bullets:after, -.ui-alt-icon .ui-icon-bullets:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADVJREFUOMtjYBgIcBKIj6Px/xPAJxigmo4iaTxOhMajDKN+pBE4A3MzEp8oP55Ac/OJwelHAGSiQoVBqpe0AAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-calendar:after, -.ui-alt-icon .ui-icon-calendar:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADRJREFUOMtjZECAk0D8D4gtGbCDM0D8B4gtQBxGIP7PQAYYYhoZKLWRJDZFGkedismmTCMAvGkkB7PDw7MAAAAASUVORK5CYII="); -} -.ui-alt-icon.ui-icon-camera:after, -.ui-alt-icon .ui-icon-camera:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJxJREFUOMtjYKAiUAfiGiBugGIQWxWbQi4gzkRS+BSI/6Phx0jyWUDMCdK4GYtCQngTSOMfLBIPgXgCEPdB2ejyID0YggeAWBTqfJCzRID4IBZ1GAIGaM4HOcuQGI0sQPwLif8TiFmJtXETEn89EBsTo/EQkh8zoOwj2DT+xSL4CIj7oSH7GFeobiIjHkHOB6cC5JRDCGfAUg5ZAAAIx317SYGtJAAAAABJRU5ErkJggg=="); -} -.ui-alt-icon.ui-icon-carat-d:after, -.ui-alt-icon .ui-icon-carat-d:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAHFJREFUOMvV0DEKAjEQQNF3GhXXbXW9f6+nkGVTqRfQJoFlIDHa+SFFmHkpwt+1w7Fjb8KmXLaYccepgc544lbwFa98anjCY7V3gQFLA0e0YF+GNdxEa5wCjmiofUDEXah0CDj1oNKYQcoPfdX4C/rYG6dgMtFQD5sUAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-carat-l:after, -.ui-alt-icon .ui-icon-carat-l:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAFBJREFUOMtjYMAPdIH4PBCrMJAA9ID4NRD/B+KnQKxKqiYQfg/ExuRoMiFG0xtSNenTTRNFGnFpNiUl7pA1fyBV82s0zWZ01/yY1PSKM5EDAGi5MtgV7LNzAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-carat-r:after, -.ui-alt-icon .ui-icon-carat-r:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAFpJREFUOMtjYMAE6kB8Hoi1GEgAGkD8HIj/A/FLINYmVqMZEH+AaiRZszk1Nb+iVLMOJZp1idX4kVRbLcjRZIlFkzYxmj6RGh0W5GgCATUgfkpOxMM0nyOUyAF53TLQiFLV2gAAAABJRU5ErkJggg=="); -} -.ui-alt-icon.ui-icon-carat-u:after, -.ui-alt-icon .ui-icon-carat-u:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAGZJREFUOMtjYKAB0IdikjW9gWI9UjX9h2KiNOuhaYLh1/g060EVwBS/h2JkzbrEaDIBYlMg/oBLsy4OTTCArvkVTPN5PJpwaT4HElQB4qd4NMGAGVTzY6geMFAFYmMiosoMWdMQAQBshTLV2RAbgQAAAABJRU5ErkJggg=="); -} -.ui-alt-icon.ui-icon-check:after, -.ui-alt-icon .ui-icon-check:after, -html .ui-alt-icon.ui-btn.ui-checkbox-on:after, -html .ui-alt-icon .ui-btn.ui-checkbox-on:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEtJREFUOMtjYKADaIBikkAjEP+HYqI1NyFpIlozNk0YGhugToKBZmI1wSSayNGEDzfgCzGiNRHyD1Eh2EaOJhjoIEcTDHSRo4loAAAMpkH3I7j13AAAAABJRU5ErkJggg=="); -} -.ui-alt-icon.ui-icon-clock:after, -.ui-alt-icon .ui-icon-clock:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAANhJREFUOMuNkmEKgkAQhYd+hRdI9CpZpwiETlERdICiDhMh0R2qf4ZdxArsT9rbeAtT7GIPPnTHebvjzIp8KwYbcAVPUoA1iMSjMXiAxsMdpC5TzYQt6IMuScCO32ptjtVJU7XZGRzVes6cGwiF/2RP0rIlamWMrYSNaFhem3HA2EXYuYb/4zIaTowFXFcd8euk3l+uhIK7JNKuIXNzc+KBwckfxhmfH0/E4TZsuU8L5pSgZ4OpugAZuxcQU95eXYDR744ph+u7cqXLZBVyuGZOFcnBUpdn9AYEHE/v8XhZcwAAAABJRU5ErkJggg=="); -} -.ui-alt-icon.ui-icon-cloud:after, -.ui-alt-icon .ui-icon-cloud:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAHZJREFUOMtjYBgMQBiIE4G4FkoLEaMpEog/A/F/JPwRiEPwabIF4r9ommD4NxCb49K4C4cmGP4HxK+A2B9ZkzsQfyOgEYZfwjRVEKkBhr8AMSdI41sSNYLwRpDGd2Ro/AnSWE6GxnUwf7pAI7yBCJwJxBz0T5cA6NleA+xgAXwAAAAASUVORK5CYII="); -} -.ui-alt-icon.ui-icon-comment:after, -.ui-alt-icon .ui-icon-comment:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEdJREFUOMtjYGBgCATil0D8n0j8Coj9GUjUBMMvGaEMkgETA5lgVCMBja/J0AeKe3AqICURvABiX3STYJINpDqBLE0MpGgCAMwXLfKbu8xgAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-delete:after, -.ui-alt-icon .ui-icon-delete:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAE1JREFUOMtjYECABijGBbDKgwT+Q3EDDk0Y8siC2DTjlMcm8R/Jaf/xGYxLwX8CriFacwO+kCNZE9kaG2jlP6JDlGB0kJ0AyE5yZCVyAIGUcaXrtLjcAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-edit:after, -.ui-alt-icon .ui-icon-edit:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEVJREFUOMtjYCAeNEAxSQCk4T8UN5CrkSjNyM4j2lZsChtI0USS8/6TqnGQa1IgRxMIJJCjCQQWkKMJBA5ANSdAnU0UAAB60T1Uc0QS+gAAAABJRU5ErkJggg=="); -} -.ui-alt-icon.ui-icon-eye:after, -.ui-alt-icon .ui-icon-eye:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJtJREFUOMtjYBhowAjEUUB8EIi/QvEBqBgjLk0SUEX/cWCQnDi6JjkgvgdV8AOIs4FYAIj5oOwfULl7ULVgwA/E15FMzsbimhwk+etQPQyr0JwkAFV8EoiPIxmOrGYlExbT/yHR/5ACDQOgOzUXi5oCJPlrUL9jDZxcqIECUE0/sQUODIgTiI792KIDOQFEQg34AsUHoGKMA5s2AdHHPobWAPyKAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-forbidden:after, -.ui-alt-icon .ui-icon-forbidden:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAM1JREFUOMuFkkEOgjAQRd9S2WMIZ1HDMVi48wzcAEO8DGHlxlOAiecgshA31M1vUptiJ2lC+3mdmT+F38iBK/AEPsAMPIBGWjDOwASYlTUBZQha9MMN2AMbrQPQSltcOPcyDUAaqKiS/gIy1JPNNETgTvoFGWFUXhqBj9J65J5RP0TgROdvZLkL/oO3OpvRnIzcIwIXzp5GmzZghg/f9V3746gisAFGYGfF0nkAndxL1FPhZFqAk39zqeGuPbkxBNnINNxels8qs3bLA/gCVFFewZEF7yYAAAAASUVORK5CYII="); -} -.ui-alt-icon.ui-icon-forward:after, -.ui-alt-icon .ui-icon-forward:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAItJREFUOMtjYCAONDCQCf6Tq/k/MZodgHgCEB8H4tdA/AdJI1bNekB8Bk0RNoyiURuIP0ElngJxKxC7ALE0ELPis20rVGItEHOSEjhfoJISpEYHTKMQqcG9D6qxkVSNblCN/4C4DohZSNFcBtUIMuAuEBcDsQKxmj2A+CZavBENmIDYD4iXAvEzXIoAgqYyqw9Yg9IAAAAASUVORK5CYII="); -} -.ui-alt-icon.ui-icon-gear:after, -.ui-alt-icon .ui-icon-gear:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAOBJREFUOMuFkkEKwkAMRae13arQXVGo6BFEUS8hiLgSQZcteABddOFJ3YjSA9SK1T/wK2EIGHjw2ySTTDLG6DYAL1CBvhbgC70BMxCCAwio99RzsHYPsEkfUIOCWlLQZ1nJilcGeCBSOovoa2J/FopKJUhBF7SpS/ruoCUHcRFtpUrFTPhzkBhOT96nqyR2nJjKp5BWK4meG2MThyzf2FZJ3Al9BqPmI3CGk7E92/YRPOm7Obs3C2V3Gm8wkXuMxQO4K60+xJ5j12lfxJh7ykWVE/9NwdL8sYQP3N6tpwV8AdaYR91UZ7PcAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-grid:after, -.ui-alt-icon .ui-icon-grid:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEJJREFUOMtjYGBgOAnE/6H4OAMEIIudgIqdQRf7j4aJFiNb43EkzlGoImxiJ7CIkQeGUOCcIDIgqBc4Z4gJiCEcOADCDYeuTK+m9gAAAABJRU5ErkJggg=="); -} -.ui-alt-icon.ui-icon-heart:after, -.ui-alt-icon .ui-icon-heart:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJRJREFUOMud0D0OAUEYBuDHFVyEisYlaITYm1GtcAU99V5CSb+bWKEwkrVZ+/cmb/PNPJkvwydj7JHghAiD0CjMEsQYBWOGDK9St9hVzLNgXCoOm3r257WmZnDvAW9w7AEPMO0BJ9+fjTugWCFDXFuga7j7kwnSGpQWVyxngbwCPTDXkDWeBZRjqWWigHOsdMymDr0BP5J/6NqLuzwAAAAASUVORK5CYII="); -} -.ui-alt-icon.ui-icon-home:after, -.ui-alt-icon .ui-icon-home:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADhJREFUOMtjYMANGqCYJADS8B+KG8jRRLRmbJoIasanCadmYjRhaCZFE1abidWEAaiikRS5YasRAHf0YqUlUKReAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-info:after, -.ui-alt-icon .ui-icon-info:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJxJREFUOMul0ksKwkAQhOHvFga9hwTvIQS8TkSPZ4gX8QG6Stx0IA6TQLSgNtPzz6O6+dYGZ1zxDrc4YW1CBzzRT/iBKgd1ycYtymStG8ObiZtK7DLrdxTiT/1CH0UQaWGsHNiI5PoZOFd7/QW2P4AX0dylYC0m4jETTgrfsBoKVWYAcu6wT0+torlT0C0HDSqiuU0k94og6vHz4AMNCIcMUIkWVwAAAABJRU5ErkJggg=="); -} -.ui-alt-icon.ui-icon-location:after, -.ui-alt-icon .ui-icon-location:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJdJREFUOMuVkDEKwkAUBafzBG7sbCVtej2FHionEVGJIZVniqJouoA2T/jo+pMd+M3sm2bhlxxogA54AjWwYIAcuAOvr7sNxY2GRyAAU6CSO3lhp1EwLsg9vPCqUWZcJnfxwoNGFTBTVMvtvXAT+ZjPrb1wArSRqNWbSxkJS0YwB3oT9XKj2JlwSwKFCQsSOeuSWQHLf49vN4Q5LhENhvAAAAAASUVORK5CYII="); -} -.ui-alt-icon.ui-icon-lock:after, -.ui-alt-icon .ui-icon-lock:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAG5JREFUOMtjYMAEwUB8GIi/Q/EhIA5kIAB6gfg/DtyFS1MwVMEPIM4GYgEg5oOyf0Dl/LFpPAyVzMYilwOVO4hN43eopAAWOX6o3FdsGmF+wQWwyv8nEdNGowkQm5Oj0RiITcnR2ADF9NNIm1AFAP9Vd4ZWPhWFAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-mail:after, -.ui-alt-icon .ui-icon-mail:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAIRJREFUOMtjYBgIEA3EH4H4P5H4I1QPAxcQKwLxUSI0gdQoQPUwXAViLSBmBuIGIP6DRQNIrB6qRhuqByzxFYgToE63AuL7SJruAbElVC4BqvY/A5rJC6DO4APiJVDMBxVbgKYWw1kwp8MAzGn/CWlEdjqy01AwI0w3qYCJ3MhnYhgyAAD7hUiBFf5JtwAAAABJRU5ErkJggg=="); -} -.ui-alt-icon.ui-icon-minus:after, -.ui-alt-icon .ui-icon-minus:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABZJREFUOMtjYBgFeMF/MvFQ0jgKcAAApTQ3yWkQbYUAAAAASUVORK5CYII="); -} -.ui-alt-icon.ui-icon-navigation:after, -.ui-alt-icon .ui-icon-navigation:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJRJREFUOMtjYKADEALiXCCeS4xiJiB2BeIVQPwDiP8DcQ4+DfJA3ADED6CKYfg7EAuiK+YA4kgg3g3E/9A0wPByZA2GQDwFiN/hUIyMXdA9bQbE0UBcD8RLgPgEEL9F0wRyNiOxIYnsinpSouAkVNNfIJYjReNSqMZdpEZ6A1RjBKkaY6CBxE6qRnMgnkxu+jTEJgEAOtUv19DqMFAAAAAASUVORK5CYII="); -} -.ui-alt-icon.ui-icon-phone:after, -.ui-alt-icon .ui-icon-phone:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAALBJREFUOMtjYGBgYALiBUB8BIh5GUgAUUB8Foj/A/ExUjS/AeLVaJp5iNH4DaphDVTzbyA2JUbjaahGEF4FxB7EOrUcSeMlUgKHH+pPmOZgUjTHImn8AsTmpGiej6T5AxBbo8lrATE3No1sQLwbSfMPIE6GyllDQx9nIuEC4j1ImmEBthwpno/i0gyyeSGaZuR4BrEP4fNzAhC/RdMMS2ETCAWYABBXAPE5qJ9fw6ILAKJsPsK6IqZ8AAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-plus:after, -.ui-alt-icon .ui-icon-plus:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAB1JREFUOMtjYMAO/qNhosFw0/ifTDyUNI4mABwaAYa6X6GPliIhAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-power:after, -.ui-alt-icon .ui-icon-power:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAMZJREFUOMtjYMAN9gLxbgYywH8oJghCgfgWEJtj0WgLxLeBOBBdkyIQf4UqDMWiMRbK/gLEcsgap0AlVuNx6gYofyKyxvtQQWM8Gs2g/DvIGv9ABVnwaGSF8n8ja/wCFRRCErsIxOeR+CJQNZ+QNR6CCiYgiTEBMSMSPxWqZh+yxkSo4AtoCKMDFSB+DVUTiyzBjGTrGyAugQaUCRCXA/E7qNxeqEtQgCAQH0QKFHQM0sSPK/UwQZ0CSqPPoXgXEEej+Zd8AAA35kK6jnLDjgAAAABJRU5ErkJggg=="); -} -.ui-alt-icon.ui-icon-recycle:after, -.ui-alt-icon .ui-icon-recycle:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJVJREFUOMtjYKAyOAvEP4H4B5RdCMTsxGj8jwVfBmIZQhr9gJgLiLmB2BeIr0M1X0K3ORSKcQF+JM0FMEFRIH4FxaIEXAHSeBomsBrJH6vwaOSBqvmGLPgDKsiNRyNWC85CBXzxaMTqpSKoxuvQgMAFMAKRA4ivIGn2g/oJhEMIxZ0skmZ0TBBwQJPXGWjogfAJqiZmAOozM3SzI/gZAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-refresh:after, -.ui-alt-icon .ui-icon-refresh:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAMlJREFUOMtjYEAF0kDcCcRXgPgnEP8A4ktA3ArEEkjq6pE1xQLxFyD+jwN/AuJIIG4G4j8wTTFA/A+qYBUQWwExGxRbA/FaNEPAGiWB+DNUII8BN9iPrrEdylmDR1MzNhuvQDmWODQ1YvEvWOMPKIeNgURAtsbLUI3WpGpsg2pcS4RaXyBmhnEkoZEL0lyCR1MVVM1BZMEIpASwAYjtgZgbih2BeAtU7i8QB6GbGAbEH/AkOZBcMC7niAFxExCfh6bbL1B2I1QODgBeWE0SXtioYgAAAABJRU5ErkJggg=="); -} -.ui-alt-icon.ui-icon-search:after, -.ui-alt-icon .ui-icon-search:after, -.ui-input-search:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAOZJREFUOMuV0U8rxFEUxvFPSjMUG/oRio2ivAZLG3ulZGsjzevwBpTZzAuYlD3Zi2JhZKEs7Aclf/Jvc3D7dX8TT906Pc/5nu49l1/VsYUjXOME25jUQ9O4xGfmPGA5B9XRiaYOVjCLReyF/4SFMriZQMOZwc3I98vBQQSrFc8YxRte4nY/ugpwvscObqJn5tvoQzfqiQqohiLqbgoeRt2oADcwgFPcp8E47uIqLYwl227gNbK13NQlPEbDO27xXPrPM4zk4Dm0E+ADx1jHRXjnseWs+jGFocQr/grnlMI7/qkCuxj8AkXLP4FD310vAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-shop:after, -.ui-alt-icon .ui-icon-shop:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAFBJREFUOMtjYMAE7EA8BYjfA/FHKJsdXRETFo29QCwFxOpArALEMkDcw0AEANkkhsQHsT8Qo/E/MWKMeBTjA4zY/GiFRcyCpjYSBUY10kIjAHnuC0BW95IBAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-star:after, -.ui-alt-icon .ui-icon-star:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAIlJREFUOMtjYMANjKGYZDALiGeSqokXiD8D8Scg5iFFYzoQ/4fiNFI0nkXSeAaXogQg/oqkkBAGqY2HadYC4qtEaLoCVYsCuIB4AR5N86FqsAJlPBqV8QVKFh6Nmfg0boAqegvE4VD8Fiq2HpcmFmiEbwViSSRxEHsbEH+EqsEABgQiOw2qhjIAAOvoP4EZPNvPAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-tag:after, -.ui-alt-icon .ui-icon-tag:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEFJREFUOMtjYGBg+I8FNzAQAf6Tqxmm0AyILUjRDFME0mRFis3/icBYNTeMaiYtjhsoSRgN5CZFdM1Ea0LWjKEJAJLwYwqDORsHAAAAAElFTkSuQmCC"); -} -.ui-alt-icon.ui-icon-user:after, -.ui-alt-icon .ui-icon-user:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJdJREFUOMtjYMAELEC8BIh/A/EJIPZlIBJkAfF/JPwPiO2J0XgUTSMIrydG4ycsGl8R0qSKRRPMuSr4NNbi0AjC1fg0KgPxGyyaXgKxIiHnrsGicRkxgWMExF+RNH0GYj1i43IHksaN+BRyAHE4EC8A4ovQVAPTCGJfAOJ5QBwKxOwwTYlA/AJPaKLj50Acz0CCBnRMnkYAFb5i4CiuUNsAAAAASUVORK5CYII="); -} -.ui-alt-icon.ui-icon-video:after, -.ui-alt-icon .ui-icon-video:after { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAE1JREFUOMtjYBgIEAjEL4H4Pw78Coj9sWnEpwmGX6LpaWAgQhMMI2v6T6rGBmQ+sRob0A2iuUaynYoROK+I0PQCW3T4E4hLkCZfhgEHAMf2cCELnGdHAAAAAElFTkSuQmCC"); -} -/* Globals */ -/* Font ------------------------------------------------------------------------------------------------------------*/ -html { - font-size: 100%; -} -body, -input, -select, -textarea, -button, -.ui-btn { - font-size: 1em; - line-height: 1.3; - font-family: sans-serif /*{global-font-family}*/; -} -legend, -.ui-input-text input, -.ui-input-search input { - color: inherit; - text-shadow: inherit; -} -/* Form labels (overrides font-weight bold in bars, and mini font-size) */ -.ui-mobile label, -div.ui-controlgroup-label { - font-weight: normal; - font-size: 16px; -} -/* Separators ------------------------------------------------------------------------------------------------------------*/ -/* Field contain separator (< 28em) */ -.ui-field-contain { - border-bottom-color: #828282; - border-bottom-color: rgba(0,0,0,.15); - border-bottom-width: 1px; - border-bottom-style: solid; -} -/* Table opt-in classes: strokes between each row, and alternating row stripes */ -/* Classes table-stroke and table-stripe are deprecated in 1.4. */ -.table-stroke thead th, -.table-stripe thead th, -.table-stripe tbody tr:last-child { - border-bottom: 1px solid #d6d6d6; /* non-RGBA fallback */ - border-bottom: 1px solid rgba(0,0,0,.1); -} -.table-stroke tbody th, -.table-stroke tbody td { - border-bottom: 1px solid #e6e6e6; /* non-RGBA fallback */ - border-bottom: 1px solid rgba(0,0,0,.05); -} -.table-stripe.table-stroke tbody tr:last-child th, -.table-stripe.table-stroke tbody tr:last-child td { - border-bottom: 0; -} -.table-stripe tbody tr:nth-child(odd) td, -.table-stripe tbody tr:nth-child(odd) th { - background-color: #eeeeee; /* non-RGBA fallback */ - background-color: rgba(0,0,0,.04); -} -/* Buttons ------------------------------------------------------------------------------------------------------------*/ -.ui-btn, -label.ui-btn { - font-weight: bold; - border-width: 1px; - border-style: solid; -} -.ui-btn { - text-decoration: none !important; -} -.ui-btn-active { - cursor: pointer; -} -/* Corner rounding ------------------------------------------------------------------------------------------------------------*/ -/* Class ui-btn-corner-all deprecated in 1.4 */ -.ui-corner-all { - -webkit-border-radius: .3125em /*{global-radii-blocks}*/; - border-radius: .3125em /*{global-radii-blocks}*/; -} -/* Buttons */ -.ui-btn-corner-all, -.ui-btn.ui-corner-all, -/* Slider track */ -.ui-slider-track.ui-corner-all, -/* Flipswitch */ -.ui-flipswitch.ui-corner-all, -/* Count bubble */ -.ui-li-count { - -webkit-border-radius: .3125em /*{global-radii-buttons}*/; - border-radius: .3125em /*{global-radii-buttons}*/; -} -/* Icon-only buttons */ -.ui-btn-icon-notext.ui-btn-corner-all, -.ui-btn-icon-notext.ui-corner-all { - -webkit-border-radius: 1em; - border-radius: 1em; -} -/* Radius clip workaround for cleaning up corner trapping */ -.ui-btn-corner-all, -.ui-corner-all { - -webkit-background-clip: padding; - background-clip: padding-box; -} -/* Popup arrow */ -.ui-popup.ui-corner-all > .ui-popup-arrow-guide { - left: .6em /*{global-radii-blocks}*/; - right: .6em /*{global-radii-blocks}*/; - top: .6em /*{global-radii-blocks}*/; - bottom: .6em /*{global-radii-blocks}*/; -} -/* Shadow ------------------------------------------------------------------------------------------------------------*/ -.ui-shadow { - -webkit-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; - -moz-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; - box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; -} -.ui-shadow-inset { - -webkit-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; - -moz-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; - box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; -} -.ui-overlay-shadow { - -webkit-box-shadow: 0 0 12px rgba(0,0,0,.6); - -moz-box-shadow: 0 0 12px rgba(0,0,0,.6); - box-shadow: 0 0 12px rgba(0,0,0,.6); -} -/* Icons ------------------------------------------------------------------------------------------------------------*/ -.ui-btn-icon-left:after, -.ui-btn-icon-right:after, -.ui-btn-icon-top:after, -.ui-btn-icon-bottom:after, -.ui-btn-icon-notext:after { - background-color: #666 /*{global-icon-color}*/; - background-color: rgba(0,0,0,.3) /*{global-icon-disc}*/; - background-position: center center; - background-repeat: no-repeat; - -webkit-border-radius: 1em; - border-radius: 1em; -} -/* Alt icons */ -.ui-alt-icon.ui-btn:after, -.ui-alt-icon .ui-btn:after, -html .ui-alt-icon.ui-checkbox-off:after, -html .ui-alt-icon.ui-radio-off:after, -html .ui-alt-icon .ui-checkbox-off:after, -html .ui-alt-icon .ui-radio-off:after { - background-color: #666 /*{global-icon-color}*/; - background-color: rgba(0,0,0,.15) /*{global-icon-disc}*/; -} -/* No disc */ -.ui-nodisc-icon.ui-btn:after, -.ui-nodisc-icon .ui-btn:after { - background-color: transparent; -} -/* Icon shadow */ -.ui-shadow-icon.ui-btn:after, -.ui-shadow-icon .ui-btn:after { - -webkit-box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; - -moz-box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; - box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; -} -/* Checkbox and radio */ -.ui-btn.ui-checkbox-off:after, -.ui-btn.ui-checkbox-on:after, -.ui-btn.ui-radio-off:after, -.ui-btn.ui-radio-on:after { - display: block; - width: 18px; - height: 18px; - margin: -9px 2px 0 2px; -} -.ui-checkbox-off:after, -.ui-btn.ui-radio-off:after { - filter: Alpha(Opacity=30); - opacity: .3; -} -.ui-btn.ui-checkbox-off:after, -.ui-btn.ui-checkbox-on:after { - -webkit-border-radius: .1875em; - border-radius: .1875em; -} -.ui-btn.ui-checkbox-off:after { - background-color: #666; - background-color: rgba(0,0,0,.3); -} -.ui-radio .ui-btn.ui-radio-on:after { - background-image: none; - background-color: #fff; - width: 8px; - height: 8px; - border-width: 5px; - border-style: solid; -} -.ui-alt-icon.ui-btn.ui-radio-on:after, -.ui-alt-icon .ui-btn.ui-radio-on:after { - background-color: #000; -} -/* Loader */ -.ui-icon-loading { - background: url(images/ajax-loader.gif); - background-size: 2.875em 2.875em; -} -/* Swatches */ -/* A ------------------------------------------------------------------------------------------------------------*/ -/* Bar: Toolbars, dividers, slider track */ -.ui-bar-a, -.ui-page-theme-a .ui-bar-inherit, -html .ui-bar-a .ui-bar-inherit, -html .ui-body-a .ui-bar-inherit, -html body .ui-group-theme-a .ui-bar-inherit { - background-color: #e9e9e9 /*{a-bar-background-color}*/; - border-color: #ddd /*{a-bar-border}*/; - color: #333 /*{a-bar-color}*/; - text-shadow: 0 /*{a-bar-shadow-x}*/ 1px /*{a-bar-shadow-y}*/ 0 /*{a-bar-shadow-radius}*/ #eee /*{a-bar-shadow-color}*/; - font-weight: bold; -} -.ui-bar-a { - border-width: 1px; - border-style: solid; -} -/* Page and overlay */ -.ui-overlay-a, -.ui-page-theme-a, -.ui-page-theme-a .ui-panel-wrapper { - background-color: #f9f9f9 /*{a-page-background-color}*/; - border-color: #bbb /*{a-page-border}*/; - color: #333 /*{a-page-color}*/; - text-shadow: 0 /*{a-page-shadow-x}*/ 1px /*{a-page-shadow-y}*/ 0 /*{a-page-shadow-radius}*/ #f3f3f3 /*{a-page-shadow-color}*/; -} -/* Body: Read-only lists, text inputs, collapsible content */ -.ui-body-a, -.ui-page-theme-a .ui-body-inherit, -html .ui-bar-a .ui-body-inherit, -html .ui-body-a .ui-body-inherit, -html body .ui-group-theme-a .ui-body-inherit, -html .ui-panel-page-container-a { - background-color: #fff /*{a-body-background-color}*/; - border-color: #ddd /*{a-body-border}*/; - color: #333 /*{a-body-color}*/; - text-shadow: 0 /*{a-body-shadow-x}*/ 1px /*{a-body-shadow-y}*/ 0 /*{a-body-shadow-radius}*/ #f3f3f3 /*{a-body-shadow-color}*/; -} -.ui-body-a { - border-width: 1px; - border-style: solid; -} -/* Links */ -.ui-page-theme-a a, -html .ui-bar-a a, -html .ui-body-a a, -html body .ui-group-theme-a a { - color: #3388cc /*{a-link-color}*/; - font-weight: bold; -} -.ui-page-theme-a a:visited, -html .ui-bar-a a:visited, -html .ui-body-a a:visited, -html body .ui-group-theme-a a:visited { - color: #3388cc /*{a-link-visited}*/; -} -.ui-page-theme-a a:hover, -html .ui-bar-a a:hover, -html .ui-body-a a:hover, -html body .ui-group-theme-a a:hover { - color: #005599 /*{a-link-hover}*/; -} -.ui-page-theme-a a:active, -html .ui-bar-a a:active, -html .ui-body-a a:active, -html body .ui-group-theme-a a:active { - color: #005599 /*{a-link-active}*/; -} -/* Button up */ -.ui-page-theme-a .ui-btn, -html .ui-bar-a .ui-btn, -html .ui-body-a .ui-btn, -html body .ui-group-theme-a .ui-btn, -html head + body .ui-btn.ui-btn-a, -/* Button visited */ -.ui-page-theme-a .ui-btn:visited, -html .ui-bar-a .ui-btn:visited, -html .ui-body-a .ui-btn:visited, -html body .ui-group-theme-a .ui-btn:visited, -html head + body .ui-btn.ui-btn-a:visited { - background-color: #f6f6f6 /*{a-bup-background-color}*/; - border-color: #ddd /*{a-bup-border}*/; - color: #333 /*{a-bup-color}*/; - text-shadow: 0 /*{a-bup-shadow-x}*/ 1px /*{a-bup-shadow-y}*/ 0 /*{a-bup-shadow-radius}*/ #f3f3f3 /*{a-bup-shadow-color}*/; -} -/* Button hover */ -.ui-page-theme-a .ui-btn:hover, -html .ui-bar-a .ui-btn:hover, -html .ui-body-a .ui-btn:hover, -html body .ui-group-theme-a .ui-btn:hover, -html head + body .ui-btn.ui-btn-a:hover { - background-color: #ededed /*{a-bhover-background-color}*/; - border-color: #ddd /*{a-bhover-border}*/; - color: #333 /*{a-bhover-color}*/; - text-shadow: 0 /*{a-bhover-shadow-x}*/ 1px /*{a-bhover-shadow-y}*/ 0 /*{a-bhover-shadow-radius}*/ #f3f3f3 /*{a-bhover-shadow-color}*/; -} -/* Button down */ -.ui-page-theme-a .ui-btn:active, -html .ui-bar-a .ui-btn:active, -html .ui-body-a .ui-btn:active, -html body .ui-group-theme-a .ui-btn:active, -html head + body .ui-btn.ui-btn-a:active { - background-color: #e8e8e8 /*{a-bdown-background-color}*/; - border-color: #ddd /*{a-bdown-border}*/; - color: #333 /*{a-bdown-color}*/; - text-shadow: 0 /*{a-bdown-shadow-x}*/ 1px /*{a-bdown-shadow-y}*/ 0 /*{a-bdown-shadow-radius}*/ #f3f3f3 /*{a-bdown-shadow-color}*/; -} -/* Active button */ -.ui-page-theme-a .ui-btn.ui-btn-active, -html .ui-bar-a .ui-btn.ui-btn-active, -html .ui-body-a .ui-btn.ui-btn-active, -html body .ui-group-theme-a .ui-btn.ui-btn-active, -html head + body .ui-btn.ui-btn-a.ui-btn-active, -/* Active checkbox icon */ -.ui-page-theme-a .ui-checkbox-on:after, -html .ui-bar-a .ui-checkbox-on:after, -html .ui-body-a .ui-checkbox-on:after, -html body .ui-group-theme-a .ui-checkbox-on:after, -.ui-btn.ui-checkbox-on.ui-btn-a:after, -/* Active flipswitch background */ -.ui-page-theme-a .ui-flipswitch-active, -html .ui-bar-a .ui-flipswitch-active, -html .ui-body-a .ui-flipswitch-active, -html body .ui-group-theme-a .ui-flipswitch-active, -html body .ui-flipswitch.ui-bar-a.ui-flipswitch-active, -/* Active slider track */ -.ui-page-theme-a .ui-slider-track .ui-btn-active, -html .ui-bar-a .ui-slider-track .ui-btn-active, -html .ui-body-a .ui-slider-track .ui-btn-active, -html body .ui-group-theme-a .ui-slider-track .ui-btn-active, -html body div.ui-slider-track.ui-body-a .ui-btn-active { - background-color: #3388cc /*{a-active-background-color}*/; - border-color: #3388cc /*{a-active-border}*/; - color: #fff /*{a-active-color}*/; - text-shadow: 0 /*{a-active-shadow-x}*/ 1px /*{a-active-shadow-y}*/ 0 /*{a-active-shadow-radius}*/ #005599 /*{a-active-shadow-color}*/; -} -/* Active radio button icon */ -.ui-page-theme-a .ui-radio-on:after, -html .ui-bar-a .ui-radio-on:after, -html .ui-body-a .ui-radio-on:after, -html body .ui-group-theme-a .ui-radio-on:after, -.ui-btn.ui-radio-on.ui-btn-a:after { - border-color: #3388cc /*{a-active-background-color}*/; -} -/* Focus */ -.ui-page-theme-a .ui-btn:focus, -html .ui-bar-a .ui-btn:focus, -html .ui-body-a .ui-btn:focus, -html body .ui-group-theme-a .ui-btn:focus, -html head + body .ui-btn.ui-btn-a:focus, -/* Focus buttons and text inputs with div wrap */ -.ui-page-theme-a .ui-focus, -html .ui-bar-a .ui-focus, -html .ui-body-a .ui-focus, -html body .ui-group-theme-a .ui-focus, -html head + body .ui-btn-a.ui-focus, -html head + body .ui-body-a.ui-focus { - -webkit-box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; - -moz-box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; - box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; -} -/* B ------------------------------------------------------------------------------------------------------------*/ -/* Bar: Toolbars, dividers, slider track */ -.ui-bar-b, -.ui-page-theme-b .ui-bar-inherit, -html .ui-bar-b .ui-bar-inherit, -html .ui-body-b .ui-bar-inherit, -html body .ui-group-theme-b .ui-bar-inherit { - background-color: #1d1d1d /*{b-bar-background-color}*/; - border-color: #1b1b1b /*{b-bar-border}*/; - color: #fff /*{b-bar-color}*/; - text-shadow: 0 /*{b-bar-shadow-x}*/ 1px /*{b-bar-shadow-y}*/ 0 /*{b-bar-shadow-radius}*/ #111 /*{b-bar-shadow-color}*/; - font-weight: bold; -} -.ui-bar-b { - border-width: 1px; - border-style: solid; -} -/* Page and overlay */ -.ui-overlay-b, -.ui-page-theme-b, -.ui-page-theme-b .ui-panel-wrapper { - background-color: #252525 /*{b-page-background-color}*/; - border-color: #454545 /*{b-page-border}*/; - color: #fff /*{b-page-color}*/; - text-shadow: 0 /*{b-page-shadow-x}*/ 1px /*{b-page-shadow-y}*/ 0 /*{b-page-shadow-radius}*/ #111 /*{b-page-shadow-color}*/; -} -/* Body: Read-only lists, text inputs, collapsible content */ -.ui-body-b, -.ui-page-theme-b .ui-body-inherit, -html .ui-bar-b .ui-body-inherit, -html .ui-body-b .ui-body-inherit, -html body .ui-group-theme-b .ui-body-inherit, -html .ui-panel-page-container-b { - background-color: #2a2a2a /*{b-body-background-color}*/; - border-color: #1d1d1d /*{b-body-border}*/; - color: #fff /*{b-body-color}*/; - text-shadow: 0 /*{b-body-shadow-x}*/ 1px /*{b-body-shadow-y}*/ 0 /*{b-body-shadow-radius}*/ #111 /*{b-body-shadow-color}*/; -} -.ui-body-b { - border-width: 1px; - border-style: solid; -} -/* Links */ -.ui-page-theme-b a, -html .ui-bar-b a, -html .ui-body-b a, -html body .ui-group-theme-b a { - color: #22aadd /*{b-link-color}*/; - font-weight: bold; -} -.ui-page-theme-b a:visited, -html .ui-bar-b a:visited, -html .ui-body-b a:visited, -html body .ui-group-theme-b a:visited { - color: #22aadd /*{b-link-visited}*/; -} -.ui-page-theme-b a:hover, -html .ui-bar-b a:hover, -html .ui-body-b a:hover, -html body .ui-group-theme-b a:hover { - color: #0088bb /*{b-link-hover}*/; -} -.ui-page-theme-b a:active, -html .ui-bar-b a:active, -html .ui-body-b a:active, -html body .ui-group-theme-b a:active { - color: #0088bb /*{b-link-active}*/; -} -/* Button up */ -.ui-page-theme-b .ui-btn, -html .ui-bar-b .ui-btn, -html .ui-body-b .ui-btn, -html body .ui-group-theme-b .ui-btn, -html head + body .ui-btn.ui-btn-b, -/* Button visited */ -.ui-page-theme-b .ui-btn:visited, -html .ui-bar-b .ui-btn:visited, -html .ui-body-b .ui-btn:visited, -html body .ui-group-theme-b .ui-btn:visited, -html head + body .ui-btn.ui-btn-b:visited { - background-color: #333 /*{b-bup-background-color}*/; - border-color: #1f1f1f /*{b-bup-border}*/; - color: #fff /*{b-bup-color}*/; - text-shadow: 0 /*{b-bup-shadow-x}*/ 1px /*{b-bup-shadow-y}*/ 0 /*{b-bup-shadow-radius}*/ #111 /*{b-bup-shadow-color}*/; -} -/* Button hover */ -.ui-page-theme-b .ui-btn:hover, -html .ui-bar-b .ui-btn:hover, -html .ui-body-b .ui-btn:hover, -html body .ui-group-theme-b .ui-btn:hover, -html head + body .ui-btn.ui-btn-b:hover { - background-color: #373737 /*{b-bhover-background-color}*/; - border-color: #1f1f1f /*{b-bhover-border}*/; - color: #fff /*{b-bhover-color}*/; - text-shadow: 0 /*{b-bhover-shadow-x}*/ 1px /*{b-bhover-shadow-y}*/ 0 /*{b-bhover-shadow-radius}*/ #111 /*{b-bhover-shadow-color}*/; -} -/* Button down */ -.ui-page-theme-b .ui-btn:active, -html .ui-bar-b .ui-btn:active, -html .ui-body-b .ui-btn:active, -html body .ui-group-theme-b .ui-btn:active, -html head + body .ui-btn.ui-btn-b:active { - background-color: #404040 /*{b-bdown-background-color}*/; - border-color: #1f1f1f /*{b-bdown-border}*/; - color: #fff /*{b-bdown-color}*/; - text-shadow: 0 /*{b-bdown-shadow-x}*/ 1px /*{b-bdown-shadow-y}*/ 0 /*{b-bdown-shadow-radius}*/ #111 /*{b-bdown-shadow-color}*/; -} -/* Active button */ -.ui-page-theme-b .ui-btn.ui-btn-active, -html .ui-bar-b .ui-btn.ui-btn-active, -html .ui-body-b .ui-btn.ui-btn-active, -html body .ui-group-theme-b .ui-btn.ui-btn-active, -html head + body .ui-btn.ui-btn-b.ui-btn-active, -/* Active checkbox icon */ -.ui-page-theme-b .ui-checkbox-on:after, -html .ui-bar-b .ui-checkbox-on:after, -html .ui-body-b .ui-checkbox-on:after, -html body .ui-group-theme-b .ui-checkbox-on:after, -.ui-btn.ui-checkbox-on.ui-btn-b:after, -/* Active flipswitch background */ -.ui-page-theme-b .ui-flipswitch-active, -html .ui-bar-b .ui-flipswitch-active, -html .ui-body-b .ui-flipswitch-active, -html body .ui-group-theme-b .ui-flipswitch-active, -html body .ui-flipswitch.ui-bar-b.ui-flipswitch-active, -/* Active slider track */ -.ui-page-theme-b .ui-slider-track .ui-btn-active, -html .ui-bar-b .ui-slider-track .ui-btn-active, -html .ui-body-b .ui-slider-track .ui-btn-active, -html body .ui-group-theme-b .ui-slider-track .ui-btn-active, -html body div.ui-slider-track.ui-body-b .ui-btn-active { - background-color: #22aadd /*{b-active-background-color}*/; - border-color: #22aadd /*{b-active-border}*/; - color: #fff /*{b-active-color}*/; - text-shadow: 0 /*{b-active-shadow-x}*/ 1px /*{b-active-shadow-y}*/ 0 /*{b-active-shadow-radius}*/ #0088bb /*{b-active-shadow-color}*/; -} -/* Active radio button icon */ -.ui-page-theme-b .ui-radio-on:after, -html .ui-bar-b .ui-radio-on:after, -html .ui-body-b .ui-radio-on:after, -html body .ui-group-theme-b .ui-radio-on:after, -.ui-btn.ui-radio-on.ui-btn-b:after { - border-color: #22aadd /*{b-active-background-color}*/; -} -/* Focus */ -.ui-page-theme-b .ui-btn:focus, -html .ui-bar-b .ui-btn:focus, -html .ui-body-b .ui-btn:focus, -html body .ui-group-theme-b .ui-btn:focus, -html head + body .ui-btn.ui-btn-b:focus, -/* Focus buttons and text inputs with div wrap */ -.ui-page-theme-b .ui-focus, -html .ui-bar-b .ui-focus, -html .ui-body-b .ui-focus, -html body .ui-group-theme-b .ui-focus, -html head + body .ui-btn-b.ui-focus, -html head + body .ui-body-b.ui-focus { - -webkit-box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; - -moz-box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; - box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; -} -/* Structure */ -/* Disabled ------------------------------------------------------------------------------------------------------------*/ -/* Class ui-disabled deprecated in 1.4. :disabled not supported by IE8 so we use [disabled] */ -.ui-disabled, -.ui-state-disabled, -button[disabled], -.ui-select .ui-btn.ui-state-disabled { - filter: Alpha(Opacity=30); - opacity: .3; - cursor: default !important; - pointer-events: none; -} -/* Focus state outline ------------------------------------------------------------------------------------------------------------*/ -.ui-btn:focus, -.ui-btn.ui-focus { - outline: 0; -} -/* Unset box-shadow in browsers that don't do it right */ -.ui-noboxshadow .ui-shadow, -.ui-noboxshadow .ui-shadow-inset, -.ui-noboxshadow .ui-overlay-shadow, -.ui-noboxshadow .ui-shadow-icon.ui-btn:after, -.ui-noboxshadow .ui-shadow-icon .ui-btn:after, -.ui-noboxshadow .ui-focus, -.ui-noboxshadow .ui-btn:focus, -.ui-noboxshadow input:focus, -.ui-noboxshadow .ui-panel { - -webkit-box-shadow: none !important; - -moz-box-shadow: none !important; - box-shadow: none !important; -} -.ui-noboxshadow .ui-btn:focus, -.ui-noboxshadow .ui-focus { - outline-width: 1px; - outline-style: auto; -} -/* Some unsets */ -.ui-mobile, -.ui-mobile body { - height: 99.9%; -} -.ui-mobile fieldset, -.ui-page { - padding: 0; - margin: 0; -} -.ui-mobile a img, -.ui-mobile fieldset { - border-width: 0; -} -/* Fixes for fieldset issues on IE10 and FF (see #6077) */ -.ui-mobile fieldset { - min-width: 0; -} -@-moz-document url-prefix() { - .ui-mobile fieldset { - display: table-column; - vertical-align: middle; - } -} -/* Viewport */ -.ui-mobile-viewport { - margin: 0; - overflow-x: visible; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust:none; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} -/* Issue #2066 */ -body.ui-mobile-viewport, -div.ui-mobile-viewport { - overflow-x: hidden; -} -/* "page" containers - full-screen views, one should always be in view post-pageload */ -.ui-mobile [data-role=page], -.ui-mobile [data-role=dialog], -.ui-page { - top: 0; - left: 0; - width: 100%; - min-height: 100%; - position: absolute; - display: none; - border: 0; -} -/* On ios4, setting focus on the page element causes flashing during transitions when there is an outline, so we turn off outlines */ -.ui-page { - outline: none; -} -.ui-mobile .ui-page-active { - display: block; - overflow: visible; - overflow-x: hidden; -} -@media screen and (orientation: portrait) { - .ui-mobile .ui-page { - min-height: 420px; - } -} -@media screen and (orientation: landscape) { - .ui-mobile .ui-page { - min-height: 300px; - } -} -/* Fouc */ -.ui-mobile-rendering > * { - visibility: hidden; -} -/* Non-js content hiding */ -.ui-nojs { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -/* Loading screen */ -.ui-loading .ui-loader { - display: block; -} -.ui-loader { - display: none; - z-index: 9999999; - position: fixed; - top: 50%; - left: 50%; - border:0; -} -.ui-loader-default { - background: none; - filter: Alpha(Opacity=18); - opacity: .18; - width: 2.875em; - height: 2.875em; - margin-left: -1.4375em; - margin-top: -1.4375em; -} -.ui-loader-verbose { - width: 12.5em; - filter: Alpha(Opacity=88); - opacity: .88; - box-shadow: 0 1px 1px -1px #fff; - height: auto; - margin-left: -6.875em; - margin-top: -2.6875em; - padding: .625em; -} -.ui-loader-default h1 { - font-size: 0; - width: 0; - height: 0; - overflow: hidden; -} -.ui-loader-verbose h1 { - font-size: 1em; - margin: 0; - text-align: center; -} -.ui-loader .ui-icon-loading { - background-color: #000; - display: block; - margin: 0; - width: 2.75em; - height: 2.75em; - padding: .0625em; - -webkit-border-radius: 2.25em; - border-radius: 2.25em; -} -.ui-loader-verbose .ui-icon-loading { - margin: 0 auto .625em; - filter: Alpha(Opacity=75); - opacity: .75; -} -.ui-loader-textonly { - padding: .9375em; - margin-left: -7.1875em; -} -.ui-loader-textonly .ui-icon-loading { - display: none; -} -.ui-loader-fakefix { - position: absolute; -} -/* Headers, content panels */ -.ui-bar, -.ui-body { - position: relative; - padding: .4em 1em; - overflow: hidden; - display: block; - clear: both; -} -.ui-bar h1, -.ui-bar h2, -.ui-bar h3, -.ui-bar h4, -.ui-bar h5, -.ui-bar h6 { - margin: 0; - padding: 0; - font-size: 1em; - display: inline-block; -} -.ui-header, -.ui-footer { - border-width: 1px 0; - border-style: solid; - position: relative; -} -.ui-header:empty, -.ui-footer:empty { - min-height: 2.6875em; -} -.ui-header .ui-title, -.ui-footer .ui-title { - font-size: 1em; - min-height: 1.1em; - text-align: center; - display: block; - margin: 0 30%; - padding: .7em 0; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; - outline: 0 !important; -} -.ui-footer .ui-title { - margin: 0 1em; -} -.ui-content { - border-width: 0; - overflow: visible; - overflow-x: hidden; - padding: 1em; -} -/* Corner styling for dialogs and popups */ -.ui-corner-all > .ui-header:first-child, -.ui-corner-all > .ui-content:first-child, -.ui-corner-all > .ui-footer:first-child { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; -} -.ui-corner-all > .ui-header:last-child, -.ui-corner-all > .ui-content:last-child, -.ui-corner-all > .ui-footer:last-child { - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -/* Buttons and icons */ -.ui-btn { - font-size: 16px; - margin: .5em 0; - padding: .7em 1em; - display: block; - position: relative; - text-align: center; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.ui-btn-icon-notext, -.ui-header button.ui-btn.ui-btn-icon-notext, -.ui-footer button.ui-btn.ui-btn-icon-notext { - padding: 0; - width: 1.75em; - height: 1.75em; - text-indent: -9999px; - white-space: nowrap !important; -} -.ui-mini { - font-size: 12.5px; -} -.ui-mini .ui-btn { - font-size: inherit; -} -/* Make buttons in toolbars default to mini and inline. */ -.ui-header .ui-btn, -.ui-footer .ui-btn { - font-size: 12.5px; - display: inline-block; - vertical-align: middle; -} -.ui-header .ui-controlgroup .ui-btn-icon-notext, -.ui-footer .ui-controlgroup .ui-btn-icon-notext { - font-size: 12.5px; -} -/* To ensure same top and left/right position when ui-btn-left/right are added to something other than buttons. */ -.ui-header .ui-btn-left, -.ui-header .ui-btn-right { - font-size: 12.5px; -} -.ui-mini.ui-btn-icon-notext, -.ui-mini .ui-btn-icon-notext, -.ui-header .ui-btn-icon-notext, -.ui-footer .ui-btn-icon-notext { - font-size: 16px; - padding: 0; -} -.ui-btn-inline { - display: inline-block; - vertical-align: middle; - margin-right: .625em; -} -.ui-btn-icon-left { - padding-left: 2.5em; -} -.ui-btn-icon-right { - padding-right: 2.5em; -} -.ui-btn-icon-top { - padding-top: 2.5em; -} -.ui-btn-icon-bottom { - padding-bottom: 2.5em; -} -.ui-header .ui-btn-icon-top, -.ui-footer .ui-btn-icon-top, -.ui-header .ui-btn-icon-bottom, -.ui-footer .ui-btn-icon-bottom { - padding-left: .3125em; - padding-right: .3125em; -} -.ui-btn-icon-left:after, -.ui-btn-icon-right:after, -.ui-btn-icon-top:after, -.ui-btn-icon-bottom:after, -.ui-btn-icon-notext:after { - content: ""; - position: absolute; - display: block; - width: 22px; - height: 22px; -} -.ui-btn-icon-notext:after, -.ui-btn-icon-left:after, -.ui-btn-icon-right:after { - top: 50%; - margin-top: -11px; -} -.ui-btn-icon-left:after { - left: .5625em; -} -.ui-btn-icon-right:after { - right: .5625em; -} -.ui-mini.ui-btn-icon-left:after, -.ui-mini .ui-btn-icon-left:after, -.ui-header .ui-btn-icon-left:after, -.ui-footer .ui-btn-icon-left:after { - left: .37em; -} -.ui-mini.ui-btn-icon-right:after, -.ui-mini .ui-btn-icon-right:after, -.ui-header .ui-btn-icon-right:after, -.ui-footer .ui-btn-icon-right:after { - right: .37em; -} -.ui-btn-icon-notext:after, -.ui-btn-icon-top:after, -.ui-btn-icon-bottom:after { - left: 50%; - margin-left: -11px; -} -.ui-btn-icon-top:after { - top: .5625em; -} -.ui-btn-icon-bottom:after { - top: auto; - bottom: .5625em; -} -/* Buttons in header position classes */ -.ui-header .ui-btn-left, -.ui-header .ui-btn-right, -.ui-btn-left > [class*="ui-"], -.ui-btn-right > [class*="ui-"] { - margin: 0; -} -.ui-btn-left, -.ui-btn-right { - position: absolute; - top: .24em; -} -.ui-btn-left { - left: .4em; -} -.ui-btn-right { - right: .4em; -} -.ui-btn-icon-notext.ui-btn-left { - top: .3125em; - left: .3125em; -} -.ui-btn-icon-notext.ui-btn-right { - top: .3125em; - right: .3125em; -} -/* Button elements */ -button.ui-btn, -.ui-controlgroup-controls button.ui-btn-icon-notext { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - -webkit-appearance: none; - -moz-appearance: none; - width: 100%; -} -button.ui-btn-inline, -.ui-header button.ui-btn, -.ui-footer button.ui-btn { - width: auto; -} -/* Firefox adds a 1px border in a button element. We negate this to make sure they have the same height as other buttons in controlgroups. */ -button.ui-btn::-moz-focus-inner { - border: 0; -} -button.ui-btn-icon-notext, -.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn { - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; - width: 1.75em; -} -/* Form labels */ -.ui-mobile label, -.ui-controlgroup-label { - display: block; - margin: 0 0 .4em; -} -/* Accessible content hiding */ -/* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */ -.ui-hide-label > label, -.ui-hide-label .ui-controlgroup-label, -.ui-hide-label .ui-rangeslider label, -.ui-hidden-accessible { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -/* Used for hiding elements by the filterable widget. You can also use this class to hide list items or buttons in controlgroups; this ensures correct corner styling. */ -.ui-screen-hidden { - display: none !important; -} -/* Transitions originally inspired by those from jQtouch, nice work, folks */ -.ui-mobile-viewport-transitioning, -.ui-mobile-viewport-transitioning .ui-page { - width: 100%; - height: 100%; - overflow: hidden; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.ui-page-pre-in { - opacity: 0; -} -.in { - -webkit-animation-timing-function: ease-out; - -webkit-animation-duration: 350ms; - -moz-animation-timing-function: ease-out; - -moz-animation-duration: 350ms; - animation-timing-function: ease-out; - animation-duration: 350ms; -} -.out { - -webkit-animation-timing-function: ease-in; - -webkit-animation-duration: 225ms; - -moz-animation-timing-function: ease-in; - -moz-animation-duration: 225ms; - animation-timing-function: ease-in; - animation-duration: 225ms; -} -@-webkit-keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } -} -@-moz-keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } -} -@keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } -} -@-webkit-keyframes fadeout { - from { opacity: 1; } - to { opacity: 0; } -} -@-moz-keyframes fadeout { - from { opacity: 1; } - to { opacity: 0; } -} -@keyframes fadeout { - from { opacity: 1; } - to { opacity: 0; } -} -.fade.out { - opacity: 0; - -webkit-animation-duration: 125ms; - -webkit-animation-name: fadeout; - -moz-animation-duration: 125ms; - -moz-animation-name: fadeout; - animation-duration: 125ms; - animation-name: fadeout; -} -.fade.in { - opacity: 1; - -webkit-animation-duration: 225ms; - -webkit-animation-name: fadein; - -moz-animation-duration: 225ms; - -moz-animation-name: fadein; - animation-duration: 225ms; - animation-name: fadein; -} -.pop { - -webkit-transform-origin: 50% 50%; - -moz-transform-origin: 50% 50%; - transform-origin: 50% 50%; -} -.pop.in { - -webkit-transform: scale(1); - -webkit-animation-name: popin; - -webkit-animation-duration: 350ms; - -moz-transform: scale(1); - -moz-animation-name: popin; - -moz-animation-duration: 350ms; - transform: scale(1); - animation-name: popin; - animation-duration: 350ms; - opacity: 1; -} -.pop.out { - -webkit-animation-name: fadeout; - -webkit-animation-duration: 100ms; - -moz-animation-name: fadeout; - -moz-animation-duration: 100ms; - animation-name: fadeout; - animation-duration: 100ms; - opacity: 0; -} -.pop.in.reverse { - -webkit-animation-name: fadein; - -moz-animation-name: fadein; - animation-name: fadein; -} -.pop.out.reverse { - -webkit-transform: scale(.8); - -webkit-animation-name: popout; - -moz-transform: scale(.8); - -moz-animation-name: popout; - transform: scale(.8); - animation-name: popout; -} -@-webkit-keyframes popin { - from { - -webkit-transform: scale(.8); - opacity: 0; - } - to { - -webkit-transform: scale(1); - opacity: 1; - } -} -@-moz-keyframes popin { - from { - -moz-transform: scale(.8); - opacity: 0; - } - to { - -moz-transform: scale(1); - opacity: 1; - } -} -@keyframes popin { - from { - transform: scale(.8); - opacity: 0; - } - to { - transform: scale(1); - opacity: 1; - } -} -@-webkit-keyframes popout { - from { - -webkit-transform: scale(1); - opacity: 1; - } - to { - -webkit-transform: scale(.8); - opacity: 0; - } -} -@-moz-keyframes popout { - from { - -moz-transform: scale(1); - opacity: 1; - } - to { - -moz-transform: scale(.8); - opacity: 0; - } -} -@keyframes popout { - from { - transform: scale(1); - opacity: 1; - } - to { - transform: scale(.8); - opacity: 0; - } -} -/* keyframes for slidein from sides */ -@-webkit-keyframes slideinfromright { - from { -webkit-transform: translate3d(100%,0,0); } - to { -webkit-transform: translate3d(0,0,0); } -} -@-moz-keyframes slideinfromright { - from { -moz-transform: translateX(100%); } - to { -moz-transform: translateX(0); } -} -@keyframes slideinfromright { - from { transform: translateX(100%); } - to { transform: translateX(0); } -} -@-webkit-keyframes slideinfromleft { - from { -webkit-transform: translate3d(-100%,0,0); } - to { -webkit-transform: translate3d(0,0,0); } -} -@-moz-keyframes slideinfromleft { - from { -moz-transform: translateX(-100%); } - to { -moz-transform: translateX(0); } -} -@keyframes slideinfromleft { - from { transform: translateX(-100%); } - to { transform: translateX(0); } -} -/* keyframes for slideout to sides */ -@-webkit-keyframes slideouttoleft { - from { -webkit-transform: translate3d(0,0,0); } - to { -webkit-transform: translate3d(-100%,0,0); } -} -@-moz-keyframes slideouttoleft { - from { -moz-transform: translateX(0); } - to { -moz-transform: translateX(-100%); } -} -@keyframes slideouttoleft { - from { transform: translateX(0); } - to { transform: translateX(-100%); } -} -@-webkit-keyframes slideouttoright { - from { -webkit-transform: translate3d(0,0,0); } - to { -webkit-transform: translate3d(100%,0,0); } -} -@-moz-keyframes slideouttoright { - from { -moz-transform: translateX(0); } - to { -moz-transform: translateX(100%); } -} -@keyframes slideouttoright { - from { transform: translateX(0); } - to { transform: translateX(100%); } -} -.slide.out, .slide.in { - -webkit-animation-timing-function: ease-out; - -webkit-animation-duration: 350ms; - -moz-animation-timing-function: ease-out; - -moz-animation-duration: 350ms; - animation-timing-function: ease-out; - animation-duration: 350ms; -} -.slide.out { - -webkit-transform: translate3d(-100%,0,0); - -webkit-animation-name: slideouttoleft; - -moz-transform: translateX(-100%); - -moz-animation-name: slideouttoleft; - transform: translateX(-100%); - animation-name: slideouttoleft; -} -.slide.in { - -webkit-transform: translate3d(0,0,0); - -webkit-animation-name: slideinfromright; - -moz-transform: translateX(0); - -moz-animation-name: slideinfromright; - transform: translateX(0); - animation-name: slideinfromright; -} -.slide.out.reverse { - -webkit-transform: translate3d(100%,0,0); - -webkit-animation-name: slideouttoright; - -moz-transform: translateX(100%); - -moz-animation-name: slideouttoright; - transform: translateX(100%); - animation-name: slideouttoright; -} -.slide.in.reverse { - -webkit-transform: translate3d(0,0,0); - -webkit-animation-name: slideinfromleft; - -moz-transform: translateX(0); - -moz-animation-name: slideinfromleft; - transform: translateX(0); - animation-name: slideinfromleft; -} -.slidefade.out { - -webkit-transform: translateX(-100%); - -webkit-animation-name: slideouttoleft; - -webkit-animation-duration: 225ms; - -moz-transform: translateX(-100%); - -moz-animation-name: slideouttoleft; - -moz-animation-duration: 225ms; - transform: translateX(-100%); - animation-name: slideouttoleft; - animation-duration: 225ms; -} -.slidefade.in { - -webkit-transform: translateX(0); - -webkit-animation-name: fadein; - -webkit-animation-duration: 200ms; - -moz-transform: translateX(0); - -moz-animation-name: fadein; - -moz-animation-duration: 200ms; - transform: translateX(0); - animation-name: fadein; - animation-duration: 200ms; -} -.slidefade.out.reverse { - -webkit-transform: translateX(100%); - -webkit-animation-name: slideouttoright; - -webkit-animation-duration: 200ms; - -moz-transform: translateX(100%); - -moz-animation-name: slideouttoright; - -moz-animation-duration: 200ms; - transform: translateX(100%); - animation-name: slideouttoright; - animation-duration: 200ms; -} -.slidefade.in.reverse { - -webkit-transform: translateX(0); - -webkit-animation-name: fadein; - -webkit-animation-duration: 200ms; - -moz-transform: translateX(0); - -moz-animation-name: fadein; - -moz-animation-duration: 200ms; - transform: translateX(0); - animation-name: fadein; - animation-duration: 200ms; -} -/* slide down */ -.slidedown.out { - -webkit-animation-name: fadeout; - -webkit-animation-duration: 100ms; - -moz-animation-name: fadeout; - -moz-animation-duration: 100ms; - animation-name: fadeout; - animation-duration: 100ms; -} -.slidedown.in { - -webkit-transform: translateY(0); - -webkit-animation-name: slideinfromtop; - -webkit-animation-duration: 250ms; - -moz-transform: translateY(0); - -moz-animation-name: slideinfromtop; - -moz-animation-duration: 250ms; - transform: translateY(0); - animation-name: slideinfromtop; - animation-duration: 250ms; -} -.slidedown.in.reverse { - -webkit-animation-name: fadein; - -webkit-animation-duration: 150ms; - -moz-animation-name: fadein; - -moz-animation-duration: 150ms; - animation-name: fadein; - animation-duration: 150ms; -} -.slidedown.out.reverse { - -webkit-transform: translateY(-100%); - -webkit-animation-name: slideouttotop; - -webkit-animation-duration: 200ms; - -moz-transform: translateY(-100%); - -moz-animation-name: slideouttotop; - -moz-animation-duration: 200ms; - transform: translateY(-100%); - animation-name: slideouttotop; - animation-duration: 200ms; -} -@-webkit-keyframes slideinfromtop { - from { -webkit-transform: translateY(-100%); } - to { -webkit-transform: translateY(0); } -} -@-moz-keyframes slideinfromtop { - from { -moz-transform: translateY(-100%); } - to { -moz-transform: translateY(0); } -} -@keyframes slideinfromtop { - from { transform: translateY(-100%); } - to { transform: translateY(0); } -} -@-webkit-keyframes slideouttotop { - from { -webkit-transform: translateY(0); } - to { -webkit-transform: translateY(-100%); } -} -@-moz-keyframes slideouttotop { - from { -moz-transform: translateY(0); } - to { -moz-transform: translateY(-100%); } -} -@keyframes slideouttotop { - from { transform: translateY(0); } - to { transform: translateY(-100%); } -} -/* slide up */ -.slideup.out { - -webkit-animation-name: fadeout; - -webkit-animation-duration: 100ms; - -moz-animation-name: fadeout; - -moz-animation-duration: 100ms; - animation-name: fadeout; - animation-duration: 100ms; -} -.slideup.in { - -webkit-transform: translateY(0); - -webkit-animation-name: slideinfrombottom; - -webkit-animation-duration: 250ms; - -moz-transform: translateY(0); - -moz-animation-name: slideinfrombottom; - -moz-animation-duration: 250ms; - transform: translateY(0); - animation-name: slideinfrombottom; - animation-duration: 250ms; -} -.slideup.in.reverse { - -webkit-animation-name: fadein; - -webkit-animation-duration: 150ms; - -moz-animation-name: fadein; - -moz-animation-duration: 150ms; - animation-name: fadein; - animation-duration: 150ms; -} -.slideup.out.reverse { - -webkit-transform: translateY(100%); - -webkit-animation-name: slideouttobottom; - -webkit-animation-duration: 200ms; - -moz-transform: translateY(100%); - -moz-animation-name: slideouttobottom; - -moz-animation-duration: 200ms; - transform: translateY(100%); - animation-name: slideouttobottom; - animation-duration: 200ms; -} -@-webkit-keyframes slideinfrombottom { - from { -webkit-transform: translateY(100%); } - to { -webkit-transform: translateY(0); } -} -@-moz-keyframes slideinfrombottom { - from { -moz-transform: translateY(100%); } - to { -moz-transform: translateY(0); } -} -@keyframes slideinfrombottom { - from { transform: translateY(100%); } - to { transform: translateY(0); } -} -@-webkit-keyframes slideouttobottom { - from { -webkit-transform: translateY(0); } - to { -webkit-transform: translateY(100%); } -} -@-moz-keyframes slideouttobottom { - from { -moz-transform: translateY(0); } - to { -moz-transform: translateY(100%); } -} -@keyframes slideouttobottom { - from { transform: translateY(0); } - to { transform: translateY(100%); } -} -/* The properties in this rule are only necessary for the 'flip' transition. - * We need specify the perspective to create a projection matrix. This will add - * some depth as the element flips. The depth number represents the distance of - * the viewer from the z-plane. According to the CSS3 spec, 1000 is a moderate - * value. - */ -.viewport-flip { - -webkit-perspective: 1000; - -moz-perspective: 1000; - perspective: 1000; - position: absolute; -} -.flip { - -webkit-backface-visibility: hidden; - -webkit-transform: translateX(0); /* Needed to work around an iOS 3.1 bug that causes listview thumbs to disappear when -webkit-visibility:hidden is used. */ - -moz-backface-visibility: hidden; - -moz-transform: translateX(0); - backface-visibility: hidden; - transform: translateX(0); -} -.flip.out { - -webkit-transform: rotateY(-90deg) scale(.9); - -webkit-animation-name: flipouttoleft; - -webkit-animation-duration: 175ms; - -moz-transform: rotateY(-90deg) scale(.9); - -moz-animation-name: flipouttoleft; - -moz-animation-duration: 175ms; - transform: rotateY(-90deg) scale(.9); - animation-name: flipouttoleft; - animation-duration: 175ms; -} -.flip.in { - -webkit-animation-name: flipintoright; - -webkit-animation-duration: 225ms; - -moz-animation-name: flipintoright; - -moz-animation-duration: 225ms; - animation-name: flipintoright; - animation-duration: 225ms; -} -.flip.out.reverse { - -webkit-transform: rotateY(90deg) scale(.9); - -webkit-animation-name: flipouttoright; - -moz-transform: rotateY(90deg) scale(.9); - -moz-animation-name: flipouttoright; - transform: rotateY(90deg) scale(.9); - animation-name: flipouttoright; -} -.flip.in.reverse { - -webkit-animation-name: flipintoleft; - -moz-animation-name: flipintoleft; - animation-name: flipintoleft; -} -@-webkit-keyframes flipouttoleft { - from { -webkit-transform: rotateY(0); } - to { -webkit-transform: rotateY(-90deg) scale(.9); } -} -@-moz-keyframes flipouttoleft { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(-90deg) scale(.9); } -} -@keyframes flipouttoleft { - from { transform: rotateY(0); } - to { transform: rotateY(-90deg) scale(.9); } -} -@-webkit-keyframes flipouttoright { - from { -webkit-transform: rotateY(0) ; } - to { -webkit-transform: rotateY(90deg) scale(.9); } -} -@-moz-keyframes flipouttoright { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(90deg) scale(.9); } -} -@keyframes flipouttoright { - from { transform: rotateY(0); } - to { transform: rotateY(90deg) scale(.9); } -} -@-webkit-keyframes flipintoleft { - from { -webkit-transform: rotateY(-90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoleft { - from { -moz-transform: rotateY(-90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoleft { - from { transform: rotateY(-90deg) scale(.9); } - to { transform: rotateY(0); } -} -@-webkit-keyframes flipintoright { - from { -webkit-transform: rotateY(90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoright { - from { -moz-transform: rotateY(90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoright { - from { transform: rotateY(90deg) scale(.9); } - to { transform: rotateY(0); } -} -/* The properties in this rule are only necessary for the 'flip' transition. - * We need specify the perspective to create a projection matrix. This will add - * some depth as the element flips. The depth number represents the distance of - * the viewer from the z-plane. According to the CSS3 spec, 1000 is a moderate - * value. - */ -.viewport-turn { - -webkit-perspective: 200px; - -moz-perspective: 200px; - -ms-perspective: 200px; - perspective: 200px; - position: absolute; -} -.turn { - -webkit-backface-visibility: hidden; - -webkit-transform: translateX(0); /* Needed to work around an iOS 3.1 bug that causes listview thumbs to disappear when -webkit-visibility:hidden is used. */ - -webkit-transform-origin: 0; - - -moz-backface-visibility: hidden; - -moz-transform: translateX(0); - -moz-transform-origin: 0; - - backface-visibility :hidden; - transform: translateX(0); - transform-origin: 0; -} -.turn.out { - -webkit-transform: rotateY(-90deg) scale(.9); - -webkit-animation-name: flipouttoleft; - -webkit-animation-duration: 125ms; - -moz-transform: rotateY(-90deg) scale(.9); - -moz-animation-name: flipouttoleft; - -moz-animation-duration: 125ms; - transform: rotateY(-90deg) scale(.9); - animation-name: flipouttoleft; - animation-duration: 125ms; -} -.turn.in { - -webkit-animation-name: flipintoright; - -webkit-animation-duration: 250ms; - -moz-animation-name: flipintoright; - -moz-animation-duration: 250ms; - animation-name: flipintoright; - animation-duration: 250ms; - -} -.turn.out.reverse { - -webkit-transform: rotateY(90deg) scale(.9); - -webkit-animation-name: flipouttoright; - -moz-transform: rotateY(90deg) scale(.9); - -moz-animation-name: flipouttoright; - transform: rotateY(90deg) scale(.9); - animation-name: flipouttoright; -} -.turn.in.reverse { - -webkit-animation-name: flipintoleft; - -moz-animation-name: flipintoleft; - animation-name: flipintoleft; -} -@-webkit-keyframes flipouttoleft { - from { -webkit-transform: rotateY(0); } - to { -webkit-transform: rotateY(-90deg) scale(.9); } -} -@-moz-keyframes flipouttoleft { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(-90deg) scale(.9); } -} -@keyframes flipouttoleft { - from { transform: rotateY(0); } - to { transform: rotateY(-90deg) scale(.9); } -} -@-webkit-keyframes flipouttoright { - from { -webkit-transform: rotateY(0) ; } - to { -webkit-transform: rotateY(90deg) scale(.9); } -} -@-moz-keyframes flipouttoright { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(90deg) scale(.9); } -} -@keyframes flipouttoright { - from { transform: rotateY(0); } - to { transform: rotateY(90deg) scale(.9); } -} -@-webkit-keyframes flipintoleft { - from { -webkit-transform: rotateY(-90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoleft { - from { -moz-transform: rotateY(-90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoleft { - from { transform: rotateY(-90deg) scale(.9); } - to { transform: rotateY(0); } -} -@-webkit-keyframes flipintoright { - from { -webkit-transform: rotateY(90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoright { - from { -moz-transform: rotateY(90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoright { - from { transform: rotateY(90deg) scale(.9); } - to { transform: rotateY(0); } -} -/* flow transition */ -.flow { - -webkit-transform-origin: 50% 30%; - -webkit-box-shadow: 0 0 20px rgba(0,0,0,.4); - -moz-transform-origin: 50% 30%; - -moz-box-shadow: 0 0 20px rgba(0,0,0,.4); - transform-origin: 50% 30%; - box-shadow: 0 0 20px rgba(0,0,0,.4); -} -.ui-dialog.flow { - -webkit-transform-origin: none; - -webkit-box-shadow: none; - -moz-transform-origin: none; - -moz-box-shadow: none; - transform-origin: none; - box-shadow: none; -} -.flow.out { - -webkit-transform: translateX(-100%) scale(.7); - -webkit-animation-name: flowouttoleft; - -webkit-animation-timing-function: ease; - -webkit-animation-duration: 350ms; - -moz-transform: translateX(-100%) scale(.7); - -moz-animation-name: flowouttoleft; - -moz-animation-timing-function: ease; - -moz-animation-duration: 350ms; - transform: translateX(-100%) scale(.7); - animation-name: flowouttoleft; - animation-timing-function: ease; - animation-duration: 350ms; -} -.flow.in { - -webkit-transform: translateX(0) scale(1); - -webkit-animation-name: flowinfromright; - -webkit-animation-timing-function: ease; - -webkit-animation-duration: 350ms; - -moz-transform: translateX(0) scale(1); - -moz-animation-name: flowinfromright; - -moz-animation-timing-function: ease; - -moz-animation-duration: 350ms; - transform: translateX(0) scale(1); - animation-name: flowinfromright; - animation-timing-function: ease; - animation-duration: 350ms; -} -.flow.out.reverse { - -webkit-transform: translateX(100%); - -webkit-animation-name: flowouttoright; - -moz-transform: translateX(100%); - -moz-animation-name: flowouttoright; - transform: translateX(100%); - animation-name: flowouttoright; -} -.flow.in.reverse { - -webkit-animation-name: flowinfromleft; - -moz-animation-name: flowinfromleft; - animation-name: flowinfromleft; -} -@-webkit-keyframes flowouttoleft { - 0% { -webkit-transform: translateX(0) scale(1); } - 60%, 70% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(-100%) scale(.7); } -} -@-moz-keyframes flowouttoleft { - 0% { -moz-transform: translateX(0) scale(1); } - 60%, 70% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(-100%) scale(.7); } -} -@keyframes flowouttoleft { - 0% { transform: translateX(0) scale(1); } - 60%, 70% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(-100%) scale(.7); } -} -@-webkit-keyframes flowouttoright { - 0% { -webkit-transform: translateX(0) scale(1); } - 60%, 70% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(100%) scale(.7); } -} -@-moz-keyframes flowouttoright { - 0% { -moz-transform: translateX(0) scale(1); } - 60%, 70% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(100%) scale(.7); } -} -@keyframes flowouttoright { - 0% { transform: translateX(0) scale(1); } - 60%, 70% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(100%) scale(.7); } -} -@-webkit-keyframes flowinfromleft { - 0% { -webkit-transform: translateX(-100%) scale(.7); } - 30%, 40% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(0) scale(1); } -} -@-moz-keyframes flowinfromleft { - 0% { -moz-transform: translateX(-100%) scale(.7); } - 30%, 40% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(0) scale(1); } -} -@keyframes flowinfromleft { - 0% { transform: translateX(-100%) scale(.7); } - 30%, 40% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(0) scale(1); } -} -@-webkit-keyframes flowinfromright { - 0% { -webkit-transform: translateX(100%) scale(.7); } - 30%, 40% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(0) scale(1); } -} -@-moz-keyframes flowinfromright { - 0% { -moz-transform: translateX(100%) scale(.7); } - 30%, 40% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(0) scale(1); } -} -@keyframes flowinfromright { - 0% { transform: translateX(100%) scale(.7); } - 30%, 40% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(0) scale(1); } -} -.ui-field-contain, -.ui-mobile fieldset.ui-field-contain { - display: block; - position: relative; - overflow: visible; - clear: both; - padding: .8em 0; -} -.ui-field-contain > label ~ [class*="ui-"], -.ui-field-contain .ui-controlgroup-controls { - margin: 0; -} -.ui-field-contain:last-child { - border-bottom-width: 0; -} -@media (min-width: 28em) { - .ui-field-contain, - .ui-mobile fieldset.ui-field-contain { - padding: 0; - margin: 1em 0; - border-bottom-width: 0; - } - .ui-field-contain:before, - .ui-field-contain:after { - content: ""; - display: table; - } - .ui-field-contain:after { - clear: both; - } - .ui-field-contain > label, - .ui-field-contain .ui-controlgroup-label, - .ui-field-contain > .ui-rangeslider > label { - float: left; - width: 20%; - margin: .5em 2% 0 0; - } - .ui-popup .ui-field-contain > label, - .ui-popup .ui-field-contain .ui-controlgroup-label, - .ui-popup .ui-field-contain > .ui-rangeslider > label { - float: none; - width: auto; - margin: 0 0 .4em; - } - .ui-field-contain > label ~ [class*="ui-"], - .ui-field-contain .ui-controlgroup-controls { - float: left; - width: 78%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - } - /* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */ - .ui-hide-label > label ~ [class*="ui-"], - .ui-hide-label .ui-controlgroup-controls, - .ui-popup .ui-field-contain > label ~ [class*="ui-"], - .ui-popup .ui-field-contain .ui-controlgroup-controls { - float: none; - width: 100%; - } - .ui-field-contain > label ~ .ui-btn-inline { - width: auto; - margin-right: .625em; - } - .ui-field-contain > label ~ .ui-btn-inline.ui-btn-icon-notext { - width: 1.75em; - } -} -/* content configurations. */ -.ui-grid-a, -.ui-grid-b, -.ui-grid-c, -.ui-grid-d, -.ui-grid-solo { - overflow: hidden; -} -.ui-block-a, -.ui-block-b, -.ui-block-c, -.ui-block-d, -.ui-block-e { - margin: 0; - padding: 0; - border: 0; - float: left; - min-height: 1px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -/* force new row */ -.ui-block-a { - clear: left; -} -ul.ui-grid-a, -ul.ui-grid-b, -ul.ui-grid-c, -ul.ui-grid-d, -ul.ui-grid-solo, -li.ui-block-a, -li.ui-block-b, -li.ui-block-c, -li.ui-block-d, -li.ui-block-e { - margin-left: 0; - margin-right: 0; - padding: 0; - list-style: none; -} -/* No margin in grids for 100% width button elements until we can use max-width: fill-available; */ -[class*="ui-block-"] > button.ui-btn { - margin-right: 0; - margin-left: 0; -} -[class*="ui-block-"] > .ui-btn, -[class*="ui-block-"] > .ui-select, -[class*="ui-block-"] > .ui-checkbox, -[class*="ui-block-"] > .ui-radio, -[class*="ui-block-"] > button.ui-btn-inline, -[class*="ui-block-"] > button.ui-btn-icon-notext, -.ui-header [class*="ui-block-"] > button.ui-btn, -.ui-footer [class*="ui-block-"] > button.ui-btn { - margin-right: .3125em; - margin-left: .3125em; -} -.ui-grid-a > .ui-block-a, -.ui-grid-a > .ui-block-b { - /* width: 49.95%; IE7 */ - /* margin-right: -.5px; BB5 */ - width: 50%; -} -.ui-grid-b > .ui-block-a, -.ui-grid-b > .ui-block-b, -.ui-grid-b > .ui-block-c { - /* width: 33.25%; IE7 */ - /* margin-right: -.5px; BB5 */ - width: 33.333%; -} -.ui-grid-c > .ui-block-a, -.ui-grid-c > .ui-block-b, -.ui-grid-c > .ui-block-c, -.ui-grid-c > .ui-block-d { - /* width: 24.925%; IE7 */ - /* margin-right: -.5px; BB5 */ - width: 25%; -} -.ui-grid-d > .ui-block-a, -.ui-grid-d > .ui-block-b, -.ui-grid-d > .ui-block-c, -.ui-grid-d > .ui-block-d, -.ui-grid-d > .ui-block-e { - /* width: 19.925%; IE7 */ - width: 20%; -} -.ui-grid-solo > .ui-block-a { - width: 100%; - float: none; -} -/* preset breakpoint to switch to stacked grid styles below 35em (560px) */ -@media (max-width: 35em) { - .ui-responsive > .ui-block-a, - .ui-responsive > .ui-block-b, - .ui-responsive > .ui-block-c, - .ui-responsive > .ui-block-d, - .ui-responsive > .ui-block-e { - width: 100%; - float: none; - } -} -/* fixed page header & footer configuration */ -.ui-header-fixed, -.ui-footer-fixed { - left: 0; - right: 0; - width: 100%; - position: fixed; - z-index: 1000; -} -.ui-header-fixed { - top: -1px; - padding-top: 1px; -} -.ui-header-fixed.ui-fixed-hidden { - top: 0; - padding-top: 0; -} -.ui-header-fixed .ui-btn-left, -.ui-header-fixed .ui-btn-right { - margin-top: 1px; -} -.ui-header-fixed.ui-fixed-hidden .ui-btn-left, -.ui-header-fixed.ui-fixed-hidden .ui-btn-right { - margin-top: 0; -} -.ui-footer-fixed { - bottom: -1px; - padding-bottom: 1px; -} -.ui-footer-fixed.ui-fixed-hidden { - bottom: 0; - padding-bottom: 0; -} -.ui-header-fullscreen, -.ui-footer-fullscreen { - filter: Alpha(Opacity=90); - opacity: .9; -} -/* updatePagePadding() will update the padding to actual height of header and footer. */ -.ui-page-header-fixed { - padding-top: 2.8125em; -} -.ui-page-footer-fixed { - padding-bottom: 2.8125em; -} -.ui-page-header-fullscreen > .ui-content, -.ui-page-footer-fullscreen > .ui-content { - padding: 0; -} -.ui-fixed-hidden { - position: absolute; -} -/* Tap toggle: hide external fixed footer. See issue #6604 */ -.ui-footer-fixed.ui-fixed-hidden { - display: none; -} -.ui-page .ui-footer-fixed.ui-fixed-hidden { - display: block -} -.ui-page-header-fullscreen .ui-fixed-hidden, -.ui-page-footer-fullscreen .ui-fixed-hidden { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-header-fixed .ui-btn, -.ui-footer-fixed .ui-btn { - z-index: 10; -} -/* workarounds for other widgets */ -.ui-android-2x-fixed .ui-li-has-thumb { - -webkit-transform: translate3d(0,0,0); -} -.ui-navbar { - max-width: 100%; -} -.ui-navbar ul:before, -.ui-navbar ul:after { - content: ""; - display: table; -} -.ui-navbar ul:after { - clear: both; -} -.ui-navbar ul { - list-style: none; - margin: 0; - padding: 0; - position: relative; - display: block; - border: 0; - max-width: 100%; - overflow: visible; -} -.ui-navbar li .ui-btn { - font-size: 12.5px; - display: block; - margin: 0; - border-right-width: 0; -} -.ui-header .ui-navbar li button.ui-btn, -.ui-footer .ui-navbar li button.ui-btn { - margin: 0; - width: 100%; -} -.ui-navbar .ui-btn:focus { - z-index: 1; -} -/* fixes gaps caused by subpixel problem */ -.ui-navbar li:last-child .ui-btn { - margin-right: -4px; -} -.ui-navbar li:last-child .ui-btn:after { - margin-right: 4px; -} -.ui-content .ui-navbar li:last-child .ui-btn, -.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn { - border-right-width: 1px; - margin-right: 0; -} -.ui-content .ui-navbar li:last-child .ui-btn:after, -.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn:after { - margin-right: 0; -} -.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn { - border-right-width: 1px; - margin-right: -1px; -} -.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn:after { - margin-right: 1px; -} -.ui-navbar .ui-grid-duo .ui-btn { - border-top-width: 0; -} -.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn { - border-top-width: 1px; -} -.ui-header .ui-navbar .ui-btn, -.ui-footer .ui-navbar .ui-btn { - border-top-width: 0; - border-bottom-width: 0; -} -.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn, -.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn { - border-top-width: 0; -} -.ui-header .ui-title ~ .ui-navbar .ui-btn, -.ui-footer .ui-title ~ .ui-navbar .ui-btn, -.ui-header .ui-navbar .ui-grid-duo .ui-btn, -.ui-footer .ui-navbar .ui-grid-duo .ui-btn, -.ui-header .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-footer .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-header .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn, -.ui-footer .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn { - border-top-width: 1px; -} -/* Hide the native input element */ -.ui-input-btn input { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - padding: 0; - border: 0; - outline: 0; - -webkit-border-radius: inherit; - border-radius: inherit; - -webkit-appearance: none; - -moz-appearance: none; - cursor: pointer; - background: #fff; - background: rgba(255,255,255,0); - filter: Alpha(Opacity=0); - opacity: .1; - font-size: 1px; - text-indent: -9999px; - z-index: 2; -} -/* Fixes IE/WP filter alpha opacity bugs */ -.ui-input-btn.ui-state-disabled input { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-collapsible { - margin: 0 -1em; -} -.ui-collapsible-inset, -.ui-collapsible-set { - margin: .5em 0; -} -.ui-collapsible-heading { - display: block; - margin: 0; - padding: 0; - position: relative; -} -.ui-collapsible-heading .ui-btn { - text-align: left; - margin: 0; - border-left-width: 0; - border-right-width: 0; -} -.ui-collapsible-heading .ui-btn-icon-top, -.ui-collapsible-heading .ui-btn-icon-bottom { - text-align: center; -} -.ui-collapsible-inset .ui-collapsible-heading .ui-btn { - border-right-width: 1px; - border-left-width: 1px; -} -.ui-collapsible-collapsed + .ui-collapsible:not(.ui-collapsible-inset) > .ui-collapsible-heading .ui-btn { - border-top-width: 0; -} -.ui-collapsible-set .ui-collapsible:not(.ui-collapsible-inset) .ui-collapsible-heading .ui-btn { - border-top-width: 1px; -} -.ui-collapsible-heading-status { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-collapsible-content { - display: block; - margin: 0; - padding: .5em 1em; -} -.ui-collapsible-themed-content .ui-collapsible-content { - border-left-width: 0; - border-right-width: 0; - border-top-width: 0; - border-bottom-width: 1px; - border-style: solid; -} -.ui-collapsible-inset.ui-collapsible-themed-content .ui-collapsible-content { - border-left-width: 1px; - border-right-width: 1px; -} -.ui-collapsible-inset .ui-collapsible-content { - margin: 0; -} -.ui-collapsible-content-collapsed { - display: none; -} -.ui-collapsible-set > .ui-collapsible.ui-corner-all { - -webkit-border-radius: 0; - border-radius: 0; -} -.ui-collapsible-heading, -.ui-collapsible-heading > .ui-btn { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-collapsible-set .ui-collapsible.ui-first-child { - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; -} -.ui-collapsible-content, -.ui-collapsible-set .ui-collapsible.ui-last-child { - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-collapsible-themed-content:not(.ui-collapsible-collapsed) > .ui-collapsible-heading { - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; -} -.ui-collapsible-set .ui-collapsible { - margin: -1px -1em 0; -} -.ui-collapsible-set .ui-collapsible-inset { - margin: -1px 0 0; -} -.ui-collapsible-set .ui-collapsible.ui-first-child { - margin-top: 0; -} -.ui-controlgroup, -fieldset.ui-controlgroup { - padding: 0; - margin: .5em 0; -} -.ui-field-contain .ui-controlgroup, -.ui-field-contain fieldset.ui-controlgroup { - margin: 0; -} -.ui-mini .ui-controlgroup-label { - font-size: 16px; -} -.ui-controlgroup.ui-mini .ui-btn-icon-notext, -.ui-controlgroup .ui-mini.ui-btn-icon-notext { - font-size: inherit; -} -.ui-controlgroup-controls .ui-btn, -.ui-controlgroup-controls .ui-checkbox, -.ui-controlgroup-controls .ui-radio, -.ui-controlgroup-controls .ui-select { - margin: 0; -} -.ui-controlgroup-controls .ui-btn:focus, -.ui-controlgroup-controls .ui-btn.ui-focus { - z-index: 1; -} -.ui-controlgroup-controls li { - list-style: none; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls { - display: inline-block; - vertical-align: middle; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls:before, -.ui-controlgroup-horizontal .ui-controlgroup-controls:after { - content: ""; - display: table; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls:after { - clear: both; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls > .ui-btn, -.ui-controlgroup-horizontal .ui-controlgroup-controls li > .ui-btn, -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-checkbox, -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-radio, -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-select { - float: left; - clear: none; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn, -.ui-controlgroup-controls .ui-btn-icon-notext { - width: auto; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn-icon-notext, -.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn-icon-notext { - width: 1.5em; -} - .ui-controlgroup-controls .ui-btn-icon-notext { - height: auto; - padding: .7em 1em; -} -.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn { - border-bottom-width: 0; -} -.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn.ui-last-child { - border-bottom-width: 1px; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn { - border-right-width: 0; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn.ui-last-child { - border-right-width: 1px; -} -.ui-controlgroup-controls .ui-btn-corner-all, -.ui-controlgroup-controls .ui-btn.ui-corner-all { - -webkit-border-radius: 0; - border-radius: 0; -} -.ui-controlgroup-controls, -.ui-controlgroup-controls .ui-radio, -.ui-controlgroup-controls .ui-checkbox, -.ui-controlgroup-controls .ui-select, -.ui-controlgroup-controls li { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-controlgroup-vertical .ui-btn.ui-first-child { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; -} -.ui-controlgroup-vertical .ui-btn.ui-last-child { - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -.ui-controlgroup-horizontal .ui-btn.ui-first-child { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-controlgroup-horizontal .ui-btn.ui-last-child { - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -.ui-controlgroup-controls a.ui-shadow:not(:focus), -.ui-controlgroup-controls button.ui-shadow:not(:focus), -.ui-controlgroup-controls div.ui-shadow:not(.ui-focus) { - -moz-box-shadow: none; - -webkit-box-shadow: none; - box-shadow: none; -} -/* Fixes legend not wrapping on IE10 */ -.ui-controlgroup-label legend { - max-width: 100%; -} -.ui-controlgroup-controls > label { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-dialog { - background: none !important; /* this is to ensure that dialog theming does not apply (by default at least) on the page div */ -} -.ui-dialog-contain { - width: 92.5%; - max-width: 500px; - margin: 10% auto 1em auto; - padding: 0; - position: relative; - top: -1em; -} -.ui-dialog-contain > .ui-header, -.ui-dialog-contain > .ui-content, -.ui-dialog-contain > .ui-footer { - display: block; - position: relative; - width: auto; - margin: 0; -} -.ui-dialog-contain > .ui-header { - overflow: hidden; - z-index: 10; - padding: 0; - border-top-width: 0; -} -.ui-dialog-contain > .ui-footer { - z-index: 10; - padding: 0 1em; - border-bottom-width: 0; -} -.ui-popup-open .ui-header-fixed, -.ui-popup-open .ui-footer-fixed { - position: absolute !important; /* See issues #4816, #4844 and #4874 and popup.js */ -} -.ui-popup-screen { - background-image: url("data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="); /* Necessary to set some form of background to ensure element is clickable in IE6/7. While legacy IE won't understand the data-URI'd image, it ensures no additional requests occur in all other browsers with little overhead. */ - top: 0; - left: 0; - right: 0; - bottom: 1px; - position: absolute; - filter: Alpha(Opacity=0); - opacity: 0; - z-index: 1099; -} -.ui-popup-screen.in { - opacity: 0.5; - filter: Alpha(Opacity=50); -} -.ui-popup-screen.out { - opacity: 0; - filter: Alpha(Opacity=0); -} -.ui-popup-container { - z-index: 1100; - display: inline-block; - position: absolute; - padding: 0; - outline: 0; -} -.ui-popup { - position: relative; -} -.ui-popup.ui-body-inherit { - border-width: 1px; - border-style: solid; -} -.ui-popup-hidden { - left: 0; - top: 0; - position: absolute !important; - visibility: hidden; -} -.ui-popup-truncate { - height: 1px; - width: 1px; - margin: -1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-popup.ui-content, -.ui-popup .ui-content { - overflow: visible; -} -.ui-popup > .ui-header { - border-top-width: 0; -} -.ui-popup > .ui-footer { - border-bottom-width: 0; -} -.ui-popup > p, -.ui-popup > h1, -.ui-popup > h2, -.ui-popup > h3, -.ui-popup > h4, -.ui-popup > h5, -.ui-popup > h6 { - margin: .5em .4375em; -} -.ui-popup > span { - display: block; - margin: .5em .4375em; -} -.ui-popup-container .ui-content > p, -.ui-popup-container .ui-content > h1, -.ui-popup-container .ui-content > h2, -.ui-popup-container .ui-content > h3, -.ui-popup-container .ui-content > h4, -.ui-popup-container .ui-content > h5, -.ui-popup-container .ui-content > h6 { - margin: .5em 0; -} -.ui-popup-container .ui-content > span { - margin: 0; -} -.ui-popup-container .ui-content > p:first-child, -.ui-popup-container .ui-content > h1:first-child, -.ui-popup-container .ui-content > h2:first-child, -.ui-popup-container .ui-content > h3:first-child, -.ui-popup-container .ui-content > h4:first-child, -.ui-popup-container .ui-content > h5:first-child, -.ui-popup-container .ui-content > h6:first-child { - margin-top: 0; -} -.ui-popup-container .ui-content > p:last-child, -.ui-popup-container .ui-content > h1:last-child, -.ui-popup-container .ui-content > h2:last-child, -.ui-popup-container .ui-content > h3:last-child, -.ui-popup-container .ui-content > h4:last-child, -.ui-popup-container .ui-content > h5:last-child, -.ui-popup-container .ui-content > h6:last-child { - margin-bottom: 0; -} -.ui-popup > img { - max-width: 100%; - max-height: 100%; - vertical-align: middle; -} -.ui-popup:not(.ui-content) > img:only-child, -.ui-popup:not(.ui-content) > .ui-btn-left:first-child + img:last-child, -.ui-popup:not(.ui-content) > .ui-btn-right:first-child + img:last-child { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-popup iframe { - vertical-align: middle; -} -.ui-popup > .ui-btn-left, -.ui-popup > .ui-btn-right { - position: absolute; - top: -11px; - margin: 0; - z-index: 1101; -} -.ui-popup > .ui-btn-left { - left: -11px; -} -.ui-popup > .ui-btn-right { - right: -11px; -} -/* Dimensions related to the popup arrow ------------------------------------------------------------------------------------------------------------*/ -/* desired triangle height: 10px */ -/** - * guide for the arrow - its width, height, and offset are theme-dependent and - * should be expessed as left, right, top, bottom, so that the element bearing - * such a class becomes stretched inside its parent position: relative element. - * The left/top/right/bottom specified below should reflect the corresponding - * border radii and so it leaves room for the shadow: - * ..--------------------.. - * ." ^ top ". - * / v \ - * | +------------------+ | - * | | | | - * | left| |right| - * |<--->| |<--->| - * | +------------------+ | - * \ ^ / - * `. v bottom .' - * ""--------------------"" - * The idea is that the top/left of the arrow container box does not move to a - * coordinate smaller than the top/left of the guide and the right/bottom of - * the arrow container box does not move to a coordinate larger than the - * bottom/right of the guide. This will help us avoid the following situation: - * ..--------------------.. - * ." ^ top ". - * /|/ v \ - * / | +------------------+ | - * \ | | | | - * \| left| |right| - * |<--->| |<--->| - * | +------------------+ | - * \ ^ / - * `. v bottom .' - * ""--------------------"" - * The arrow should not receive a top/left coordinate such that it is too close - * to one of the corners, because then at first the shadow of the arrow and, - * given a coordinate even closer to the corner, even the body of the arrow will - * "stick out" of the corner of the popup. The guide provides a hint to the - * arrow positioning code as to which range of values is acceptable for the - * arrow container's top/left coordinate. - **/ -.ui-popup-arrow-container { - width: 20px; - height: 20px; -} -/* aside from the "infinities" (-1000,2000), triangle height is used */ -.ui-popup-arrow-container.ui-popup-arrow-l { - left: -10px; - clip: rect(-1000px,10px,2000px,-1000px); -} -.ui-popup-arrow-container.ui-popup-arrow-t { - top: -10px; - clip: rect(-1000px,2000px,10px,-1000px); -} -.ui-popup-arrow-container.ui-popup-arrow-r { - right: -10px; - clip: rect(-1000px,2000px,2000px,10px); -} -.ui-popup-arrow-container.ui-popup-arrow-b { - bottom: -10px; - clip: rect(10px,2000px,1000px,-1000px); -} -/** - * For each side, the arrow is twice the desired size and its corner is aligned - * with the edge of the container: - * - * /\ /\ +----+ /\ - * / \ / \ | /\ |top / \ - * +----+ \ / +----+ +-->|/ \| / \ - * left| / | \ / | \ |right | | | / \ - * |/ | \ / | \| | /| |\ / \ - * |\ | / \ | /| | / +----+ \ \ +----+ / - * | \ | / \ | / | | \ / \| |/ - * +----+ / \ +----+ | \ / | | - * ^ \ / \ / ^ | \ / +->|\ /| - * | \/ \/ | | \ / | | \/ |bottom - * | | | \/ | +----+ - * +-------------------+--------+-----------+ - * | - * arrow container - * (clips arrow) - **/ -.ui-popup-arrow-container .ui-popup-arrow { - /* (4*desired triangle height)/sqrt(2) - does not account for border - centred within the outer rectangle */ - width: 28.284271247px; - height: 28.284271247px; - border-width: 1px; - border-style: solid; -} -.ui-popup-arrow-container.ui-popup-arrow-t .ui-popup-arrow { - left: -4.142135623px; - top: 5.857864376px; -} -.ui-popup-arrow-container.ui-popup-arrow-b .ui-popup-arrow { - left: -4.142135623px; - top: -14.142135623px; -} -.ui-popup-arrow-container.ui-popup-arrow-l .ui-popup-arrow { - left: 5.857864376px; - top: -4.142135623px; -} -.ui-popup-arrow-container.ui-popup-arrow-r .ui-popup-arrow { - left: -14.142135623px; - top: -4.142135623px; -} -/* Fix rotation center for oldIE - see http://www.useragentman.com/IETransformsTranslator/ */ -.ui-popup-arrow-container.ui-popup-arrow-t.ie .ui-popup-arrow { - margin-left: -5.857864376269049px; - margin-top: -7.0710678118654755px; -} -.ui-popup-arrow-container.ui-popup-arrow-b.ie .ui-popup-arrow { - margin-left: -5.857864376269049px; - margin-top: -4.142135623730951px; -} - -.ui-popup-arrow-container.ui-popup-arrow-l.ie .ui-popup-arrow { - margin-left: -7.0710678118654755px; - margin-top: -5.857864376269049px; -} -.ui-popup-arrow-container.ui-popup-arrow-r.ie .ui-popup-arrow { - margin-left: -4.142135623730951px; - margin-top: -5.857864376269049px; -} -/* structure */ -.ui-popup > .ui-popup-arrow-guide { - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - visibility: hidden; -} -.ui-popup-arrow-container { - position: absolute; -} -.ui-popup-arrow { - -webkit-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -ms-transform: rotate(45deg); - transform: rotate(45deg); - position: absolute; - overflow: hidden; - box-sizing: border-box; -} -.ui-popup-arrow-container.ie .ui-popup-arrow { - -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865474, M12=-0.7071067811865477, M21=0.7071067811865477, M22=0.7071067811865474, SizingMethod='auto expand')"; - filter: progid:DXImageTransform.Microsoft.Matrix( - M11=0.7071067811865474, - M12=-0.7071067811865477, - M21=0.7071067811865477, - M22=0.7071067811865474, - SizingMethod='auto expand'); -} -.ui-checkbox, -.ui-radio { - margin: .5em 0; - position: relative; -} -.ui-checkbox .ui-btn, -.ui-radio .ui-btn { - margin: 0; - text-align: left; - white-space: normal; /* Nowrap + ellipsis doesn't work on label. Issue #1419. */ - z-index: 2; -} -.ui-controlgroup .ui-checkbox .ui-btn.ui-focus, -.ui-controlgroup .ui-radio .ui-btn.ui-focus { - z-index: 3; -} -.ui-checkbox .ui-btn-icon-top, -.ui-radio .ui-btn-icon-top, -.ui-checkbox .ui-btn-icon-bottom, -.ui-radio .ui-btn-icon-bottom { - text-align: center; -} -.ui-controlgroup-horizontal .ui-checkbox .ui-btn:after, -.ui-controlgroup-horizontal .ui-radio .ui-btn:after { - content: none; - display: none; -} -/* Native input positioning */ -.ui-checkbox input, -.ui-radio input { - position: absolute; - left: .466em; - top: 50%; - width: 22px; - height: 22px; - margin: -11px 0 0 0; - outline: 0 !important; - z-index: 1; -} -.ui-controlgroup-horizontal .ui-checkbox input, -.ui-controlgroup-horizontal .ui-radio input { - left: 50%; - margin-left: -9px; -} -.ui-checkbox input:disabled, -.ui-radio input:disabled { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-select { - margin-top: .5em; - margin-bottom: .5em; /* no shorthand for margin because it would override margin-right for inline selects */ - position: relative; -} -.ui-select > select { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-select .ui-btn { - margin: 0; - opacity: 1; /* Fixes #2588: When Windows Phone 7.5 (Mango) tries to calculate a numeric opacity for a select (including "inherit") without explicitly specifying an opacity on the parent to give it context, a bug appears where clicking elsewhere on the page after opening the select will open the select again. */ -} -.ui-select .ui-btn select { - position: absolute; - top: 0; - left: 0; - width: 100%; - min-height: 1.5em; - min-height: 100%; - height: 3em; - max-height: 100%; - outline: 0; - -webkit-border-radius: inherit; - border-radius: inherit; - -webkit-appearance: none; - -moz-appearance: none; - cursor: pointer; - filter: Alpha(Opacity=0); - opacity: 0; - z-index: 2; -} -@-moz-document url-prefix() { - .ui-select .ui-btn select { - opacity: 0.0001; - } -} -/* Display none because of issues with IE/WP's filter alpha opacity */ -.ui-select .ui-state-disabled select { - display: none; -} -/* Because we add all classes of the select and option elements to the span... */ -.ui-select span.ui-state-disabled { - filter: Alpha(Opacity=100); - opacity: 1; -} -.ui-select .ui-btn.ui-select-nativeonly { - border-radius: 0; - border: 0; -} -.ui-select .ui-btn.ui-select-nativeonly select { - opacity: 1; - text-indent: 0; - display: block; -} -/* ui-li-count is styled in the listview CSS. We set padding and offset here because select supports icon position while listview doesn't. */ -.ui-select .ui-li-has-count.ui-btn { - padding-right: 2.8125em; -} -.ui-select .ui-li-has-count.ui-btn-icon-right { - padding-right: 4.6875em; -} -.ui-select .ui-btn-icon-right .ui-li-count { - right: 3.2em; -} -/* We set the rules for the span as well to fix an issue on Chrome with text-overflow ellipsis for the button in combination with text-align center. */ -.ui-select .ui-btn > span:not(.ui-li-count) { - display: block; - text-overflow: ellipsis; - overflow: hidden !important; - white-space: nowrap; -} -.ui-selectmenu.ui-popup { - min-width: 11em; -} -.ui-selectmenu .ui-dialog-contain { - overflow: hidden; -} -.ui-selectmenu .ui-header { - margin: 0; - padding: 0; - border-width: 0; -} -.ui-selectmenu.ui-dialog .ui-header { - z-index: 1; - position: relative; -} -.ui-selectmenu.ui-popup .ui-header { - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; -} -/* when no placeholder is defined in a multiple select, the header height doesn't even extend past the close button. this shim's content in there */ -.ui-selectmenu.ui-popup .ui-header h1:after { - content: '.'; - visibility: hidden; -} -.ui-selectmenu .ui-header .ui-title { - margin: 0 2.875em; -} -.ui-selectmenu.ui-dialog .ui-content { - overflow: visible; - z-index: 1; -} -.ui-selectmenu .ui-selectmenu-list { - margin: 0; - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-header:not(.ui-screen-hidden) + .ui-selectmenu-list { - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -webkit-border-top-left-radius: 0; - border-top-left-radius: 0; -} -.ui-header.ui-screen-hidden + .ui-selectmenu-list li.ui-first-child .ui-btn { - border-top-width: 0; -} -.ui-selectmenu .ui-selectmenu-list li.ui-last-child .ui-btn { - border-bottom-width: 0; -} -.ui-selectmenu .ui-btn.ui-li-divider { - cursor: default; -} -.ui-selectmenu .ui-selectmenu-placeholder { - display: none; -} -.ui-listview, -.ui-listview > li { - margin: 0; - padding: 0; - list-style: none; -} -.ui-content .ui-listview, -.ui-panel-inner > .ui-listview { - margin: -1em; -} -.ui-content .ui-listview-inset, -.ui-panel-inner > .ui-listview-inset { - margin: 1em 0; -} -.ui-collapsible-content > .ui-listview { - margin: -.5em -1em; -} -.ui-collapsible-content > .ui-listview-inset { - margin: .5em 0; -} -.ui-listview > li { - display: block; - position: relative; - overflow: visible; -} -.ui-listview > .ui-li-static, -.ui-listview > .ui-li-divider, -.ui-listview > li > a.ui-btn { - margin: 0; - display: block; - position: relative; - text-align: left; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} -.ui-listview > li > .ui-btn:focus { - z-index: 1; -} -.ui-listview > .ui-li-static, -.ui-listview > .ui-li-divider, -.ui-listview > li > a.ui-btn { - border-width: 1px 0 0 0; - border-style: solid; -} -.ui-listview-inset > .ui-li-static, -.ui-listview-inset > .ui-li-divider, -.ui-listview-inset > li > a.ui-btn { - border-right-width: 1px; - border-left-width: 1px; -} -.ui-listview > .ui-li-static.ui-last-child, -.ui-listview > .ui-li-divider.ui-last-child, -.ui-listview > li.ui-last-child > a.ui-btn { - border-bottom-width: 1px; -} -.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) > li.ui-first-child, -.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn { - border-top-width: 0; -} -.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset) > li.ui-last-child, -.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset) > li.ui-last-child > a.ui-btn { - border-bottom-width: 0; -} -.ui-listview > li.ui-first-child, -.ui-listview > li.ui-first-child > a.ui-btn { - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; -} -.ui-listview > li.ui-last-child, -.ui-listview > li.ui-last-child > a.ui-btn { - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-listview > li.ui-li-has-alt > a.ui-btn { - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; -} -.ui-listview > li.ui-first-child > a.ui-btn + a.ui-btn { - -webkit-border-top-left-radius: 0; - border-top-left-radius: 0; - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; -} -.ui-listview > li.ui-last-child > a.ui-btn + a.ui-btn { - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -.ui-listview > li.ui-first-child img:first-child:not(.ui-li-icon) { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; -} -.ui-listview > li.ui-last-child img:first-child:not(.ui-li-icon) { - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-listview > .ui-li-static { - padding: .7em 1em; -} -.ui-listview > .ui-li-divider { - padding: .5em 1.143em; - font-size: 14px; - font-weight: bold; - cursor: default; - outline: 0; /* Dividers in custom selectmenus have tabindex */ -} -.ui-listview > .ui-li-has-count > .ui-btn, -.ui-listview > .ui-li-static.ui-li-has-count, -.ui-listview > .ui-li-divider.ui-li-has-count { - padding-right: 2.8125em; -} -.ui-listview > .ui-li-has-count > .ui-btn-icon-right { - padding-right: 4.6875em; -} -.ui-listview > .ui-li-has-thumb > .ui-btn, -.ui-listview > .ui-li-static.ui-li-has-thumb { - min-height: 3.625em; - padding-left: 6.25em; -} -/* ui-li-has-icon deprecated in 1.4. TODO: remove in 1.5 */ -.ui-listview > .ui-li-has-icon > .ui-btn, -.ui-listview > .ui-li-static.ui-li-has-icon { - min-height: 1.25em; - padding-left: 2.5em; -} -/* Used by both listview and custom multiple select button */ -.ui-li-count { - position: absolute; - font-size: 12.5px; - font-weight: bold; - text-align: center; - border-width: 1px; - border-style: solid; - padding: 0 .48em; - line-height: 1.6em; - min-height: 1.6em; - min-width: .64em; - right: .8em; - top: 50%; - margin-top: -.88em; -} -.ui-listview .ui-btn-icon-right .ui-li-count { - right: 3.2em; -} -.ui-listview .ui-li-has-thumb > img:first-child, -.ui-listview .ui-li-has-thumb > .ui-btn > img:first-child, -.ui-listview .ui-li-has-thumb .ui-li-thumb { - position: absolute; - left: 0; - top: 0; - max-height: 5em; - max-width: 5em; -} -/* ui-li-has-icon deprecated in 1.4. TODO: remove in 1.5 */ -.ui-listview > .ui-li-has-icon > img:first-child, -.ui-listview > .ui-li-has-icon > .ui-btn > img:first-child { - position: absolute; - left: .625em; - top: .9em; - max-height: 1em; - max-width: 1em; -} -.ui-listview > li h1, -.ui-listview > li h2, -.ui-listview > li h3, -.ui-listview > li h4, -.ui-listview > li h5, -.ui-listview > li h6 { - font-size: 1em; - font-weight: bold; - display: block; - margin: .45em 0; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} -.ui-listview > li p { - font-size: .75em; - font-weight: normal; - display: block; - margin: .6em 0; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} -.ui-listview .ui-li-aside { - position: absolute; - top: 1em; - right: 3.333em; - margin: 0; - text-align: right; -} -.ui-listview > li.ui-li-has-alt > .ui-btn { - margin-right: 2.5em; - border-right-width: 0; -} -.ui-listview > li.ui-li-has-alt > .ui-btn + .ui-btn { - position: absolute; - width: 2.5em; - height: 100%; - min-height: auto; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - border-left-width: 1px; - top: 0; - right: 0; - margin: 0; - padding: 0; - z-index: 2; -} -.ui-listview-inset > li.ui-li-has-alt > .ui-btn + .ui-btn { - border-right-width: 1px; -} -.ui-listview > li.ui-li-has-alt > .ui-btn + .ui-btn:focus { - z-index: 3; -} -ol.ui-listview, -ol.ui-listview > .ui-li-divider { - counter-reset: listnumbering; -} -ol.ui-listview > li > .ui-btn, -ol.ui-listview > li.ui-li-static { - vertical-align: middle; -} -ol.ui-listview > li > .ui-btn:first-child:before, -ol.ui-listview > li.ui-li-static:before, -ol.ui-listview > li.ui-field-contain > label:before, -ol.ui-listview > li.ui-field-contain > .ui-controlgroup-label:before { - display: inline-block; - font-size: .9em; - font-weight: normal; - padding-right: .3em; - min-width: 1.4em; - line-height: 1.5; - vertical-align: middle; - counter-increment: listnumbering; - content: counter(listnumbering) "."; -} -ol.ui-listview > li.ui-field-contain:before { - content: none; - display: none; -} -ol.ui-listview > li h1:first-child, -ol.ui-listview > li h2:first-child, -ol.ui-listview > li h3:first-child, -ol.ui-listview > li h4:first-child, -ol.ui-listview > li h5:first-child, -ol.ui-listview > li h6:first-child, -ol.ui-listview > li p:first-child, -ol.ui-listview > li img:first-child + * { - display: inline-block; - vertical-align: middle; -} -ol.ui-listview > li h1:first-child ~ *, -ol.ui-listview > li h2:first-child ~ *, -ol.ui-listview > li h3:first-child ~ *, -ol.ui-listview > li h4:first-child ~ *, -ol.ui-listview > li h5:first-child ~ *, -ol.ui-listview > li h6:first-child ~ *, -ol.ui-listview > li p:first-child ~ *, -ol.ui-listview > li img:first-child + * ~ * { - margin-top: 0; - text-indent: 2.04em; /* (1.4em + .3em) * .9em / .75em */ -} -html .ui-filterable + .ui-listview, -html .ui-filterable.ui-listview { - margin-top: .5em; -} -.ui-collapsible-content > form.ui-filterable { - margin-top: -.5em; -} -.ui-collapsible-content > .ui-input-search.ui-filterable { - margin-top: 0; -} -.ui-collapsible-content > .ui-filterable + .ui-listview:not(.ui-listview-inset) > li.ui-first-child, -.ui-collapsible-content > .ui-filterable + .ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn, -.ui-collapsible-content > .ui-filterable.ui-listview:not(.ui-listview-inset) > li.ui-first-child, -.ui-collapsible-content > .ui-filterable.ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn { - border-top-width: 1px; -} -div.ui-slider { - height: 30px; - margin: .5em 0; - padding: 0; - -ms-touch-action: pan-y pinch-zoom double-tap-zoom; -} -div.ui-slider:before, -div.ui-slider:after { - content: ""; - display: table; -} -div.ui-slider:after { - clear: both; -} -input.ui-slider-input { - display: block; - float: left; - font-size: 14px; - font-weight: bold; - margin: 0; - padding: 4px; - width: 40px; - height: 20px; - line-height: 20px; - border-width: 1px; - border-style: solid; - outline: 0; - text-align: center; - vertical-align: text-bottom; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} -.ui-slider-input::-webkit-outer-spin-button, -.ui-slider-input::-webkit-inner-spin-button { - -webkit-appearance: none; - margin: 0; -} -.ui-slider-track { - position: relative; - overflow: visible; - border-width: 1px; - border-style: solid; - height: 15px; - margin: 0 15px 0 68px; - top: 6px; -} -.ui-slider-track.ui-mini { - height: 12px; - top: 8px; -} -.ui-slider-track .ui-slider-bg { - height: 100%; -} -/* High level of specificity to override button margins in grids */ -.ui-slider-track .ui-btn.ui-slider-handle { - position: absolute; - z-index: 1; - top: 50%; - width: 28px; - height: 28px; - margin: -15px 0 0 -15px; - outline: 0; - padding: 0; -} -.ui-slider-track.ui-mini .ui-slider-handle { - height: 14px; - width: 14px; - margin: -8px 0 0 -8px; -} -select.ui-slider-switch { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -div.ui-slider-switch { - display: inline-block; - height: 32px; - width: 5.8em; - top: 0; -} -/* reset the clearfix */ -div.ui-slider-switch:before, -div.ui-slider-switch:after { - display: none; - clear: none; -} -div.ui-slider-switch.ui-mini { - height: 29px; - top: 0; -} -.ui-slider-inneroffset { - margin: 0 16px; - position: relative; - z-index: 1; -} -.ui-slider-switch.ui-mini .ui-slider-inneroffset { - margin: 0 15px 0 14px; -} -.ui-slider-switch .ui-btn.ui-slider-handle { - margin: 1px 0 0 -15px; -} -.ui-slider-switch.ui-mini .ui-slider-handle { - width: 25px; - height: 25px; - margin: 1px 0 0 -13px; - padding: 0; -} -.ui-slider-handle-snapping { - -webkit-transition: left 70ms linear; - -moz-transition: left 70ms linear; - transition: left 70ms linear; -} -.ui-slider-switch .ui-slider-label { - position: absolute; - text-align: center; - width: 100%; - overflow: hidden; - font-size: 16px; - top: 0; - line-height: 2; - min-height: 100%; - white-space: nowrap; - cursor: pointer; -} -.ui-slider-switch.ui-mini .ui-slider-label { - font-size: 14px; -} -.ui-slider-switch .ui-slider-label-a { - z-index: 1; - left: 0; - text-indent: -1.5em; -} -.ui-slider-switch .ui-slider-label-b { - z-index: 0; - right: 0; - text-indent: 1.5em; -} -/* The corner radii for ui-slider-switch/track can be specified in theme CSS. The bg and handle inherits. */ -.ui-slider-track .ui-slider-bg, -.ui-slider-switch .ui-slider-label, -.ui-slider-switch .ui-slider-inneroffset, -.ui-slider-handle { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-field-contain div.ui-slider-switch { - margin: 0; -} -/* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */ -.ui-field-contain div.ui-slider-switch, -.ui-field-contain.ui-hide-label div.ui-slider-switch, -html .ui-popup .ui-field-contain div.ui-slider-switch { - display: inline-block; - width: 5.8em; -} -/* slider tooltip ------------------------------------------------------------------------------------------------------------*/ -.ui-slider-popup { - width: 64px; - height: 64px; - font-size: 36px; - padding-top: 14px; - opacity: 0.8; -} -.ui-slider-popup { - position: absolute !important; - text-align: center; - z-index: 100; -} -.ui-slider-track .ui-btn.ui-slider-handle { - font-size: .9em; - line-height: 30px; -} -.ui-rangeslider { - margin: .5em 0; -} -.ui-rangeslider:before, -.ui-rangeslider:after { - content: ""; - display: table; -} -.ui-rangeslider:after { - clear: both; -} -.ui-rangeslider .ui-slider-input.ui-rangeslider-last { - float: right; -} -.ui-rangeslider .ui-rangeslider-sliders { - position: relative; - overflow: visible; - height: 30px; - margin: 0 68px; -} -.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track { - position: absolute; - top: 6px; - right: 0; - left: 0; - margin: 0; -} -.ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track { - top: 8px; -} -.ui-rangeslider .ui-slider-track:first-child .ui-slider-bg { - display: none; -} -.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child { - background-color: transparent; - background: none; - border-width: 0; - height: 0; -} -/* this makes ie6 and ie7 set height to 0 to fix z-index problem */ -html >/**/body .ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child { - height: 15px; - border-width: 1px; -} -html >/**/body .ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track:first-child { - height: 12px; -} -/* Hide the second label (the first is moved outside the div) */ -div.ui-rangeslider label { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-field-contain .ui-rangeslider input.ui-slider-input, -.ui-field-contain .ui-rangeslider.ui-mini input.ui-slider-input, -.ui-field-contain .ui-rangeslider .ui-rangeslider-sliders, -.ui-field-contain .ui-rangeslider.ui-mini .ui-rangeslider-sliders { - margin-top: 0; - margin-bottom: 0; -} -.ui-input-text, -.ui-input-search { - margin: .5em 0; - border-width: 1px; - border-style: solid; -} -.ui-mini { - margin: .446em; -} -.ui-input-text input, -.ui-input-search input, -textarea.ui-input-text { - padding: .4em; - line-height: 1.4em; - display: block; - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - outline: 0; -} -.ui-input-text input, -.ui-input-search input { - margin: 0; - min-height: 2.2em; - text-align: left; /* Opera aligns type="date" right by default */ - border: 0; - background: transparent none; - -webkit-appearance: none; - -webkit-border-radius: inherit; - border-radius: inherit; -} -textarea.ui-input-text { - overflow: auto; - resize: vertical; -} -.ui-mini .ui-input-text input, -.ui-mini .ui-input-search input, -.ui-input-text.ui-mini input, -.ui-input-search.ui-mini input, -.ui-mini textarea.ui-input-text, -textarea.ui-mini { - font-size: 14px; -} -/* Same margin for mini textareas as other mini sized widgets (12.5/14 * 0.5em) */ -.ui-mini textarea.ui-input-text, -textarea.ui-mini { - margin: .446em 0; -} -.ui-input-has-clear, -.ui-input-search { - position: relative; -} -/* Padding on the div instead of input because of browser spinners etc. */ -.ui-input-has-clear { - padding-right: 2.375em; -} -.ui-mini.ui-input-has-clear { - padding-right: 2.923em; -} -.ui-input-has-clear input { - padding-right: 0; - /* Autofill on Chrome has bg color so we unset corners right as well. */ - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; -} -/* Search icon */ -.ui-input-search input { - padding-left: 1.75em; -} -.ui-input-search:after { - position: absolute; - left: .3125em; - top: 50%; - margin-top: -7px; - content: ""; - background-position: center center; - background-repeat: no-repeat; - width: 14px; - height: 14px; - filter: Alpha(Opacity=50); - opacity: .5; -} -.ui-input-search.ui-input-has-clear .ui-btn.ui-input-clear, -.ui-input-text.ui-input-has-clear .ui-btn.ui-input-clear { - position: absolute; - right: 0; - top: 50%; - margin: -14px .3125em 0; - border: 0; - background-color: transparent; -} -.ui-input-search .ui-input-clear-hidden, -.ui-input-text .ui-input-clear-hidden { - display: none; -} -/* Resolves issue #5166: Added to support issue introduced in Firefox 15. We can likely remove this in the future. */ -.ui-input-text input::-moz-placeholder, -.ui-input-search input::-moz-placeholder, -textarea.ui-input-text::-moz-placeholder { - color: #aaa; -} -/* Same for IE10 */ -.ui-input-text input:-ms-input-placeholder, -.ui-input-search input:-ms-input-placeholder, -textarea.ui-input-text:-ms-input-placeholder { - color: #aaa; -} -/* Resolves issue #5131: Width of textinput depends on its type, -for Android 4.1 */ -.ui-input-text input[type=number]::-webkit-outer-spin-button { - margin: 0; -} -/* Resolves issue #5756: Textinput in IE10 has a default clear button */ -.ui-input-text input::-ms-clear, -.ui-input-search input::-ms-clear { - display: none; -} -.ui-input-text input:focus, -.ui-input-search input:focus { - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -textarea.ui-input-text.ui-textinput-autogrow { - overflow: hidden; -} -.ui-textinput-autogrow-resize { - -webkit-transition: height 0.25s; - -o-transition: height 0.25s; - -moz-transition: height 0.25s; - transition: height 0.25s; -} -.ui-flipswitch { - display: inline-block; - vertical-align: middle; - width: 5.875em; /* Override this and padding-left in next rule if you use labels other than "on/off" and need more space */ - height: 1.875em; - border-width: 1px; - border-style: solid; - margin: .5em 0; - overflow: hidden; - -webkit-transition-property: padding, width, background-color, color, border-color; - -moz-transition-property: padding, width, background-color, color, border-color; - -o-transition-property: padding, width, background-color, color, border-color; - transition-property: padding, width, background-color, color, border-color; - -webkit-transition-duration: 100ms; - -moz-transition-duration: 100ms; - -o-transition-duration: 100ms; - transition-duration: 100ms; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: pointer; -} -.ui-flipswitch.ui-flipswitch-active { - padding-left: 4em; /* Override this and width in previous rule if you use labels other than "on/off" and need more space */ - width: 1.875em; -} -.ui-flipswitch-input { - position: absolute; - height: 1px; - width: 1px; - margin: -1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); - border: 0; - outline: 0; - filter: Alpha(Opacity=0); - opacity: 0; -} -.ui-flipswitch .ui-btn.ui-flipswitch-on, -.ui-flipswitch .ui-flipswitch-off { - float: left; - height: 1.75em; - margin: .0625em; - line-height: 1.65em; -} -.ui-flipswitch .ui-btn.ui-flipswitch-on { - width: 1.75em; - padding: 0; - text-indent: -2.6em; /* Override this to center text if you use a label other than "on" */ - text-align: left; - border-width: 1px; - border-style: solid; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - border-radius: inherit; - overflow: visible; - color: inherit; - text-shadow: inherit; -} -.ui-flipswitch .ui-flipswitch-off { - padding: 1px; - text-indent: 1em; /* Override this to center text if you use a label other than "off" */ -} -/* Override field container CSS to prevent the flipswitch from becomming full width */ -html .ui-field-contain > label + .ui-flipswitch, -html .ui-popup .ui-field-contain > label + .ui-flipswitch { - display: inline-block; - width: 5.875em; /* If you override the width for .ui-flipswitch you should repeat the same value here */ - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} -.ui-field-contain .ui-flipswitch.ui-flipswitch-active, -.ui-popup .ui-field-contain .ui-flipswitch.ui-flipswitch-active { - width: 1.875em; -} -.ui-table { - border: 0; - border-collapse: collapse; - padding: 0; - width: 100%; -} -.ui-table th, -.ui-table td { - line-height: 1.5em; - text-align: left; - padding: .4em .5em; - vertical-align:top; -} -.ui-table th .ui-btn, -.ui-table td .ui-btn { - line-height: normal; -} -.ui-table th { - font-weight: bold; -} -.ui-table caption { - text-align: left; - margin-bottom: 1.4em; - opacity: .5; -} -/* - Styles for the table columntoggle mode -*/ -.ui-table-columntoggle-btn { - float: right; - margin-bottom: .8em; -} -/* Remove top/bottom margins around the fieldcontain on check list */ -.ui-table-columntoggle-popup fieldset { - margin:0; -} -.ui-table-columntoggle { - clear: both; -} -/* Hide all prioritized columns by default */ -@media only all { - th.ui-table-priority-6, - td.ui-table-priority-6, - th.ui-table-priority-5, - td.ui-table-priority-5, - th.ui-table-priority-4, - td.ui-table-priority-4, - th.ui-table-priority-3, - td.ui-table-priority-3, - th.ui-table-priority-2, - td.ui-table-priority-2, - th.ui-table-priority-1, - td.ui-table-priority-1 { - display: none; - } -} -/* Preset breakpoints if ".ui-responsive" class added to table */ -/* Show priority 1 at 320px (20em x 16px) */ -@media screen and (min-width: 20em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-1, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-1 { - display: table-cell; - } -} -/* Show priority 2 at 480px (30em x 16px) */ -@media screen and (min-width: 30em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-2, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-2 { - display: table-cell; - } -} -/* Show priority 3 at 640px (40em x 16px) */ -@media screen and (min-width: 40em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-3, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-3 { - display: table-cell; - } -} -/* Show priority 4 at 800px (50em x 16px) */ -@media screen and (min-width: 50em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-4, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-4 { - display: table-cell; - } -} -/* Show priority 5 at 960px (60em x 16px) */ -@media screen and (min-width: 60em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-5, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-5 { - display: table-cell; - } -} -/* Show priority 6 at 1,120px (70em x 16px) */ -@media screen and (min-width: 70em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-6, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-6 { - display: table-cell; - } -} -/* Unchecked manually: Always hide */ -.ui-table-columntoggle th.ui-table-cell-hidden, -.ui-table-columntoggle td.ui-table-cell-hidden, -.ui-table-columntoggle.ui-responsive th.ui-table-cell-hidden, -.ui-table-columntoggle.ui-responsive td.ui-table-cell-hidden { - display: none; -} -/* Checked manually: Always show */ -.ui-table-columntoggle th.ui-table-cell-visible, -.ui-table-columntoggle td.ui-table-cell-visible, -.ui-table-columntoggle.ui-responsive th.ui-table-cell-visible, -.ui-table-columntoggle.ui-responsive td.ui-table-cell-visible { - display: table-cell; -} -/* - Styles for the table columntoggle mode -*/ -.ui-table-reflow td .ui-table-cell-label, -.ui-table-reflow th .ui-table-cell-label { - display: none; -} -/* Mobile first styles: Begin with the stacked presentation at narrow widths */ -@media only all { - /* Hide the table headers */ - .ui-table-reflow thead td, - .ui-table-reflow thead th { - display: none; - } - /* Show the table cells as a block level element */ - .ui-table-reflow td, - .ui-table-reflow th { - text-align: left; - display: block; - } - /* Add a fair amount of top margin to visually separate each row when stacked */ - .ui-table-reflow tbody th { - margin-top: 3em; - } - /* Make the label elements a percentage width */ - .ui-table-reflow td .ui-table-cell-label, - .ui-table-reflow th .ui-table-cell-label { - padding: .4em; - min-width: 30%; - display: inline-block; - margin: -.4em 1em -.4em -.4em; - } - /* For grouped headers, have a different style to visually separate the levels by classing the first label in each col group */ - .ui-table-reflow th .ui-table-cell-label-top, - .ui-table-reflow td .ui-table-cell-label-top { - display: block; - padding: .4em 0; - margin: .4em 0; - text-transform: uppercase; - font-size: .9em; - font-weight: normal; - } -} -/* Breakpoint to show as a standard table at 560px (35em x 16px) or wider */ -@media ( min-width: 35em ) { - /* Show the table header rows */ - .ui-table-reflow.ui-responsive td, - .ui-table-reflow.ui-responsive th, - .ui-table-reflow.ui-responsive tbody th, - .ui-table-reflow.ui-responsive tbody td, - .ui-table-reflow.ui-responsive thead td, - .ui-table-reflow.ui-responsive thead th { - display: table-cell; - margin: 0; - } - /* Hide the labels in each cell */ - .ui-table-reflow.ui-responsive td .ui-table-cell-label, - .ui-table-reflow.ui-responsive th .ui-table-cell-label { - display: none; - } -} -/* Hack to make IE9 and WP7.5 treat cells like block level elements, scoped to ui-responsive class */ -/* Applied in a max-width media query up to the table layout breakpoint so we don't need to negate this*/ -@media ( max-width: 35em ) { - .ui-table-reflow.ui-responsive td, - .ui-table-reflow.ui-responsive th { - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - float: left; - clear: left; - } -} -/* Panel */ -.ui-panel { - width: 17em; - min-height: 100%; - max-height: none; - border-width: 0; - position: absolute; - top: 0; - display: block; -} -.ui-panel-closed { - width: 0; - max-height: 100%; - overflow: hidden; - visibility: hidden; - left: 0; - clip: rect(1px,1px,1px,1px); -} -.ui-panel-fixed { - position: fixed; - bottom: -1px; /* Fixes gap on Chrome for Android */ - padding-bottom: 1px; -} -.ui-panel-display-reveal { - z-index: 1; -} -.ui-panel-display-push { - z-index: 999; -} -.ui-panel-display-overlay { - z-index: 1001; /* Fixed toolbars have z-index 1000 */ -} -.ui-panel-inner { - padding: 1em; -} -/* Container, page and wrapper */ -.ui-panel-page-container { - overflow-x: visible; -} -.ui-panel-page-container-themed .ui-page-active { - background: none; -} -.ui-panel-wrapper { - position: relative; - min-height: inherit; - border: 0; - overflow-x: hidden; - z-index: 999; -} -/* Fixed toolbars */ -.ui-panel-fixed-toolbar { - overflow-x: hidden; -} -/* Dismiss */ -.ui-panel-dismiss { - position: absolute; - top: 0; - left: 0; - right: 0; - height: 100%; - z-index: 1002; - display: none; -} -.ui-panel-dismiss-open { - display: block; -} -/* Animate class is added to panel, wrapper and fixed toolbars */ -.ui-panel-animate { - -webkit-transition: -webkit-transform 300ms ease; - -webkit-transition-duration: 300ms; - -moz-transition: -moz-transform 300ms ease; - transition: transform 300ms ease; -} -/* Fix for Windows Phone issue #6349: unset the transition for transforms in case of fixed toolbars. */ -@media screen and ( max-device-width: 768px ) { - .ui-page-header-fixed .ui-panel-animate.ui-panel-wrapper, - .ui-page-footer-fixed .ui-panel-animate.ui-panel-wrapper, - .ui-panel-animate.ui-panel-fixed-toolbar { - -ms-transition: none; - } - /* We need a transitionend event ... */ - .ui-panel-animate.ui-panel-fixed-toolbar { - -ms-transition: -ms-transform 1ms; - -ms-transform: rotate(0deg); - } -} -/* Hardware acceleration for smoother transitions on WebKit browsers */ -.ui-panel-animate.ui-panel:not(.ui-panel-display-reveal) { - -webkit-backface-visibility: hidden; - -webkit-transform: translate3d(0,0,0); -} -/* Panel positioning (for overlay and push) */ -/* Panel left closed */ -.ui-panel-position-left { - left: -17em; -} -/* Panel left closed animated */ -.ui-panel-animate.ui-panel-position-left.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-position-left.ui-panel-display-push { - left: 0; - -webkit-transform: translate3d(-17em,0,0); - -moz-transform: translate3d(-17em,0,0); - transform: translate3d(-17em,0,0); -} -/* Panel left open */ -.ui-panel-position-left.ui-panel-display-reveal, /* Unset "panel left closed" for reveal */ -.ui-panel-open.ui-panel-position-left { - left: 0; -} -/* Panel left open animated */ -.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-push { - -webkit-transform: translate3d(0,0,0); - transform: translate3d(0,0,0); - -moz-transform: none; -} -/* Panel right closed */ -.ui-panel-position-right { - right: -17em; -} -/* Panel right closed animated */ -.ui-panel-animate.ui-panel-position-right.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-position-right.ui-panel-display-push { - right: 0; - -webkit-transform: translate3d(17em,0,0); - -moz-transform: translate3d(17em,0,0); - transform: translate3d(17em,0,0); -} -/* Panel right open */ -.ui-panel-position-right.ui-panel-display-reveal, /* Unset "panel right closed" for reveal */ -.ui-panel-position-right.ui-panel-open { - right: 0; -} -/* Panel right open animated */ -.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-push { - -webkit-transform: translate3d(0,0,0); - transform: translate3d(0,0,0); - -moz-transform: none; -} -/* Wrapper and fixed toolbars positioning (for reveal and push) */ -/* Panel left open */ -.ui-panel-page-content-position-left { - left: 17em; - right: -17em; -} -/* Panel left open animated */ -.ui-panel-animate.ui-panel-page-content-position-left { - left: 0; - right: 0; - -webkit-transform: translate3d(17em,0,0); - -moz-transform: translate3d(17em,0,0); - transform: translate3d(17em,0,0); -} -/* Panel right open */ -.ui-panel-page-content-position-right { - left: -17em; - right: 17em; -} -/* Panel right open animated */ -.ui-panel-animate.ui-panel-page-content-position-right { - left: 0; - right: 0; - -webkit-transform: translate3d(-17em,0,0); - -moz-transform: translate3d(-17em,0,0); - transform: translate3d(-17em,0,0); -} -/* Dismiss model open */ -.ui-panel-dismiss-open.ui-panel-dismiss-position-left { - left: 17em; -} -.ui-panel-dismiss-open.ui-panel-dismiss-position-right { - right: 17em; -} -/* Shadows and borders */ -.ui-panel-display-reveal { - -webkit-box-shadow: inset -5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: inset -5px 0 5px rgba(0,0,0,.15); - box-shadow: inset -5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-position-right.ui-panel-display-reveal { - -webkit-box-shadow: inset 5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: inset 5px 0 5px rgba(0,0,0,.15); - box-shadow: inset 5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-display-overlay { - -webkit-box-shadow: 5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: 5px 0 5px rgba(0,0,0,.15); - box-shadow: 5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-position-right.ui-panel-display-overlay { - -webkit-box-shadow: -5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: -5px 0 5px rgba(0,0,0,.15); - box-shadow: -5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-open.ui-panel-position-left.ui-panel-display-push { - border-right-width: 1px; - margin-right: -1px; -} -.ui-panel-page-content-position-left.ui-panel-page-content-display-push { - margin-left: 1px; - width: auto; -} -.ui-panel-open.ui-panel-position-right.ui-panel-display-push { - border-left-width: 1px; - margin-left: -1px; -} -.ui-panel-page-content-position-right.ui-panel-page-content-display-push { - margin-right: 1px; - width: auto; -} -/* Responsive: wrap on wide viewports once open */ -@media (min-width:55em) { - .ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-left { - margin-right: 17em; - } - .ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-right { - margin-left: 17em; - } - .ui-responsive-panel .ui-panel-page-content-open { - width: auto; - } - .ui-responsive-panel .ui-panel-dismiss-display-push, - .ui-responsive-panel.ui-page-active ~ .ui-panel-dismiss-display-push { - display: none; - } -} -.ui-tabs { - position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ - padding: .2em; -} diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.inline-png-1.4.5.min.css b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.inline-png-1.4.5.min.css deleted file mode 100644 index 87d106eef238f3758d5163faa9da6d3dc226e128..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.inline-png-1.4.5.min.css +++ /dev/null @@ -1,24 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! jQuery Mobile 1.4.5 | Git HEADhash: 68e55e7 <> 2014-10-31T17:33:30Z | (c) 2010, 2014 jQuery Foundation, Inc. | jquery.org/license */ - -.ui-icon-action:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAIVJREFUOMtjYCAC/P//fxYQszGQCv5DwDEgliRHIwg8A2JLdEEYaICKqwHxciD+gCb/E4jTGHBosgPiL/+xA1SNSM7iBeIXQPwDiOuAWByvU5E05gPxZyC2xhs4WDTuBuJwtMCZCYsOmHewaZyLJ3Qb4GqxaDQiFC1YNRITn9TRSAqgSCMAGL+QeSGFbu0AAAAASUVORK5CYII=")}.ui-icon-alert:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJVJREFUOMu9z7ENgkAUgOGj0I6eBXQCg8QRdAhdwiV0CF2CIRxBF6Cn08LP5oxIIEjjX13evS+5C6EnbLAOY8IUN1wxGQP3Pu1/RRnqBqyR/QLPEeQo4vk0hJZ4QmMmzvI+lODyfl8LindJF9z5rsCqNdu2UYrKcBXSJjx2LC3in9sd3miOR8fCsuOpcMcsoDS+Mvy9F2w1bmFOO7YjAAAAAElFTkSuQmCC")}.ui-icon-arrow-d-l:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAE9JREFUOMut0VsKACAIBECP3tG8mSFZRGVujwV/wkE0IjAikrToJIZq0g3CsIMK9PQWWcM0OkQdbI8QGqCGIbSAAl/wCgWQo7/6PvFpRxdn/yOefcvwdI0AAAAASUVORK5CYII=")}.ui-icon-arrow-d-r:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAE1JREFUOMtjYICC////N4AwAykAqgkGGsjRRLRmJhzi9UTZjMNWnDajiBOrGaaOJJuR5Ulx9gFkDql+xq+RGM2EQvsAfWwky4/EaAIBAH/xh5XOyrKIAAAAAElFTkSuQmCC")}.ui-icon-arrow-d:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADdJREFUOMtjYMAC/qMBBmLBqEZKNQLFG/6TDhrI0dxAjs0N5Di7gVDANJCsCYfmBgZSAFQzTk0AIbtHzgIaJM8AAAAASUVORK5CYII=")}.ui-icon-arrow-l:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAD5JREFUOMul0kEKADAMAsE8PT/fXktpqVHvA8FY9QjQNQ3QABYawR3J8EQSvKFfLJRB+9SonOgd0QCiyakjXzjeR87keFK/AAAAAElFTkSuQmCC")}.ui-icon-arrow-r:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADpJREFUOMu90rENADAIA0FG/82dgooiSDgK31+DiWiSRDgpw4VzrBourFjzcGHiTcjbcX7PwdrLXdEBwEtHzn8VrGMAAAAASUVORK5CYII=")}.ui-icon-arrow-u-l:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEtJREFUOMtj+E8caGBAB2RpIkIjdk0ENB5gwAdoYSNJfjxATqg2QPkNRGnGJkiUZlx+INpmUjUz4dPIyMgIMr2RgVyAZnMDOZrhmgAEuoiZ+HH38AAAAABJRU5ErkJggg==")}.ui-icon-arrow-u-r:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEdJREFUOMu9z8ENACAIQ9GOzmhuVq+GSCke/Fd8AYEUyaARbjkYVR2GiuT6s/HpjwKtEgoUeW6j/G6ETjxG3YkaFdhDCdtoA045nn2X6PolAAAAAElFTkSuQmCC")}.ui-icon-arrow-u:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADlJREFUOMtjYMAB/v//3wDCDKQAqCYYaCBHE3GacWjCr5mAJuyaidSEqplETQSdjQJIiY5RjZRoBADXbkfOGh7ilQAAAABJRU5ErkJggg==")}.ui-icon-audio:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAANxJREFUOMuV0rEuRFEQxvETL2DpZVEoVLyFJ1CJRKfabCKikbiJUhQa3kSj32K7DQqJwgugQVay8lOYleO654avmm/m/HMmM5NSg3CUxTO4wlZqE44xyfwa3nzprA2Sg5FfwV3UDkrQN4gd9CJewCPesZQw9FtTcBR+P3wv/GnSrCnYxRNe0cEcPnDbCgZ8HrmN8A8Y/wW8+DeIZTzjBbOYj1ZvEgaYFMDr8P3w/fAn+TqqBnAbuxEvxqDG6NZ3WRUOYBX3UdsrXU9VG856/PKzxQJ8WDvyS2zmbz4B8IPWAlHG2vgAAAAASUVORK5CYII=")}.ui-icon-back:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJJJREFUOMtjYEAD////b2AgFYA0AfF/sjSRpBFZExT8AeLXQHwciCcAsQOxGrGBM0CsS0gzKxBLA7ELELcC8VOo+Ccg1iY6cIBCXEC8Fqp5M05n4xCXgGr8TGqoC5OrsRGqcS+xGkABVQ/E/6AaXQlpUATiYiC+C9UA0lhKjE3I4CYQexDrxGdAvBSIfYGYCV0eAL8TDNuB31nNAAAAAElFTkSuQmCC")}.ui-icon-bars:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAClJREFUOMtjYKA7+P///8n/pIMTII3HydB4lGHUjzTy4xly/XhiaPgRALzOTCcBlK2mAAAAAElFTkSuQmCC")}.ui-icon-bullets:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADpJREFUOMtjYKA7+P///0kgPo7GJwROgBQeB+KjSBqPE6HxKMOoH2nkxzNgN6PyifLjCTQ/nhicfgQA/VEZvCqEuYoAAAAASUVORK5CYII=")}.ui-icon-calendar:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADFJREFUOMtjYICC////nwTi4ww4AFDuDBCfQBYgCwwljWQDZBNIYpOtcdSpeGwhVyMA6YDNaA+GXWMAAAAASUVORK5CYII=")}.ui-icon-camera:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJ1JREFUOMtjYKAW+P//vzoQ1wBxAxSD2KrYFHIBcSaSwqf/McFjJPksIOYEadz8n3SwCaTxDxaJh0A8AYj7oGx08IcBi+ABIBaFOh/kLBEgPoiuCJtGAzTnbwJiQ2I0sgDxLyT+TyBmJdbGTUj89UBsTIzGQ0h+zICyj2DT+BeL5kdA3A8N2ce4QnUTGfG4HqSREy3lEMIZ4JRDLgAADx5bua1tC5oAAAAASUVORK5CYII=")}.ui-icon-carat-d:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAHdJREFUKJHV0D0OwjAMBtCcpiBSVn7uv8MpUNVMwAUeSyuiKG3DyLdZ9rMlh/BfwR6nhrkLurnYYcAT5xV0xRsPdAF331TxdOmVzd0CIsYlXEEjDnOzildRtjkiFbhEcekBJd5GGe4LnDZRho8TSOibUIF/Qy35ADEDFfz8Tu1HAAAAAElFTkSuQmCC")}.ui-icon-carat-l:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAFNJREFUOMtjYMAD/v//rwvE54FYhYFYAFSsB8Sv/0PAUyBWJVUTCLwHYmNyNJkQo+kNqZr06aOJIo14NJuSEnfImj+Qqvk1mmYzumt+TGp6xZnIAZYXFgOYoY9iAAAAAElFTkSuQmCC")}.ui-icon-carat-r:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAGRJREFUOMtjYEAD////Vwfi80CsxUAsACrWAOLn/yHgJRBrE6vRDIg//EcAkjSbU1PzK0o161CiWZdYjR9JshWowIIcTZZYNGkTo+kTSdEBdd4nkuMQqEgNiJ+SHPFIms8RSuQASm4V+ztdam4AAAAASUVORK5CYII=")}.ui-icon-carat-u:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAG5JREFUOMtjYKA2+P//vz4Ik6PpDRTrkaoJBghrBilA0wQDr3Fqhmp6jaT4PRQja9YlRpMJEJsC8QesmkEMbJqQDEXX/AqsGUicx6UJj+ZzIEEVIH6KSxOSZjOo5scgPTBBVSA2JiKqzOCahg4AAODRFgCi4LIMAAAAAElFTkSuQmCC")}.ui-icon-check:after,html .ui-btn.ui-checkbox-on.ui-checkbox-on:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAE5JREFUOMu10DEKACEQQ1GPHl2QxUvHZsURQRJhfzfFKzIp/R1JkISLMmdQUeEebtAKvw053I+KRuUGncLpYxoS9kgfrDYK+LVRwM1GTh2KeDEWoG7NGwAAAABJRU5ErkJggg==")}.ui-icon-clock:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAN5JREFUOMuNkl0KglAQhYeexA0kthWtVQRCq6gQWkBRi4mIaA/Zm2EbsYJ6STsjx7jYtTrwoXecP2euiKGyLHtgBc7gQTKwBL7YhA8jcCvbdQWRLaigwxoEwCEh2PBb8Q5me3WliZHsCA7GOabPBXjCf6oqNbqo1LBtaV4IB6EK/gjs03wSTk7l2AKphDaX53tH2pUY70/bGjJmCeWH4DOgb6oV97SP5bemfO41i8/lquIv1Wb0yUG3NkbGBdhyei7R9nbGBRg2M0ZcbpvyjyAj2NPl6p505CQF83d71As1WJi0XvrCDgAAAABJRU5ErkJggg==")}.ui-icon-cloud:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAHRJREFUOMtjYBhw8P//f2EgTgTiWigtRIymSCD+/B8VfATiEHyabIH473/s4DcQm+PSuOs/fvAPiF8BsT+yJncg/vafOPASpqniP2ngCxBzgjS+/U862AjS+I4MjT9BGsvJ0LgO5k8XaIQ3EIEzgZiD/kkTAK0pr7/Ot6yrAAAAAElFTkSuQmCC")}.ui-icon-comment:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEJJREFUOMtj+P//fyAQv/xPPHgFxP4MJGqCgZcM/8kEoxpppfEVGfpegDT6k5gIXgCxLwMyQJJsYCAFkKUJqpFoTQBdxXiyPJoNzQAAAABJRU5ErkJggg==")}.ui-icon-delete:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAFtJREFUOMulklEKwDAIQ83J153c0U1GK0ZG5o/ga4pNA4ty9zE7gGFFZY5leMSZM4srjjS0LKacgBtGLxmaW1k9q5J3tKLXnI/izbT/QmlVyRz5O+QAyJFTQ34BOkVgA0nxhd0AAAAASUVORK5CYII=")}.ui-icon-edit:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAExJREFUOMtjYCAS/P//vwGEGUgBUE0w0ECuRsKakZ1HtK3YFBL0JxanEe28/yRpHPyaFEjWBNWYQLImqMYFJGuCajwA1QyyWYHYZAgAGGspdigXzkIAAAAASUVORK5CYII=")}.ui-icon-eye:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJ9JREFUOMtjYBhQ8P//f0YgjgLig0D8FYoPQMUYcWmSgCrCBUBy4uia5ID4HlTBDyDOBmIBIOaDsn9A5UBq5GCa+IH4OpLJ2Vhck4MkD1LLDxJcheYkAajik0B8HMlwZLCSCYt3/yHRMDYjtkBBd2ouFjUFSPLXQH7HFTi5UAMFoJp+YgQOkqniBKJjP0Z0oCWASKgBX6D4AFSMcWCTJwDwblGBQMiLsgAAAABJRU5ErkJggg==")}.ui-icon-forbidden:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAANZJREFUOMuF0jFuwkAUhOEtCT0R4iwh4hgu0uUM3AAU5TKIKk1OgSPlHCgUQMOXZrAsY8NIK9k7/v3ezttSWsIMn/jFGSf84AOz0ie842BYB1R90CUffOEFo6w5NvEuDZz22pVqTHo6Wsb/w7TkTNdK9QN4G39dEoS0N7kH4zXeriQ9GMUchDHO/rEk8ga8B+Mpe6eSOcG809YNjMX1vWS4sOkJowt/53nVHcfyAQx7PF/NqnUBtklvnDMtWpUueOv+ucpwh7S/gVrwFGvscEziNVZNe9E/AYkNLyf6mZAAAAAASUVORK5CYII=")}.ui-icon-forward:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJVJREFUOMud0SEPQWEUBuA7I6iSTdFtfoNgJvkzNtE+QfcnRFFVFX9AECmaieYRfOGyue533/qeZ2c7J8tKBCGrEu+EqrAYY4AV9rji4TPhG/Rx8D8hj3q4xeKMJYbooFG0bRuLDZqlj4N7LNtJ78jBVuq5dxEuUuEowifmqKfgWYRwwhTdsniMY/5pKZtrmGCNy6+5F/zkDN/sPUM/AAAAAElFTkSuQmCC")}.ui-icon-gear:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAANBJREFUOMuN0k1OAkEUReGKDVPsBUiCe/An6CZMCHERkLgABzpwr0rCAhoM/Tl56ktTQc+o07dud71TVUoFXOITe0zLKfCIOcZ488sLRrjDslaCHlvHbCPrscjFebz8ix7XuThOf+qwQotJPHeRbdBkEXmmVWX+dcpfMSthL9NWiueDNfsSyjOTSrEdrOkKpqH81FafUv6Mi+9gNJCzju21UdpF9o6z/MV7/+OAm1xcxhkd8FEpbNIFeBjOscAVmlCeZ2pwe1SqyJiF7d2PiAFfUWcCdKtjEnkAAAAASUVORK5CYII=")}.ui-icon-grid:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAElJREFUOMtj+P///8n/CHCcAQjQxE5Axc4gizGCSAYkwAgExIgxMZAJQBpPIPGPQWlsYiexiJEBhlbgnCQyIKgXOGcIBcQQDxwAcK29sfGNuOEAAAAASUVORK5CYII=")}.ui-icon-heart:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJhJREFUOMud0L0NwjAQgNErGAEGoU0WSYUEggGyVULFCFCyAgPQQQsU5NE4EuLfPOka258sXUREYIwldtiixiBNnc526c04UlTg7NkqzaMzisBGvnW8+e2bU+D4R3gItH+Ebb+cXEW/2SYjaqKHEfY/RHsM4x5KXD5EF5TxCipcX0RXVPEJpugeokn8AosUd5hFDswxfXd/AyJMQU8RkPn/AAAAAElFTkSuQmCC")}.ui-icon-home:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADxJREFUOMtjYMAB/v//3wDCDKQAqCYYaCBHE3GacWjCr5mAJuyaidSEqplETZg2E6sDmx8p10iK3HDWCADqFJ92uuEinAAAAABJRU5ErkJggg==")}.ui-icon-info:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJ1JREFUOMul0k0KwjAQQOHcQtF7SPEeQsHrKHo8S71IVdBVPzejaJ0u1AezSfKS+UkpL2COPY64RbTYYVYysMbFOGfUmdQPDi5QDdb6pxzpZS9VWCbrJ0xL1PQt2xKNeGNQRkZTonPG5BHx+pfY/iAeSgz3W3FTMIvhps1J5A6Tx0adfICMHqvhrXUMd4zuQ3qRp9iiwTXigM0zveAO8O5cUyF3tnAAAAAASUVORK5CYII=")}.ui-icon-location:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJlJREFUOMuV0TEOAVEUhtHXWYGh04pWzypYlJWIIENU1oQQdJKjucUL4+Er/7knr5iUXsIAO9xxwxb9VCrQxXvnIo6XYI0KbdSxbUrwHkdVtlWxXUvwFEedbOvEdizBVRzV6AbaxrYswanPTUqwhUMDOqD17ZfMGuAsfQs9PDL0QC/9EhYZnKdfwzCDw/RP2GOf/g1jjD59fwKZSi5HaePOlAAAAABJRU5ErkJggg==")}.ui-icon-lock:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAHFJREFUOMtjYEAD////Dwbiw0D8HYoPAXEgAz4AVND7HzfowqUpGKrgBxBnA7EAEPNB2T+gcv7YNB6GSmZjkcuByh3EpvE7VFIAixw/VO4rNo1ggMf/mPL/SQQ002gCxObkaDQGYlNyNDZAMf000iZUAdQHDgw3MuoHAAAAAElFTkSuQmCC")}.ui-icon-mail:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAIVJREFUOMtjYKA7+P//fzQQf/xPPACpjQZp5AJiRSA+SoQmkBoFkB6QxqtArAXEzEDcAMR/sGgAidVD1WiD9DBAJb4CcQLU6VZAfB9J0z0gtoTKJUDV/mdAM3kB1Ol8QLwEivmgYguQFTJgcRbY6UiBpw0V+09II9zpyE4jViNBMAAa6Q4ARIAH2Rfeh/QAAAAASUVORK5CYII=")}.ui-icon-minus:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABZJREFUOE9jYBgFuMF/MsFQ0jgKcAMA2lPfIe/W1fgAAAAASUVORK5CYII=")}.ui-icon-navigation:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJNJREFUOMtjYKA1+P//vxAQ5wLxXGIUMwGxKxCvAOIf/yEgB58GeSBuAOIH/1HBdyAWRFfMAcSRQLwbiP/9xw6WI2swBOIpQPzuP2Hggu5pMyCOBuJ6IF4CxCeA+C2aJpCzGYkNSWRX1JMSBSehmv4CsRwpGpdCNe4iNdIboBojSNUYAw0kdlI1mgPxZHLTpyE2OQBXFwcOWoyvmwAAAABJRU5ErkJggg==")}.ui-icon-phone:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAALRJREFUOMtj+P//PxMQLwDiI0DMy0AsACqOAuKz/yHgGNGagQrfAPFqNM08xGj8BtWwBqr5NxCbEqPx9H8EWAXEHsQ6tRxJ4yVSAocf6k8YCCZFcyySxi9AbE6K5vlImj8AsTWavBYQc2PTyAbEu5E0/wDiFKicNTT0sScSoCAXEO/5jwouAfFypHg+ikszyOaF/zHBGiTNh/D5OQGI36JphqWwiYQCTACIK4D4HNTPr2HRBQChdFG//DBhowAAAABJRU5ErkJggg==")}.ui-icon-plus:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAB5JREFUOMtjYMAC/qMBBmLBcNP4n0wwlDSOJgDcGgFPin6QGOaERAAAAABJRU5ErkJggg==")}.ui-icon-power:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAANBJREFUOMtjYMAB/v//vxeIdzOQCv5DATEKQ4H4FhCbo2sEUrZAfBuIA9E1KQLxV6jaUCwaY6HcL0Ash6xxClRiNS6nApkboEITkTXehwoa49FoBhW6g6zxD1SQBY9GVqjQb2SNX6CCQkhiF4H4PBJfBKrmE7LGQ1DBBCQxJiBmROKnQtXsQ9aYCBV8AQphLFGlAsSvoWpikSWYkWx9A8QloIACYhMgLgfid1A5UGpiQjdVEIgP/scNQJr4caUeJmhk7wbi51C8C4ijkf1LEQAAs65tnfCMVk0AAAAASUVORK5CYII=")}.ui-icon-recycle:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJ9JREFUOMtjYKAm+P///1kg/gnEP6DsQiBmJ0YjNnAZiGUIafQDYi4g5gZiXyC+DtV8CcVmICcUhPEYxI+kuQAmKArEr6BYlIArQOA0TGA1kj9W4dHIA1XzDVnwB1SQG49GTAugQQ4Cvng0YnoJyCiCagQFAD8ezaiBCORwAPEVJM1+UD+BcAihuJNF0owCiEkxHNDkdQYUelB8gqrpGQBlvyiNmsjT4QAAAABJRU5ErkJggg==")}.ui-icon-refresh:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAM9JREFUOMtjYEAC////lwbiTiC+AsQ/gfgHEF8C4lYglkBSV4+sKRaIv/zHDT4BcSQQNwPxH5imGCD+B1WwCoitgJgNiq2BeC2aIX9AmiSB+DNUII8BBwDK7UfX2A7lrMGjqRmbjVegHEscmhqx+Bes8QeUw8ZACqBE42WoRmtSNbZBNa4lQq0vEDPDOJLQyAWBEjyaqqBqDiILRiAlgA1AbA/E3FDsCMRboHJ/gTgI3cQwIP6AJ8mB5IJxOUcMiJuA+Dw03X6BskFxKYasFgCG8ZXX6DfYhgAAAABJRU5ErkJggg==")}.ui-icon-search:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAONJREFUOMuV0c8qhVEUhvFvcvKlMHBCUUwU5RpMlIm5UnIFOp2bMHEDiokLkJKpMpXO4Bg4MlAGLkDK3/AzWYPd195iDd/nfVbttasqBjU6OMcdetjFdFUazOJGfp6wlpNqDKI0wDrmsYzjyF+x1BS3E2k0s/gg+EkTnAXYKDyjjU+8o07BbYiLv9zgPjpzaXgR4UpBGsJLdMZSsBPhaUHsBO81wRQeAx5iMrl2Fx/BNnNbV/EchS884K3xn32M5+QFHCXCNy6xhevIrtAuXbCFGYwk2cSf5MLCVN6r/jMh72P4BxnPgmBrkPyTAAAAAElFTkSuQmCC")}.ui-icon-shop:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAE9JREFUOMtjYEAD////ZwfiKUD8Hog/QtnsDIQAVOE6IBYDYlEg3gDEk4nRCLJJDIkPMuADMRr/EyMGlyAF4NJoiUWtOTEaybZxVOOAaQQAmEocSjETvxYAAAAASUVORK5CYII=")}.ui-icon-star:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJFJREFUOMtjYMAB/v//bwzCDKQCoKZZQDyTVE28QPwZiD8BMQ8pGtP/I0AaKRrPImk8g0tRAhB//U88AKmNh2nWAuKrRGi6AlKLbjMXEC/Ao2k+SA0uZyvj0aiML1Cy8GjMxKdxA1TRWyAOh+K3ULH1uDSxQCN8KxBLIolLAvE2IP4IUoNNowG+yAbJgdQwUAoAbN9GiH93pK4AAAAASUVORK5CYII=")}.ui-icon-tag:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEFJREFUOMtj+I8dNDAQAv9xgwZiNZoBsQXRmpEUgTRZEW3zf+JAAzaNDaOaSYhjApoJJowGspIiFs3EaULTjKEJAH1ft8O6vRfvAAAAAElFTkSuQmCC")}.ui-icon-user:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJdJREFUOMud0jsOQUEUgOEpJGxD0CpswAqUohStLYitiEJUEtHZgETJKjyiIqqb3E9D4nFdE399vuTkzITwFgqYIMEarRAT+l5L0YyBK5/NY+A5Ax5/oZrsUlTz4ND3BnmwglMGOqD8a91ZBpzGHKeB6xO6oB77lssnuMgbLKGDMbb3X/MowQYjtFF8oB724tuhG/zZ3/AGG1/AkN/xnJsAAAAASUVORK5CYII=")}.ui-icon-video:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAExJREFUOMvF0csJACAMBNE0KGJHlqtpYjwJIvF70Lk/CFmR5wEByIxTwFtwhmq5M1HYrEUAR7CiI9iiN/D6VOs5uuGSNYdfbJkAJ98rtv7WyPB7sagAAAAASUVORK5CYII=")}.ui-alt-icon.ui-icon-action:after,.ui-alt-icon .ui-icon-action:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAH1JREFUOMtjYCAOzAJiNgYywH8gPgbEkuRoBOFnQGyJLgjDDVBxNSBeDsQf0OR/AnEaAw5NdkD8BYuhWDXCAC8QvwDiH0BcB8TihJwKA/lA/BmIrQkFDrrG3UAcjhY4M5GiowGXxrl4QrcBWS26RiMiogWrRga6aSQFk68RAP5OVqWXKdm9AAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-alert:after,.ui-alt-icon .ui-icon-alert:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJZJREFUOMtjYMANvIHYi4FEwAbEt4D4JhCzkqKxFIj/Q3EpsZokgPgTksZPUDGCYAFUgxkQW0DZ8wlpMgfif1DFMPAfKmaGSxMjEJ9EciKyxv9QOUZsGhOQFP2HOtMKTSweXRMvED9HU4QNP4eqhYNuLIpMoH5GF++CaVID4l9YFJhjcSoI/wRiVZDGrUQ4ER1vZaA7AAA8nEl47CBNKgAAAABJRU5ErkJggg==")}.ui-alt-icon.ui-icon-arrow-d:after,.ui-alt-icon .ui-icon-arrow-d:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADRJREFUOMtjYMAO/qNhosGoRko1NmBRSAg3kKO5gRybG8hxdgOhgGkgRxM2zQ0MJIIGfJoARZtMu19O4xgAAAAASUVORK5CYII=")}.ui-alt-icon.ui-icon-arrow-d-l:after,.ui-alt-icon .ui-icon-arrow-d-l:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAElJREFUOMtjYCAeNEAxSQCk4T8UN5CjiWjN2DTBNTaQo4kBh9UENTFgESRKEwOa5AFiNTHgUEhUCJKlCZ/GA4Tiiuo2UuRHnJoBqxder3inhF8AAAAASUVORK5CYII=")}.ui-alt-icon.ui-icon-arrow-d-r:after,.ui-alt-icon .ui-icon-arrow-d-r:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEFJREFUOMtjYECABigmCYA0/IfiBnI0kaQZm0aaaW4gRzNMHUk2I8sT7ewDaHyS/ExQIzGa8YIDdLORLD8So+k/AHCSXq9v5cRTAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-arrow-l:after,.ui-alt-icon .ui-icon-arrow-l:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADdJREFUOMtjYMANGhjIACBN/8nV9J9cTf/J1fSfXE2EMFmaKNNItlMpChyKooOiBEBRkiMqkQMAcwJMu8C5mgwAAAAASUVORK5CYII=")}.ui-alt-icon.ui-icon-arrow-r:after,.ui-alt-icon .ui-icon-arrow-r:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADVJREFUOMtjYMAPGhjIBP/J1fyfXM3/ydX8H5/m/yTiBnI1wjXTTWMDxYFD0+hooFuSw6kJAOa7TLvbyXpwAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-arrow-u:after,.ui-alt-icon .ui-icon-arrow-u:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADVJREFUOMtjYMANGqCYJADS8B+KG8jRRLRmbJoIasanCadmYjRhaCZFE0FnoyskGoxqpEQjABQxTLu007KqAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-arrow-u-l:after,.ui-alt-icon .ui-icon-arrow-u-l:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEVJREFUOMtjYGBg+E8EbmDAAsjSxECuJnwaDzAQAFS3kSQ/HiAnVGGSDcRqxiZIlGZcfmggJ8BoppkojeiaidaErBmuCQCtL16vpLfRlQAAAABJRU5ErkJggg==")}.ui-alt-icon.ui-icon-arrow-u-r:after,.ui-alt-icon .ui-icon-arrow-u-r:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEVJREFUOMu9zzEOACAIA8A+nafxM12JFiwMNmGCCwDcMQBLKBqbQgWX8W8bRz9myCuYISN9GZ1zLRTn26g88YkYllHEMtpyql6v/pwMSQAAAABJRU5ErkJggg==")}.ui-alt-icon.ui-icon-audio:after,.ui-alt-icon .ui-icon-audio:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAANVJREFUOMuF0jFKg0EQhuHHXCBqL1ELCytzi5zAKgh2ViEgYhMwYCkWaXIUG/sU6YJaCBZewKRRiaAkzRTLun/+r5pvZ15mdhjKukniBh7RVaNb/Cb+BN9YYbQJWmUgHOE1ctdVUAqeoxfxHj7wgwOYJkAOzsJfhe+Fv1eAUrCFOb6wjR384aUOhHG8dcK/Y9lQr62qxKaOh1jgE03sxqjPMInCEvgUvh++H/4u7TwsgGe4iHg/FrWMpSnB+QEc4y1yl1V/HmZgO7r8G7GkQXbkDzhNC9aKZ1PDJ0JepAAAAABJRU5ErkJggg==")}.ui-alt-icon.ui-icon-back:after,.ui-alt-icon .ui-icon-back:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAItJREFUOMtjYMAEDQxkAJCm/+Rq+k+uJhD+A8Svgfg4EE8AYgdiNWLDZ4BYl5BmViCWBmIXIG4F4qdQ8U9ArE1K4HAB8Vqo3GZ8zsYGJKAaP5Ma6sLkamyEatxLrAZQQNUD8T+oRldCGhSBuBiI70I1gDSWEmMTchzeBGIPYp34DIiXArEvEDOhSwIAi9Qyp4aUzewAAAAASUVORK5CYII=")}.ui-alt-icon.ui-icon-bars:after,.ui-alt-icon .ui-icon-bars:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAACZJREFUOMtjYBgIcBKI/5OIT4A0HidD41GGUT/SCJwh148nhoYfAe0YURTen2r1AAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-bullets:after,.ui-alt-icon .ui-icon-bullets:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADVJREFUOMtjYBgIcBKIj6Px/xPAJxigmo4iaTxOhMajDKN+pBE4A3MzEp8oP55Ac/OJwelHAGSiQoVBqpe0AAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-calendar:after,.ui-alt-icon .ui-icon-calendar:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADRJREFUOMtjZECAk0D8D4gtGbCDM0D8B4gtQBxGIP7PQAYYYhoZKLWRJDZFGkedismmTCMAvGkkB7PDw7MAAAAASUVORK5CYII=")}.ui-alt-icon.ui-icon-camera:after,.ui-alt-icon .ui-icon-camera:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJxJREFUOMtjYKAiUAfiGiBugGIQWxWbQi4gzkRS+BSI/6Phx0jyWUDMCdK4GYtCQngTSOMfLBIPgXgCEPdB2ejyID0YggeAWBTqfJCzRID4IBZ1GAIGaM4HOcuQGI0sQPwLif8TiFmJtXETEn89EBsTo/EQkh8zoOwj2DT+xSL4CIj7oSH7GFeobiIjHkHOB6cC5JRDCGfAUg5ZAAAIx317SYGtJAAAAABJRU5ErkJggg==")}.ui-alt-icon.ui-icon-carat-d:after,.ui-alt-icon .ui-icon-carat-d:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAHFJREFUOMvV0DEKAjEQQNF3GhXXbXW9f6+nkGVTqRfQJoFlIDHa+SFFmHkpwt+1w7Fjb8KmXLaYccepgc544lbwFa98anjCY7V3gQFLA0e0YF+GNdxEa5wCjmiofUDEXah0CDj1oNKYQcoPfdX4C/rYG6dgMtFQD5sUAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-carat-l:after,.ui-alt-icon .ui-icon-carat-l:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAFBJREFUOMtjYMAPdIH4PBCrMJAA9ID4NRD/B+KnQKxKqiYQfg/ExuRoMiFG0xtSNenTTRNFGnFpNiUl7pA1fyBV82s0zWZ01/yY1PSKM5EDAGi5MtgV7LNzAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-carat-r:after,.ui-alt-icon .ui-icon-carat-r:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAFpJREFUOMtjYMAE6kB8Hoi1GEgAGkD8HIj/A/FLINYmVqMZEH+AaiRZszk1Nb+iVLMOJZp1idX4kVRbLcjRZIlFkzYxmj6RGh0W5GgCATUgfkpOxMM0nyOUyAF53TLQiFLV2gAAAABJRU5ErkJggg==")}.ui-alt-icon.ui-icon-carat-u:after,.ui-alt-icon .ui-icon-carat-u:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAGZJREFUOMtjYKAB0IdikjW9gWI9UjX9h2KiNOuhaYLh1/g060EVwBS/h2JkzbrEaDIBYlMg/oBLsy4OTTCArvkVTPN5PJpwaT4HElQB4qd4NMGAGVTzY6geMFAFYmMiosoMWdMQAQBshTLV2RAbgQAAAABJRU5ErkJggg==")}.ui-alt-icon.ui-icon-check:after,.ui-alt-icon .ui-icon-check:after,html .ui-alt-icon.ui-btn.ui-checkbox-on:after,html .ui-alt-icon .ui-btn.ui-checkbox-on:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEtJREFUOMtjYKADaIBikkAjEP+HYqI1NyFpIlozNk0YGhugToKBZmI1wSSayNGEDzfgCzGiNRHyD1Eh2EaOJhjoIEcTDHSRo4loAAAMpkH3I7j13AAAAABJRU5ErkJggg==")}.ui-alt-icon.ui-icon-clock:after,.ui-alt-icon .ui-icon-clock:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAANhJREFUOMuNkmEKgkAQhYd+hRdI9CpZpwiETlERdICiDhMh0R2qf4ZdxArsT9rbeAtT7GIPPnTHebvjzIp8KwYbcAVPUoA1iMSjMXiAxsMdpC5TzYQt6IMuScCO32ptjtVJU7XZGRzVes6cGwiF/2RP0rIlamWMrYSNaFhem3HA2EXYuYb/4zIaTowFXFcd8euk3l+uhIK7JNKuIXNzc+KBwckfxhmfH0/E4TZsuU8L5pSgZ4OpugAZuxcQU95eXYDR744ph+u7cqXLZBVyuGZOFcnBUpdn9AYEHE/v8XhZcwAAAABJRU5ErkJggg==")}.ui-alt-icon.ui-icon-cloud:after,.ui-alt-icon .ui-icon-cloud:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAHZJREFUOMtjYBgMQBiIE4G4FkoLEaMpEog/A/F/JPwRiEPwabIF4r9ommD4NxCb49K4C4cmGP4HxK+A2B9ZkzsQfyOgEYZfwjRVEKkBhr8AMSdI41sSNYLwRpDGd2Ro/AnSWE6GxnUwf7pAI7yBCJwJxBz0T5cA6NleA+xgAXwAAAAASUVORK5CYII=")}.ui-alt-icon.ui-icon-comment:after,.ui-alt-icon .ui-icon-comment:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEdJREFUOMtjYGBgCATil0D8n0j8Coj9GUjUBMMvGaEMkgETA5lgVCMBja/J0AeKe3AqICURvABiX3STYJINpDqBLE0MpGgCAMwXLfKbu8xgAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-delete:after,.ui-alt-icon .ui-icon-delete:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAE1JREFUOMtjYECABijGBbDKgwT+Q3EDDk0Y8siC2DTjlMcm8R/Jaf/xGYxLwX8CriFacwO+kCNZE9kaG2jlP6JDlGB0kJ0AyE5yZCVyAIGUcaXrtLjcAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-edit:after,.ui-alt-icon .ui-icon-edit:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEVJREFUOMtjYCAeNEAxSQCk4T8UN5CrkSjNyM4j2lZsChtI0USS8/6TqnGQa1IgRxMIJJCjCQQWkKMJBA5ANSdAnU0UAAB60T1Uc0QS+gAAAABJRU5ErkJggg==")}.ui-alt-icon.ui-icon-eye:after,.ui-alt-icon .ui-icon-eye:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJtJREFUOMtjYBhowAjEUUB8EIi/QvEBqBgjLk0SUEX/cWCQnDi6JjkgvgdV8AOIs4FYAIj5oOwfULl7ULVgwA/E15FMzsbimhwk+etQPQyr0JwkAFV8EoiPIxmOrGYlExbT/yHR/5ACDQOgOzUXi5oCJPlrUL9jDZxcqIECUE0/sQUODIgTiI792KIDOQFEQg34AsUHoGKMA5s2AdHHPobWAPyKAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-forbidden:after,.ui-alt-icon .ui-icon-forbidden:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAM1JREFUOMuFkkEOgjAQRd9S2WMIZ1HDMVi48wzcAEO8DGHlxlOAiecgshA31M1vUptiJ2lC+3mdmT+F38iBK/AEPsAMPIBGWjDOwASYlTUBZQha9MMN2AMbrQPQSltcOPcyDUAaqKiS/gIy1JPNNETgTvoFGWFUXhqBj9J65J5RP0TgROdvZLkL/oO3OpvRnIzcIwIXzp5GmzZghg/f9V3746gisAFGYGfF0nkAndxL1FPhZFqAk39zqeGuPbkxBNnINNxels8qs3bLA/gCVFFewZEF7yYAAAAASUVORK5CYII=")}.ui-alt-icon.ui-icon-forward:after,.ui-alt-icon .ui-icon-forward:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAItJREFUOMtjYCAONDCQCf6Tq/k/MZodgHgCEB8H4tdA/AdJI1bNekB8Bk0RNoyiURuIP0ElngJxKxC7ALE0ELPis20rVGItEHOSEjhfoJISpEYHTKMQqcG9D6qxkVSNblCN/4C4DohZSNFcBtUIMuAuEBcDsQKxmj2A+CZavBENmIDYD4iXAvEzXIoAgqYyqw9Yg9IAAAAASUVORK5CYII=")}.ui-alt-icon.ui-icon-gear:after,.ui-alt-icon .ui-icon-gear:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAOBJREFUOMuFkkEKwkAMRae13arQXVGo6BFEUS8hiLgSQZcteABddOFJ3YjSA9SK1T/wK2EIGHjw2ySTTDLG6DYAL1CBvhbgC70BMxCCAwio99RzsHYPsEkfUIOCWlLQZ1nJilcGeCBSOovoa2J/FopKJUhBF7SpS/ruoCUHcRFtpUrFTPhzkBhOT96nqyR2nJjKp5BWK4meG2MThyzf2FZJ3Al9BqPmI3CGk7E92/YRPOm7Obs3C2V3Gm8wkXuMxQO4K60+xJ5j12lfxJh7ykWVE/9NwdL8sYQP3N6tpwV8AdaYR91UZ7PcAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-grid:after,.ui-alt-icon .ui-icon-grid:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEJJREFUOMtjYGBgOAnE/6H4OAMEIIudgIqdQRf7j4aJFiNb43EkzlGoImxiJ7CIkQeGUOCcIDIgqBc4Z4gJiCEcOADCDYeuTK+m9gAAAABJRU5ErkJggg==")}.ui-alt-icon.ui-icon-heart:after,.ui-alt-icon .ui-icon-heart:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJRJREFUOMud0D0OAUEYBuDHFVyEisYlaITYm1GtcAU99V5CSb+bWKEwkrVZ+/cmb/PNPJkvwydj7JHghAiD0CjMEsQYBWOGDK9St9hVzLNgXCoOm3r257WmZnDvAW9w7AEPMO0BJ9+fjTugWCFDXFuga7j7kwnSGpQWVyxngbwCPTDXkDWeBZRjqWWigHOsdMymDr0BP5J/6NqLuzwAAAAASUVORK5CYII=")}.ui-alt-icon.ui-icon-home:after,.ui-alt-icon .ui-icon-home:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAADhJREFUOMtjYMANGqCYJADS8B+KG8jRRLRmbJoIasanCadmYjRhaCZFE1abidWEAaiikRS5YasRAHf0YqUlUKReAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-info:after,.ui-alt-icon .ui-icon-info:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJxJREFUOMul0ksKwkAQhOHvFga9hwTvIQS8TkSPZ4gX8QG6Stx0IA6TQLSgNtPzz6O6+dYGZ1zxDrc4YW1CBzzRT/iBKgd1ycYtymStG8ObiZtK7DLrdxTiT/1CH0UQaWGsHNiI5PoZOFd7/QW2P4AX0dylYC0m4jETTgrfsBoKVWYAcu6wT0+torlT0C0HDSqiuU0k94og6vHz4AMNCIcMUIkWVwAAAABJRU5ErkJggg==")}.ui-alt-icon.ui-icon-location:after,.ui-alt-icon .ui-icon-location:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJdJREFUOMuVkDEKwkAUBafzBG7sbCVtej2FHionEVGJIZVniqJouoA2T/jo+pMd+M3sm2bhlxxogA54AjWwYIAcuAOvr7sNxY2GRyAAU6CSO3lhp1EwLsg9vPCqUWZcJnfxwoNGFTBTVMvtvXAT+ZjPrb1wArSRqNWbSxkJS0YwB3oT9XKj2JlwSwKFCQsSOeuSWQHLf49vN4Q5LhENhvAAAAAASUVORK5CYII=")}.ui-alt-icon.ui-icon-lock:after,.ui-alt-icon .ui-icon-lock:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAG5JREFUOMtjYMAEwUB8GIi/Q/EhIA5kIAB6gfg/DtyFS1MwVMEPIM4GYgEg5oOyf0Dl/LFpPAyVzMYilwOVO4hN43eopAAWOX6o3FdsGmF+wQWwyv8nEdNGowkQm5Oj0RiITcnR2ADF9NNIm1AFAP9Vd4ZWPhWFAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-mail:after,.ui-alt-icon .ui-icon-mail:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAIRJREFUOMtjYBgIEA3EH4H4P5H4I1QPAxcQKwLxUSI0gdQoQPUwXAViLSBmBuIGIP6DRQNIrB6qRhuqByzxFYgToE63AuL7SJruAbElVC4BqvY/A5rJC6DO4APiJVDMBxVbgKYWw1kwp8MAzGn/CWlEdjqy01AwI0w3qYCJ3MhnYhgyAAD7hUiBFf5JtwAAAABJRU5ErkJggg==")}.ui-alt-icon.ui-icon-minus:after,.ui-alt-icon .ui-icon-minus:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABZJREFUOMtjYBgFeMF/MvFQ0jgKcAAApTQ3yWkQbYUAAAAASUVORK5CYII=")}.ui-alt-icon.ui-icon-navigation:after,.ui-alt-icon .ui-icon-navigation:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJRJREFUOMtjYKADEALiXCCeS4xiJiB2BeIVQPwDiP8DcQ4+DfJA3ADED6CKYfg7EAuiK+YA4kgg3g3E/9A0wPByZA2GQDwFiN/hUIyMXdA9bQbE0UBcD8RLgPgEEL9F0wRyNiOxIYnsinpSouAkVNNfIJYjReNSqMZdpEZ6A1RjBKkaY6CBxE6qRnMgnkxu+jTEJgEAOtUv19DqMFAAAAAASUVORK5CYII=")}.ui-alt-icon.ui-icon-phone:after,.ui-alt-icon .ui-icon-phone:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAALBJREFUOMtjYGBgYALiBUB8BIh5GUgAUUB8Foj/A/ExUjS/AeLVaJp5iNH4DaphDVTzbyA2JUbjaahGEF4FxB7EOrUcSeMlUgKHH+pPmOZgUjTHImn8AsTmpGiej6T5AxBbo8lrATE3No1sQLwbSfMPIE6GyllDQx9nIuEC4j1ImmEBthwpno/i0gyyeSGaZuR4BrEP4fNzAhC/RdMMS2ETCAWYABBXAPE5qJ9fw6ILAKJsPsK6IqZ8AAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-plus:after,.ui-alt-icon .ui-icon-plus:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAB1JREFUOMtjYMAO/qNhosFw0/ifTDyUNI4mABwaAYa6X6GPliIhAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-power:after,.ui-alt-icon .ui-icon-power:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAMZJREFUOMtjYMAN9gLxbgYywH8oJghCgfgWEJtj0WgLxLeBOBBdkyIQf4UqDMWiMRbK/gLEcsgap0AlVuNx6gYofyKyxvtQQWM8Gs2g/DvIGv9ABVnwaGSF8n8ja/wCFRRCErsIxOeR+CJQNZ+QNR6CCiYgiTEBMSMSPxWqZh+yxkSo4AtoCKMDFSB+DVUTiyzBjGTrGyAugQaUCRCXA/E7qNxeqEtQgCAQH0QKFHQM0sSPK/UwQZ0CSqPPoXgXEEej+Zd8AAA35kK6jnLDjgAAAABJRU5ErkJggg==")}.ui-alt-icon.ui-icon-recycle:after,.ui-alt-icon .ui-icon-recycle:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJVJREFUOMtjYKAyOAvEP4H4B5RdCMTsxGj8jwVfBmIZQhr9gJgLiLmB2BeIr0M1X0K3ORSKcQF+JM0FMEFRIH4FxaIEXAHSeBomsBrJH6vwaOSBqvmGLPgDKsiNRyNWC85CBXzxaMTqpSKoxuvQgMAFMAKRA4ivIGn2g/oJhEMIxZ0skmZ0TBBwQJPXGWjogfAJqiZmAOozM3SzI/gZAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-refresh:after,.ui-alt-icon .ui-icon-refresh:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAMlJREFUOMtjYEAF0kDcCcRXgPgnEP8A4ktA3ArEEkjq6pE1xQLxFyD+jwN/AuJIIG4G4j8wTTFA/A+qYBUQWwExGxRbA/FaNEPAGiWB+DNUII8BN9iPrrEdylmDR1MzNhuvQDmWODQ1YvEvWOMPKIeNgURAtsbLUI3WpGpsg2pcS4RaXyBmhnEkoZEL0lyCR1MVVM1BZMEIpASwAYjtgZgbih2BeAtU7i8QB6GbGAbEH/AkOZBcMC7niAFxExCfh6bbL1B2I1QODgBeWE0SXtioYgAAAABJRU5ErkJggg==")}.ui-alt-icon.ui-icon-search:after,.ui-alt-icon .ui-icon-search:after,.ui-input-search:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAOZJREFUOMuV0U8rxFEUxvFPSjMUG/oRio2ivAZLG3ulZGsjzevwBpTZzAuYlD3Zi2JhZKEs7Aclf/Jvc3D7dX8TT906Pc/5nu49l1/VsYUjXOME25jUQ9O4xGfmPGA5B9XRiaYOVjCLReyF/4SFMriZQMOZwc3I98vBQQSrFc8YxRte4nY/ugpwvscObqJn5tvoQzfqiQqohiLqbgoeRt2oADcwgFPcp8E47uIqLYwl227gNbK13NQlPEbDO27xXPrPM4zk4Dm0E+ADx1jHRXjnseWs+jGFocQr/grnlMI7/qkCuxj8AkXLP4FD310vAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-shop:after,.ui-alt-icon .ui-icon-shop:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAFBJREFUOMtjYMAE7EA8BYjfA/FHKJsdXRETFo29QCwFxOpArALEMkDcw0AEANkkhsQHsT8Qo/E/MWKMeBTjA4zY/GiFRcyCpjYSBUY10kIjAHnuC0BW95IBAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-star:after,.ui-alt-icon .ui-icon-star:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAIlJREFUOMtjYMANjKGYZDALiGeSqokXiD8D8Scg5iFFYzoQ/4fiNFI0nkXSeAaXogQg/oqkkBAGqY2HadYC4qtEaLoCVYsCuIB4AR5N86FqsAJlPBqV8QVKFh6Nmfg0boAqegvE4VD8Fiq2HpcmFmiEbwViSSRxEHsbEH+EqsEABgQiOw2qhjIAAOvoP4EZPNvPAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-tag:after,.ui-alt-icon .ui-icon-tag:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEFJREFUOMtjYGBg+I8FNzAQAf6Tqxmm0AyILUjRDFME0mRFis3/icBYNTeMaiYtjhsoSRgN5CZFdM1Ea0LWjKEJAJLwYwqDORsHAAAAAElFTkSuQmCC")}.ui-alt-icon.ui-icon-user:after,.ui-alt-icon .ui-icon-user:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAJdJREFUOMtjYMAELEC8BIh/A/EJIPZlIBJkAfF/JPwPiO2J0XgUTSMIrydG4ycsGl8R0qSKRRPMuSr4NNbi0AjC1fg0KgPxGyyaXgKxIiHnrsGicRkxgWMExF+RNH0GYj1i43IHksaN+BRyAHE4EC8A4ovQVAPTCGJfAOJ5QBwKxOwwTYlA/AJPaKLj50Acz0CCBnRMnkYAFb5i4CiuUNsAAAAASUVORK5CYII=")}.ui-alt-icon.ui-icon-video:after,.ui-alt-icon .ui-icon-video:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAE1JREFUOMtjYBgIEAjEL4H4Pw78Coj9sWnEpwmGX6LpaWAgQhMMI2v6T6rGBmQ+sRob0A2iuUaynYoROK+I0PQCW3T4E4hLkCZfhgEHAMf2cCELnGdHAAAAAElFTkSuQmCC")}html{font-size:100%}body,input,select,textarea,button,.ui-btn{font-size:1em;line-height:1.3;font-family:sans-serif}legend,.ui-input-text input,.ui-input-search input{color:inherit;text-shadow:inherit}.ui-mobile label,div.ui-controlgroup-label{font-weight:400;font-size:16px}.ui-field-contain{border-bottom-color:#828282;border-bottom-color:rgba(0,0,0,.15);border-bottom-width:1px;border-bottom-style:solid}.table-stroke thead th,.table-stripe thead th,.table-stripe tbody tr:last-child{border-bottom:1px solid #d6d6d6;border-bottom:1px solid rgba(0,0,0,.1)}.table-stroke tbody th,.table-stroke tbody td{border-bottom:1px solid #e6e6e6;border-bottom:1px solid rgba(0,0,0,.05)}.table-stripe.table-stroke tbody tr:last-child th,.table-stripe.table-stroke tbody tr:last-child td{border-bottom:0}.table-stripe tbody tr:nth-child(odd) td,.table-stripe tbody tr:nth-child(odd) th{background-color:#eee;background-color:rgba(0,0,0,.04)}.ui-btn,label.ui-btn{font-weight:700;border-width:1px;border-style:solid}.ui-btn{text-decoration:none!important}.ui-btn-active{cursor:pointer}.ui-corner-all{-webkit-border-radius:.3125em;border-radius:.3125em}.ui-btn-corner-all,.ui-btn.ui-corner-all,.ui-slider-track.ui-corner-all,.ui-flipswitch.ui-corner-all,.ui-li-count{-webkit-border-radius:.3125em;border-radius:.3125em}.ui-btn-icon-notext.ui-btn-corner-all,.ui-btn-icon-notext.ui-corner-all{-webkit-border-radius:1em;border-radius:1em}.ui-btn-corner-all,.ui-corner-all{-webkit-background-clip:padding;background-clip:padding-box}.ui-popup.ui-corner-all>.ui-popup-arrow-guide{left:.6em;right:.6em;top:.6em;bottom:.6em}.ui-shadow{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.15);-moz-box-shadow:0 1px 3px rgba(0,0,0,.15);box-shadow:0 1px 3px rgba(0,0,0,.15)}.ui-shadow-inset{-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.2);-moz-box-shadow:inset 0 1px 3px rgba(0,0,0,.2);box-shadow:inset 0 1px 3px rgba(0,0,0,.2)}.ui-overlay-shadow{-webkit-box-shadow:0 0 12px rgba(0,0,0,.6);-moz-box-shadow:0 0 12px rgba(0,0,0,.6);box-shadow:0 0 12px rgba(0,0,0,.6)}.ui-btn-icon-left:after,.ui-btn-icon-right:after,.ui-btn-icon-top:after,.ui-btn-icon-bottom:after,.ui-btn-icon-notext:after{background-color:#666;background-color:rgba(0,0,0,.3);background-position:center center;background-repeat:no-repeat;-webkit-border-radius:1em;border-radius:1em}.ui-alt-icon.ui-btn:after,.ui-alt-icon .ui-btn:after,html .ui-alt-icon.ui-checkbox-off:after,html .ui-alt-icon.ui-radio-off:after,html .ui-alt-icon .ui-checkbox-off:after,html .ui-alt-icon .ui-radio-off:after{background-color:#666;background-color:rgba(0,0,0,.15)}.ui-nodisc-icon.ui-btn:after,.ui-nodisc-icon .ui-btn:after{background-color:transparent}.ui-shadow-icon.ui-btn:after,.ui-shadow-icon .ui-btn:after{-webkit-box-shadow:0 1px 0 rgba(255,255,255,.3);-moz-box-shadow:0 1px 0 rgba(255,255,255,.3);box-shadow:0 1px 0 rgba(255,255,255,.3)}.ui-btn.ui-checkbox-off:after,.ui-btn.ui-checkbox-on:after,.ui-btn.ui-radio-off:after,.ui-btn.ui-radio-on:after{display:block;width:18px;height:18px;margin:-9px 2px 0 2px}.ui-checkbox-off:after,.ui-btn.ui-radio-off:after{filter:Alpha(Opacity=30);opacity:.3}.ui-btn.ui-checkbox-off:after,.ui-btn.ui-checkbox-on:after{-webkit-border-radius:.1875em;border-radius:.1875em}.ui-btn.ui-checkbox-off:after{background-color:#666;background-color:rgba(0,0,0,.3)}.ui-radio .ui-btn.ui-radio-on:after{background-image:none;background-color:#fff;width:8px;height:8px;border-width:5px;border-style:solid}.ui-alt-icon.ui-btn.ui-radio-on:after,.ui-alt-icon .ui-btn.ui-radio-on:after{background-color:#000}.ui-icon-loading{background:url(images/ajax-loader.gif);background-size:2.875em 2.875em}.ui-bar-a,.ui-page-theme-a .ui-bar-inherit,html .ui-bar-a .ui-bar-inherit,html .ui-body-a .ui-bar-inherit,html body .ui-group-theme-a .ui-bar-inherit{background-color:#e9e9e9;border-color:#ddd;color:#333;text-shadow:0 1px 0 #eee;font-weight:700}.ui-bar-a{border-width:1px;border-style:solid}.ui-overlay-a,.ui-page-theme-a,.ui-page-theme-a .ui-panel-wrapper{background-color:#f9f9f9;border-color:#bbb;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-body-a,.ui-page-theme-a .ui-body-inherit,html .ui-bar-a .ui-body-inherit,html .ui-body-a .ui-body-inherit,html body .ui-group-theme-a .ui-body-inherit,html .ui-panel-page-container-a{background-color:#fff;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-body-a{border-width:1px;border-style:solid}.ui-page-theme-a a,html .ui-bar-a a,html .ui-body-a a,html body .ui-group-theme-a a{color:#38c;font-weight:700}.ui-page-theme-a a:visited,html .ui-bar-a a:visited,html .ui-body-a a:visited,html body .ui-group-theme-a a:visited{color:#38c}.ui-page-theme-a a:hover,html .ui-bar-a a:hover,html .ui-body-a a:hover,html body .ui-group-theme-a a:hover{color:#059}.ui-page-theme-a a:active,html .ui-bar-a a:active,html .ui-body-a a:active,html body .ui-group-theme-a a:active{color:#059}.ui-page-theme-a .ui-btn,html .ui-bar-a .ui-btn,html .ui-body-a .ui-btn,html body .ui-group-theme-a .ui-btn,html head+body .ui-btn.ui-btn-a,.ui-page-theme-a .ui-btn:visited,html .ui-bar-a .ui-btn:visited,html .ui-body-a .ui-btn:visited,html body .ui-group-theme-a .ui-btn:visited,html head+body .ui-btn.ui-btn-a:visited{background-color:#f6f6f6;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-page-theme-a .ui-btn:hover,html .ui-bar-a .ui-btn:hover,html .ui-body-a .ui-btn:hover,html body .ui-group-theme-a .ui-btn:hover,html head+body .ui-btn.ui-btn-a:hover{background-color:#ededed;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-page-theme-a .ui-btn:active,html .ui-bar-a .ui-btn:active,html .ui-body-a .ui-btn:active,html body .ui-group-theme-a .ui-btn:active,html head+body .ui-btn.ui-btn-a:active{background-color:#e8e8e8;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-page-theme-a .ui-btn.ui-btn-active,html .ui-bar-a .ui-btn.ui-btn-active,html .ui-body-a .ui-btn.ui-btn-active,html body .ui-group-theme-a .ui-btn.ui-btn-active,html head+body .ui-btn.ui-btn-a.ui-btn-active,.ui-page-theme-a .ui-checkbox-on:after,html .ui-bar-a .ui-checkbox-on:after,html .ui-body-a .ui-checkbox-on:after,html body .ui-group-theme-a .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-a:after,.ui-page-theme-a .ui-flipswitch-active,html .ui-bar-a .ui-flipswitch-active,html .ui-body-a .ui-flipswitch-active,html body .ui-group-theme-a .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-a.ui-flipswitch-active,.ui-page-theme-a .ui-slider-track .ui-btn-active,html .ui-bar-a .ui-slider-track .ui-btn-active,html .ui-body-a .ui-slider-track .ui-btn-active,html body .ui-group-theme-a .ui-slider-track .ui-btn-active,html body div.ui-slider-track.ui-body-a .ui-btn-active{background-color:#38c;border-color:#38c;color:#fff;text-shadow:0 1px 0 #059}.ui-page-theme-a .ui-radio-on:after,html .ui-bar-a .ui-radio-on:after,html .ui-body-a .ui-radio-on:after,html body .ui-group-theme-a .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-a:after{border-color:#38c}.ui-page-theme-a .ui-btn:focus,html .ui-bar-a .ui-btn:focus,html .ui-body-a .ui-btn:focus,html body .ui-group-theme-a .ui-btn:focus,html head+body .ui-btn.ui-btn-a:focus,.ui-page-theme-a .ui-focus,html .ui-bar-a .ui-focus,html .ui-body-a .ui-focus,html body .ui-group-theme-a .ui-focus,html head+body .ui-btn-a.ui-focus,html head+body .ui-body-a.ui-focus{-webkit-box-shadow:0 0 12px #38c;-moz-box-shadow:0 0 12px #38c;box-shadow:0 0 12px #38c}.ui-bar-b,.ui-page-theme-b .ui-bar-inherit,html .ui-bar-b .ui-bar-inherit,html .ui-body-b .ui-bar-inherit,html body .ui-group-theme-b .ui-bar-inherit{background-color:#1d1d1d;border-color:#1b1b1b;color:#fff;text-shadow:0 1px 0 #111;font-weight:700}.ui-bar-b{border-width:1px;border-style:solid}.ui-overlay-b,.ui-page-theme-b,.ui-page-theme-b .ui-panel-wrapper{background-color:#252525;border-color:#454545;color:#fff;text-shadow:0 1px 0 #111}.ui-body-b,.ui-page-theme-b .ui-body-inherit,html .ui-bar-b .ui-body-inherit,html .ui-body-b .ui-body-inherit,html body .ui-group-theme-b .ui-body-inherit,html .ui-panel-page-container-b{background-color:#2a2a2a;border-color:#1d1d1d;color:#fff;text-shadow:0 1px 0 #111}.ui-body-b{border-width:1px;border-style:solid}.ui-page-theme-b a,html .ui-bar-b a,html .ui-body-b a,html body .ui-group-theme-b a{color:#2ad;font-weight:700}.ui-page-theme-b a:visited,html .ui-bar-b a:visited,html .ui-body-b a:visited,html body .ui-group-theme-b a:visited{color:#2ad}.ui-page-theme-b a:hover,html .ui-bar-b a:hover,html .ui-body-b a:hover,html body .ui-group-theme-b a:hover{color:#08b}.ui-page-theme-b a:active,html .ui-bar-b a:active,html .ui-body-b a:active,html body .ui-group-theme-b a:active{color:#08b}.ui-page-theme-b .ui-btn,html .ui-bar-b .ui-btn,html .ui-body-b .ui-btn,html body .ui-group-theme-b .ui-btn,html head+body .ui-btn.ui-btn-b,.ui-page-theme-b .ui-btn:visited,html .ui-bar-b .ui-btn:visited,html .ui-body-b .ui-btn:visited,html body .ui-group-theme-b .ui-btn:visited,html head+body .ui-btn.ui-btn-b:visited{background-color:#333;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111}.ui-page-theme-b .ui-btn:hover,html .ui-bar-b .ui-btn:hover,html .ui-body-b .ui-btn:hover,html body .ui-group-theme-b .ui-btn:hover,html head+body .ui-btn.ui-btn-b:hover{background-color:#373737;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111}.ui-page-theme-b .ui-btn:active,html .ui-bar-b .ui-btn:active,html .ui-body-b .ui-btn:active,html body .ui-group-theme-b .ui-btn:active,html head+body .ui-btn.ui-btn-b:active{background-color:#404040;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111}.ui-page-theme-b .ui-btn.ui-btn-active,html .ui-bar-b .ui-btn.ui-btn-active,html .ui-body-b .ui-btn.ui-btn-active,html body .ui-group-theme-b .ui-btn.ui-btn-active,html head+body .ui-btn.ui-btn-b.ui-btn-active,.ui-page-theme-b .ui-checkbox-on:after,html .ui-bar-b .ui-checkbox-on:after,html .ui-body-b .ui-checkbox-on:after,html body .ui-group-theme-b .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-b:after,.ui-page-theme-b .ui-flipswitch-active,html .ui-bar-b .ui-flipswitch-active,html .ui-body-b .ui-flipswitch-active,html body .ui-group-theme-b .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-b.ui-flipswitch-active,.ui-page-theme-b .ui-slider-track .ui-btn-active,html .ui-bar-b .ui-slider-track .ui-btn-active,html .ui-body-b .ui-slider-track .ui-btn-active,html body .ui-group-theme-b .ui-slider-track .ui-btn-active,html body div.ui-slider-track.ui-body-b .ui-btn-active{background-color:#2ad;border-color:#2ad;color:#fff;text-shadow:0 1px 0 #08b}.ui-page-theme-b .ui-radio-on:after,html .ui-bar-b .ui-radio-on:after,html .ui-body-b .ui-radio-on:after,html body .ui-group-theme-b .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-b:after{border-color:#2ad}.ui-page-theme-b .ui-btn:focus,html .ui-bar-b .ui-btn:focus,html .ui-body-b .ui-btn:focus,html body .ui-group-theme-b .ui-btn:focus,html head+body .ui-btn.ui-btn-b:focus,.ui-page-theme-b .ui-focus,html .ui-bar-b .ui-focus,html .ui-body-b .ui-focus,html body .ui-group-theme-b .ui-focus,html head+body .ui-btn-b.ui-focus,html head+body .ui-body-b.ui-focus{-webkit-box-shadow:0 0 12px #2ad;-moz-box-shadow:0 0 12px #2ad;box-shadow:0 0 12px #2ad}.ui-disabled,.ui-state-disabled,button[disabled],.ui-select .ui-btn.ui-state-disabled{filter:Alpha(Opacity=30);opacity:.3;cursor:default!important;pointer-events:none}.ui-btn:focus,.ui-btn.ui-focus{outline:0}.ui-noboxshadow .ui-shadow,.ui-noboxshadow .ui-shadow-inset,.ui-noboxshadow .ui-overlay-shadow,.ui-noboxshadow .ui-shadow-icon.ui-btn:after,.ui-noboxshadow .ui-shadow-icon .ui-btn:after,.ui-noboxshadow .ui-focus,.ui-noboxshadow .ui-btn:focus,.ui-noboxshadow input:focus,.ui-noboxshadow .ui-panel{-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important}.ui-noboxshadow .ui-btn:focus,.ui-noboxshadow .ui-focus{outline-width:1px;outline-style:auto}.ui-mobile,.ui-mobile body{height:99.9%}.ui-mobile fieldset,.ui-page{padding:0;margin:0}.ui-mobile a img,.ui-mobile fieldset{border-width:0}.ui-mobile fieldset{min-width:0}@-moz-document url-prefix(){.ui-mobile fieldset{display:table-column;vertical-align:middle}}.ui-mobile-viewport{margin:0;overflow-x:visible;-webkit-text-size-adjust:100%;-ms-text-size-adjust:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}body.ui-mobile-viewport,div.ui-mobile-viewport{overflow-x:hidden}.ui-mobile [data-role=page],.ui-mobile [data-role=dialog],.ui-page{top:0;left:0;width:100%;min-height:100%;position:absolute;display:none;border:0}.ui-page{outline:0}.ui-mobile .ui-page-active{display:block;overflow:visible;overflow-x:hidden}@media screen and (orientation:portrait){.ui-mobile .ui-page{min-height:420px}}@media screen and (orientation:landscape){.ui-mobile .ui-page{min-height:300px}}.ui-mobile-rendering>*{visibility:hidden}.ui-nojs{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-loading .ui-loader{display:block}.ui-loader{display:none;z-index:9999999;position:fixed;top:50%;left:50%;border:0}.ui-loader-default{background:0;filter:Alpha(Opacity=18);opacity:.18;width:2.875em;height:2.875em;margin-left:-1.4375em;margin-top:-1.4375em}.ui-loader-verbose{width:12.5em;filter:Alpha(Opacity=88);opacity:.88;box-shadow:0 1px 1px -1px #fff;height:auto;margin-left:-6.875em;margin-top:-2.6875em;padding:.625em}.ui-loader-default h1{font-size:0;width:0;height:0;overflow:hidden}.ui-loader-verbose h1{font-size:1em;margin:0;text-align:center}.ui-loader .ui-icon-loading{background-color:#000;display:block;margin:0;width:2.75em;height:2.75em;padding:.0625em;-webkit-border-radius:2.25em;border-radius:2.25em}.ui-loader-verbose .ui-icon-loading{margin:0 auto .625em;filter:Alpha(Opacity=75);opacity:.75}.ui-loader-textonly{padding:.9375em;margin-left:-7.1875em}.ui-loader-textonly .ui-icon-loading{display:none}.ui-loader-fakefix{position:absolute}.ui-bar,.ui-body{position:relative;padding:.4em 1em;overflow:hidden;display:block;clear:both}.ui-bar h1,.ui-bar h2,.ui-bar h3,.ui-bar h4,.ui-bar h5,.ui-bar h6{margin:0;padding:0;font-size:1em;display:inline-block}.ui-header,.ui-footer{border-width:1px 0;border-style:solid;position:relative}.ui-header:empty,.ui-footer:empty{min-height:2.6875em}.ui-header .ui-title,.ui-footer .ui-title{font-size:1em;min-height:1.1em;text-align:center;display:block;margin:0 30%;padding:.7em 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;outline:0!important}.ui-footer .ui-title{margin:0 1em}.ui-content{border-width:0;overflow:visible;overflow-x:hidden;padding:1em}.ui-corner-all>.ui-header:first-child,.ui-corner-all>.ui-content:first-child,.ui-corner-all>.ui-footer:first-child{-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit;-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit}.ui-corner-all>.ui-header:last-child,.ui-corner-all>.ui-content:last-child,.ui-corner-all>.ui-footer:last-child{-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-btn{font-size:16px;margin:.5em 0;padding:.7em 1em;display:block;position:relative;text-align:center;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui-btn-icon-notext,.ui-header button.ui-btn.ui-btn-icon-notext,.ui-footer button.ui-btn.ui-btn-icon-notext{padding:0;width:1.75em;height:1.75em;text-indent:-9999px;white-space:nowrap!important}.ui-mini{font-size:12.5px}.ui-mini .ui-btn{font-size:inherit}.ui-header .ui-btn,.ui-footer .ui-btn{font-size:12.5px;display:inline-block;vertical-align:middle}.ui-header .ui-controlgroup .ui-btn-icon-notext,.ui-footer .ui-controlgroup .ui-btn-icon-notext{font-size:12.5px}.ui-header .ui-btn-left,.ui-header .ui-btn-right{font-size:12.5px}.ui-mini.ui-btn-icon-notext,.ui-mini .ui-btn-icon-notext,.ui-header .ui-btn-icon-notext,.ui-footer .ui-btn-icon-notext{font-size:16px;padding:0}.ui-btn-inline{display:inline-block;vertical-align:middle;margin-right:.625em}.ui-btn-icon-left{padding-left:2.5em}.ui-btn-icon-right{padding-right:2.5em}.ui-btn-icon-top{padding-top:2.5em}.ui-btn-icon-bottom{padding-bottom:2.5em}.ui-header .ui-btn-icon-top,.ui-footer .ui-btn-icon-top,.ui-header .ui-btn-icon-bottom,.ui-footer .ui-btn-icon-bottom{padding-left:.3125em;padding-right:.3125em}.ui-btn-icon-left:after,.ui-btn-icon-right:after,.ui-btn-icon-top:after,.ui-btn-icon-bottom:after,.ui-btn-icon-notext:after{content:"";position:absolute;display:block;width:22px;height:22px}.ui-btn-icon-notext:after,.ui-btn-icon-left:after,.ui-btn-icon-right:after{top:50%;margin-top:-11px}.ui-btn-icon-left:after{left:.5625em}.ui-btn-icon-right:after{right:.5625em}.ui-mini.ui-btn-icon-left:after,.ui-mini .ui-btn-icon-left:after,.ui-header .ui-btn-icon-left:after,.ui-footer .ui-btn-icon-left:after{left:.37em}.ui-mini.ui-btn-icon-right:after,.ui-mini .ui-btn-icon-right:after,.ui-header .ui-btn-icon-right:after,.ui-footer .ui-btn-icon-right:after{right:.37em}.ui-btn-icon-notext:after,.ui-btn-icon-top:after,.ui-btn-icon-bottom:after{left:50%;margin-left:-11px}.ui-btn-icon-top:after{top:.5625em}.ui-btn-icon-bottom:after{top:auto;bottom:.5625em}.ui-header .ui-btn-left,.ui-header .ui-btn-right,.ui-btn-left>[class*=ui-],.ui-btn-right>[class*=ui-]{margin:0}.ui-btn-left,.ui-btn-right{position:absolute;top:.24em}.ui-btn-left{left:.4em}.ui-btn-right{right:.4em}.ui-btn-icon-notext.ui-btn-left{top:.3125em;left:.3125em}.ui-btn-icon-notext.ui-btn-right{top:.3125em;right:.3125em}button.ui-btn,.ui-controlgroup-controls button.ui-btn-icon-notext{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;width:100%}button.ui-btn-inline,.ui-header button.ui-btn,.ui-footer button.ui-btn{width:auto}button.ui-btn::-moz-focus-inner{border:0}button.ui-btn-icon-notext,.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;width:1.75em}.ui-mobile label,.ui-controlgroup-label{display:block;margin:0 0 .4em}.ui-hide-label>label,.ui-hide-label .ui-controlgroup-label,.ui-hide-label .ui-rangeslider label,.ui-hidden-accessible{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-screen-hidden{display:none!important}.ui-mobile-viewport-transitioning,.ui-mobile-viewport-transitioning .ui-page{width:100%;height:100%;overflow:hidden;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-page-pre-in{opacity:0}.in{-webkit-animation-timing-function:ease-out;-webkit-animation-duration:350ms;-moz-animation-timing-function:ease-out;-moz-animation-duration:350ms;animation-timing-function:ease-out;animation-duration:350ms}.out{-webkit-animation-timing-function:ease-in;-webkit-animation-duration:225ms;-moz-animation-timing-function:ease-in;-moz-animation-duration:225ms;animation-timing-function:ease-in;animation-duration:225ms}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@-moz-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadeout{from{opacity:1}to{opacity:0}}@-moz-keyframes fadeout{from{opacity:1}to{opacity:0}}@keyframes fadeout{from{opacity:1}to{opacity:0}}.fade.out{opacity:0;-webkit-animation-duration:125ms;-webkit-animation-name:fadeout;-moz-animation-duration:125ms;-moz-animation-name:fadeout;animation-duration:125ms;animation-name:fadeout}.fade.in{opacity:1;-webkit-animation-duration:225ms;-webkit-animation-name:fadein;-moz-animation-duration:225ms;-moz-animation-name:fadein;animation-duration:225ms;animation-name:fadein}.pop{-webkit-transform-origin:50% 50%;-moz-transform-origin:50% 50%;transform-origin:50% 50%}.pop.in{-webkit-transform:scale(1);-webkit-animation-name:popin;-webkit-animation-duration:350ms;-moz-transform:scale(1);-moz-animation-name:popin;-moz-animation-duration:350ms;transform:scale(1);animation-name:popin;animation-duration:350ms;opacity:1}.pop.out{-webkit-animation-name:fadeout;-webkit-animation-duration:100ms;-moz-animation-name:fadeout;-moz-animation-duration:100ms;animation-name:fadeout;animation-duration:100ms;opacity:0}.pop.in.reverse{-webkit-animation-name:fadein;-moz-animation-name:fadein;animation-name:fadein}.pop.out.reverse{-webkit-transform:scale(.8);-webkit-animation-name:popout;-moz-transform:scale(.8);-moz-animation-name:popout;transform:scale(.8);animation-name:popout}@-webkit-keyframes popin{from{-webkit-transform:scale(.8);opacity:0}to{-webkit-transform:scale(1);opacity:1}}@-moz-keyframes popin{from{-moz-transform:scale(.8);opacity:0}to{-moz-transform:scale(1);opacity:1}}@keyframes popin{from{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@-webkit-keyframes popout{from{-webkit-transform:scale(1);opacity:1}to{-webkit-transform:scale(.8);opacity:0}}@-moz-keyframes popout{from{-moz-transform:scale(1);opacity:1}to{-moz-transform:scale(.8);opacity:0}}@keyframes popout{from{transform:scale(1);opacity:1}to{transform:scale(.8);opacity:0}}@-webkit-keyframes slideinfromright{from{-webkit-transform:translate3d(100%,0,0)}to{-webkit-transform:translate3d(0,0,0)}}@-moz-keyframes slideinfromright{from{-moz-transform:translateX(100%)}to{-moz-transform:translateX(0)}}@keyframes slideinfromright{from{transform:translateX(100%)}to{transform:translateX(0)}}@-webkit-keyframes slideinfromleft{from{-webkit-transform:translate3d(-100%,0,0)}to{-webkit-transform:translate3d(0,0,0)}}@-moz-keyframes slideinfromleft{from{-moz-transform:translateX(-100%)}to{-moz-transform:translateX(0)}}@keyframes slideinfromleft{from{transform:translateX(-100%)}to{transform:translateX(0)}}@-webkit-keyframes slideouttoleft{from{-webkit-transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-100%,0,0)}}@-moz-keyframes slideouttoleft{from{-moz-transform:translateX(0)}to{-moz-transform:translateX(-100%)}}@keyframes slideouttoleft{from{transform:translateX(0)}to{transform:translateX(-100%)}}@-webkit-keyframes slideouttoright{from{-webkit-transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(100%,0,0)}}@-moz-keyframes slideouttoright{from{-moz-transform:translateX(0)}to{-moz-transform:translateX(100%)}}@keyframes slideouttoright{from{transform:translateX(0)}to{transform:translateX(100%)}}.slide.out,.slide.in{-webkit-animation-timing-function:ease-out;-webkit-animation-duration:350ms;-moz-animation-timing-function:ease-out;-moz-animation-duration:350ms;animation-timing-function:ease-out;animation-duration:350ms}.slide.out{-webkit-transform:translate3d(-100%,0,0);-webkit-animation-name:slideouttoleft;-moz-transform:translateX(-100%);-moz-animation-name:slideouttoleft;transform:translateX(-100%);animation-name:slideouttoleft}.slide.in{-webkit-transform:translate3d(0,0,0);-webkit-animation-name:slideinfromright;-moz-transform:translateX(0);-moz-animation-name:slideinfromright;transform:translateX(0);animation-name:slideinfromright}.slide.out.reverse{-webkit-transform:translate3d(100%,0,0);-webkit-animation-name:slideouttoright;-moz-transform:translateX(100%);-moz-animation-name:slideouttoright;transform:translateX(100%);animation-name:slideouttoright}.slide.in.reverse{-webkit-transform:translate3d(0,0,0);-webkit-animation-name:slideinfromleft;-moz-transform:translateX(0);-moz-animation-name:slideinfromleft;transform:translateX(0);animation-name:slideinfromleft}.slidefade.out{-webkit-transform:translateX(-100%);-webkit-animation-name:slideouttoleft;-webkit-animation-duration:225ms;-moz-transform:translateX(-100%);-moz-animation-name:slideouttoleft;-moz-animation-duration:225ms;transform:translateX(-100%);animation-name:slideouttoleft;animation-duration:225ms}.slidefade.in{-webkit-transform:translateX(0);-webkit-animation-name:fadein;-webkit-animation-duration:200ms;-moz-transform:translateX(0);-moz-animation-name:fadein;-moz-animation-duration:200ms;transform:translateX(0);animation-name:fadein;animation-duration:200ms}.slidefade.out.reverse{-webkit-transform:translateX(100%);-webkit-animation-name:slideouttoright;-webkit-animation-duration:200ms;-moz-transform:translateX(100%);-moz-animation-name:slideouttoright;-moz-animation-duration:200ms;transform:translateX(100%);animation-name:slideouttoright;animation-duration:200ms}.slidefade.in.reverse{-webkit-transform:translateX(0);-webkit-animation-name:fadein;-webkit-animation-duration:200ms;-moz-transform:translateX(0);-moz-animation-name:fadein;-moz-animation-duration:200ms;transform:translateX(0);animation-name:fadein;animation-duration:200ms}.slidedown.out{-webkit-animation-name:fadeout;-webkit-animation-duration:100ms;-moz-animation-name:fadeout;-moz-animation-duration:100ms;animation-name:fadeout;animation-duration:100ms}.slidedown.in{-webkit-transform:translateY(0);-webkit-animation-name:slideinfromtop;-webkit-animation-duration:250ms;-moz-transform:translateY(0);-moz-animation-name:slideinfromtop;-moz-animation-duration:250ms;transform:translateY(0);animation-name:slideinfromtop;animation-duration:250ms}.slidedown.in.reverse{-webkit-animation-name:fadein;-webkit-animation-duration:150ms;-moz-animation-name:fadein;-moz-animation-duration:150ms;animation-name:fadein;animation-duration:150ms}.slidedown.out.reverse{-webkit-transform:translateY(-100%);-webkit-animation-name:slideouttotop;-webkit-animation-duration:200ms;-moz-transform:translateY(-100%);-moz-animation-name:slideouttotop;-moz-animation-duration:200ms;transform:translateY(-100%);animation-name:slideouttotop;animation-duration:200ms}@-webkit-keyframes slideinfromtop{from{-webkit-transform:translateY(-100%)}to{-webkit-transform:translateY(0)}}@-moz-keyframes slideinfromtop{from{-moz-transform:translateY(-100%)}to{-moz-transform:translateY(0)}}@keyframes slideinfromtop{from{transform:translateY(-100%)}to{transform:translateY(0)}}@-webkit-keyframes slideouttotop{from{-webkit-transform:translateY(0)}to{-webkit-transform:translateY(-100%)}}@-moz-keyframes slideouttotop{from{-moz-transform:translateY(0)}to{-moz-transform:translateY(-100%)}}@keyframes slideouttotop{from{transform:translateY(0)}to{transform:translateY(-100%)}}.slideup.out{-webkit-animation-name:fadeout;-webkit-animation-duration:100ms;-moz-animation-name:fadeout;-moz-animation-duration:100ms;animation-name:fadeout;animation-duration:100ms}.slideup.in{-webkit-transform:translateY(0);-webkit-animation-name:slideinfrombottom;-webkit-animation-duration:250ms;-moz-transform:translateY(0);-moz-animation-name:slideinfrombottom;-moz-animation-duration:250ms;transform:translateY(0);animation-name:slideinfrombottom;animation-duration:250ms}.slideup.in.reverse{-webkit-animation-name:fadein;-webkit-animation-duration:150ms;-moz-animation-name:fadein;-moz-animation-duration:150ms;animation-name:fadein;animation-duration:150ms}.slideup.out.reverse{-webkit-transform:translateY(100%);-webkit-animation-name:slideouttobottom;-webkit-animation-duration:200ms;-moz-transform:translateY(100%);-moz-animation-name:slideouttobottom;-moz-animation-duration:200ms;transform:translateY(100%);animation-name:slideouttobottom;animation-duration:200ms}@-webkit-keyframes slideinfrombottom{from{-webkit-transform:translateY(100%)}to{-webkit-transform:translateY(0)}}@-moz-keyframes slideinfrombottom{from{-moz-transform:translateY(100%)}to{-moz-transform:translateY(0)}}@keyframes slideinfrombottom{from{transform:translateY(100%)}to{transform:translateY(0)}}@-webkit-keyframes slideouttobottom{from{-webkit-transform:translateY(0)}to{-webkit-transform:translateY(100%)}}@-moz-keyframes slideouttobottom{from{-moz-transform:translateY(0)}to{-moz-transform:translateY(100%)}}@keyframes slideouttobottom{from{transform:translateY(0)}to{transform:translateY(100%)}}.viewport-flip{-webkit-perspective:1000;-moz-perspective:1000;perspective:1000;position:absolute}.flip{-webkit-backface-visibility:hidden;-webkit-transform:translateX(0);-moz-backface-visibility:hidden;-moz-transform:translateX(0);backface-visibility:hidden;transform:translateX(0)}.flip.out{-webkit-transform:rotateY(-90deg) scale(.9);-webkit-animation-name:flipouttoleft;-webkit-animation-duration:175ms;-moz-transform:rotateY(-90deg) scale(.9);-moz-animation-name:flipouttoleft;-moz-animation-duration:175ms;transform:rotateY(-90deg) scale(.9);animation-name:flipouttoleft;animation-duration:175ms}.flip.in{-webkit-animation-name:flipintoright;-webkit-animation-duration:225ms;-moz-animation-name:flipintoright;-moz-animation-duration:225ms;animation-name:flipintoright;animation-duration:225ms}.flip.out.reverse{-webkit-transform:rotateY(90deg) scale(.9);-webkit-animation-name:flipouttoright;-moz-transform:rotateY(90deg) scale(.9);-moz-animation-name:flipouttoright;transform:rotateY(90deg) scale(.9);animation-name:flipouttoright}.flip.in.reverse{-webkit-animation-name:flipintoleft;-moz-animation-name:flipintoleft;animation-name:flipintoleft}@-webkit-keyframes flipouttoleft{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(-90deg) scale(.9)}}@-moz-keyframes flipouttoleft{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(-90deg) scale(.9)}}@keyframes flipouttoleft{from{transform:rotateY(0)}to{transform:rotateY(-90deg) scale(.9)}}@-webkit-keyframes flipouttoright{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(90deg) scale(.9)}}@-moz-keyframes flipouttoright{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(90deg) scale(.9)}}@keyframes flipouttoright{from{transform:rotateY(0)}to{transform:rotateY(90deg) scale(.9)}}@-webkit-keyframes flipintoleft{from{-webkit-transform:rotateY(-90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoleft{from{-moz-transform:rotateY(-90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoleft{from{transform:rotateY(-90deg) scale(.9)}to{transform:rotateY(0)}}@-webkit-keyframes flipintoright{from{-webkit-transform:rotateY(90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoright{from{-moz-transform:rotateY(90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoright{from{transform:rotateY(90deg) scale(.9)}to{transform:rotateY(0)}}.viewport-turn{-webkit-perspective:200px;-moz-perspective:200px;-ms-perspective:200px;perspective:200px;position:absolute}.turn{-webkit-backface-visibility:hidden;-webkit-transform:translateX(0);-webkit-transform-origin:0;-moz-backface-visibility:hidden;-moz-transform:translateX(0);-moz-transform-origin:0;backface-visibility:hidden;transform:translateX(0);transform-origin:0}.turn.out{-webkit-transform:rotateY(-90deg) scale(.9);-webkit-animation-name:flipouttoleft;-webkit-animation-duration:125ms;-moz-transform:rotateY(-90deg) scale(.9);-moz-animation-name:flipouttoleft;-moz-animation-duration:125ms;transform:rotateY(-90deg) scale(.9);animation-name:flipouttoleft;animation-duration:125ms}.turn.in{-webkit-animation-name:flipintoright;-webkit-animation-duration:250ms;-moz-animation-name:flipintoright;-moz-animation-duration:250ms;animation-name:flipintoright;animation-duration:250ms}.turn.out.reverse{-webkit-transform:rotateY(90deg) scale(.9);-webkit-animation-name:flipouttoright;-moz-transform:rotateY(90deg) scale(.9);-moz-animation-name:flipouttoright;transform:rotateY(90deg) scale(.9);animation-name:flipouttoright}.turn.in.reverse{-webkit-animation-name:flipintoleft;-moz-animation-name:flipintoleft;animation-name:flipintoleft}@-webkit-keyframes flipouttoleft{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(-90deg) scale(.9)}}@-moz-keyframes flipouttoleft{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(-90deg) scale(.9)}}@keyframes flipouttoleft{from{transform:rotateY(0)}to{transform:rotateY(-90deg) scale(.9)}}@-webkit-keyframes flipouttoright{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(90deg) scale(.9)}}@-moz-keyframes flipouttoright{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(90deg) scale(.9)}}@keyframes flipouttoright{from{transform:rotateY(0)}to{transform:rotateY(90deg) scale(.9)}}@-webkit-keyframes flipintoleft{from{-webkit-transform:rotateY(-90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoleft{from{-moz-transform:rotateY(-90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoleft{from{transform:rotateY(-90deg) scale(.9)}to{transform:rotateY(0)}}@-webkit-keyframes flipintoright{from{-webkit-transform:rotateY(90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoright{from{-moz-transform:rotateY(90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoright{from{transform:rotateY(90deg) scale(.9)}to{transform:rotateY(0)}}.flow{-webkit-transform-origin:50% 30%;-webkit-box-shadow:0 0 20px rgba(0,0,0,.4);-moz-transform-origin:50% 30%;-moz-box-shadow:0 0 20px rgba(0,0,0,.4);transform-origin:50% 30%;box-shadow:0 0 20px rgba(0,0,0,.4)}.ui-dialog.flow{-webkit-transform-origin:none;-webkit-box-shadow:none;-moz-transform-origin:none;-moz-box-shadow:none;transform-origin:none;box-shadow:none}.flow.out{-webkit-transform:translateX(-100%) scale(.7);-webkit-animation-name:flowouttoleft;-webkit-animation-timing-function:ease;-webkit-animation-duration:350ms;-moz-transform:translateX(-100%) scale(.7);-moz-animation-name:flowouttoleft;-moz-animation-timing-function:ease;-moz-animation-duration:350ms;transform:translateX(-100%) scale(.7);animation-name:flowouttoleft;animation-timing-function:ease;animation-duration:350ms}.flow.in{-webkit-transform:translateX(0) scale(1);-webkit-animation-name:flowinfromright;-webkit-animation-timing-function:ease;-webkit-animation-duration:350ms;-moz-transform:translateX(0) scale(1);-moz-animation-name:flowinfromright;-moz-animation-timing-function:ease;-moz-animation-duration:350ms;transform:translateX(0) scale(1);animation-name:flowinfromright;animation-timing-function:ease;animation-duration:350ms}.flow.out.reverse{-webkit-transform:translateX(100%);-webkit-animation-name:flowouttoright;-moz-transform:translateX(100%);-moz-animation-name:flowouttoright;transform:translateX(100%);animation-name:flowouttoright}.flow.in.reverse{-webkit-animation-name:flowinfromleft;-moz-animation-name:flowinfromleft;animation-name:flowinfromleft}@-webkit-keyframes flowouttoleft{0%{-webkit-transform:translateX(0) scale(1)}60%,70%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(-100%) scale(.7)}}@-moz-keyframes flowouttoleft{0%{-moz-transform:translateX(0) scale(1)}60%,70%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(-100%) scale(.7)}}@keyframes flowouttoleft{0%{transform:translateX(0) scale(1)}60%,70%{transform:translateX(0) scale(.7)}100%{transform:translateX(-100%) scale(.7)}}@-webkit-keyframes flowouttoright{0%{-webkit-transform:translateX(0) scale(1)}60%,70%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(100%) scale(.7)}}@-moz-keyframes flowouttoright{0%{-moz-transform:translateX(0) scale(1)}60%,70%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(100%) scale(.7)}}@keyframes flowouttoright{0%{transform:translateX(0) scale(1)}60%,70%{transform:translateX(0) scale(.7)}100%{transform:translateX(100%) scale(.7)}}@-webkit-keyframes flowinfromleft{0%{-webkit-transform:translateX(-100%) scale(.7)}30%,40%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(0) scale(1)}}@-moz-keyframes flowinfromleft{0%{-moz-transform:translateX(-100%) scale(.7)}30%,40%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(0) scale(1)}}@keyframes flowinfromleft{0%{transform:translateX(-100%) scale(.7)}30%,40%{transform:translateX(0) scale(.7)}100%{transform:translateX(0) scale(1)}}@-webkit-keyframes flowinfromright{0%{-webkit-transform:translateX(100%) scale(.7)}30%,40%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(0) scale(1)}}@-moz-keyframes flowinfromright{0%{-moz-transform:translateX(100%) scale(.7)}30%,40%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(0) scale(1)}}@keyframes flowinfromright{0%{transform:translateX(100%) scale(.7)}30%,40%{transform:translateX(0) scale(.7)}100%{transform:translateX(0) scale(1)}}.ui-field-contain,.ui-mobile fieldset.ui-field-contain{display:block;position:relative;overflow:visible;clear:both;padding:.8em 0}.ui-field-contain>label~[class*=ui-],.ui-field-contain .ui-controlgroup-controls{margin:0}.ui-field-contain:last-child{border-bottom-width:0}@media (min-width:28em){.ui-field-contain,.ui-mobile fieldset.ui-field-contain{padding:0;margin:1em 0;border-bottom-width:0}.ui-field-contain:before,.ui-field-contain:after{content:"";display:table}.ui-field-contain:after{clear:both}.ui-field-contain>label,.ui-field-contain .ui-controlgroup-label,.ui-field-contain>.ui-rangeslider>label{float:left;width:20%;margin:.5em 2% 0 0}.ui-popup .ui-field-contain>label,.ui-popup .ui-field-contain .ui-controlgroup-label,.ui-popup .ui-field-contain>.ui-rangeslider>label{float:none;width:auto;margin:0 0 .4em}.ui-field-contain>label~[class*=ui-],.ui-field-contain .ui-controlgroup-controls{float:left;width:78%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-hide-label>label~[class*=ui-],.ui-hide-label .ui-controlgroup-controls,.ui-popup .ui-field-contain>label~[class*=ui-],.ui-popup .ui-field-contain .ui-controlgroup-controls{float:none;width:100%}.ui-field-contain>label~.ui-btn-inline{width:auto;margin-right:.625em}.ui-field-contain>label~.ui-btn-inline.ui-btn-icon-notext{width:1.75em}}.ui-grid-a,.ui-grid-b,.ui-grid-c,.ui-grid-d,.ui-grid-solo{overflow:hidden}.ui-block-a,.ui-block-b,.ui-block-c,.ui-block-d,.ui-block-e{margin:0;padding:0;border:0;float:left;min-height:1px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-block-a{clear:left}ul.ui-grid-a,ul.ui-grid-b,ul.ui-grid-c,ul.ui-grid-d,ul.ui-grid-solo,li.ui-block-a,li.ui-block-b,li.ui-block-c,li.ui-block-d,li.ui-block-e{margin-left:0;margin-right:0;padding:0;list-style:none}[class*=ui-block-]>button.ui-btn{margin-right:0;margin-left:0}[class*=ui-block-]>.ui-btn,[class*=ui-block-]>.ui-select,[class*=ui-block-]>.ui-checkbox,[class*=ui-block-]>.ui-radio,[class*=ui-block-]>button.ui-btn-inline,[class*=ui-block-]>button.ui-btn-icon-notext,.ui-header [class*=ui-block-]>button.ui-btn,.ui-footer [class*=ui-block-]>button.ui-btn{margin-right:.3125em;margin-left:.3125em}.ui-grid-a>.ui-block-a,.ui-grid-a>.ui-block-b{width:50%}.ui-grid-b>.ui-block-a,.ui-grid-b>.ui-block-b,.ui-grid-b>.ui-block-c{width:33.333%}.ui-grid-c>.ui-block-a,.ui-grid-c>.ui-block-b,.ui-grid-c>.ui-block-c,.ui-grid-c>.ui-block-d{width:25%}.ui-grid-d>.ui-block-a,.ui-grid-d>.ui-block-b,.ui-grid-d>.ui-block-c,.ui-grid-d>.ui-block-d,.ui-grid-d>.ui-block-e{width:20%}.ui-grid-solo>.ui-block-a{width:100%;float:none}@media (max-width:35em){.ui-responsive>.ui-block-a,.ui-responsive>.ui-block-b,.ui-responsive>.ui-block-c,.ui-responsive>.ui-block-d,.ui-responsive>.ui-block-e{width:100%;float:none}}.ui-header-fixed,.ui-footer-fixed{left:0;right:0;width:100%;position:fixed;z-index:1000}.ui-header-fixed{top:-1px;padding-top:1px}.ui-header-fixed.ui-fixed-hidden{top:0;padding-top:0}.ui-header-fixed .ui-btn-left,.ui-header-fixed .ui-btn-right{margin-top:1px}.ui-header-fixed.ui-fixed-hidden .ui-btn-left,.ui-header-fixed.ui-fixed-hidden .ui-btn-right{margin-top:0}.ui-footer-fixed{bottom:-1px;padding-bottom:1px}.ui-footer-fixed.ui-fixed-hidden{bottom:0;padding-bottom:0}.ui-header-fullscreen,.ui-footer-fullscreen{filter:Alpha(Opacity=90);opacity:.9}.ui-page-header-fixed{padding-top:2.8125em}.ui-page-footer-fixed{padding-bottom:2.8125em}.ui-page-header-fullscreen>.ui-content,.ui-page-footer-fullscreen>.ui-content{padding:0}.ui-fixed-hidden{position:absolute}.ui-footer-fixed.ui-fixed-hidden{display:none}.ui-page .ui-footer-fixed.ui-fixed-hidden{display:block}.ui-page-header-fullscreen .ui-fixed-hidden,.ui-page-footer-fullscreen .ui-fixed-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-header-fixed .ui-btn,.ui-footer-fixed .ui-btn{z-index:10}.ui-android-2x-fixed .ui-li-has-thumb{-webkit-transform:translate3d(0,0,0)}.ui-navbar{max-width:100%}.ui-navbar ul:before,.ui-navbar ul:after{content:"";display:table}.ui-navbar ul:after{clear:both}.ui-navbar ul{list-style:none;margin:0;padding:0;position:relative;display:block;border:0;max-width:100%;overflow:visible}.ui-navbar li .ui-btn{font-size:12.5px;display:block;margin:0;border-right-width:0}.ui-header .ui-navbar li button.ui-btn,.ui-footer .ui-navbar li button.ui-btn{margin:0;width:100%}.ui-navbar .ui-btn:focus{z-index:1}.ui-navbar li:last-child .ui-btn{margin-right:-4px}.ui-navbar li:last-child .ui-btn:after{margin-right:4px}.ui-content .ui-navbar li:last-child .ui-btn,.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn{border-right-width:1px;margin-right:0}.ui-content .ui-navbar li:last-child .ui-btn:after,.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn:after{margin-right:0}.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn{border-right-width:1px;margin-right:-1px}.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn:after{margin-right:1px}.ui-navbar .ui-grid-duo .ui-btn{border-top-width:0}.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn{border-top-width:1px}.ui-header .ui-navbar .ui-btn,.ui-footer .ui-navbar .ui-btn{border-top-width:0;border-bottom-width:0}.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn,.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn{border-top-width:0}.ui-header .ui-title~.ui-navbar .ui-btn,.ui-footer .ui-title~.ui-navbar .ui-btn,.ui-header .ui-navbar .ui-grid-duo .ui-btn,.ui-footer .ui-navbar .ui-grid-duo .ui-btn,.ui-header .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-footer .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-header .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn,.ui-footer .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn{border-top-width:1px}.ui-input-btn input{position:absolute;top:0;left:0;width:100%;height:100%;padding:0;border:0;outline:0;-webkit-border-radius:inherit;border-radius:inherit;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;background:#fff;background:rgba(255,255,255,0);filter:Alpha(Opacity=0);opacity:.1;font-size:1px;text-indent:-9999px;z-index:2}.ui-input-btn.ui-state-disabled input{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-collapsible{margin:0 -1em}.ui-collapsible-inset,.ui-collapsible-set{margin:.5em 0}.ui-collapsible-heading{display:block;margin:0;padding:0;position:relative}.ui-collapsible-heading .ui-btn{text-align:left;margin:0;border-left-width:0;border-right-width:0}.ui-collapsible-heading .ui-btn-icon-top,.ui-collapsible-heading .ui-btn-icon-bottom{text-align:center}.ui-collapsible-inset .ui-collapsible-heading .ui-btn{border-right-width:1px;border-left-width:1px}.ui-collapsible-collapsed+.ui-collapsible:not(.ui-collapsible-inset)>.ui-collapsible-heading .ui-btn{border-top-width:0}.ui-collapsible-set .ui-collapsible:not(.ui-collapsible-inset) .ui-collapsible-heading .ui-btn{border-top-width:1px}.ui-collapsible-heading-status{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-collapsible-content{display:block;margin:0;padding:.5em 1em}.ui-collapsible-themed-content .ui-collapsible-content{border-left-width:0;border-right-width:0;border-top-width:0;border-bottom-width:1px;border-style:solid}.ui-collapsible-inset.ui-collapsible-themed-content .ui-collapsible-content{border-left-width:1px;border-right-width:1px}.ui-collapsible-inset .ui-collapsible-content{margin:0}.ui-collapsible-content-collapsed{display:none}.ui-collapsible-set>.ui-collapsible.ui-corner-all{-webkit-border-radius:0;border-radius:0}.ui-collapsible-heading,.ui-collapsible-heading>.ui-btn{-webkit-border-radius:inherit;border-radius:inherit}.ui-collapsible-set .ui-collapsible.ui-first-child{-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit;-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit}.ui-collapsible-content,.ui-collapsible-set .ui-collapsible.ui-last-child{-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit;-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-collapsible-themed-content:not(.ui-collapsible-collapsed)>.ui-collapsible-heading{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-collapsible-set .ui-collapsible{margin:-1px -1em 0}.ui-collapsible-set .ui-collapsible-inset{margin:-1px 0 0}.ui-collapsible-set .ui-collapsible.ui-first-child{margin-top:0}.ui-controlgroup,fieldset.ui-controlgroup{padding:0;margin:.5em 0}.ui-field-contain .ui-controlgroup,.ui-field-contain fieldset.ui-controlgroup{margin:0}.ui-mini .ui-controlgroup-label{font-size:16px}.ui-controlgroup.ui-mini .ui-btn-icon-notext,.ui-controlgroup .ui-mini.ui-btn-icon-notext{font-size:inherit}.ui-controlgroup-controls .ui-btn,.ui-controlgroup-controls .ui-checkbox,.ui-controlgroup-controls .ui-radio,.ui-controlgroup-controls .ui-select{margin:0}.ui-controlgroup-controls .ui-btn:focus,.ui-controlgroup-controls .ui-btn.ui-focus{z-index:1}.ui-controlgroup-controls li{list-style:none}.ui-controlgroup-horizontal .ui-controlgroup-controls{display:inline-block;vertical-align:middle}.ui-controlgroup-horizontal .ui-controlgroup-controls:before,.ui-controlgroup-horizontal .ui-controlgroup-controls:after{content:"";display:table}.ui-controlgroup-horizontal .ui-controlgroup-controls:after{clear:both}.ui-controlgroup-horizontal .ui-controlgroup-controls>.ui-btn,.ui-controlgroup-horizontal .ui-controlgroup-controls li>.ui-btn,.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-checkbox,.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-radio,.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-select{float:left;clear:none}.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn,.ui-controlgroup-controls .ui-btn-icon-notext{width:auto}.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn-icon-notext,.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn-icon-notext{width:1.5em}.ui-controlgroup-controls .ui-btn-icon-notext{height:auto;padding:.7em 1em}.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn{border-bottom-width:0}.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn.ui-last-child{border-bottom-width:1px}.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn{border-right-width:0}.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn.ui-last-child{border-right-width:1px}.ui-controlgroup-controls .ui-btn-corner-all,.ui-controlgroup-controls .ui-btn.ui-corner-all{-webkit-border-radius:0;border-radius:0}.ui-controlgroup-controls,.ui-controlgroup-controls .ui-radio,.ui-controlgroup-controls .ui-checkbox,.ui-controlgroup-controls .ui-select,.ui-controlgroup-controls li{-webkit-border-radius:inherit;border-radius:inherit}.ui-controlgroup-vertical .ui-btn.ui-first-child{-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit;-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit}.ui-controlgroup-vertical .ui-btn.ui-last-child{-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-controlgroup-horizontal .ui-btn.ui-first-child{-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit;-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-controlgroup-horizontal .ui-btn.ui-last-child{-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-controlgroup-controls a.ui-shadow:not(:focus),.ui-controlgroup-controls button.ui-shadow:not(:focus),.ui-controlgroup-controls div.ui-shadow:not(.ui-focus){-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.ui-controlgroup-label legend{max-width:100%}.ui-controlgroup-controls>label{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-dialog{background:none!important}.ui-dialog-contain{width:92.5%;max-width:500px;margin:10% auto 1em;padding:0;position:relative;top:-1em}.ui-dialog-contain>.ui-header,.ui-dialog-contain>.ui-content,.ui-dialog-contain>.ui-footer{display:block;position:relative;width:auto;margin:0}.ui-dialog-contain>.ui-header{overflow:hidden;z-index:10;padding:0;border-top-width:0}.ui-dialog-contain>.ui-footer{z-index:10;padding:0 1em;border-bottom-width:0}.ui-popup-open .ui-header-fixed,.ui-popup-open .ui-footer-fixed{position:absolute!important}.ui-popup-screen{background-image:url("data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==");top:0;left:0;right:0;bottom:1px;position:absolute;filter:Alpha(Opacity=0);opacity:0;z-index:1099}.ui-popup-screen.in{opacity:.5;filter:Alpha(Opacity=50)}.ui-popup-screen.out{opacity:0;filter:Alpha(Opacity=0)}.ui-popup-container{z-index:1100;display:inline-block;position:absolute;padding:0;outline:0}.ui-popup{position:relative}.ui-popup.ui-body-inherit{border-width:1px;border-style:solid}.ui-popup-hidden{left:0;top:0;position:absolute!important;visibility:hidden}.ui-popup-truncate{height:1px;width:1px;margin:-1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-popup.ui-content,.ui-popup .ui-content{overflow:visible}.ui-popup>.ui-header{border-top-width:0}.ui-popup>.ui-footer{border-bottom-width:0}.ui-popup>p,.ui-popup>h1,.ui-popup>h2,.ui-popup>h3,.ui-popup>h4,.ui-popup>h5,.ui-popup>h6{margin:.5em .4375em}.ui-popup>span{display:block;margin:.5em .4375em}.ui-popup-container .ui-content>p,.ui-popup-container .ui-content>h1,.ui-popup-container .ui-content>h2,.ui-popup-container .ui-content>h3,.ui-popup-container .ui-content>h4,.ui-popup-container .ui-content>h5,.ui-popup-container .ui-content>h6{margin:.5em 0}.ui-popup-container .ui-content>span{margin:0}.ui-popup-container .ui-content>p:first-child,.ui-popup-container .ui-content>h1:first-child,.ui-popup-container .ui-content>h2:first-child,.ui-popup-container .ui-content>h3:first-child,.ui-popup-container .ui-content>h4:first-child,.ui-popup-container .ui-content>h5:first-child,.ui-popup-container .ui-content>h6:first-child{margin-top:0}.ui-popup-container .ui-content>p:last-child,.ui-popup-container .ui-content>h1:last-child,.ui-popup-container .ui-content>h2:last-child,.ui-popup-container .ui-content>h3:last-child,.ui-popup-container .ui-content>h4:last-child,.ui-popup-container .ui-content>h5:last-child,.ui-popup-container .ui-content>h6:last-child{margin-bottom:0}.ui-popup>img{max-width:100%;max-height:100%;vertical-align:middle}.ui-popup:not(.ui-content)>img:only-child,.ui-popup:not(.ui-content)>.ui-btn-left:first-child+img:last-child,.ui-popup:not(.ui-content)>.ui-btn-right:first-child+img:last-child{-webkit-border-radius:inherit;border-radius:inherit}.ui-popup iframe{vertical-align:middle}.ui-popup>.ui-btn-left,.ui-popup>.ui-btn-right{position:absolute;top:-11px;margin:0;z-index:1101}.ui-popup>.ui-btn-left{left:-11px}.ui-popup>.ui-btn-right{right:-11px}.ui-popup-arrow-container{width:20px;height:20px}.ui-popup-arrow-container.ui-popup-arrow-l{left:-10px;clip:rect(-1000px,10px,2000px,-1000px)}.ui-popup-arrow-container.ui-popup-arrow-t{top:-10px;clip:rect(-1000px,2000px,10px,-1000px)}.ui-popup-arrow-container.ui-popup-arrow-r{right:-10px;clip:rect(-1000px,2000px,2000px,10px)}.ui-popup-arrow-container.ui-popup-arrow-b{bottom:-10px;clip:rect(10px,2000px,1000px,-1000px)}.ui-popup-arrow-container .ui-popup-arrow{width:28.284271247px;height:28.284271247px;border-width:1px;border-style:solid}.ui-popup-arrow-container.ui-popup-arrow-t .ui-popup-arrow{left:-4.142135623px;top:5.857864376px}.ui-popup-arrow-container.ui-popup-arrow-b .ui-popup-arrow{left:-4.142135623px;top:-14.142135623px}.ui-popup-arrow-container.ui-popup-arrow-l .ui-popup-arrow{left:5.857864376px;top:-4.142135623px}.ui-popup-arrow-container.ui-popup-arrow-r .ui-popup-arrow{left:-14.142135623px;top:-4.142135623px}.ui-popup-arrow-container.ui-popup-arrow-t.ie .ui-popup-arrow{margin-left:-5.857864376269049px;margin-top:-7.0710678118654755px}.ui-popup-arrow-container.ui-popup-arrow-b.ie .ui-popup-arrow{margin-left:-5.857864376269049px;margin-top:-4.142135623730951px}.ui-popup-arrow-container.ui-popup-arrow-l.ie .ui-popup-arrow{margin-left:-7.0710678118654755px;margin-top:-5.857864376269049px}.ui-popup-arrow-container.ui-popup-arrow-r.ie .ui-popup-arrow{margin-left:-4.142135623730951px;margin-top:-5.857864376269049px}.ui-popup>.ui-popup-arrow-guide{position:absolute;left:0;right:0;top:0;bottom:0;visibility:hidden}.ui-popup-arrow-container{position:absolute}.ui-popup-arrow{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);position:absolute;overflow:hidden;box-sizing:border-box}.ui-popup-arrow-container.ie .ui-popup-arrow{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865474, M12=-0.7071067811865477, M21=0.7071067811865477, M22=0.7071067811865474, SizingMethod='auto expand')";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.7071067811865474, M12=-.7071067811865477, M21=.7071067811865477, M22=.7071067811865474, SizingMethod='auto expand')}.ui-checkbox,.ui-radio{margin:.5em 0;position:relative}.ui-checkbox .ui-btn,.ui-radio .ui-btn{margin:0;text-align:left;white-space:normal;z-index:2}.ui-controlgroup .ui-checkbox .ui-btn.ui-focus,.ui-controlgroup .ui-radio .ui-btn.ui-focus{z-index:3}.ui-checkbox .ui-btn-icon-top,.ui-radio .ui-btn-icon-top,.ui-checkbox .ui-btn-icon-bottom,.ui-radio .ui-btn-icon-bottom{text-align:center}.ui-controlgroup-horizontal .ui-checkbox .ui-btn:after,.ui-controlgroup-horizontal .ui-radio .ui-btn:after{content:none;display:none}.ui-checkbox input,.ui-radio input{position:absolute;left:.466em;top:50%;width:22px;height:22px;margin:-11px 0 0 0;outline:0!important;z-index:1}.ui-controlgroup-horizontal .ui-checkbox input,.ui-controlgroup-horizontal .ui-radio input{left:50%;margin-left:-9px}.ui-checkbox input:disabled,.ui-radio input:disabled{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-select{margin-top:.5em;margin-bottom:.5em;position:relative}.ui-select>select{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-select .ui-btn{margin:0;opacity:1}.ui-select .ui-btn select{position:absolute;top:0;left:0;width:100%;min-height:1.5em;min-height:100%;height:3em;max-height:100%;outline:0;-webkit-border-radius:inherit;border-radius:inherit;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;filter:Alpha(Opacity=0);opacity:0;z-index:2}@-moz-document url-prefix(){.ui-select .ui-btn select{opacity:.0001}}.ui-select .ui-state-disabled select{display:none}.ui-select span.ui-state-disabled{filter:Alpha(Opacity=100);opacity:1}.ui-select .ui-btn.ui-select-nativeonly{border-radius:0;border:0}.ui-select .ui-btn.ui-select-nativeonly select{opacity:1;text-indent:0;display:block}.ui-select .ui-li-has-count.ui-btn{padding-right:2.8125em}.ui-select .ui-li-has-count.ui-btn-icon-right{padding-right:4.6875em}.ui-select .ui-btn-icon-right .ui-li-count{right:3.2em}.ui-select .ui-btn>span:not(.ui-li-count){display:block;text-overflow:ellipsis;overflow:hidden!important;white-space:nowrap}.ui-selectmenu.ui-popup{min-width:11em}.ui-selectmenu .ui-dialog-contain{overflow:hidden}.ui-selectmenu .ui-header{margin:0;padding:0;border-width:0}.ui-selectmenu.ui-dialog .ui-header{z-index:1;position:relative}.ui-selectmenu.ui-popup .ui-header{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-selectmenu.ui-popup .ui-header h1:after{content:'.';visibility:hidden}.ui-selectmenu .ui-header .ui-title{margin:0 2.875em}.ui-selectmenu.ui-dialog .ui-content{overflow:visible;z-index:1}.ui-selectmenu .ui-selectmenu-list{margin:0;-webkit-border-radius:inherit;border-radius:inherit}.ui-header:not(.ui-screen-hidden)+.ui-selectmenu-list{-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-top-left-radius:0;border-top-left-radius:0}.ui-header.ui-screen-hidden+.ui-selectmenu-list li.ui-first-child .ui-btn{border-top-width:0}.ui-selectmenu .ui-selectmenu-list li.ui-last-child .ui-btn{border-bottom-width:0}.ui-selectmenu .ui-btn.ui-li-divider{cursor:default}.ui-selectmenu .ui-selectmenu-placeholder{display:none}.ui-listview,.ui-listview>li{margin:0;padding:0;list-style:none}.ui-content .ui-listview,.ui-panel-inner>.ui-listview{margin:-1em}.ui-content .ui-listview-inset,.ui-panel-inner>.ui-listview-inset{margin:1em 0}.ui-collapsible-content>.ui-listview{margin:-.5em -1em}.ui-collapsible-content>.ui-listview-inset{margin:.5em 0}.ui-listview>li{display:block;position:relative;overflow:visible}.ui-listview>.ui-li-static,.ui-listview>.ui-li-divider,.ui-listview>li>a.ui-btn{margin:0;display:block;position:relative;text-align:left;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-listview>li>.ui-btn:focus{z-index:1}.ui-listview>.ui-li-static,.ui-listview>.ui-li-divider,.ui-listview>li>a.ui-btn{border-width:1px 0 0;border-style:solid}.ui-listview-inset>.ui-li-static,.ui-listview-inset>.ui-li-divider,.ui-listview-inset>li>a.ui-btn{border-right-width:1px;border-left-width:1px}.ui-listview>.ui-li-static.ui-last-child,.ui-listview>.ui-li-divider.ui-last-child,.ui-listview>li.ui-last-child>a.ui-btn{border-bottom-width:1px}.ui-collapsible-content>.ui-listview:not(.ui-listview-inset)>li.ui-first-child,.ui-collapsible-content>.ui-listview:not(.ui-listview-inset)>li.ui-first-child>a.ui-btn{border-top-width:0}.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset)>li.ui-last-child,.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset)>li.ui-last-child>a.ui-btn{border-bottom-width:0}.ui-listview>li.ui-first-child,.ui-listview>li.ui-first-child>a.ui-btn{-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit;-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit}.ui-listview>li.ui-last-child,.ui-listview>li.ui-last-child>a.ui-btn{-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit;-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-listview>li.ui-li-has-alt>a.ui-btn{-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0}.ui-listview>li.ui-first-child>a.ui-btn+a.ui-btn{-webkit-border-top-left-radius:0;border-top-left-radius:0;-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit}.ui-listview>li.ui-last-child>a.ui-btn+a.ui-btn{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-listview>li.ui-first-child img:first-child:not(.ui-li-icon){-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit}.ui-listview>li.ui-last-child img:first-child:not(.ui-li-icon){-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-collapsible-content>.ui-listview:not(.ui-listview-inset){-webkit-border-radius:inherit;border-radius:inherit}.ui-listview>.ui-li-static{padding:.7em 1em}.ui-listview>.ui-li-divider{padding:.5em 1.143em;font-size:14px;font-weight:700;cursor:default;outline:0}.ui-listview>.ui-li-has-count>.ui-btn,.ui-listview>.ui-li-static.ui-li-has-count,.ui-listview>.ui-li-divider.ui-li-has-count{padding-right:2.8125em}.ui-listview>.ui-li-has-count>.ui-btn-icon-right{padding-right:4.6875em}.ui-listview>.ui-li-has-thumb>.ui-btn,.ui-listview>.ui-li-static.ui-li-has-thumb{min-height:3.625em;padding-left:6.25em}.ui-listview>.ui-li-has-icon>.ui-btn,.ui-listview>.ui-li-static.ui-li-has-icon{min-height:1.25em;padding-left:2.5em}.ui-li-count{position:absolute;font-size:12.5px;font-weight:700;text-align:center;border-width:1px;border-style:solid;padding:0 .48em;line-height:1.6em;min-height:1.6em;min-width:.64em;right:.8em;top:50%;margin-top:-.88em}.ui-listview .ui-btn-icon-right .ui-li-count{right:3.2em}.ui-listview .ui-li-has-thumb>img:first-child,.ui-listview .ui-li-has-thumb>.ui-btn>img:first-child,.ui-listview .ui-li-has-thumb .ui-li-thumb{position:absolute;left:0;top:0;max-height:5em;max-width:5em}.ui-listview>.ui-li-has-icon>img:first-child,.ui-listview>.ui-li-has-icon>.ui-btn>img:first-child{position:absolute;left:.625em;top:.9em;max-height:1em;max-width:1em}.ui-listview>li h1,.ui-listview>li h2,.ui-listview>li h3,.ui-listview>li h4,.ui-listview>li h5,.ui-listview>li h6{font-size:1em;font-weight:700;display:block;margin:.45em 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-listview>li p{font-size:.75em;font-weight:400;display:block;margin:.6em 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-listview .ui-li-aside{position:absolute;top:1em;right:3.333em;margin:0;text-align:right}.ui-listview>li.ui-li-has-alt>.ui-btn{margin-right:2.5em;border-right-width:0}.ui-listview>li.ui-li-has-alt>.ui-btn+.ui-btn{position:absolute;width:2.5em;height:100%;min-height:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-left-width:1px;top:0;right:0;margin:0;padding:0;z-index:2}.ui-listview-inset>li.ui-li-has-alt>.ui-btn+.ui-btn{border-right-width:1px}.ui-listview>li.ui-li-has-alt>.ui-btn+.ui-btn:focus{z-index:3}ol.ui-listview,ol.ui-listview>.ui-li-divider{counter-reset:listnumbering}ol.ui-listview>li>.ui-btn,ol.ui-listview>li.ui-li-static{vertical-align:middle}ol.ui-listview>li>.ui-btn:first-child:before,ol.ui-listview>li.ui-li-static:before,ol.ui-listview>li.ui-field-contain>label:before,ol.ui-listview>li.ui-field-contain>.ui-controlgroup-label:before{display:inline-block;font-size:.9em;font-weight:400;padding-right:.3em;min-width:1.4em;line-height:1.5;vertical-align:middle;counter-increment:listnumbering;content:counter(listnumbering) "."}ol.ui-listview>li.ui-field-contain:before{content:none;display:none}ol.ui-listview>li h1:first-child,ol.ui-listview>li h2:first-child,ol.ui-listview>li h3:first-child,ol.ui-listview>li h4:first-child,ol.ui-listview>li h5:first-child,ol.ui-listview>li h6:first-child,ol.ui-listview>li p:first-child,ol.ui-listview>li img:first-child+*{display:inline-block;vertical-align:middle}ol.ui-listview>li h1:first-child~*,ol.ui-listview>li h2:first-child~*,ol.ui-listview>li h3:first-child~*,ol.ui-listview>li h4:first-child~*,ol.ui-listview>li h5:first-child~*,ol.ui-listview>li h6:first-child~*,ol.ui-listview>li p:first-child~*,ol.ui-listview>li img:first-child+*~*{margin-top:0;text-indent:2.04em}html .ui-filterable+.ui-listview,html .ui-filterable.ui-listview{margin-top:.5em}.ui-collapsible-content>form.ui-filterable{margin-top:-.5em}.ui-collapsible-content>.ui-input-search.ui-filterable{margin-top:0}.ui-collapsible-content>.ui-filterable+.ui-listview:not(.ui-listview-inset)>li.ui-first-child,.ui-collapsible-content>.ui-filterable+.ui-listview:not(.ui-listview-inset)>li.ui-first-child>a.ui-btn,.ui-collapsible-content>.ui-filterable.ui-listview:not(.ui-listview-inset)>li.ui-first-child,.ui-collapsible-content>.ui-filterable.ui-listview:not(.ui-listview-inset)>li.ui-first-child>a.ui-btn{border-top-width:1px}div.ui-slider{height:30px;margin:.5em 0;padding:0;-ms-touch-action:pan-y pinch-zoom double-tap-zoom}div.ui-slider:before,div.ui-slider:after{content:"";display:table}div.ui-slider:after{clear:both}input.ui-slider-input{display:block;float:left;font-size:14px;font-weight:700;margin:0;padding:4px;width:40px;height:20px;line-height:20px;border-width:1px;border-style:solid;outline:0;text-align:center;vertical-align:text-bottom;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.ui-slider-input::-webkit-outer-spin-button,.ui-slider-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ui-slider-track{position:relative;overflow:visible;border-width:1px;border-style:solid;height:15px;margin:0 15px 0 68px;top:6px}.ui-slider-track.ui-mini{height:12px;top:8px}.ui-slider-track .ui-slider-bg{height:100%}.ui-slider-track .ui-btn.ui-slider-handle{position:absolute;z-index:1;top:50%;width:28px;height:28px;margin:-15px 0 0 -15px;outline:0;padding:0}.ui-slider-track.ui-mini .ui-slider-handle{height:14px;width:14px;margin:-8px 0 0 -8px}select.ui-slider-switch{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}div.ui-slider-switch{display:inline-block;height:32px;width:5.8em;top:0}div.ui-slider-switch:before,div.ui-slider-switch:after{display:none;clear:none}div.ui-slider-switch.ui-mini{height:29px;top:0}.ui-slider-inneroffset{margin:0 16px;position:relative;z-index:1}.ui-slider-switch.ui-mini .ui-slider-inneroffset{margin:0 15px 0 14px}.ui-slider-switch .ui-btn.ui-slider-handle{margin:1px 0 0 -15px}.ui-slider-switch.ui-mini .ui-slider-handle{width:25px;height:25px;margin:1px 0 0 -13px;padding:0}.ui-slider-handle-snapping{-webkit-transition:left 70ms linear;-moz-transition:left 70ms linear;transition:left 70ms linear}.ui-slider-switch .ui-slider-label{position:absolute;text-align:center;width:100%;overflow:hidden;font-size:16px;top:0;line-height:2;min-height:100%;white-space:nowrap;cursor:pointer}.ui-slider-switch.ui-mini .ui-slider-label{font-size:14px}.ui-slider-switch .ui-slider-label-a{z-index:1;left:0;text-indent:-1.5em}.ui-slider-switch .ui-slider-label-b{z-index:0;right:0;text-indent:1.5em}.ui-slider-track .ui-slider-bg,.ui-slider-switch .ui-slider-label,.ui-slider-switch .ui-slider-inneroffset,.ui-slider-handle{-webkit-border-radius:inherit;border-radius:inherit}.ui-field-contain div.ui-slider-switch{margin:0}.ui-field-contain div.ui-slider-switch,.ui-field-contain.ui-hide-label div.ui-slider-switch,html .ui-popup .ui-field-contain div.ui-slider-switch{display:inline-block;width:5.8em}.ui-slider-popup{width:64px;height:64px;font-size:36px;padding-top:14px;opacity:.8}.ui-slider-popup{position:absolute!important;text-align:center;z-index:100}.ui-slider-track .ui-btn.ui-slider-handle{font-size:.9em;line-height:30px}.ui-rangeslider{margin:.5em 0}.ui-rangeslider:before,.ui-rangeslider:after{content:"";display:table}.ui-rangeslider:after{clear:both}.ui-rangeslider .ui-slider-input.ui-rangeslider-last{float:right}.ui-rangeslider .ui-rangeslider-sliders{position:relative;overflow:visible;height:30px;margin:0 68px}.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track{position:absolute;top:6px;right:0;left:0;margin:0}.ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track{top:8px}.ui-rangeslider .ui-slider-track:first-child .ui-slider-bg{display:none}.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child{background-color:transparent;background:0;border-width:0;height:0}html >body .ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child{height:15px;border-width:1px}html >body .ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track:first-child{height:12px}div.ui-rangeslider label{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-field-contain .ui-rangeslider input.ui-slider-input,.ui-field-contain .ui-rangeslider.ui-mini input.ui-slider-input,.ui-field-contain .ui-rangeslider .ui-rangeslider-sliders,.ui-field-contain .ui-rangeslider.ui-mini .ui-rangeslider-sliders{margin-top:0;margin-bottom:0}.ui-input-text,.ui-input-search{margin:.5em 0;border-width:1px;border-style:solid}.ui-mini{margin:.446em}.ui-input-text input,.ui-input-search input,textarea.ui-input-text{padding:.4em;line-height:1.4em;display:block;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;outline:0}.ui-input-text input,.ui-input-search input{margin:0;min-height:2.2em;text-align:left;border:0;background:transparent none;-webkit-appearance:none;-webkit-border-radius:inherit;border-radius:inherit}textarea.ui-input-text{overflow:auto;resize:vertical}.ui-mini .ui-input-text input,.ui-mini .ui-input-search input,.ui-input-text.ui-mini input,.ui-input-search.ui-mini input,.ui-mini textarea.ui-input-text,textarea.ui-mini{font-size:14px}.ui-mini textarea.ui-input-text,textarea.ui-mini{margin:.446em 0}.ui-input-has-clear,.ui-input-search{position:relative}.ui-input-has-clear{padding-right:2.375em}.ui-mini.ui-input-has-clear{padding-right:2.923em}.ui-input-has-clear input{padding-right:0;-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0}.ui-input-search input{padding-left:1.75em}.ui-input-search:after{position:absolute;left:.3125em;top:50%;margin-top:-7px;content:"";background-position:center center;background-repeat:no-repeat;width:14px;height:14px;filter:Alpha(Opacity=50);opacity:.5}.ui-input-search.ui-input-has-clear .ui-btn.ui-input-clear,.ui-input-text.ui-input-has-clear .ui-btn.ui-input-clear{position:absolute;right:0;top:50%;margin:-14px .3125em 0;border:0;background-color:transparent}.ui-input-search .ui-input-clear-hidden,.ui-input-text .ui-input-clear-hidden{display:none}.ui-input-text input::-moz-placeholder,.ui-input-search input::-moz-placeholder,textarea.ui-input-text::-moz-placeholder{color:#aaa}.ui-input-text input:-ms-input-placeholder,.ui-input-search input:-ms-input-placeholder,textarea.ui-input-text:-ms-input-placeholder{color:#aaa}.ui-input-text input[type=number]::-webkit-outer-spin-button{margin:0}.ui-input-text input::-ms-clear,.ui-input-search input::-ms-clear{display:none}.ui-input-text input:focus,.ui-input-search input:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}textarea.ui-input-text.ui-textinput-autogrow{overflow:hidden}.ui-textinput-autogrow-resize{-webkit-transition:height .25s;-o-transition:height .25s;-moz-transition:height .25s;transition:height .25s}.ui-flipswitch{display:inline-block;vertical-align:middle;width:5.875em;height:1.875em;border-width:1px;border-style:solid;margin:.5em 0;overflow:hidden;-webkit-transition-property:padding,width,background-color,color,border-color;-moz-transition-property:padding,width,background-color,color,border-color;-o-transition-property:padding,width,background-color,color,border-color;transition-property:padding,width,background-color,color,border-color;-webkit-transition-duration:100ms;-moz-transition-duration:100ms;-o-transition-duration:100ms;transition-duration:100ms;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.ui-flipswitch.ui-flipswitch-active{padding-left:4em;width:1.875em}.ui-flipswitch-input{position:absolute;height:1px;width:1px;margin:-1px;overflow:hidden;clip:rect(1px,1px,1px,1px);border:0;outline:0;filter:Alpha(Opacity=0);opacity:0}.ui-flipswitch .ui-btn.ui-flipswitch-on,.ui-flipswitch .ui-flipswitch-off{float:left;height:1.75em;margin:.0625em;line-height:1.65em}.ui-flipswitch .ui-btn.ui-flipswitch-on{width:1.75em;padding:0;text-indent:-2.6em;text-align:left;border-width:1px;border-style:solid;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-radius:inherit;overflow:visible;color:inherit;text-shadow:inherit}.ui-flipswitch .ui-flipswitch-off{padding:1px;text-indent:1em}html .ui-field-contain>label+.ui-flipswitch,html .ui-popup .ui-field-contain>label+.ui-flipswitch{display:inline-block;width:5.875em;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.ui-field-contain .ui-flipswitch.ui-flipswitch-active,.ui-popup .ui-field-contain .ui-flipswitch.ui-flipswitch-active{width:1.875em}.ui-table{border:0;border-collapse:collapse;padding:0;width:100%}.ui-table th,.ui-table td{line-height:1.5em;text-align:left;padding:.4em .5em;vertical-align:top}.ui-table th .ui-btn,.ui-table td .ui-btn{line-height:normal}.ui-table th{font-weight:700}.ui-table caption{text-align:left;margin-bottom:1.4em;opacity:.5}.ui-table-columntoggle-btn{float:right;margin-bottom:.8em}.ui-table-columntoggle-popup fieldset{margin:0}.ui-table-columntoggle{clear:both}@media only all{th.ui-table-priority-6,td.ui-table-priority-6,th.ui-table-priority-5,td.ui-table-priority-5,th.ui-table-priority-4,td.ui-table-priority-4,th.ui-table-priority-3,td.ui-table-priority-3,th.ui-table-priority-2,td.ui-table-priority-2,th.ui-table-priority-1,td.ui-table-priority-1{display:none}}@media screen and (min-width:20em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-1,.ui-table-columntoggle.ui-responsive td.ui-table-priority-1{display:table-cell}}@media screen and (min-width:30em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-2,.ui-table-columntoggle.ui-responsive td.ui-table-priority-2{display:table-cell}}@media screen and (min-width:40em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-3,.ui-table-columntoggle.ui-responsive td.ui-table-priority-3{display:table-cell}}@media screen and (min-width:50em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-4,.ui-table-columntoggle.ui-responsive td.ui-table-priority-4{display:table-cell}}@media screen and (min-width:60em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-5,.ui-table-columntoggle.ui-responsive td.ui-table-priority-5{display:table-cell}}@media screen and (min-width:70em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-6,.ui-table-columntoggle.ui-responsive td.ui-table-priority-6{display:table-cell}}.ui-table-columntoggle th.ui-table-cell-hidden,.ui-table-columntoggle td.ui-table-cell-hidden,.ui-table-columntoggle.ui-responsive th.ui-table-cell-hidden,.ui-table-columntoggle.ui-responsive td.ui-table-cell-hidden{display:none}.ui-table-columntoggle th.ui-table-cell-visible,.ui-table-columntoggle td.ui-table-cell-visible,.ui-table-columntoggle.ui-responsive th.ui-table-cell-visible,.ui-table-columntoggle.ui-responsive td.ui-table-cell-visible{display:table-cell}.ui-table-reflow td .ui-table-cell-label,.ui-table-reflow th .ui-table-cell-label{display:none}@media only all{.ui-table-reflow thead td,.ui-table-reflow thead th{display:none}.ui-table-reflow td,.ui-table-reflow th{text-align:left;display:block}.ui-table-reflow tbody th{margin-top:3em}.ui-table-reflow td .ui-table-cell-label,.ui-table-reflow th .ui-table-cell-label{padding:.4em;min-width:30%;display:inline-block;margin:-.4em 1em -.4em -.4em}.ui-table-reflow th .ui-table-cell-label-top,.ui-table-reflow td .ui-table-cell-label-top{display:block;padding:.4em 0;margin:.4em 0;text-transform:uppercase;font-size:.9em;font-weight:400}}@media (min-width:35em){.ui-table-reflow.ui-responsive td,.ui-table-reflow.ui-responsive th,.ui-table-reflow.ui-responsive tbody th,.ui-table-reflow.ui-responsive tbody td,.ui-table-reflow.ui-responsive thead td,.ui-table-reflow.ui-responsive thead th{display:table-cell;margin:0}.ui-table-reflow.ui-responsive td .ui-table-cell-label,.ui-table-reflow.ui-responsive th .ui-table-cell-label{display:none}}@media (max-width:35em){.ui-table-reflow.ui-responsive td,.ui-table-reflow.ui-responsive th{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;clear:left}}.ui-panel{width:17em;min-height:100%;max-height:none;border-width:0;position:absolute;top:0;display:block}.ui-panel-closed{width:0;max-height:100%;overflow:hidden;visibility:hidden;left:0;clip:rect(1px,1px,1px,1px)}.ui-panel-fixed{position:fixed;bottom:-1px;padding-bottom:1px}.ui-panel-display-reveal{z-index:1}.ui-panel-display-push{z-index:999}.ui-panel-display-overlay{z-index:1001}.ui-panel-inner{padding:1em}.ui-panel-page-container{overflow-x:visible}.ui-panel-page-container-themed .ui-page-active{background:0}.ui-panel-wrapper{position:relative;min-height:inherit;border:0;overflow-x:hidden;z-index:999}.ui-panel-fixed-toolbar{overflow-x:hidden}.ui-panel-dismiss{position:absolute;top:0;left:0;right:0;height:100%;z-index:1002;display:none}.ui-panel-dismiss-open{display:block}.ui-panel-animate{-webkit-transition:-webkit-transform 300ms ease;-webkit-transition-duration:300ms;-moz-transition:-moz-transform 300ms ease;transition:transform 300ms ease}@media screen and (max-device-width:768px){.ui-page-header-fixed .ui-panel-animate.ui-panel-wrapper,.ui-page-footer-fixed .ui-panel-animate.ui-panel-wrapper,.ui-panel-animate.ui-panel-fixed-toolbar{-ms-transition:none}.ui-panel-animate.ui-panel-fixed-toolbar{-ms-transition:-ms-transform 1ms;-ms-transform:rotate(0deg)}}.ui-panel-animate.ui-panel:not(.ui-panel-display-reveal){-webkit-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0)}.ui-panel-position-left{left:-17em}.ui-panel-animate.ui-panel-position-left.ui-panel-display-overlay,.ui-panel-animate.ui-panel-position-left.ui-panel-display-push{left:0;-webkit-transform:translate3d(-17em,0,0);-moz-transform:translate3d(-17em,0,0);transform:translate3d(-17em,0,0)}.ui-panel-position-left.ui-panel-display-reveal,.ui-panel-open.ui-panel-position-left{left:0}.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-overlay,.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-push{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-moz-transform:none}.ui-panel-position-right{right:-17em}.ui-panel-animate.ui-panel-position-right.ui-panel-display-overlay,.ui-panel-animate.ui-panel-position-right.ui-panel-display-push{right:0;-webkit-transform:translate3d(17em,0,0);-moz-transform:translate3d(17em,0,0);transform:translate3d(17em,0,0)}.ui-panel-position-right.ui-panel-display-reveal,.ui-panel-position-right.ui-panel-open{right:0}.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-overlay,.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-push{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-moz-transform:none}.ui-panel-page-content-position-left{left:17em;right:-17em}.ui-panel-animate.ui-panel-page-content-position-left{left:0;right:0;-webkit-transform:translate3d(17em,0,0);-moz-transform:translate3d(17em,0,0);transform:translate3d(17em,0,0)}.ui-panel-page-content-position-right{left:-17em;right:17em}.ui-panel-animate.ui-panel-page-content-position-right{left:0;right:0;-webkit-transform:translate3d(-17em,0,0);-moz-transform:translate3d(-17em,0,0);transform:translate3d(-17em,0,0)}.ui-panel-dismiss-open.ui-panel-dismiss-position-left{left:17em}.ui-panel-dismiss-open.ui-panel-dismiss-position-right{right:17em}.ui-panel-display-reveal{-webkit-box-shadow:inset -5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:inset -5px 0 5px rgba(0,0,0,.15);box-shadow:inset -5px 0 5px rgba(0,0,0,.15)}.ui-panel-position-right.ui-panel-display-reveal{-webkit-box-shadow:inset 5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:inset 5px 0 5px rgba(0,0,0,.15);box-shadow:inset 5px 0 5px rgba(0,0,0,.15)}.ui-panel-display-overlay{-webkit-box-shadow:5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:5px 0 5px rgba(0,0,0,.15);box-shadow:5px 0 5px rgba(0,0,0,.15)}.ui-panel-position-right.ui-panel-display-overlay{-webkit-box-shadow:-5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:-5px 0 5px rgba(0,0,0,.15);box-shadow:-5px 0 5px rgba(0,0,0,.15)}.ui-panel-open.ui-panel-position-left.ui-panel-display-push{border-right-width:1px;margin-right:-1px}.ui-panel-page-content-position-left.ui-panel-page-content-display-push{margin-left:1px;width:auto}.ui-panel-open.ui-panel-position-right.ui-panel-display-push{border-left-width:1px;margin-left:-1px}.ui-panel-page-content-position-right.ui-panel-page-content-display-push{margin-right:1px;width:auto}@media (min-width:55em){.ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-left{margin-right:17em}.ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-right{margin-left:17em}.ui-responsive-panel .ui-panel-page-content-open{width:auto}.ui-responsive-panel .ui-panel-dismiss-display-push,.ui-responsive-panel.ui-page-active~.ui-panel-dismiss-display-push{display:none}}.ui-tabs{position:relative;padding:.2em} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.inline-svg-1.4.5.css b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.inline-svg-1.4.5.css deleted file mode 100644 index 3b3ecddd81c6ef06e85a23f06e65ebbce8e95f8b..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.inline-svg-1.4.5.css +++ /dev/null @@ -1,4380 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! -* jQuery Mobile 1.4.5 -* Git HEAD hash: 68e55e78b292634d3991c795f06f5e37a512decc <> Date: Fri Oct 31 2014 17:33:30 UTC -* http://jquerymobile.com -* -* Copyright 2010, 2014 jQuery Foundation, Inc. and othercontributors -* Released under the MIT license. -* http://jquery.org/license -* -*/ - - -.ui-icon-action:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M9%2C5v3l5-4L9%2C0v3c0%2C0-5%2C0-5%2C7C6%2C5%2C9%2C5%2C9%2C5z%20M11%2C12H2V5h1l2-2H0v11h13V7l-2%2C2V12z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-alert:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C0L0%2C12h14L7%2C0z%20M7%2C11c-0.553%2C0-1-0.447-1-1s0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1S7.553%2C11%2C7%2C11z%20M7%2C8%20C6.447%2C8%2C6%2C7.553%2C6%2C7V5c0-0.553%2C0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1v2C8%2C7.553%2C7.553%2C8%2C7%2C8z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-d-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C3%2011%2C0%203.5%2C7.5%200%2C4%200%2C14%2010%2C14%206.5%2C10.5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-d-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2210.5%2C7.5%203%2C0%200%2C3%207.5%2C10.5%204%2C14%2014%2C14%2014%2C4%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-d:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%229%2C7%209%2C0%205%2C0%205%2C7%200%2C7%207%2C14%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C5%207%2C0%200%2C7%207%2C14%207%2C9%2014%2C9%2014%2C5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C7%207%2C0%207%2C5%200%2C5%200%2C9%207%2C9%207%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-u-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C11%206.5%2C3.5%2010%2C0%200%2C0%200%2C10%203.5%2C6.5%2011%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-u-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C0%204%2C0%207.5%2C3.5%200%2C11%203%2C14%2010.5%2C6.5%2014%2C10%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-arrow-u:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C0%200%2C7%205%2C7%205%2C14%209%2C14%209%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-audio:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.018px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014.018%2014%22%20style%3D%22enable-background%3Anew%200%200%2014.018%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M1%2C4C0.447%2C4%2C0%2C4.447%2C0%2C5v4c0%2C0.553%2C0.447%2C1%2C1%2C1h1l4%2C4V0L2%2C4H1z%20M10.346%2C7c0-1.699-1.042-3.154-2.546-3.867L6.982%2C4.68%20C7.885%2C5.107%2C8.51%2C5.98%2C8.51%2C7S7.885%2C8.893%2C6.982%2C9.32L7.8%2C10.867C9.304%2C10.154%2C10.346%2C8.699%2C10.346%2C7z%20M9.447%2C0.017L8.618%2C1.586%20C10.723%2C2.584%2C12.182%2C4.621%2C12.182%2C7s-1.459%2C4.416-3.563%2C5.414l0.829%2C1.569c2.707-1.283%2C4.57-3.925%2C4.57-6.983%20S12.154%2C1.3%2C9.447%2C0.017z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-back:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M5%2C3V0L1%2C4l4%2C4V5c0%2C0%2C6%2C0%2C6%2C3s-5%2C4-5%2C4v2c0%2C0%2C7-1%2C7-6C13%2C4%2C8%2C3%2C5%2C3z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-bars:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M1%2C4h12c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H1C0.447%2C2%2C0%2C2.447%2C0%2C3S0.447%2C4%2C1%2C4z%20M13%2C6H1%20C0.447%2C6%2C0%2C6.447%2C0%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H1c-0.553%2C0-1%2C0.447-1%2C1%20s0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-bullets:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M5%2C4h8c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H5C4.447%2C2%2C4%2C2.447%2C4%2C3S4.447%2C4%2C5%2C4z%20M13%2C6H5%20C4.447%2C6%2C4%2C6.447%2C4%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H5c-0.553%2C0-1%2C0.447-1%2C1%20s0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%20M1%2C2C0.447%2C2%2C0%2C2.447%2C0%2C3s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C2%2C1%2C2z%20M1%2C6%20C0.447%2C6%2C0%2C6.447%2C0%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1s1-0.447%2C1-1C2%2C6.447%2C1.553%2C6%2C1%2C6z%20M1%2C10c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1s1-0.447%2C1-1%20S1.553%2C10%2C1%2C10z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-calendar:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M0%2C8h2V6H0V8z%20M3%2C8h2V6H3V8z%20M6%2C8h2V6H6V8z%20M9%2C8h2V6H9V8z%20M12%2C8h2V6h-2V8z%20M0%2C11h2V9H0V11z%20M3%2C11h2V9H3V11z%20M6%2C11h2V9H6V11z%20%20M9%2C11h2V9H9V11z%20M12%2C11h2V9h-2V11z%20M0%2C14h2v-2H0V14z%20M3%2C14h2v-2H3V14z%20M6%2C14h2v-2H6V14z%20M9%2C14h2v-2H9V14z%20M12%2C1%20c0-0.553-0.447-1-1-1s-1%2C0.447-1%2C1H4c0-0.553-0.447-1-1-1S2%2C0.447%2C2%2C1H0v4h14V1H12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-camera:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M12%2C2.5H9.908c-0.206-0.581-0.756-1-1.408-1h-3c-0.652%2C0-1.202%2C0.419-1.408%2C1H2c-1.104%2C0-2%2C0.896-2%2C2%20v6c0%2C1.104%2C0.896%2C2%2C2%2C2h10c1.104%2C0%2C2-0.896%2C2-2v-6C14%2C3.396%2C13.104%2C2.5%2C12%2C2.5z%20M7%2C10.5c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3C10%2C9.156%2C8.657%2C10.5%2C7%2C10.5z%20M7%2C5.5c-1.104%2C0-2%2C0.896-2%2C2c0%2C1.104%2C0.896%2C2%2C2%2C2c1.104%2C0%2C2-0.896%2C2-2%20C9%2C6.396%2C8.104%2C5.5%2C7%2C5.5z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-carat-d:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2211.949%2C3.404%207%2C8.354%202.05%2C3.404%20-0.071%2C5.525%207%2C12.596%2014.07%2C5.525%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-carat-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2210.596%2C11.949%205.646%2C7%2010.596%2C2.05%208.475%2C-0.071%201.404%2C7%208.475%2C14.07%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-carat-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%223.404%2C2.051%208.354%2C7%203.404%2C11.95%205.525%2C14.07%2012.596%2C7%205.525%2C-0.071%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-carat-u:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%222.051%2C10.596%207%2C5.646%2011.95%2C10.596%2014.07%2C8.475%207%2C1.404%20-0.071%2C8.475%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-check:after, -/* Used ui-checkbox-on twice to increase specificity. If active state has background-image for gradient this rule overrides. */ -html .ui-btn.ui-checkbox-on.ui-checkbox-on:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2214%2C4%2011%2C1%205.003%2C6.997%203%2C5%200%2C8%204.966%2C13%204.983%2C12.982%205%2C13%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-clock:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C12c-2.762%2C0-5-2.238-5-5s2.238-5%2C5-5s5%2C2.238%2C5%2C5%20S9.762%2C12%2C7%2C12z%20M9%2C6H8V4c0-0.553-0.447-1-1-1S6%2C3.447%2C6%2C4v3c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1S9.553%2C6%2C9%2C6z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-cloud:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M14%2C9.5c0-0.793-0.465-1.473-1.134-1.795C12.949%2C7.484%2C13%2C7.249%2C13%2C7c0-1.104-0.896-2-2-2%20c-0.158%2C0-0.311%2C0.023-0.457%2C0.058C9.816%2C3.549%2C8.286%2C2.5%2C6.5%2C2.5c-2.33%2C0-4.224%2C1.777-4.454%2C4.046C0.883%2C6.76%2C0%2C7.773%2C0%2C9%20c0%2C1.381%2C1.119%2C2.5%2C2.5%2C2.5h10v-0.07C13.361%2C11.206%2C14%2C10.432%2C14%2C9.5z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-comment:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M12%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v7c0%2C1.104%2C0.896%2C2%2C2%2C2h1v3l3-3h6c1.104%2C0%2C2-0.896%2C2-2V2C14%2C0.896%2C13.104%2C0%2C12%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-delete:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C3%2011%2C0%207%2C4%203%2C0%200%2C3%204%2C7%200%2C11%203%2C14%207%2C10%2011%2C14%2014%2C11%2010%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-edit:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M1%2C10l-1%2C4l4-1l7-7L8%2C3L1%2C10z%20M11%2C0L9%2C2l3%2C3l2-2L11%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-eye:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C2C3%2C2%2C0%2C7%2C0%2C7s3%2C5%2C7%2C5s7-5%2C7-5S11%2C2%2C7%2C2z%20M7%2C10c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3C10%2C8.656%2C8.657%2C10%2C7%2C10z%20M7%2C6C6.448%2C6%2C6%2C6.447%2C6%2C7c0%2C0.553%2C0.448%2C1%2C1%2C1s1-0.447%2C1-1C8%2C6.447%2C7.552%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-forbidden:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M12.601%2C11.187C13.476%2C10.018%2C14%2C8.572%2C14%2C7c0-3.866-3.134-7-7-7C5.428%2C0%2C3.982%2C0.524%2C2.813%2C1.399L2.757%2C1.343L2.053%2C2.048%20L2.048%2C2.053L1.343%2C2.758l0.056%2C0.056C0.524%2C3.982%2C0%2C5.428%2C0%2C7c0%2C3.866%2C3.134%2C7%2C7%2C7c1.572%2C0%2C3.018-0.524%2C4.187-1.399l0.056%2C0.057%20l0.705-0.705l0.005-0.005l0.705-0.705L12.601%2C11.187z%20M7%2C2c2.761%2C0%2C5%2C2.238%2C5%2C5c0%2C1.019-0.308%2C1.964-0.832%2C2.754L4.246%2C2.832%20C5.036%2C2.308%2C5.981%2C2%2C7%2C2z%20M7%2C12c-2.761%2C0-5-2.238-5-5c0-1.019%2C0.308-1.964%2C0.832-2.754l6.922%2C6.922C8.964%2C11.692%2C8.019%2C12%2C7%2C12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-forward:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M13%2C4L9%2C0v3C6%2C3%2C1%2C4%2C1%2C8c0%2C5%2C7%2C6%2C7%2C6v-2c0%2C0-5-1-5-4s6-3%2C6-3v3L13%2C4z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-gear:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M13.621%2C5.904l-1.036-0.259c-0.168-0.042-0.303-0.168-0.355-0.332c-0.092-0.284-0.205-0.559-0.339-0.82%20c-0.079-0.153-0.073-0.337%2C0.017-0.486l0.549-0.915c0.118-0.196%2C0.088-0.448-0.075-0.61l-0.862-0.863%20c-0.162-0.163-0.414-0.193-0.611-0.075l-0.916%2C0.55C9.844%2C2.182%2C9.659%2C2.188%2C9.506%2C2.109C9.244%2C1.975%2C8.97%2C1.861%2C8.686%2C1.77%20c-0.165-0.052-0.29-0.187-0.332-0.354L8.095%2C0.379C8.039%2C0.156%2C7.839%2C0%2C7.609%2C0H6.391c-0.229%2C0-0.43%2C0.156-0.485%2C0.379L5.646%2C1.415%20C5.604%2C1.582%2C5.479%2C1.718%2C5.313%2C1.77c-0.284%2C0.092-0.559%2C0.206-0.82%2C0.34C4.339%2C2.188%2C4.155%2C2.182%2C4.007%2C2.093L3.092%2C1.544%20c-0.196-0.118-0.448-0.087-0.61%2C0.075L1.619%2C2.481C1.457%2C2.644%2C1.426%2C2.896%2C1.544%2C3.093l0.549%2C0.914%20c0.089%2C0.148%2C0.095%2C0.332%2C0.017%2C0.486C1.975%2C4.755%2C1.861%2C5.029%2C1.77%2C5.314c-0.053%2C0.164-0.188%2C0.29-0.354%2C0.332L0.379%2C5.905%20C0.156%2C5.961%2C0%2C6.161%2C0%2C6.391v1.219c0%2C0.229%2C0.156%2C0.43%2C0.379%2C0.485l1.036%2C0.26C1.582%2C8.396%2C1.717%2C8.521%2C1.77%2C8.687%20c0.092%2C0.284%2C0.205%2C0.559%2C0.34%2C0.82C2.188%2C9.66%2C2.182%2C9.844%2C2.093%2C9.993l-0.549%2C0.915c-0.118%2C0.195-0.087%2C0.448%2C0.075%2C0.61%20l0.862%2C0.862c0.162%2C0.163%2C0.414%2C0.193%2C0.61%2C0.075l0.915-0.549c0.148-0.089%2C0.332-0.095%2C0.486-0.017%20c0.262%2C0.135%2C0.536%2C0.248%2C0.82%2C0.34c0.165%2C0.053%2C0.291%2C0.187%2C0.332%2C0.354l0.259%2C1.036C5.96%2C13.844%2C6.16%2C14%2C6.39%2C14h1.22%20c0.229%2C0%2C0.43-0.156%2C0.485-0.379l0.259-1.036c0.042-0.167%2C0.168-0.302%2C0.333-0.354c0.284-0.092%2C0.559-0.205%2C0.82-0.34%20c0.154-0.078%2C0.338-0.072%2C0.486%2C0.017l0.914%2C0.549c0.197%2C0.118%2C0.449%2C0.088%2C0.611-0.074l0.862-0.863%20c0.163-0.162%2C0.193-0.415%2C0.075-0.611l-0.549-0.915c-0.089-0.148-0.096-0.332-0.017-0.485c0.134-0.263%2C0.248-0.536%2C0.339-0.82%20c0.053-0.165%2C0.188-0.291%2C0.355-0.333l1.036-0.259C13.844%2C8.039%2C14%2C7.839%2C14%2C7.609V6.39C14%2C6.16%2C13.844%2C5.96%2C13.621%2C5.904z%20M7%2C10%20c-1.657%2C0-3-1.343-3-3s1.343-3%2C3-3s3%2C1.343%2C3%2C3S8.657%2C10%2C7%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-grid:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M3%2C0H1C0.447%2C0%2C0%2C0.447%2C0%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C4%2C0.447%2C3.553%2C0%2C3%2C0z%20M8%2C0H6%20C5.447%2C0%2C5%2C0.447%2C5%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C9%2C0.447%2C8.553%2C0%2C8%2C0z%20M13%2C0h-2c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C14%2C0.447%2C13.553%2C0%2C13%2C0z%20M3%2C5H1C0.447%2C5%2C0%2C5.447%2C0%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1V6C4%2C5.447%2C3.553%2C5%2C3%2C5z%20M8%2C5H6C5.447%2C5%2C5%2C5.447%2C5%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6%20C9%2C5.447%2C8.553%2C5%2C8%2C5z%20M13%2C5h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6C14%2C5.447%2C13.553%2C5%2C13%2C5z%20M3%2C10%20H1c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C4%2C10.447%2C3.553%2C10%2C3%2C10z%20M8%2C10H6c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C9%2C10.447%2C8.553%2C10%2C8%2C10z%20M13%2C10h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1v-2C14%2C10.447%2C13.553%2C10%2C13%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-heart:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C1.872c-2-3-7-2-7%2C2c0%2C3%2C4%2C7%2C4%2C7s2.417%2C2.479%2C3%2C3c0.583-0.521%2C3-3%2C3-3s4-4%2C4-7%20C14-0.128%2C9-1.128%2C7%2C1.872z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-home:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C0%200%2C7%202%2C7%202%2C14%205%2C14%205%2C9%209%2C9%209%2C14%2012%2C14%2012%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-info:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C2c0.552%2C0%2C1%2C0.447%2C1%2C1S7.552%2C4%2C7%2C4S6%2C3.553%2C6%2C3%20S6.448%2C2%2C7%2C2z%20M9%2C11H5v-1h1V6H5V5h3v5h1V11z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-location:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C0C4.791%2C0%2C3%2C1.791%2C3%2C4c0%2C2%2C4%2C10%2C4%2C10s4-8%2C4-10C11%2C1.791%2C9.209%2C0%2C7%2C0z%20M7%2C6C5.896%2C6%2C5%2C5.104%2C5%2C4%20s0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2S8.104%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-lock:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M12%2C6V5c0-2.762-2.238-5-5-5C4.239%2C0%2C2%2C2.238%2C2%2C5v1H1v8h12V6H12z%20M7.5%2C9.848V12h-1V9.848%20C6.207%2C9.673%2C6%2C9.366%2C6%2C9c0-0.553%2C0.448-1%2C1-1s1%2C0.447%2C1%2C1C8%2C9.366%2C7.793%2C9.673%2C7.5%2C9.848z%20M10%2C6H4V5c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3V6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-mail:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M0%2C3.75V12h14V3.75L7%2C9L0%2C3.75z%20M14%2C2H0l7%2C5L14%2C2z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-minus:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20y%3D%225%22%20style%3D%22fill%3A%23FFFFFF%3B%22%20width%3D%2214%22%20height%3D%224%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-navigation:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2213%2C1%200%2C6%207%2C7%208%2C14%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-phone:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%22-0.01%200.008%2014%2014%22%20style%3D%22enable-background%3Anew%20-0.01%200.008%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M6.939%2C9.189C6.165%2C8.557%2C5.271%2C7.705%2C4.497%2C6.744C3.953%2C6.071%2C3.473%2C5.363%2C3.969%2C4.866l-3.482-3.48%20C-0.021%2C2.02-1.146%2C5.04%2C3.675%2C9.984c5.08%2C5.211%2C8.356%2C4.097%2C8.92%2C3.511l-3.396-3.4C8.725%2C10.568%2C8.113%2C10.146%2C6.939%2C9.189z%20%20M13.82%2C11.519v-0.004c0%2C0-2.648-2.646-2.649-2.647c-0.21-0.211-0.546-0.205-0.754%2C0.002L9.455%2C9.831l3.403%2C3.407%20c0%2C0%2C0.962-0.96%2C0.961-0.961l0.002-0.001C14.043%2C12.056%2C14.021%2C11.721%2C13.82%2C11.519z%20M5.192%2C3.644V3.642%20c0.222-0.222%2C0.2-0.557%2C0-0.758V2.881c0%2C0-2.726-2.725-2.727-2.726C2.255-0.055%2C1.92-0.05%2C1.712%2C0.156L0.751%2C1.121l3.479%2C3.482%20C4.231%2C4.604%2C5.192%2C3.645%2C5.192%2C3.644z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-plus:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C5%209%2C5%209%2C0%205%2C0%205%2C5%200%2C5%200%2C9%205%2C9%205%2C14%209%2C14%209%2C9%2014%2C9%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-power:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M11.243%2C2.408c-0.392-0.401-1.024-0.401-1.415%2C0c-0.391%2C0.401-0.391%2C1.054%2C0%2C1.455%20C10.584%2C4.642%2C11%2C5.675%2C11%2C6.773s-0.416%2C2.133-1.172%2C2.91c-1.512%2C1.558-4.145%2C1.558-5.656%2C0C3.416%2C8.904%2C3%2C7.872%2C3%2C6.773%20C3%2C5.673%2C3.416%2C4.64%2C4.172%2C3.863c0.39-0.401%2C0.39-1.054%2C0-1.455c-0.391-0.401-1.024-0.401-1.415%2C0C1.624%2C3.574%2C1%2C5.125%2C1%2C6.773%20c0%2C1.647%2C0.624%2C3.199%2C1.757%2C4.365c1.134%2C1.166%2C2.64%2C1.809%2C4.243%2C1.809c1.604%2C0%2C3.109-0.645%2C4.243-1.811%20C12.376%2C9.975%2C13%2C8.423%2C13%2C6.773C13%2C5.125%2C12.376%2C3.574%2C11.243%2C2.408z%20M7%2C8.053c0.553%2C0%2C1-0.445%2C1-1v-6c0-0.553-0.447-1-1-1%20c-0.553%2C0-1%2C0.447-1%2C1v6C6%2C7.604%2C6.447%2C8.053%2C7%2C8.053z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-recycle:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M3%2C7h1L2%2C4L0%2C7h1c0%2C3.313%2C2.687%2C6%2C6%2C6c0.702%2C0%2C1.374-0.127%2C2-0.35v-2.205C8.41%2C10.789%2C7.732%2C11%2C7%2C11%20C4.791%2C11%2C3%2C9.209%2C3%2C7z%20M13%2C7c0-3.313-2.688-6-6-6C6.298%2C1%2C5.626%2C1.127%2C5%2C1.349v2.206C5.59%2C3.211%2C6.268%2C3%2C7%2C3c2.209%2C0%2C4%2C1.791%2C4%2C4%20h-1l2%2C3l2-3H13z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-refresh:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.001px%22%20height%3D%2214.002px%22%20viewBox%3D%220%200%2014.001%2014.002%22%20style%3D%22enable-background%3Anew%200%200%2014.001%2014.002%3B%22%20%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M14.001%2C6.001v-6l-2.06%2C2.06c-0.423-0.424-0.897-0.809-1.44-1.122C7.153-0.994%2C2.872%2C0.153%2C0.939%2C3.501%20c-1.933%2C3.348-0.786%2C7.629%2C2.562%2C9.562c3.348%2C1.933%2C7.629%2C0.785%2C9.562-2.562l-1.732-1c-1.381%2C2.392-4.438%2C3.211-6.83%2C1.83%20s-3.211-4.438-1.83-6.83s4.438-3.211%2C6.83-1.83c0.389%2C0.225%2C0.718%2C0.506%2C1.02%2C0.81l-2.52%2C2.52H14.001z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-search:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M10.171%2C8.766c0.617-0.888%2C0.979-1.964%2C0.979-3.126c0-3.037-2.463-5.5-5.5-5.5s-5.5%2C2.463-5.5%2C5.5%20s2.463%2C5.5%2C5.5%2C5.5c1.152%2C0%2C2.223-0.355%2C3.104-0.962l3.684%2C3.683l1.414-1.414L10.171%2C8.766z%20M5.649%2C9.14c-1.933%2C0-3.5-1.567-3.5-3.5%20c0-1.933%2C1.567-3.5%2C3.5-3.5c1.933%2C0%2C3.5%2C1.567%2C3.5%2C3.5C9.149%2C7.572%2C7.582%2C9.14%2C5.649%2C9.14z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-shop:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M10%2C4V3c0-1.657-1.343-3-3-3S4%2C1.343%2C4%2C3v1H1v10h12V4H10z%20M4.5%2C6C4.224%2C6%2C4%2C5.776%2C4%2C5.5%20S4.224%2C5%2C4.5%2C5S5%2C5.224%2C5%2C5.5S4.776%2C6%2C4.5%2C6z%20M5%2C3c0-1.104%2C0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2v1H5V3z%20M9.5%2C6C9.225%2C6%2C9%2C5.776%2C9%2C5.5%20S9.225%2C5%2C9.5%2C5S10%2C5.224%2C10%2C5.5S9.775%2C6%2C9.5%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-star:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2214%2C5%209%2C5%207%2C0%205%2C5%200%2C5%204%2C8%202.625%2C13%207%2C10%2011.375%2C13%2010%2C8%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-icon-tag:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M5%2C0H0v5l9%2C9l5-5L5%2C0z%20M3%2C4C2.447%2C4%2C2%2C3.553%2C2%2C3s0.447-1%2C1-1s1%2C0.447%2C1%2C1S3.553%2C4%2C3%2C4z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-user:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M8.851%2C10.101c-0.18-0.399-0.2-0.763-0.153-1.104C9.383%2C8.49%2C9.738%2C7.621%2C9.891%2C6.465C10.493%2C6.355%2C10.5%2C5.967%2C10.5%2C5.5%20c0-0.437-0.008-0.804-0.502-0.94C9.999%2C4.539%2C10%2C4.521%2C10%2C4.5c0-2.103-1-4-2-4C8%2C0.5%2C7.5%2C0%2C6.5%2C0C5%2C0%2C4%2C1.877%2C4%2C4.5%20c0%2C0.021%2C0.001%2C0.039%2C0.002%2C0.06C3.508%2C4.696%2C3.5%2C5.063%2C3.5%2C5.5c0%2C0.467%2C0.007%2C0.855%2C0.609%2C0.965%20C4.262%2C7.621%2C4.617%2C8.49%2C5.303%2C8.997c0.047%2C0.341%2C0.026%2C0.704-0.153%2C1.104C1.503%2C10.503%2C0%2C12%2C0%2C12v2h14v-2%20C14%2C12%2C12.497%2C10.503%2C8.851%2C10.101z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-icon-video:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%20-2%2014%2014%22%20style%3D%22enable-background%3Anew%200%20-2%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M8%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2h6c1.104%2C0%2C2-0.896%2C2-2V5V2C10%2C0.896%2C9.104%2C0%2C8%2C0z%20%20M10%2C5l4%2C4V1L10%2C5z%22%2F%3E%3C%2Fsvg%3E"); -} -/* Alt icons */ -.ui-alt-icon.ui-icon-action:after, -.ui-alt-icon .ui-icon-action:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M9%2C5v3l5-4L9%2C0v3c0%2C0-5%2C0-5%2C7C6%2C5%2C9%2C5%2C9%2C5z%20M11%2C12H2V5h1l2-2H0v11h13V7l-2%2C2V12z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-alert:after, -.ui-alt-icon .ui-icon-alert:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0L0%2C12h14L7%2C0z%20M7%2C11c-0.553%2C0-1-0.447-1-1s0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1S7.553%2C11%2C7%2C11z%20M7%2C8C6.447%2C8%2C6%2C7.553%2C6%2C7V5%20c0-0.553%2C0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1v2C8%2C7.553%2C7.553%2C8%2C7%2C8z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-d:after, -.ui-alt-icon .ui-icon-arrow-d:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%229%2C7%209%2C0%205%2C0%205%2C7%200%2C7%207%2C14%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-d-l:after, -.ui-alt-icon .ui-icon-arrow-d-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C3%2011%2C0%203.5%2C7.5%200%2C4%200%2C14%2010%2C14%206.5%2C10.5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-d-r:after, -.ui-alt-icon .ui-icon-arrow-d-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2210.5%2C7.5%203%2C0%200%2C3%207.5%2C10.5%204%2C14%2014%2C14%2014%2C4%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-l:after, -.ui-alt-icon .ui-icon-arrow-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C5%207%2C0%200%2C7%207%2C14%207%2C9%2014%2C9%2014%2C5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-r:after, -.ui-alt-icon .ui-icon-arrow-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C7%207%2C0%207%2C5%200%2C5%200%2C9%207%2C9%207%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-u:after, -.ui-alt-icon .ui-icon-arrow-u:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C0%200%2C7%205%2C7%205%2C14%209%2C14%209%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-u-l:after, -.ui-alt-icon .ui-icon-arrow-u-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C11%206.5%2C3.5%2010%2C0%200%2C0%200%2C10%203.5%2C6.5%2011%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-arrow-u-r:after, -.ui-alt-icon .ui-icon-arrow-u-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C0%204%2C0%207.5%2C3.5%200%2C11%203%2C14%2010.5%2C6.5%2014%2C10%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-audio:after, -.ui-alt-icon .ui-icon-audio:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.018px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014.018%2014%22%20style%3D%22enable-background%3Anew%200%200%2014.018%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C4C0.447%2C4%2C0%2C4.447%2C0%2C5v4c0%2C0.553%2C0.447%2C1%2C1%2C1h1l4%2C4V0L2%2C4H1z%20M10.346%2C7c0-1.699-1.042-3.154-2.546-3.867L6.982%2C4.68%20C7.885%2C5.107%2C8.51%2C5.98%2C8.51%2C7S7.885%2C8.893%2C6.982%2C9.32L7.8%2C10.867C9.304%2C10.154%2C10.346%2C8.699%2C10.346%2C7z%20M9.447%2C0.017L8.618%2C1.586%20C10.723%2C2.584%2C12.182%2C4.621%2C12.182%2C7s-1.459%2C4.416-3.563%2C5.414l0.829%2C1.569c2.707-1.283%2C4.57-3.925%2C4.57-6.983%20S12.154%2C1.3%2C9.447%2C0.017z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-back:after, -.ui-alt-icon .ui-icon-back:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C3V0L1%2C4l4%2C4V5c0%2C0%2C6%2C0%2C6%2C3s-5%2C4-5%2C4v2c0%2C0%2C7-1%2C7-6C13%2C4%2C8%2C3%2C5%2C3z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-bars:after, -.ui-alt-icon .ui-icon-bars:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C4h12c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H1C0.447%2C2%2C0%2C2.447%2C0%2C3S0.447%2C4%2C1%2C4z%20M13%2C6H1C0.447%2C6%2C0%2C6.447%2C0%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H1c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1h12%20c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-bullets:after, -.ui-alt-icon .ui-icon-bullets:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C4h8c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H5C4.447%2C2%2C4%2C2.447%2C4%2C3S4.447%2C4%2C5%2C4z%20M13%2C6H5C4.447%2C6%2C4%2C6.447%2C4%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H5c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1h8%20c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%20M1%2C2C0.447%2C2%2C0%2C2.447%2C0%2C3s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C2%2C1%2C2z%20M1%2C6C0.447%2C6%2C0%2C6.447%2C0%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1s1-0.447%2C1-1C2%2C6.447%2C1.553%2C6%2C1%2C6z%20M1%2C10c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C10%2C1%2C10z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-calendar:after, -.ui-alt-icon .ui-icon-calendar:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M0%2C8h2V6H0V8z%20M3%2C8h2V6H3V8z%20M6%2C8h2V6H6V8z%20M9%2C8h2V6H9V8z%20M12%2C8h2V6h-2V8z%20M0%2C11h2V9H0V11z%20M3%2C11h2V9H3V11z%20M6%2C11h2V9H6V11z%20%20M9%2C11h2V9H9V11z%20M12%2C11h2V9h-2V11z%20M0%2C14h2v-2H0V14z%20M3%2C14h2v-2H3V14z%20M6%2C14h2v-2H6V14z%20M9%2C14h2v-2H9V14z%20M12%2C1%20c0-0.553-0.447-1-1-1s-1%2C0.447-1%2C1H4c0-0.553-0.447-1-1-1S2%2C0.447%2C2%2C1H0v4h14V1H12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-camera:after, -.ui-alt-icon .ui-icon-camera:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C2.5H9.908c-0.206-0.581-0.756-1-1.408-1h-3c-0.652%2C0-1.202%2C0.419-1.408%2C1H2c-1.104%2C0-2%2C0.896-2%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2%20h10c1.104%2C0%2C2-0.896%2C2-2v-6C14%2C3.396%2C13.104%2C2.5%2C12%2C2.5z%20M7%2C10.5c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3%20C10%2C9.156%2C8.657%2C10.5%2C7%2C10.5z%20M7%2C5.5c-1.104%2C0-2%2C0.896-2%2C2c0%2C1.104%2C0.896%2C2%2C2%2C2c1.104%2C0%2C2-0.896%2C2-2C9%2C6.396%2C8.104%2C5.5%2C7%2C5.5z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-carat-d:after, -.ui-alt-icon .ui-icon-carat-d:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2211.949%2C3.404%207%2C8.354%202.05%2C3.404%20-0.071%2C5.525%207%2C12.596%2014.07%2C5.525%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-carat-l:after, -.ui-alt-icon .ui-icon-carat-l:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2210.596%2C11.949%205.646%2C7%2010.596%2C2.05%208.475%2C-0.071%201.404%2C7%208.475%2C14.07%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-carat-r:after, -.ui-alt-icon .ui-icon-carat-r:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%223.404%2C2.051%208.354%2C7%203.404%2C11.95%205.525%2C14.07%2012.596%2C7%205.525%2C-0.071%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-carat-u:after, -.ui-alt-icon .ui-icon-carat-u:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%222.051%2C10.596%207%2C5.646%2011.95%2C10.596%2014.07%2C8.475%207%2C1.404%20-0.071%2C8.475%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-check:after, -.ui-alt-icon .ui-icon-check:after, -html .ui-alt-icon.ui-btn.ui-checkbox-on:after, -html .ui-alt-icon .ui-btn.ui-checkbox-on:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C4%2011%2C1%205.003%2C6.997%203%2C5%200%2C8%204.966%2C13%204.983%2C12.982%205%2C13%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-clock:after, -.ui-alt-icon .ui-icon-clock:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C12c-2.762%2C0-5-2.238-5-5s2.238-5%2C5-5s5%2C2.238%2C5%2C5%20S9.762%2C12%2C7%2C12z%20M9%2C6H8V4c0-0.553-0.447-1-1-1S6%2C3.447%2C6%2C4v3c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1S9.553%2C6%2C9%2C6z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-cloud:after, -.ui-alt-icon .ui-icon-cloud:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M14%2C9.5c0-0.793-0.465-1.473-1.134-1.795C12.949%2C7.484%2C13%2C7.249%2C13%2C7c0-1.104-0.896-2-2-2c-0.158%2C0-0.311%2C0.023-0.457%2C0.058%20C9.816%2C3.549%2C8.286%2C2.5%2C6.5%2C2.5c-2.33%2C0-4.224%2C1.777-4.454%2C4.046C0.883%2C6.76%2C0%2C7.773%2C0%2C9c0%2C1.381%2C1.119%2C2.5%2C2.5%2C2.5h10v-0.07%20C13.361%2C11.206%2C14%2C10.432%2C14%2C9.5z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-comment:after, -.ui-alt-icon .ui-icon-comment:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v7c0%2C1.104%2C0.896%2C2%2C2%2C2h1v3l3-3h6c1.104%2C0%2C2-0.896%2C2-2V2C14%2C0.896%2C13.104%2C0%2C12%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-delete:after, -.ui-alt-icon .ui-icon-delete:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C3%2011%2C0%207%2C4%203%2C0%200%2C3%204%2C7%200%2C11%203%2C14%207%2C10%2011%2C14%2014%2C11%2010%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-edit:after, -.ui-alt-icon .ui-icon-edit:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C10l-1%2C4l4-1l7-7L8%2C3L1%2C10z%20M11%2C0L9%2C2l3%2C3l2-2L11%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-eye:after, -.ui-alt-icon .ui-icon-eye:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C2C3%2C2%2C0%2C7%2C0%2C7s3%2C5%2C7%2C5s7-5%2C7-5S11%2C2%2C7%2C2z%20M7%2C10c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3%20C10%2C8.656%2C8.657%2C10%2C7%2C10z%20M7%2C6C6.448%2C6%2C6%2C6.447%2C6%2C7c0%2C0.553%2C0.448%2C1%2C1%2C1s1-0.447%2C1-1C8%2C6.447%2C7.552%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-forbidden:after, -.ui-alt-icon .ui-icon-forbidden:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12.601%2C11.187C13.476%2C10.018%2C14%2C8.572%2C14%2C7c0-3.866-3.134-7-7-7C5.428%2C0%2C3.982%2C0.524%2C2.813%2C1.399L2.757%2C1.343L2.053%2C2.048%20L2.048%2C2.053L1.343%2C2.758l0.056%2C0.056C0.524%2C3.982%2C0%2C5.428%2C0%2C7c0%2C3.866%2C3.134%2C7%2C7%2C7c1.572%2C0%2C3.018-0.524%2C4.187-1.399l0.056%2C0.057%20l0.705-0.705l0.005-0.005l0.705-0.705L12.601%2C11.187z%20M7%2C2c2.761%2C0%2C5%2C2.238%2C5%2C5c0%2C1.019-0.308%2C1.964-0.832%2C2.754L4.246%2C2.832%20C5.036%2C2.308%2C5.981%2C2%2C7%2C2z%20M7%2C12c-2.761%2C0-5-2.238-5-5c0-1.019%2C0.308-1.964%2C0.832-2.754l6.922%2C6.922C8.964%2C11.692%2C8.019%2C12%2C7%2C12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-forward:after, -.ui-alt-icon .ui-icon-forward:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M13%2C4L9%2C0v3C6%2C3%2C1%2C4%2C1%2C8c0%2C5%2C7%2C6%2C7%2C6v-2c0%2C0-5-1-5-4s6-3%2C6-3v3L13%2C4z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-gear:after, -.ui-alt-icon .ui-icon-gear:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M13.621%2C5.904l-1.036-0.259c-0.168-0.042-0.303-0.168-0.355-0.332c-0.092-0.284-0.205-0.559-0.339-0.82%20c-0.079-0.153-0.073-0.337%2C0.017-0.486l0.549-0.915c0.118-0.196%2C0.088-0.448-0.075-0.61l-0.862-0.863%20c-0.162-0.163-0.414-0.193-0.611-0.075l-0.916%2C0.55C9.844%2C2.182%2C9.659%2C2.188%2C9.506%2C2.109C9.244%2C1.975%2C8.97%2C1.861%2C8.686%2C1.77%20c-0.165-0.052-0.29-0.187-0.332-0.354L8.095%2C0.379C8.039%2C0.156%2C7.839%2C0%2C7.609%2C0H6.391c-0.229%2C0-0.43%2C0.156-0.485%2C0.379L5.646%2C1.415%20C5.604%2C1.582%2C5.479%2C1.718%2C5.313%2C1.77c-0.284%2C0.092-0.559%2C0.206-0.82%2C0.34C4.339%2C2.188%2C4.155%2C2.182%2C4.007%2C2.093L3.092%2C1.544%20c-0.196-0.118-0.448-0.087-0.61%2C0.075L1.619%2C2.481C1.457%2C2.644%2C1.426%2C2.896%2C1.544%2C3.093l0.549%2C0.914%20c0.089%2C0.148%2C0.095%2C0.332%2C0.017%2C0.486C1.975%2C4.755%2C1.861%2C5.029%2C1.77%2C5.314c-0.053%2C0.164-0.188%2C0.29-0.354%2C0.332L0.379%2C5.905%20C0.156%2C5.961%2C0%2C6.161%2C0%2C6.391v1.219c0%2C0.229%2C0.156%2C0.43%2C0.379%2C0.485l1.036%2C0.26C1.582%2C8.396%2C1.717%2C8.521%2C1.77%2C8.687%20c0.092%2C0.284%2C0.205%2C0.559%2C0.34%2C0.82C2.188%2C9.66%2C2.182%2C9.844%2C2.093%2C9.993l-0.549%2C0.915c-0.118%2C0.195-0.087%2C0.448%2C0.075%2C0.61%20l0.862%2C0.862c0.162%2C0.163%2C0.414%2C0.193%2C0.61%2C0.075l0.915-0.549c0.148-0.089%2C0.332-0.095%2C0.486-0.017%20c0.262%2C0.135%2C0.536%2C0.248%2C0.82%2C0.34c0.165%2C0.053%2C0.291%2C0.187%2C0.332%2C0.354l0.259%2C1.036C5.96%2C13.844%2C6.16%2C14%2C6.39%2C14h1.22%20c0.229%2C0%2C0.43-0.156%2C0.485-0.379l0.259-1.036c0.042-0.167%2C0.168-0.302%2C0.333-0.354c0.284-0.092%2C0.559-0.205%2C0.82-0.34%20c0.154-0.078%2C0.338-0.072%2C0.486%2C0.017l0.914%2C0.549c0.197%2C0.118%2C0.449%2C0.088%2C0.611-0.074l0.862-0.863%20c0.163-0.162%2C0.193-0.415%2C0.075-0.611l-0.549-0.915c-0.089-0.148-0.096-0.332-0.017-0.485c0.134-0.263%2C0.248-0.536%2C0.339-0.82%20c0.053-0.165%2C0.188-0.291%2C0.355-0.333l1.036-0.259C13.844%2C8.039%2C14%2C7.839%2C14%2C7.609V6.39C14%2C6.16%2C13.844%2C5.96%2C13.621%2C5.904z%20M7%2C10%20c-1.657%2C0-3-1.343-3-3s1.343-3%2C3-3s3%2C1.343%2C3%2C3S8.657%2C10%2C7%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-grid:after, -.ui-alt-icon .ui-icon-grid:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M3%2C0H1C0.447%2C0%2C0%2C0.447%2C0%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C4%2C0.447%2C3.553%2C0%2C3%2C0z%20M8%2C0H6%20C5.447%2C0%2C5%2C0.447%2C5%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C9%2C0.447%2C8.553%2C0%2C8%2C0z%20M13%2C0h-2c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C14%2C0.447%2C13.553%2C0%2C13%2C0z%20M3%2C5H1C0.447%2C5%2C0%2C5.447%2C0%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1V6C4%2C5.447%2C3.553%2C5%2C3%2C5z%20M8%2C5H6C5.447%2C5%2C5%2C5.447%2C5%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6%20C9%2C5.447%2C8.553%2C5%2C8%2C5z%20M13%2C5h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6C14%2C5.447%2C13.553%2C5%2C13%2C5z%20M3%2C10%20H1c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C4%2C10.447%2C3.553%2C10%2C3%2C10z%20M8%2C10H6c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C9%2C10.447%2C8.553%2C10%2C8%2C10z%20M13%2C10h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1v-2C14%2C10.447%2C13.553%2C10%2C13%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-heart:after, -.ui-alt-icon .ui-icon-heart:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C1.958c-2-3-7-2.128-7%2C1.872c0%2C3%2C4%2C7%2C4%2C7s2.417%2C2.48%2C3%2C3c0.583-0.52%2C3-3%2C3-3s4-4%2C4-7C14-0.169%2C9-1.042%2C7%2C1.958z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-home:after, -.ui-alt-icon .ui-icon-home:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C0%200%2C7%202%2C7%202%2C14%205%2C14%205%2C9%209%2C9%209%2C14%2012%2C14%2012%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-info:after, -.ui-alt-icon .ui-icon-info:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C2c0.552%2C0%2C1%2C0.447%2C1%2C1S7.552%2C4%2C7%2C4S6%2C3.553%2C6%2C3%20S6.448%2C2%2C7%2C2z%20M9%2C11H5v-1h1V6H5V5h3v5h1V11z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-location:after, -.ui-alt-icon .ui-icon-location:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C4.791%2C0%2C3%2C1.791%2C3%2C4c0%2C2%2C4%2C10%2C4%2C10s4-8%2C4-10C11%2C1.791%2C9.209%2C0%2C7%2C0z%20M7%2C6C5.896%2C6%2C5%2C5.104%2C5%2C4s0.896-2%2C2-2%20c1.104%2C0%2C2%2C0.896%2C2%2C2S8.104%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-lock:after, -.ui-alt-icon .ui-icon-lock:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C6V5c0-2.762-2.238-5-5-5C4.239%2C0%2C2%2C2.238%2C2%2C5v1H1v8h12V6H12z%20M7.5%2C9.848V12h-1V9.848C6.207%2C9.673%2C6%2C9.366%2C6%2C9%20c0-0.553%2C0.448-1%2C1-1s1%2C0.447%2C1%2C1C8%2C9.366%2C7.793%2C9.673%2C7.5%2C9.848z%20M10%2C6H4V5c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3V6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-mail:after, -.ui-alt-icon .ui-icon-mail:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M0%2C3.75V12h14V3.75L7%2C9L0%2C3.75z%20M14%2C2H0l7%2C5L14%2C2z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-minus:after, -.ui-alt-icon .ui-icon-minus:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20y%3D%225%22%20width%3D%2214%22%20height%3D%224%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-navigation:after, -.ui-alt-icon .ui-icon-navigation:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2213%2C1%200%2C6%207%2C7%208%2C14%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-phone:after, -.ui-alt-icon .ui-icon-phone:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M6.949%2C9.182C6.175%2C8.549%2C5.281%2C7.697%2C4.507%2C6.736C3.963%2C6.063%2C3.483%2C5.355%2C3.979%2C4.858l-3.482-3.48%20c-0.508%2C0.634-1.633%2C3.654%2C3.188%2C8.598c5.08%2C5.211%2C8.356%2C4.097%2C8.92%2C3.511l-3.396-3.399C8.734%2C10.561%2C8.123%2C10.139%2C6.949%2C9.182z%20%20M13.83%2C11.512v-0.004c0%2C0-2.648-2.646-2.649-2.647c-0.21-0.212-0.546-0.205-0.754%2C0.002L9.465%2C9.823l3.402%2C3.407%20c0%2C0%2C0.963-0.961%2C0.961-0.961l0.002-0.002C14.053%2C12.049%2C14.031%2C11.713%2C13.83%2C11.512z%20M5.202%2C3.636V3.634%20c0.222-0.222%2C0.2-0.557%2C0-0.758V2.873c0%2C0-2.726-2.725-2.727-2.726c-0.21-0.21-0.545-0.205-0.753%2C0.001L0.761%2C1.113L4.24%2C4.595%20C4.241%2C4.596%2C5.202%2C3.637%2C5.202%2C3.636z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-plus:after, -.ui-alt-icon .ui-icon-plus:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C5%209%2C5%209%2C0%205%2C0%205%2C5%200%2C5%200%2C9%205%2C9%205%2C14%209%2C14%209%2C9%2014%2C9%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-power:after, -.ui-alt-icon .ui-icon-power:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M11.243%2C2.408c-0.392-0.401-1.024-0.401-1.415%2C0c-0.391%2C0.401-0.391%2C1.054%2C0%2C1.455C10.584%2C4.642%2C11%2C5.675%2C11%2C6.773%20s-0.416%2C2.133-1.172%2C2.91c-1.512%2C1.558-4.145%2C1.558-5.656%2C0C3.416%2C8.904%2C3%2C7.872%2C3%2C6.773C3%2C5.673%2C3.416%2C4.64%2C4.172%2C3.863%20c0.39-0.401%2C0.39-1.054%2C0-1.455c-0.391-0.401-1.024-0.401-1.415%2C0C1.624%2C3.574%2C1%2C5.125%2C1%2C6.773c0%2C1.647%2C0.624%2C3.199%2C1.757%2C4.365%20c1.134%2C1.166%2C2.64%2C1.809%2C4.243%2C1.809c1.604%2C0%2C3.109-0.645%2C4.243-1.811C12.376%2C9.975%2C13%2C8.423%2C13%2C6.773%20C13%2C5.125%2C12.376%2C3.574%2C11.243%2C2.408z%20M7%2C8.053c0.553%2C0%2C1-0.445%2C1-1v-6c0-0.553-0.447-1-1-1c-0.553%2C0-1%2C0.447-1%2C1v6%20C6%2C7.604%2C6.447%2C8.053%2C7%2C8.053z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-recycle:after, -.ui-alt-icon .ui-icon-recycle:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M3%2C7h1L2%2C4L0%2C7h1c0%2C3.313%2C2.687%2C6%2C6%2C6c0.702%2C0%2C1.374-0.127%2C2-0.35v-2.205C8.41%2C10.789%2C7.732%2C11%2C7%2C11C4.791%2C11%2C3%2C9.209%2C3%2C7z%20%20M13%2C7c0-3.313-2.688-6-6-6C6.298%2C1%2C5.626%2C1.127%2C5%2C1.349v2.206C5.59%2C3.211%2C6.268%2C3%2C7%2C3c2.209%2C0%2C4%2C1.791%2C4%2C4h-1l2%2C3l2-3H13z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-refresh:after, -.ui-alt-icon .ui-icon-refresh:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.001px%22%20height%3D%2214.002px%22%20viewBox%3D%220%200%2014.001%2014.002%22%20style%3D%22enable-background%3Anew%200%200%2014.001%2014.002%3B%22%20%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M14.001%2C6.001v-6l-2.06%2C2.06c-0.423-0.424-0.897-0.809-1.44-1.122C7.153-0.994%2C2.872%2C0.153%2C0.939%2C3.501%20c-1.933%2C3.348-0.786%2C7.629%2C2.562%2C9.562c3.348%2C1.933%2C7.629%2C0.785%2C9.562-2.562l-1.732-1c-1.381%2C2.392-4.438%2C3.211-6.83%2C1.83%20s-3.211-4.438-1.83-6.83s4.438-3.211%2C6.83-1.83c0.389%2C0.225%2C0.718%2C0.506%2C1.02%2C0.81l-2.52%2C2.52H14.001z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-search:after, -.ui-alt-icon .ui-icon-search:after, -.ui-input-search:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M10.171%2C8.766c0.617-0.888%2C0.979-1.964%2C0.979-3.126c0-3.037-2.463-5.5-5.5-5.5s-5.5%2C2.463-5.5%2C5.5s2.463%2C5.5%2C5.5%2C5.5%20c1.152%2C0%2C2.223-0.355%2C3.104-0.962l3.684%2C3.683l1.414-1.414L10.171%2C8.766z%20M5.649%2C9.14c-1.933%2C0-3.5-1.567-3.5-3.5%20c0-1.933%2C1.567-3.5%2C3.5-3.5c1.933%2C0%2C3.5%2C1.567%2C3.5%2C3.5C9.149%2C7.572%2C7.582%2C9.14%2C5.649%2C9.14z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-shop:after, -.ui-alt-icon .ui-icon-shop:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M10%2C4V3c0-1.657-1.343-3-3-3S4%2C1.343%2C4%2C3v1H1v10h12V4H10z%20M4.5%2C6C4.224%2C6%2C4%2C5.776%2C4%2C5.5S4.224%2C5%2C4.5%2C5S5%2C5.224%2C5%2C5.5%20S4.776%2C6%2C4.5%2C6z%20M5%2C3c0-1.104%2C0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2v1H5V3z%20M9.5%2C6C9.225%2C6%2C9%2C5.776%2C9%2C5.5S9.225%2C5%2C9.5%2C5S10%2C5.224%2C10%2C5.5%20S9.775%2C6%2C9.5%2C6z%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-star:after, -.ui-alt-icon .ui-icon-star:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C5%209%2C5%207%2C0%205%2C5%200%2C5%204%2C8%202.625%2C13%207%2C10%2011.375%2C13%2010%2C8%20%22%2F%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-tag:after, -.ui-alt-icon .ui-icon-tag:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C0H0v5l9%2C9l5-5L5%2C0z%20M3%2C4C2.447%2C4%2C2%2C3.553%2C2%2C3s0.447-1%2C1-1s1%2C0.447%2C1%2C1S3.553%2C4%2C3%2C4z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-user:after, -.ui-alt-icon .ui-icon-user:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M8.851%2C10.101c-0.18-0.399-0.2-0.763-0.153-1.104C9.383%2C8.49%2C9.738%2C7.621%2C9.891%2C6.465C10.493%2C6.355%2C10.5%2C5.967%2C10.5%2C5.5%20c0-0.437-0.008-0.804-0.502-0.94C9.999%2C4.539%2C10%2C4.521%2C10%2C4.5c0-2.103-1-4-2-4C8%2C0.5%2C7.5%2C0%2C6.5%2C0C5%2C0%2C4%2C1.877%2C4%2C4.5%20c0%2C0.021%2C0.001%2C0.039%2C0.002%2C0.06C3.508%2C4.696%2C3.5%2C5.063%2C3.5%2C5.5c0%2C0.467%2C0.007%2C0.855%2C0.609%2C0.965%20C4.262%2C7.621%2C4.617%2C8.49%2C5.303%2C8.997c0.047%2C0.341%2C0.026%2C0.704-0.153%2C1.104C1.503%2C10.503%2C0%2C12%2C0%2C12v2h14v-2%20C14%2C12%2C12.497%2C10.503%2C8.851%2C10.101z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.ui-alt-icon.ui-icon-video:after, -.ui-alt-icon .ui-icon-video:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%20-2%2014%2014%22%20style%3D%22enable-background%3Anew%200%20-2%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M8%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2h6c1.104%2C0%2C2-0.896%2C2-2V5V2C10%2C0.896%2C9.104%2C0%2C8%2C0z%20M10%2C5l4%2C4V1L10%2C5z%22%2F%3E%3C%2Fsvg%3E"); -} -/* Globals */ -/* Font ------------------------------------------------------------------------------------------------------------*/ -html { - font-size: 100%; -} -body, -input, -select, -textarea, -button, -.ui-btn { - font-size: 1em; - line-height: 1.3; - font-family: sans-serif /*{global-font-family}*/; -} -legend, -.ui-input-text input, -.ui-input-search input { - color: inherit; - text-shadow: inherit; -} -/* Form labels (overrides font-weight bold in bars, and mini font-size) */ -.ui-mobile label, -div.ui-controlgroup-label { - font-weight: normal; - font-size: 16px; -} -/* Separators ------------------------------------------------------------------------------------------------------------*/ -/* Field contain separator (< 28em) */ -.ui-field-contain { - border-bottom-color: #828282; - border-bottom-color: rgba(0,0,0,.15); - border-bottom-width: 1px; - border-bottom-style: solid; -} -/* Table opt-in classes: strokes between each row, and alternating row stripes */ -/* Classes table-stroke and table-stripe are deprecated in 1.4. */ -.table-stroke thead th, -.table-stripe thead th, -.table-stripe tbody tr:last-child { - border-bottom: 1px solid #d6d6d6; /* non-RGBA fallback */ - border-bottom: 1px solid rgba(0,0,0,.1); -} -.table-stroke tbody th, -.table-stroke tbody td { - border-bottom: 1px solid #e6e6e6; /* non-RGBA fallback */ - border-bottom: 1px solid rgba(0,0,0,.05); -} -.table-stripe.table-stroke tbody tr:last-child th, -.table-stripe.table-stroke tbody tr:last-child td { - border-bottom: 0; -} -.table-stripe tbody tr:nth-child(odd) td, -.table-stripe tbody tr:nth-child(odd) th { - background-color: #eeeeee; /* non-RGBA fallback */ - background-color: rgba(0,0,0,.04); -} -/* Buttons ------------------------------------------------------------------------------------------------------------*/ -.ui-btn, -label.ui-btn { - font-weight: bold; - border-width: 1px; - border-style: solid; -} -.ui-btn { - text-decoration: none !important; -} -.ui-btn-active { - cursor: pointer; -} -/* Corner rounding ------------------------------------------------------------------------------------------------------------*/ -/* Class ui-btn-corner-all deprecated in 1.4 */ -.ui-corner-all { - -webkit-border-radius: .3125em /*{global-radii-blocks}*/; - border-radius: .3125em /*{global-radii-blocks}*/; -} -/* Buttons */ -.ui-btn-corner-all, -.ui-btn.ui-corner-all, -/* Slider track */ -.ui-slider-track.ui-corner-all, -/* Flipswitch */ -.ui-flipswitch.ui-corner-all, -/* Count bubble */ -.ui-li-count { - -webkit-border-radius: .3125em /*{global-radii-buttons}*/; - border-radius: .3125em /*{global-radii-buttons}*/; -} -/* Icon-only buttons */ -.ui-btn-icon-notext.ui-btn-corner-all, -.ui-btn-icon-notext.ui-corner-all { - -webkit-border-radius: 1em; - border-radius: 1em; -} -/* Radius clip workaround for cleaning up corner trapping */ -.ui-btn-corner-all, -.ui-corner-all { - -webkit-background-clip: padding; - background-clip: padding-box; -} -/* Popup arrow */ -.ui-popup.ui-corner-all > .ui-popup-arrow-guide { - left: .6em /*{global-radii-blocks}*/; - right: .6em /*{global-radii-blocks}*/; - top: .6em /*{global-radii-blocks}*/; - bottom: .6em /*{global-radii-blocks}*/; -} -/* Shadow ------------------------------------------------------------------------------------------------------------*/ -.ui-shadow { - -webkit-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; - -moz-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; - box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; -} -.ui-shadow-inset { - -webkit-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; - -moz-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; - box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; -} -.ui-overlay-shadow { - -webkit-box-shadow: 0 0 12px rgba(0,0,0,.6); - -moz-box-shadow: 0 0 12px rgba(0,0,0,.6); - box-shadow: 0 0 12px rgba(0,0,0,.6); -} -/* Icons ------------------------------------------------------------------------------------------------------------*/ -.ui-btn-icon-left:after, -.ui-btn-icon-right:after, -.ui-btn-icon-top:after, -.ui-btn-icon-bottom:after, -.ui-btn-icon-notext:after { - background-color: #666 /*{global-icon-color}*/; - background-color: rgba(0,0,0,.3) /*{global-icon-disc}*/; - background-position: center center; - background-repeat: no-repeat; - -webkit-border-radius: 1em; - border-radius: 1em; -} -/* Alt icons */ -.ui-alt-icon.ui-btn:after, -.ui-alt-icon .ui-btn:after, -html .ui-alt-icon.ui-checkbox-off:after, -html .ui-alt-icon.ui-radio-off:after, -html .ui-alt-icon .ui-checkbox-off:after, -html .ui-alt-icon .ui-radio-off:after { - background-color: #666 /*{global-icon-color}*/; - background-color: rgba(0,0,0,.15) /*{global-icon-disc}*/; -} -/* No disc */ -.ui-nodisc-icon.ui-btn:after, -.ui-nodisc-icon .ui-btn:after { - background-color: transparent; -} -/* Icon shadow */ -.ui-shadow-icon.ui-btn:after, -.ui-shadow-icon .ui-btn:after { - -webkit-box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; - -moz-box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; - box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; -} -/* Checkbox and radio */ -.ui-btn.ui-checkbox-off:after, -.ui-btn.ui-checkbox-on:after, -.ui-btn.ui-radio-off:after, -.ui-btn.ui-radio-on:after { - display: block; - width: 18px; - height: 18px; - margin: -9px 2px 0 2px; -} -.ui-checkbox-off:after, -.ui-btn.ui-radio-off:after { - filter: Alpha(Opacity=30); - opacity: .3; -} -.ui-btn.ui-checkbox-off:after, -.ui-btn.ui-checkbox-on:after { - -webkit-border-radius: .1875em; - border-radius: .1875em; -} -.ui-btn.ui-checkbox-off:after { - background-color: #666; - background-color: rgba(0,0,0,.3); -} -.ui-radio .ui-btn.ui-radio-on:after { - background-image: none; - background-color: #fff; - width: 8px; - height: 8px; - border-width: 5px; - border-style: solid; -} -.ui-alt-icon.ui-btn.ui-radio-on:after, -.ui-alt-icon .ui-btn.ui-radio-on:after { - background-color: #000; -} -/* Loader */ -.ui-icon-loading { - background: url(images/ajax-loader.gif); - background-size: 2.875em 2.875em; -} -/* Swatches */ -/* A ------------------------------------------------------------------------------------------------------------*/ -/* Bar: Toolbars, dividers, slider track */ -.ui-bar-a, -.ui-page-theme-a .ui-bar-inherit, -html .ui-bar-a .ui-bar-inherit, -html .ui-body-a .ui-bar-inherit, -html body .ui-group-theme-a .ui-bar-inherit { - background-color: #e9e9e9 /*{a-bar-background-color}*/; - border-color: #ddd /*{a-bar-border}*/; - color: #333 /*{a-bar-color}*/; - text-shadow: 0 /*{a-bar-shadow-x}*/ 1px /*{a-bar-shadow-y}*/ 0 /*{a-bar-shadow-radius}*/ #eee /*{a-bar-shadow-color}*/; - font-weight: bold; -} -.ui-bar-a { - border-width: 1px; - border-style: solid; -} -/* Page and overlay */ -.ui-overlay-a, -.ui-page-theme-a, -.ui-page-theme-a .ui-panel-wrapper { - background-color: #f9f9f9 /*{a-page-background-color}*/; - border-color: #bbb /*{a-page-border}*/; - color: #333 /*{a-page-color}*/; - text-shadow: 0 /*{a-page-shadow-x}*/ 1px /*{a-page-shadow-y}*/ 0 /*{a-page-shadow-radius}*/ #f3f3f3 /*{a-page-shadow-color}*/; -} -/* Body: Read-only lists, text inputs, collapsible content */ -.ui-body-a, -.ui-page-theme-a .ui-body-inherit, -html .ui-bar-a .ui-body-inherit, -html .ui-body-a .ui-body-inherit, -html body .ui-group-theme-a .ui-body-inherit, -html .ui-panel-page-container-a { - background-color: #fff /*{a-body-background-color}*/; - border-color: #ddd /*{a-body-border}*/; - color: #333 /*{a-body-color}*/; - text-shadow: 0 /*{a-body-shadow-x}*/ 1px /*{a-body-shadow-y}*/ 0 /*{a-body-shadow-radius}*/ #f3f3f3 /*{a-body-shadow-color}*/; -} -.ui-body-a { - border-width: 1px; - border-style: solid; -} -/* Links */ -.ui-page-theme-a a, -html .ui-bar-a a, -html .ui-body-a a, -html body .ui-group-theme-a a { - color: #3388cc /*{a-link-color}*/; - font-weight: bold; -} -.ui-page-theme-a a:visited, -html .ui-bar-a a:visited, -html .ui-body-a a:visited, -html body .ui-group-theme-a a:visited { - color: #3388cc /*{a-link-visited}*/; -} -.ui-page-theme-a a:hover, -html .ui-bar-a a:hover, -html .ui-body-a a:hover, -html body .ui-group-theme-a a:hover { - color: #005599 /*{a-link-hover}*/; -} -.ui-page-theme-a a:active, -html .ui-bar-a a:active, -html .ui-body-a a:active, -html body .ui-group-theme-a a:active { - color: #005599 /*{a-link-active}*/; -} -/* Button up */ -.ui-page-theme-a .ui-btn, -html .ui-bar-a .ui-btn, -html .ui-body-a .ui-btn, -html body .ui-group-theme-a .ui-btn, -html head + body .ui-btn.ui-btn-a, -/* Button visited */ -.ui-page-theme-a .ui-btn:visited, -html .ui-bar-a .ui-btn:visited, -html .ui-body-a .ui-btn:visited, -html body .ui-group-theme-a .ui-btn:visited, -html head + body .ui-btn.ui-btn-a:visited { - background-color: #f6f6f6 /*{a-bup-background-color}*/; - border-color: #ddd /*{a-bup-border}*/; - color: #333 /*{a-bup-color}*/; - text-shadow: 0 /*{a-bup-shadow-x}*/ 1px /*{a-bup-shadow-y}*/ 0 /*{a-bup-shadow-radius}*/ #f3f3f3 /*{a-bup-shadow-color}*/; -} -/* Button hover */ -.ui-page-theme-a .ui-btn:hover, -html .ui-bar-a .ui-btn:hover, -html .ui-body-a .ui-btn:hover, -html body .ui-group-theme-a .ui-btn:hover, -html head + body .ui-btn.ui-btn-a:hover { - background-color: #ededed /*{a-bhover-background-color}*/; - border-color: #ddd /*{a-bhover-border}*/; - color: #333 /*{a-bhover-color}*/; - text-shadow: 0 /*{a-bhover-shadow-x}*/ 1px /*{a-bhover-shadow-y}*/ 0 /*{a-bhover-shadow-radius}*/ #f3f3f3 /*{a-bhover-shadow-color}*/; -} -/* Button down */ -.ui-page-theme-a .ui-btn:active, -html .ui-bar-a .ui-btn:active, -html .ui-body-a .ui-btn:active, -html body .ui-group-theme-a .ui-btn:active, -html head + body .ui-btn.ui-btn-a:active { - background-color: #e8e8e8 /*{a-bdown-background-color}*/; - border-color: #ddd /*{a-bdown-border}*/; - color: #333 /*{a-bdown-color}*/; - text-shadow: 0 /*{a-bdown-shadow-x}*/ 1px /*{a-bdown-shadow-y}*/ 0 /*{a-bdown-shadow-radius}*/ #f3f3f3 /*{a-bdown-shadow-color}*/; -} -/* Active button */ -.ui-page-theme-a .ui-btn.ui-btn-active, -html .ui-bar-a .ui-btn.ui-btn-active, -html .ui-body-a .ui-btn.ui-btn-active, -html body .ui-group-theme-a .ui-btn.ui-btn-active, -html head + body .ui-btn.ui-btn-a.ui-btn-active, -/* Active checkbox icon */ -.ui-page-theme-a .ui-checkbox-on:after, -html .ui-bar-a .ui-checkbox-on:after, -html .ui-body-a .ui-checkbox-on:after, -html body .ui-group-theme-a .ui-checkbox-on:after, -.ui-btn.ui-checkbox-on.ui-btn-a:after, -/* Active flipswitch background */ -.ui-page-theme-a .ui-flipswitch-active, -html .ui-bar-a .ui-flipswitch-active, -html .ui-body-a .ui-flipswitch-active, -html body .ui-group-theme-a .ui-flipswitch-active, -html body .ui-flipswitch.ui-bar-a.ui-flipswitch-active, -/* Active slider track */ -.ui-page-theme-a .ui-slider-track .ui-btn-active, -html .ui-bar-a .ui-slider-track .ui-btn-active, -html .ui-body-a .ui-slider-track .ui-btn-active, -html body .ui-group-theme-a .ui-slider-track .ui-btn-active, -html body div.ui-slider-track.ui-body-a .ui-btn-active { - background-color: #3388cc /*{a-active-background-color}*/; - border-color: #3388cc /*{a-active-border}*/; - color: #fff /*{a-active-color}*/; - text-shadow: 0 /*{a-active-shadow-x}*/ 1px /*{a-active-shadow-y}*/ 0 /*{a-active-shadow-radius}*/ #005599 /*{a-active-shadow-color}*/; -} -/* Active radio button icon */ -.ui-page-theme-a .ui-radio-on:after, -html .ui-bar-a .ui-radio-on:after, -html .ui-body-a .ui-radio-on:after, -html body .ui-group-theme-a .ui-radio-on:after, -.ui-btn.ui-radio-on.ui-btn-a:after { - border-color: #3388cc /*{a-active-background-color}*/; -} -/* Focus */ -.ui-page-theme-a .ui-btn:focus, -html .ui-bar-a .ui-btn:focus, -html .ui-body-a .ui-btn:focus, -html body .ui-group-theme-a .ui-btn:focus, -html head + body .ui-btn.ui-btn-a:focus, -/* Focus buttons and text inputs with div wrap */ -.ui-page-theme-a .ui-focus, -html .ui-bar-a .ui-focus, -html .ui-body-a .ui-focus, -html body .ui-group-theme-a .ui-focus, -html head + body .ui-btn-a.ui-focus, -html head + body .ui-body-a.ui-focus { - -webkit-box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; - -moz-box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; - box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; -} -/* B ------------------------------------------------------------------------------------------------------------*/ -/* Bar: Toolbars, dividers, slider track */ -.ui-bar-b, -.ui-page-theme-b .ui-bar-inherit, -html .ui-bar-b .ui-bar-inherit, -html .ui-body-b .ui-bar-inherit, -html body .ui-group-theme-b .ui-bar-inherit { - background-color: #1d1d1d /*{b-bar-background-color}*/; - border-color: #1b1b1b /*{b-bar-border}*/; - color: #fff /*{b-bar-color}*/; - text-shadow: 0 /*{b-bar-shadow-x}*/ 1px /*{b-bar-shadow-y}*/ 0 /*{b-bar-shadow-radius}*/ #111 /*{b-bar-shadow-color}*/; - font-weight: bold; -} -.ui-bar-b { - border-width: 1px; - border-style: solid; -} -/* Page and overlay */ -.ui-overlay-b, -.ui-page-theme-b, -.ui-page-theme-b .ui-panel-wrapper { - background-color: #252525 /*{b-page-background-color}*/; - border-color: #454545 /*{b-page-border}*/; - color: #fff /*{b-page-color}*/; - text-shadow: 0 /*{b-page-shadow-x}*/ 1px /*{b-page-shadow-y}*/ 0 /*{b-page-shadow-radius}*/ #111 /*{b-page-shadow-color}*/; -} -/* Body: Read-only lists, text inputs, collapsible content */ -.ui-body-b, -.ui-page-theme-b .ui-body-inherit, -html .ui-bar-b .ui-body-inherit, -html .ui-body-b .ui-body-inherit, -html body .ui-group-theme-b .ui-body-inherit, -html .ui-panel-page-container-b { - background-color: #2a2a2a /*{b-body-background-color}*/; - border-color: #1d1d1d /*{b-body-border}*/; - color: #fff /*{b-body-color}*/; - text-shadow: 0 /*{b-body-shadow-x}*/ 1px /*{b-body-shadow-y}*/ 0 /*{b-body-shadow-radius}*/ #111 /*{b-body-shadow-color}*/; -} -.ui-body-b { - border-width: 1px; - border-style: solid; -} -/* Links */ -.ui-page-theme-b a, -html .ui-bar-b a, -html .ui-body-b a, -html body .ui-group-theme-b a { - color: #22aadd /*{b-link-color}*/; - font-weight: bold; -} -.ui-page-theme-b a:visited, -html .ui-bar-b a:visited, -html .ui-body-b a:visited, -html body .ui-group-theme-b a:visited { - color: #22aadd /*{b-link-visited}*/; -} -.ui-page-theme-b a:hover, -html .ui-bar-b a:hover, -html .ui-body-b a:hover, -html body .ui-group-theme-b a:hover { - color: #0088bb /*{b-link-hover}*/; -} -.ui-page-theme-b a:active, -html .ui-bar-b a:active, -html .ui-body-b a:active, -html body .ui-group-theme-b a:active { - color: #0088bb /*{b-link-active}*/; -} -/* Button up */ -.ui-page-theme-b .ui-btn, -html .ui-bar-b .ui-btn, -html .ui-body-b .ui-btn, -html body .ui-group-theme-b .ui-btn, -html head + body .ui-btn.ui-btn-b, -/* Button visited */ -.ui-page-theme-b .ui-btn:visited, -html .ui-bar-b .ui-btn:visited, -html .ui-body-b .ui-btn:visited, -html body .ui-group-theme-b .ui-btn:visited, -html head + body .ui-btn.ui-btn-b:visited { - background-color: #333 /*{b-bup-background-color}*/; - border-color: #1f1f1f /*{b-bup-border}*/; - color: #fff /*{b-bup-color}*/; - text-shadow: 0 /*{b-bup-shadow-x}*/ 1px /*{b-bup-shadow-y}*/ 0 /*{b-bup-shadow-radius}*/ #111 /*{b-bup-shadow-color}*/; -} -/* Button hover */ -.ui-page-theme-b .ui-btn:hover, -html .ui-bar-b .ui-btn:hover, -html .ui-body-b .ui-btn:hover, -html body .ui-group-theme-b .ui-btn:hover, -html head + body .ui-btn.ui-btn-b:hover { - background-color: #373737 /*{b-bhover-background-color}*/; - border-color: #1f1f1f /*{b-bhover-border}*/; - color: #fff /*{b-bhover-color}*/; - text-shadow: 0 /*{b-bhover-shadow-x}*/ 1px /*{b-bhover-shadow-y}*/ 0 /*{b-bhover-shadow-radius}*/ #111 /*{b-bhover-shadow-color}*/; -} -/* Button down */ -.ui-page-theme-b .ui-btn:active, -html .ui-bar-b .ui-btn:active, -html .ui-body-b .ui-btn:active, -html body .ui-group-theme-b .ui-btn:active, -html head + body .ui-btn.ui-btn-b:active { - background-color: #404040 /*{b-bdown-background-color}*/; - border-color: #1f1f1f /*{b-bdown-border}*/; - color: #fff /*{b-bdown-color}*/; - text-shadow: 0 /*{b-bdown-shadow-x}*/ 1px /*{b-bdown-shadow-y}*/ 0 /*{b-bdown-shadow-radius}*/ #111 /*{b-bdown-shadow-color}*/; -} -/* Active button */ -.ui-page-theme-b .ui-btn.ui-btn-active, -html .ui-bar-b .ui-btn.ui-btn-active, -html .ui-body-b .ui-btn.ui-btn-active, -html body .ui-group-theme-b .ui-btn.ui-btn-active, -html head + body .ui-btn.ui-btn-b.ui-btn-active, -/* Active checkbox icon */ -.ui-page-theme-b .ui-checkbox-on:after, -html .ui-bar-b .ui-checkbox-on:after, -html .ui-body-b .ui-checkbox-on:after, -html body .ui-group-theme-b .ui-checkbox-on:after, -.ui-btn.ui-checkbox-on.ui-btn-b:after, -/* Active flipswitch background */ -.ui-page-theme-b .ui-flipswitch-active, -html .ui-bar-b .ui-flipswitch-active, -html .ui-body-b .ui-flipswitch-active, -html body .ui-group-theme-b .ui-flipswitch-active, -html body .ui-flipswitch.ui-bar-b.ui-flipswitch-active, -/* Active slider track */ -.ui-page-theme-b .ui-slider-track .ui-btn-active, -html .ui-bar-b .ui-slider-track .ui-btn-active, -html .ui-body-b .ui-slider-track .ui-btn-active, -html body .ui-group-theme-b .ui-slider-track .ui-btn-active, -html body div.ui-slider-track.ui-body-b .ui-btn-active { - background-color: #22aadd /*{b-active-background-color}*/; - border-color: #22aadd /*{b-active-border}*/; - color: #fff /*{b-active-color}*/; - text-shadow: 0 /*{b-active-shadow-x}*/ 1px /*{b-active-shadow-y}*/ 0 /*{b-active-shadow-radius}*/ #0088bb /*{b-active-shadow-color}*/; -} -/* Active radio button icon */ -.ui-page-theme-b .ui-radio-on:after, -html .ui-bar-b .ui-radio-on:after, -html .ui-body-b .ui-radio-on:after, -html body .ui-group-theme-b .ui-radio-on:after, -.ui-btn.ui-radio-on.ui-btn-b:after { - border-color: #22aadd /*{b-active-background-color}*/; -} -/* Focus */ -.ui-page-theme-b .ui-btn:focus, -html .ui-bar-b .ui-btn:focus, -html .ui-body-b .ui-btn:focus, -html body .ui-group-theme-b .ui-btn:focus, -html head + body .ui-btn.ui-btn-b:focus, -/* Focus buttons and text inputs with div wrap */ -.ui-page-theme-b .ui-focus, -html .ui-bar-b .ui-focus, -html .ui-body-b .ui-focus, -html body .ui-group-theme-b .ui-focus, -html head + body .ui-btn-b.ui-focus, -html head + body .ui-body-b.ui-focus { - -webkit-box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; - -moz-box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; - box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; -} -/* Structure */ -/* Disabled ------------------------------------------------------------------------------------------------------------*/ -/* Class ui-disabled deprecated in 1.4. :disabled not supported by IE8 so we use [disabled] */ -.ui-disabled, -.ui-state-disabled, -button[disabled], -.ui-select .ui-btn.ui-state-disabled { - filter: Alpha(Opacity=30); - opacity: .3; - cursor: default !important; - pointer-events: none; -} -/* Focus state outline ------------------------------------------------------------------------------------------------------------*/ -.ui-btn:focus, -.ui-btn.ui-focus { - outline: 0; -} -/* Unset box-shadow in browsers that don't do it right */ -.ui-noboxshadow .ui-shadow, -.ui-noboxshadow .ui-shadow-inset, -.ui-noboxshadow .ui-overlay-shadow, -.ui-noboxshadow .ui-shadow-icon.ui-btn:after, -.ui-noboxshadow .ui-shadow-icon .ui-btn:after, -.ui-noboxshadow .ui-focus, -.ui-noboxshadow .ui-btn:focus, -.ui-noboxshadow input:focus, -.ui-noboxshadow .ui-panel { - -webkit-box-shadow: none !important; - -moz-box-shadow: none !important; - box-shadow: none !important; -} -.ui-noboxshadow .ui-btn:focus, -.ui-noboxshadow .ui-focus { - outline-width: 1px; - outline-style: auto; -} -/* Some unsets */ -.ui-mobile, -.ui-mobile body { - height: 99.9%; -} -.ui-mobile fieldset, -.ui-page { - padding: 0; - margin: 0; -} -.ui-mobile a img, -.ui-mobile fieldset { - border-width: 0; -} -/* Fixes for fieldset issues on IE10 and FF (see #6077) */ -.ui-mobile fieldset { - min-width: 0; -} -@-moz-document url-prefix() { - .ui-mobile fieldset { - display: table-column; - vertical-align: middle; - } -} -/* Viewport */ -.ui-mobile-viewport { - margin: 0; - overflow-x: visible; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust:none; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} -/* Issue #2066 */ -body.ui-mobile-viewport, -div.ui-mobile-viewport { - overflow-x: hidden; -} -/* "page" containers - full-screen views, one should always be in view post-pageload */ -.ui-mobile [data-role=page], -.ui-mobile [data-role=dialog], -.ui-page { - top: 0; - left: 0; - width: 100%; - min-height: 100%; - position: absolute; - display: none; - border: 0; -} -/* On ios4, setting focus on the page element causes flashing during transitions when there is an outline, so we turn off outlines */ -.ui-page { - outline: none; -} -.ui-mobile .ui-page-active { - display: block; - overflow: visible; - overflow-x: hidden; -} -@media screen and (orientation: portrait) { - .ui-mobile .ui-page { - min-height: 420px; - } -} -@media screen and (orientation: landscape) { - .ui-mobile .ui-page { - min-height: 300px; - } -} -/* Fouc */ -.ui-mobile-rendering > * { - visibility: hidden; -} -/* Non-js content hiding */ -.ui-nojs { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -/* Loading screen */ -.ui-loading .ui-loader { - display: block; -} -.ui-loader { - display: none; - z-index: 9999999; - position: fixed; - top: 50%; - left: 50%; - border:0; -} -.ui-loader-default { - background: none; - filter: Alpha(Opacity=18); - opacity: .18; - width: 2.875em; - height: 2.875em; - margin-left: -1.4375em; - margin-top: -1.4375em; -} -.ui-loader-verbose { - width: 12.5em; - filter: Alpha(Opacity=88); - opacity: .88; - box-shadow: 0 1px 1px -1px #fff; - height: auto; - margin-left: -6.875em; - margin-top: -2.6875em; - padding: .625em; -} -.ui-loader-default h1 { - font-size: 0; - width: 0; - height: 0; - overflow: hidden; -} -.ui-loader-verbose h1 { - font-size: 1em; - margin: 0; - text-align: center; -} -.ui-loader .ui-icon-loading { - background-color: #000; - display: block; - margin: 0; - width: 2.75em; - height: 2.75em; - padding: .0625em; - -webkit-border-radius: 2.25em; - border-radius: 2.25em; -} -.ui-loader-verbose .ui-icon-loading { - margin: 0 auto .625em; - filter: Alpha(Opacity=75); - opacity: .75; -} -.ui-loader-textonly { - padding: .9375em; - margin-left: -7.1875em; -} -.ui-loader-textonly .ui-icon-loading { - display: none; -} -.ui-loader-fakefix { - position: absolute; -} -/* Headers, content panels */ -.ui-bar, -.ui-body { - position: relative; - padding: .4em 1em; - overflow: hidden; - display: block; - clear: both; -} -.ui-bar h1, -.ui-bar h2, -.ui-bar h3, -.ui-bar h4, -.ui-bar h5, -.ui-bar h6 { - margin: 0; - padding: 0; - font-size: 1em; - display: inline-block; -} -.ui-header, -.ui-footer { - border-width: 1px 0; - border-style: solid; - position: relative; -} -.ui-header:empty, -.ui-footer:empty { - min-height: 2.6875em; -} -.ui-header .ui-title, -.ui-footer .ui-title { - font-size: 1em; - min-height: 1.1em; - text-align: center; - display: block; - margin: 0 30%; - padding: .7em 0; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; - outline: 0 !important; -} -.ui-footer .ui-title { - margin: 0 1em; -} -.ui-content { - border-width: 0; - overflow: visible; - overflow-x: hidden; - padding: 1em; -} -/* Corner styling for dialogs and popups */ -.ui-corner-all > .ui-header:first-child, -.ui-corner-all > .ui-content:first-child, -.ui-corner-all > .ui-footer:first-child { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; -} -.ui-corner-all > .ui-header:last-child, -.ui-corner-all > .ui-content:last-child, -.ui-corner-all > .ui-footer:last-child { - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -/* Buttons and icons */ -.ui-btn { - font-size: 16px; - margin: .5em 0; - padding: .7em 1em; - display: block; - position: relative; - text-align: center; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.ui-btn-icon-notext, -.ui-header button.ui-btn.ui-btn-icon-notext, -.ui-footer button.ui-btn.ui-btn-icon-notext { - padding: 0; - width: 1.75em; - height: 1.75em; - text-indent: -9999px; - white-space: nowrap !important; -} -.ui-mini { - font-size: 12.5px; -} -.ui-mini .ui-btn { - font-size: inherit; -} -/* Make buttons in toolbars default to mini and inline. */ -.ui-header .ui-btn, -.ui-footer .ui-btn { - font-size: 12.5px; - display: inline-block; - vertical-align: middle; -} -.ui-header .ui-controlgroup .ui-btn-icon-notext, -.ui-footer .ui-controlgroup .ui-btn-icon-notext { - font-size: 12.5px; -} -/* To ensure same top and left/right position when ui-btn-left/right are added to something other than buttons. */ -.ui-header .ui-btn-left, -.ui-header .ui-btn-right { - font-size: 12.5px; -} -.ui-mini.ui-btn-icon-notext, -.ui-mini .ui-btn-icon-notext, -.ui-header .ui-btn-icon-notext, -.ui-footer .ui-btn-icon-notext { - font-size: 16px; - padding: 0; -} -.ui-btn-inline { - display: inline-block; - vertical-align: middle; - margin-right: .625em; -} -.ui-btn-icon-left { - padding-left: 2.5em; -} -.ui-btn-icon-right { - padding-right: 2.5em; -} -.ui-btn-icon-top { - padding-top: 2.5em; -} -.ui-btn-icon-bottom { - padding-bottom: 2.5em; -} -.ui-header .ui-btn-icon-top, -.ui-footer .ui-btn-icon-top, -.ui-header .ui-btn-icon-bottom, -.ui-footer .ui-btn-icon-bottom { - padding-left: .3125em; - padding-right: .3125em; -} -.ui-btn-icon-left:after, -.ui-btn-icon-right:after, -.ui-btn-icon-top:after, -.ui-btn-icon-bottom:after, -.ui-btn-icon-notext:after { - content: ""; - position: absolute; - display: block; - width: 22px; - height: 22px; -} -.ui-btn-icon-notext:after, -.ui-btn-icon-left:after, -.ui-btn-icon-right:after { - top: 50%; - margin-top: -11px; -} -.ui-btn-icon-left:after { - left: .5625em; -} -.ui-btn-icon-right:after { - right: .5625em; -} -.ui-mini.ui-btn-icon-left:after, -.ui-mini .ui-btn-icon-left:after, -.ui-header .ui-btn-icon-left:after, -.ui-footer .ui-btn-icon-left:after { - left: .37em; -} -.ui-mini.ui-btn-icon-right:after, -.ui-mini .ui-btn-icon-right:after, -.ui-header .ui-btn-icon-right:after, -.ui-footer .ui-btn-icon-right:after { - right: .37em; -} -.ui-btn-icon-notext:after, -.ui-btn-icon-top:after, -.ui-btn-icon-bottom:after { - left: 50%; - margin-left: -11px; -} -.ui-btn-icon-top:after { - top: .5625em; -} -.ui-btn-icon-bottom:after { - top: auto; - bottom: .5625em; -} -/* Buttons in header position classes */ -.ui-header .ui-btn-left, -.ui-header .ui-btn-right, -.ui-btn-left > [class*="ui-"], -.ui-btn-right > [class*="ui-"] { - margin: 0; -} -.ui-btn-left, -.ui-btn-right { - position: absolute; - top: .24em; -} -.ui-btn-left { - left: .4em; -} -.ui-btn-right { - right: .4em; -} -.ui-btn-icon-notext.ui-btn-left { - top: .3125em; - left: .3125em; -} -.ui-btn-icon-notext.ui-btn-right { - top: .3125em; - right: .3125em; -} -/* Button elements */ -button.ui-btn, -.ui-controlgroup-controls button.ui-btn-icon-notext { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - -webkit-appearance: none; - -moz-appearance: none; - width: 100%; -} -button.ui-btn-inline, -.ui-header button.ui-btn, -.ui-footer button.ui-btn { - width: auto; -} -/* Firefox adds a 1px border in a button element. We negate this to make sure they have the same height as other buttons in controlgroups. */ -button.ui-btn::-moz-focus-inner { - border: 0; -} -button.ui-btn-icon-notext, -.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn { - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; - width: 1.75em; -} -/* Form labels */ -.ui-mobile label, -.ui-controlgroup-label { - display: block; - margin: 0 0 .4em; -} -/* Accessible content hiding */ -/* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */ -.ui-hide-label > label, -.ui-hide-label .ui-controlgroup-label, -.ui-hide-label .ui-rangeslider label, -.ui-hidden-accessible { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -/* Used for hiding elements by the filterable widget. You can also use this class to hide list items or buttons in controlgroups; this ensures correct corner styling. */ -.ui-screen-hidden { - display: none !important; -} -/* Transitions originally inspired by those from jQtouch, nice work, folks */ -.ui-mobile-viewport-transitioning, -.ui-mobile-viewport-transitioning .ui-page { - width: 100%; - height: 100%; - overflow: hidden; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.ui-page-pre-in { - opacity: 0; -} -.in { - -webkit-animation-timing-function: ease-out; - -webkit-animation-duration: 350ms; - -moz-animation-timing-function: ease-out; - -moz-animation-duration: 350ms; - animation-timing-function: ease-out; - animation-duration: 350ms; -} -.out { - -webkit-animation-timing-function: ease-in; - -webkit-animation-duration: 225ms; - -moz-animation-timing-function: ease-in; - -moz-animation-duration: 225ms; - animation-timing-function: ease-in; - animation-duration: 225ms; -} -@-webkit-keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } -} -@-moz-keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } -} -@keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } -} -@-webkit-keyframes fadeout { - from { opacity: 1; } - to { opacity: 0; } -} -@-moz-keyframes fadeout { - from { opacity: 1; } - to { opacity: 0; } -} -@keyframes fadeout { - from { opacity: 1; } - to { opacity: 0; } -} -.fade.out { - opacity: 0; - -webkit-animation-duration: 125ms; - -webkit-animation-name: fadeout; - -moz-animation-duration: 125ms; - -moz-animation-name: fadeout; - animation-duration: 125ms; - animation-name: fadeout; -} -.fade.in { - opacity: 1; - -webkit-animation-duration: 225ms; - -webkit-animation-name: fadein; - -moz-animation-duration: 225ms; - -moz-animation-name: fadein; - animation-duration: 225ms; - animation-name: fadein; -} -.pop { - -webkit-transform-origin: 50% 50%; - -moz-transform-origin: 50% 50%; - transform-origin: 50% 50%; -} -.pop.in { - -webkit-transform: scale(1); - -webkit-animation-name: popin; - -webkit-animation-duration: 350ms; - -moz-transform: scale(1); - -moz-animation-name: popin; - -moz-animation-duration: 350ms; - transform: scale(1); - animation-name: popin; - animation-duration: 350ms; - opacity: 1; -} -.pop.out { - -webkit-animation-name: fadeout; - -webkit-animation-duration: 100ms; - -moz-animation-name: fadeout; - -moz-animation-duration: 100ms; - animation-name: fadeout; - animation-duration: 100ms; - opacity: 0; -} -.pop.in.reverse { - -webkit-animation-name: fadein; - -moz-animation-name: fadein; - animation-name: fadein; -} -.pop.out.reverse { - -webkit-transform: scale(.8); - -webkit-animation-name: popout; - -moz-transform: scale(.8); - -moz-animation-name: popout; - transform: scale(.8); - animation-name: popout; -} -@-webkit-keyframes popin { - from { - -webkit-transform: scale(.8); - opacity: 0; - } - to { - -webkit-transform: scale(1); - opacity: 1; - } -} -@-moz-keyframes popin { - from { - -moz-transform: scale(.8); - opacity: 0; - } - to { - -moz-transform: scale(1); - opacity: 1; - } -} -@keyframes popin { - from { - transform: scale(.8); - opacity: 0; - } - to { - transform: scale(1); - opacity: 1; - } -} -@-webkit-keyframes popout { - from { - -webkit-transform: scale(1); - opacity: 1; - } - to { - -webkit-transform: scale(.8); - opacity: 0; - } -} -@-moz-keyframes popout { - from { - -moz-transform: scale(1); - opacity: 1; - } - to { - -moz-transform: scale(.8); - opacity: 0; - } -} -@keyframes popout { - from { - transform: scale(1); - opacity: 1; - } - to { - transform: scale(.8); - opacity: 0; - } -} -/* keyframes for slidein from sides */ -@-webkit-keyframes slideinfromright { - from { -webkit-transform: translate3d(100%,0,0); } - to { -webkit-transform: translate3d(0,0,0); } -} -@-moz-keyframes slideinfromright { - from { -moz-transform: translateX(100%); } - to { -moz-transform: translateX(0); } -} -@keyframes slideinfromright { - from { transform: translateX(100%); } - to { transform: translateX(0); } -} -@-webkit-keyframes slideinfromleft { - from { -webkit-transform: translate3d(-100%,0,0); } - to { -webkit-transform: translate3d(0,0,0); } -} -@-moz-keyframes slideinfromleft { - from { -moz-transform: translateX(-100%); } - to { -moz-transform: translateX(0); } -} -@keyframes slideinfromleft { - from { transform: translateX(-100%); } - to { transform: translateX(0); } -} -/* keyframes for slideout to sides */ -@-webkit-keyframes slideouttoleft { - from { -webkit-transform: translate3d(0,0,0); } - to { -webkit-transform: translate3d(-100%,0,0); } -} -@-moz-keyframes slideouttoleft { - from { -moz-transform: translateX(0); } - to { -moz-transform: translateX(-100%); } -} -@keyframes slideouttoleft { - from { transform: translateX(0); } - to { transform: translateX(-100%); } -} -@-webkit-keyframes slideouttoright { - from { -webkit-transform: translate3d(0,0,0); } - to { -webkit-transform: translate3d(100%,0,0); } -} -@-moz-keyframes slideouttoright { - from { -moz-transform: translateX(0); } - to { -moz-transform: translateX(100%); } -} -@keyframes slideouttoright { - from { transform: translateX(0); } - to { transform: translateX(100%); } -} -.slide.out, .slide.in { - -webkit-animation-timing-function: ease-out; - -webkit-animation-duration: 350ms; - -moz-animation-timing-function: ease-out; - -moz-animation-duration: 350ms; - animation-timing-function: ease-out; - animation-duration: 350ms; -} -.slide.out { - -webkit-transform: translate3d(-100%,0,0); - -webkit-animation-name: slideouttoleft; - -moz-transform: translateX(-100%); - -moz-animation-name: slideouttoleft; - transform: translateX(-100%); - animation-name: slideouttoleft; -} -.slide.in { - -webkit-transform: translate3d(0,0,0); - -webkit-animation-name: slideinfromright; - -moz-transform: translateX(0); - -moz-animation-name: slideinfromright; - transform: translateX(0); - animation-name: slideinfromright; -} -.slide.out.reverse { - -webkit-transform: translate3d(100%,0,0); - -webkit-animation-name: slideouttoright; - -moz-transform: translateX(100%); - -moz-animation-name: slideouttoright; - transform: translateX(100%); - animation-name: slideouttoright; -} -.slide.in.reverse { - -webkit-transform: translate3d(0,0,0); - -webkit-animation-name: slideinfromleft; - -moz-transform: translateX(0); - -moz-animation-name: slideinfromleft; - transform: translateX(0); - animation-name: slideinfromleft; -} -.slidefade.out { - -webkit-transform: translateX(-100%); - -webkit-animation-name: slideouttoleft; - -webkit-animation-duration: 225ms; - -moz-transform: translateX(-100%); - -moz-animation-name: slideouttoleft; - -moz-animation-duration: 225ms; - transform: translateX(-100%); - animation-name: slideouttoleft; - animation-duration: 225ms; -} -.slidefade.in { - -webkit-transform: translateX(0); - -webkit-animation-name: fadein; - -webkit-animation-duration: 200ms; - -moz-transform: translateX(0); - -moz-animation-name: fadein; - -moz-animation-duration: 200ms; - transform: translateX(0); - animation-name: fadein; - animation-duration: 200ms; -} -.slidefade.out.reverse { - -webkit-transform: translateX(100%); - -webkit-animation-name: slideouttoright; - -webkit-animation-duration: 200ms; - -moz-transform: translateX(100%); - -moz-animation-name: slideouttoright; - -moz-animation-duration: 200ms; - transform: translateX(100%); - animation-name: slideouttoright; - animation-duration: 200ms; -} -.slidefade.in.reverse { - -webkit-transform: translateX(0); - -webkit-animation-name: fadein; - -webkit-animation-duration: 200ms; - -moz-transform: translateX(0); - -moz-animation-name: fadein; - -moz-animation-duration: 200ms; - transform: translateX(0); - animation-name: fadein; - animation-duration: 200ms; -} -/* slide down */ -.slidedown.out { - -webkit-animation-name: fadeout; - -webkit-animation-duration: 100ms; - -moz-animation-name: fadeout; - -moz-animation-duration: 100ms; - animation-name: fadeout; - animation-duration: 100ms; -} -.slidedown.in { - -webkit-transform: translateY(0); - -webkit-animation-name: slideinfromtop; - -webkit-animation-duration: 250ms; - -moz-transform: translateY(0); - -moz-animation-name: slideinfromtop; - -moz-animation-duration: 250ms; - transform: translateY(0); - animation-name: slideinfromtop; - animation-duration: 250ms; -} -.slidedown.in.reverse { - -webkit-animation-name: fadein; - -webkit-animation-duration: 150ms; - -moz-animation-name: fadein; - -moz-animation-duration: 150ms; - animation-name: fadein; - animation-duration: 150ms; -} -.slidedown.out.reverse { - -webkit-transform: translateY(-100%); - -webkit-animation-name: slideouttotop; - -webkit-animation-duration: 200ms; - -moz-transform: translateY(-100%); - -moz-animation-name: slideouttotop; - -moz-animation-duration: 200ms; - transform: translateY(-100%); - animation-name: slideouttotop; - animation-duration: 200ms; -} -@-webkit-keyframes slideinfromtop { - from { -webkit-transform: translateY(-100%); } - to { -webkit-transform: translateY(0); } -} -@-moz-keyframes slideinfromtop { - from { -moz-transform: translateY(-100%); } - to { -moz-transform: translateY(0); } -} -@keyframes slideinfromtop { - from { transform: translateY(-100%); } - to { transform: translateY(0); } -} -@-webkit-keyframes slideouttotop { - from { -webkit-transform: translateY(0); } - to { -webkit-transform: translateY(-100%); } -} -@-moz-keyframes slideouttotop { - from { -moz-transform: translateY(0); } - to { -moz-transform: translateY(-100%); } -} -@keyframes slideouttotop { - from { transform: translateY(0); } - to { transform: translateY(-100%); } -} -/* slide up */ -.slideup.out { - -webkit-animation-name: fadeout; - -webkit-animation-duration: 100ms; - -moz-animation-name: fadeout; - -moz-animation-duration: 100ms; - animation-name: fadeout; - animation-duration: 100ms; -} -.slideup.in { - -webkit-transform: translateY(0); - -webkit-animation-name: slideinfrombottom; - -webkit-animation-duration: 250ms; - -moz-transform: translateY(0); - -moz-animation-name: slideinfrombottom; - -moz-animation-duration: 250ms; - transform: translateY(0); - animation-name: slideinfrombottom; - animation-duration: 250ms; -} -.slideup.in.reverse { - -webkit-animation-name: fadein; - -webkit-animation-duration: 150ms; - -moz-animation-name: fadein; - -moz-animation-duration: 150ms; - animation-name: fadein; - animation-duration: 150ms; -} -.slideup.out.reverse { - -webkit-transform: translateY(100%); - -webkit-animation-name: slideouttobottom; - -webkit-animation-duration: 200ms; - -moz-transform: translateY(100%); - -moz-animation-name: slideouttobottom; - -moz-animation-duration: 200ms; - transform: translateY(100%); - animation-name: slideouttobottom; - animation-duration: 200ms; -} -@-webkit-keyframes slideinfrombottom { - from { -webkit-transform: translateY(100%); } - to { -webkit-transform: translateY(0); } -} -@-moz-keyframes slideinfrombottom { - from { -moz-transform: translateY(100%); } - to { -moz-transform: translateY(0); } -} -@keyframes slideinfrombottom { - from { transform: translateY(100%); } - to { transform: translateY(0); } -} -@-webkit-keyframes slideouttobottom { - from { -webkit-transform: translateY(0); } - to { -webkit-transform: translateY(100%); } -} -@-moz-keyframes slideouttobottom { - from { -moz-transform: translateY(0); } - to { -moz-transform: translateY(100%); } -} -@keyframes slideouttobottom { - from { transform: translateY(0); } - to { transform: translateY(100%); } -} -/* The properties in this rule are only necessary for the 'flip' transition. - * We need specify the perspective to create a projection matrix. This will add - * some depth as the element flips. The depth number represents the distance of - * the viewer from the z-plane. According to the CSS3 spec, 1000 is a moderate - * value. - */ -.viewport-flip { - -webkit-perspective: 1000; - -moz-perspective: 1000; - perspective: 1000; - position: absolute; -} -.flip { - -webkit-backface-visibility: hidden; - -webkit-transform: translateX(0); /* Needed to work around an iOS 3.1 bug that causes listview thumbs to disappear when -webkit-visibility:hidden is used. */ - -moz-backface-visibility: hidden; - -moz-transform: translateX(0); - backface-visibility: hidden; - transform: translateX(0); -} -.flip.out { - -webkit-transform: rotateY(-90deg) scale(.9); - -webkit-animation-name: flipouttoleft; - -webkit-animation-duration: 175ms; - -moz-transform: rotateY(-90deg) scale(.9); - -moz-animation-name: flipouttoleft; - -moz-animation-duration: 175ms; - transform: rotateY(-90deg) scale(.9); - animation-name: flipouttoleft; - animation-duration: 175ms; -} -.flip.in { - -webkit-animation-name: flipintoright; - -webkit-animation-duration: 225ms; - -moz-animation-name: flipintoright; - -moz-animation-duration: 225ms; - animation-name: flipintoright; - animation-duration: 225ms; -} -.flip.out.reverse { - -webkit-transform: rotateY(90deg) scale(.9); - -webkit-animation-name: flipouttoright; - -moz-transform: rotateY(90deg) scale(.9); - -moz-animation-name: flipouttoright; - transform: rotateY(90deg) scale(.9); - animation-name: flipouttoright; -} -.flip.in.reverse { - -webkit-animation-name: flipintoleft; - -moz-animation-name: flipintoleft; - animation-name: flipintoleft; -} -@-webkit-keyframes flipouttoleft { - from { -webkit-transform: rotateY(0); } - to { -webkit-transform: rotateY(-90deg) scale(.9); } -} -@-moz-keyframes flipouttoleft { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(-90deg) scale(.9); } -} -@keyframes flipouttoleft { - from { transform: rotateY(0); } - to { transform: rotateY(-90deg) scale(.9); } -} -@-webkit-keyframes flipouttoright { - from { -webkit-transform: rotateY(0) ; } - to { -webkit-transform: rotateY(90deg) scale(.9); } -} -@-moz-keyframes flipouttoright { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(90deg) scale(.9); } -} -@keyframes flipouttoright { - from { transform: rotateY(0); } - to { transform: rotateY(90deg) scale(.9); } -} -@-webkit-keyframes flipintoleft { - from { -webkit-transform: rotateY(-90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoleft { - from { -moz-transform: rotateY(-90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoleft { - from { transform: rotateY(-90deg) scale(.9); } - to { transform: rotateY(0); } -} -@-webkit-keyframes flipintoright { - from { -webkit-transform: rotateY(90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoright { - from { -moz-transform: rotateY(90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoright { - from { transform: rotateY(90deg) scale(.9); } - to { transform: rotateY(0); } -} -/* The properties in this rule are only necessary for the 'flip' transition. - * We need specify the perspective to create a projection matrix. This will add - * some depth as the element flips. The depth number represents the distance of - * the viewer from the z-plane. According to the CSS3 spec, 1000 is a moderate - * value. - */ -.viewport-turn { - -webkit-perspective: 200px; - -moz-perspective: 200px; - -ms-perspective: 200px; - perspective: 200px; - position: absolute; -} -.turn { - -webkit-backface-visibility: hidden; - -webkit-transform: translateX(0); /* Needed to work around an iOS 3.1 bug that causes listview thumbs to disappear when -webkit-visibility:hidden is used. */ - -webkit-transform-origin: 0; - - -moz-backface-visibility: hidden; - -moz-transform: translateX(0); - -moz-transform-origin: 0; - - backface-visibility :hidden; - transform: translateX(0); - transform-origin: 0; -} -.turn.out { - -webkit-transform: rotateY(-90deg) scale(.9); - -webkit-animation-name: flipouttoleft; - -webkit-animation-duration: 125ms; - -moz-transform: rotateY(-90deg) scale(.9); - -moz-animation-name: flipouttoleft; - -moz-animation-duration: 125ms; - transform: rotateY(-90deg) scale(.9); - animation-name: flipouttoleft; - animation-duration: 125ms; -} -.turn.in { - -webkit-animation-name: flipintoright; - -webkit-animation-duration: 250ms; - -moz-animation-name: flipintoright; - -moz-animation-duration: 250ms; - animation-name: flipintoright; - animation-duration: 250ms; - -} -.turn.out.reverse { - -webkit-transform: rotateY(90deg) scale(.9); - -webkit-animation-name: flipouttoright; - -moz-transform: rotateY(90deg) scale(.9); - -moz-animation-name: flipouttoright; - transform: rotateY(90deg) scale(.9); - animation-name: flipouttoright; -} -.turn.in.reverse { - -webkit-animation-name: flipintoleft; - -moz-animation-name: flipintoleft; - animation-name: flipintoleft; -} -@-webkit-keyframes flipouttoleft { - from { -webkit-transform: rotateY(0); } - to { -webkit-transform: rotateY(-90deg) scale(.9); } -} -@-moz-keyframes flipouttoleft { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(-90deg) scale(.9); } -} -@keyframes flipouttoleft { - from { transform: rotateY(0); } - to { transform: rotateY(-90deg) scale(.9); } -} -@-webkit-keyframes flipouttoright { - from { -webkit-transform: rotateY(0) ; } - to { -webkit-transform: rotateY(90deg) scale(.9); } -} -@-moz-keyframes flipouttoright { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(90deg) scale(.9); } -} -@keyframes flipouttoright { - from { transform: rotateY(0); } - to { transform: rotateY(90deg) scale(.9); } -} -@-webkit-keyframes flipintoleft { - from { -webkit-transform: rotateY(-90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoleft { - from { -moz-transform: rotateY(-90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoleft { - from { transform: rotateY(-90deg) scale(.9); } - to { transform: rotateY(0); } -} -@-webkit-keyframes flipintoright { - from { -webkit-transform: rotateY(90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoright { - from { -moz-transform: rotateY(90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoright { - from { transform: rotateY(90deg) scale(.9); } - to { transform: rotateY(0); } -} -/* flow transition */ -.flow { - -webkit-transform-origin: 50% 30%; - -webkit-box-shadow: 0 0 20px rgba(0,0,0,.4); - -moz-transform-origin: 50% 30%; - -moz-box-shadow: 0 0 20px rgba(0,0,0,.4); - transform-origin: 50% 30%; - box-shadow: 0 0 20px rgba(0,0,0,.4); -} -.ui-dialog.flow { - -webkit-transform-origin: none; - -webkit-box-shadow: none; - -moz-transform-origin: none; - -moz-box-shadow: none; - transform-origin: none; - box-shadow: none; -} -.flow.out { - -webkit-transform: translateX(-100%) scale(.7); - -webkit-animation-name: flowouttoleft; - -webkit-animation-timing-function: ease; - -webkit-animation-duration: 350ms; - -moz-transform: translateX(-100%) scale(.7); - -moz-animation-name: flowouttoleft; - -moz-animation-timing-function: ease; - -moz-animation-duration: 350ms; - transform: translateX(-100%) scale(.7); - animation-name: flowouttoleft; - animation-timing-function: ease; - animation-duration: 350ms; -} -.flow.in { - -webkit-transform: translateX(0) scale(1); - -webkit-animation-name: flowinfromright; - -webkit-animation-timing-function: ease; - -webkit-animation-duration: 350ms; - -moz-transform: translateX(0) scale(1); - -moz-animation-name: flowinfromright; - -moz-animation-timing-function: ease; - -moz-animation-duration: 350ms; - transform: translateX(0) scale(1); - animation-name: flowinfromright; - animation-timing-function: ease; - animation-duration: 350ms; -} -.flow.out.reverse { - -webkit-transform: translateX(100%); - -webkit-animation-name: flowouttoright; - -moz-transform: translateX(100%); - -moz-animation-name: flowouttoright; - transform: translateX(100%); - animation-name: flowouttoright; -} -.flow.in.reverse { - -webkit-animation-name: flowinfromleft; - -moz-animation-name: flowinfromleft; - animation-name: flowinfromleft; -} -@-webkit-keyframes flowouttoleft { - 0% { -webkit-transform: translateX(0) scale(1); } - 60%, 70% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(-100%) scale(.7); } -} -@-moz-keyframes flowouttoleft { - 0% { -moz-transform: translateX(0) scale(1); } - 60%, 70% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(-100%) scale(.7); } -} -@keyframes flowouttoleft { - 0% { transform: translateX(0) scale(1); } - 60%, 70% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(-100%) scale(.7); } -} -@-webkit-keyframes flowouttoright { - 0% { -webkit-transform: translateX(0) scale(1); } - 60%, 70% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(100%) scale(.7); } -} -@-moz-keyframes flowouttoright { - 0% { -moz-transform: translateX(0) scale(1); } - 60%, 70% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(100%) scale(.7); } -} -@keyframes flowouttoright { - 0% { transform: translateX(0) scale(1); } - 60%, 70% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(100%) scale(.7); } -} -@-webkit-keyframes flowinfromleft { - 0% { -webkit-transform: translateX(-100%) scale(.7); } - 30%, 40% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(0) scale(1); } -} -@-moz-keyframes flowinfromleft { - 0% { -moz-transform: translateX(-100%) scale(.7); } - 30%, 40% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(0) scale(1); } -} -@keyframes flowinfromleft { - 0% { transform: translateX(-100%) scale(.7); } - 30%, 40% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(0) scale(1); } -} -@-webkit-keyframes flowinfromright { - 0% { -webkit-transform: translateX(100%) scale(.7); } - 30%, 40% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(0) scale(1); } -} -@-moz-keyframes flowinfromright { - 0% { -moz-transform: translateX(100%) scale(.7); } - 30%, 40% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(0) scale(1); } -} -@keyframes flowinfromright { - 0% { transform: translateX(100%) scale(.7); } - 30%, 40% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(0) scale(1); } -} -.ui-field-contain, -.ui-mobile fieldset.ui-field-contain { - display: block; - position: relative; - overflow: visible; - clear: both; - padding: .8em 0; -} -.ui-field-contain > label ~ [class*="ui-"], -.ui-field-contain .ui-controlgroup-controls { - margin: 0; -} -.ui-field-contain:last-child { - border-bottom-width: 0; -} -@media (min-width: 28em) { - .ui-field-contain, - .ui-mobile fieldset.ui-field-contain { - padding: 0; - margin: 1em 0; - border-bottom-width: 0; - } - .ui-field-contain:before, - .ui-field-contain:after { - content: ""; - display: table; - } - .ui-field-contain:after { - clear: both; - } - .ui-field-contain > label, - .ui-field-contain .ui-controlgroup-label, - .ui-field-contain > .ui-rangeslider > label { - float: left; - width: 20%; - margin: .5em 2% 0 0; - } - .ui-popup .ui-field-contain > label, - .ui-popup .ui-field-contain .ui-controlgroup-label, - .ui-popup .ui-field-contain > .ui-rangeslider > label { - float: none; - width: auto; - margin: 0 0 .4em; - } - .ui-field-contain > label ~ [class*="ui-"], - .ui-field-contain .ui-controlgroup-controls { - float: left; - width: 78%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - } - /* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */ - .ui-hide-label > label ~ [class*="ui-"], - .ui-hide-label .ui-controlgroup-controls, - .ui-popup .ui-field-contain > label ~ [class*="ui-"], - .ui-popup .ui-field-contain .ui-controlgroup-controls { - float: none; - width: 100%; - } - .ui-field-contain > label ~ .ui-btn-inline { - width: auto; - margin-right: .625em; - } - .ui-field-contain > label ~ .ui-btn-inline.ui-btn-icon-notext { - width: 1.75em; - } -} -/* content configurations. */ -.ui-grid-a, -.ui-grid-b, -.ui-grid-c, -.ui-grid-d, -.ui-grid-solo { - overflow: hidden; -} -.ui-block-a, -.ui-block-b, -.ui-block-c, -.ui-block-d, -.ui-block-e { - margin: 0; - padding: 0; - border: 0; - float: left; - min-height: 1px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -/* force new row */ -.ui-block-a { - clear: left; -} -ul.ui-grid-a, -ul.ui-grid-b, -ul.ui-grid-c, -ul.ui-grid-d, -ul.ui-grid-solo, -li.ui-block-a, -li.ui-block-b, -li.ui-block-c, -li.ui-block-d, -li.ui-block-e { - margin-left: 0; - margin-right: 0; - padding: 0; - list-style: none; -} -/* No margin in grids for 100% width button elements until we can use max-width: fill-available; */ -[class*="ui-block-"] > button.ui-btn { - margin-right: 0; - margin-left: 0; -} -[class*="ui-block-"] > .ui-btn, -[class*="ui-block-"] > .ui-select, -[class*="ui-block-"] > .ui-checkbox, -[class*="ui-block-"] > .ui-radio, -[class*="ui-block-"] > button.ui-btn-inline, -[class*="ui-block-"] > button.ui-btn-icon-notext, -.ui-header [class*="ui-block-"] > button.ui-btn, -.ui-footer [class*="ui-block-"] > button.ui-btn { - margin-right: .3125em; - margin-left: .3125em; -} -.ui-grid-a > .ui-block-a, -.ui-grid-a > .ui-block-b { - /* width: 49.95%; IE7 */ - /* margin-right: -.5px; BB5 */ - width: 50%; -} -.ui-grid-b > .ui-block-a, -.ui-grid-b > .ui-block-b, -.ui-grid-b > .ui-block-c { - /* width: 33.25%; IE7 */ - /* margin-right: -.5px; BB5 */ - width: 33.333%; -} -.ui-grid-c > .ui-block-a, -.ui-grid-c > .ui-block-b, -.ui-grid-c > .ui-block-c, -.ui-grid-c > .ui-block-d { - /* width: 24.925%; IE7 */ - /* margin-right: -.5px; BB5 */ - width: 25%; -} -.ui-grid-d > .ui-block-a, -.ui-grid-d > .ui-block-b, -.ui-grid-d > .ui-block-c, -.ui-grid-d > .ui-block-d, -.ui-grid-d > .ui-block-e { - /* width: 19.925%; IE7 */ - width: 20%; -} -.ui-grid-solo > .ui-block-a { - width: 100%; - float: none; -} -/* preset breakpoint to switch to stacked grid styles below 35em (560px) */ -@media (max-width: 35em) { - .ui-responsive > .ui-block-a, - .ui-responsive > .ui-block-b, - .ui-responsive > .ui-block-c, - .ui-responsive > .ui-block-d, - .ui-responsive > .ui-block-e { - width: 100%; - float: none; - } -} -/* fixed page header & footer configuration */ -.ui-header-fixed, -.ui-footer-fixed { - left: 0; - right: 0; - width: 100%; - position: fixed; - z-index: 1000; -} -.ui-header-fixed { - top: -1px; - padding-top: 1px; -} -.ui-header-fixed.ui-fixed-hidden { - top: 0; - padding-top: 0; -} -.ui-header-fixed .ui-btn-left, -.ui-header-fixed .ui-btn-right { - margin-top: 1px; -} -.ui-header-fixed.ui-fixed-hidden .ui-btn-left, -.ui-header-fixed.ui-fixed-hidden .ui-btn-right { - margin-top: 0; -} -.ui-footer-fixed { - bottom: -1px; - padding-bottom: 1px; -} -.ui-footer-fixed.ui-fixed-hidden { - bottom: 0; - padding-bottom: 0; -} -.ui-header-fullscreen, -.ui-footer-fullscreen { - filter: Alpha(Opacity=90); - opacity: .9; -} -/* updatePagePadding() will update the padding to actual height of header and footer. */ -.ui-page-header-fixed { - padding-top: 2.8125em; -} -.ui-page-footer-fixed { - padding-bottom: 2.8125em; -} -.ui-page-header-fullscreen > .ui-content, -.ui-page-footer-fullscreen > .ui-content { - padding: 0; -} -.ui-fixed-hidden { - position: absolute; -} -/* Tap toggle: hide external fixed footer. See issue #6604 */ -.ui-footer-fixed.ui-fixed-hidden { - display: none; -} -.ui-page .ui-footer-fixed.ui-fixed-hidden { - display: block -} -.ui-page-header-fullscreen .ui-fixed-hidden, -.ui-page-footer-fullscreen .ui-fixed-hidden { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-header-fixed .ui-btn, -.ui-footer-fixed .ui-btn { - z-index: 10; -} -/* workarounds for other widgets */ -.ui-android-2x-fixed .ui-li-has-thumb { - -webkit-transform: translate3d(0,0,0); -} -.ui-navbar { - max-width: 100%; -} -.ui-navbar ul:before, -.ui-navbar ul:after { - content: ""; - display: table; -} -.ui-navbar ul:after { - clear: both; -} -.ui-navbar ul { - list-style: none; - margin: 0; - padding: 0; - position: relative; - display: block; - border: 0; - max-width: 100%; - overflow: visible; -} -.ui-navbar li .ui-btn { - font-size: 12.5px; - display: block; - margin: 0; - border-right-width: 0; -} -.ui-header .ui-navbar li button.ui-btn, -.ui-footer .ui-navbar li button.ui-btn { - margin: 0; - width: 100%; -} -.ui-navbar .ui-btn:focus { - z-index: 1; -} -/* fixes gaps caused by subpixel problem */ -.ui-navbar li:last-child .ui-btn { - margin-right: -4px; -} -.ui-navbar li:last-child .ui-btn:after { - margin-right: 4px; -} -.ui-content .ui-navbar li:last-child .ui-btn, -.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn { - border-right-width: 1px; - margin-right: 0; -} -.ui-content .ui-navbar li:last-child .ui-btn:after, -.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn:after { - margin-right: 0; -} -.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn { - border-right-width: 1px; - margin-right: -1px; -} -.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn:after { - margin-right: 1px; -} -.ui-navbar .ui-grid-duo .ui-btn { - border-top-width: 0; -} -.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn { - border-top-width: 1px; -} -.ui-header .ui-navbar .ui-btn, -.ui-footer .ui-navbar .ui-btn { - border-top-width: 0; - border-bottom-width: 0; -} -.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn, -.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn { - border-top-width: 0; -} -.ui-header .ui-title ~ .ui-navbar .ui-btn, -.ui-footer .ui-title ~ .ui-navbar .ui-btn, -.ui-header .ui-navbar .ui-grid-duo .ui-btn, -.ui-footer .ui-navbar .ui-grid-duo .ui-btn, -.ui-header .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-footer .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-header .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn, -.ui-footer .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn { - border-top-width: 1px; -} -/* Hide the native input element */ -.ui-input-btn input { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - padding: 0; - border: 0; - outline: 0; - -webkit-border-radius: inherit; - border-radius: inherit; - -webkit-appearance: none; - -moz-appearance: none; - cursor: pointer; - background: #fff; - background: rgba(255,255,255,0); - filter: Alpha(Opacity=0); - opacity: .1; - font-size: 1px; - text-indent: -9999px; - z-index: 2; -} -/* Fixes IE/WP filter alpha opacity bugs */ -.ui-input-btn.ui-state-disabled input { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-collapsible { - margin: 0 -1em; -} -.ui-collapsible-inset, -.ui-collapsible-set { - margin: .5em 0; -} -.ui-collapsible-heading { - display: block; - margin: 0; - padding: 0; - position: relative; -} -.ui-collapsible-heading .ui-btn { - text-align: left; - margin: 0; - border-left-width: 0; - border-right-width: 0; -} -.ui-collapsible-heading .ui-btn-icon-top, -.ui-collapsible-heading .ui-btn-icon-bottom { - text-align: center; -} -.ui-collapsible-inset .ui-collapsible-heading .ui-btn { - border-right-width: 1px; - border-left-width: 1px; -} -.ui-collapsible-collapsed + .ui-collapsible:not(.ui-collapsible-inset) > .ui-collapsible-heading .ui-btn { - border-top-width: 0; -} -.ui-collapsible-set .ui-collapsible:not(.ui-collapsible-inset) .ui-collapsible-heading .ui-btn { - border-top-width: 1px; -} -.ui-collapsible-heading-status { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-collapsible-content { - display: block; - margin: 0; - padding: .5em 1em; -} -.ui-collapsible-themed-content .ui-collapsible-content { - border-left-width: 0; - border-right-width: 0; - border-top-width: 0; - border-bottom-width: 1px; - border-style: solid; -} -.ui-collapsible-inset.ui-collapsible-themed-content .ui-collapsible-content { - border-left-width: 1px; - border-right-width: 1px; -} -.ui-collapsible-inset .ui-collapsible-content { - margin: 0; -} -.ui-collapsible-content-collapsed { - display: none; -} -.ui-collapsible-set > .ui-collapsible.ui-corner-all { - -webkit-border-radius: 0; - border-radius: 0; -} -.ui-collapsible-heading, -.ui-collapsible-heading > .ui-btn { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-collapsible-set .ui-collapsible.ui-first-child { - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; -} -.ui-collapsible-content, -.ui-collapsible-set .ui-collapsible.ui-last-child { - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-collapsible-themed-content:not(.ui-collapsible-collapsed) > .ui-collapsible-heading { - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; -} -.ui-collapsible-set .ui-collapsible { - margin: -1px -1em 0; -} -.ui-collapsible-set .ui-collapsible-inset { - margin: -1px 0 0; -} -.ui-collapsible-set .ui-collapsible.ui-first-child { - margin-top: 0; -} -.ui-controlgroup, -fieldset.ui-controlgroup { - padding: 0; - margin: .5em 0; -} -.ui-field-contain .ui-controlgroup, -.ui-field-contain fieldset.ui-controlgroup { - margin: 0; -} -.ui-mini .ui-controlgroup-label { - font-size: 16px; -} -.ui-controlgroup.ui-mini .ui-btn-icon-notext, -.ui-controlgroup .ui-mini.ui-btn-icon-notext { - font-size: inherit; -} -.ui-controlgroup-controls .ui-btn, -.ui-controlgroup-controls .ui-checkbox, -.ui-controlgroup-controls .ui-radio, -.ui-controlgroup-controls .ui-select { - margin: 0; -} -.ui-controlgroup-controls .ui-btn:focus, -.ui-controlgroup-controls .ui-btn.ui-focus { - z-index: 1; -} -.ui-controlgroup-controls li { - list-style: none; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls { - display: inline-block; - vertical-align: middle; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls:before, -.ui-controlgroup-horizontal .ui-controlgroup-controls:after { - content: ""; - display: table; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls:after { - clear: both; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls > .ui-btn, -.ui-controlgroup-horizontal .ui-controlgroup-controls li > .ui-btn, -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-checkbox, -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-radio, -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-select { - float: left; - clear: none; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn, -.ui-controlgroup-controls .ui-btn-icon-notext { - width: auto; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn-icon-notext, -.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn-icon-notext { - width: 1.5em; -} - .ui-controlgroup-controls .ui-btn-icon-notext { - height: auto; - padding: .7em 1em; -} -.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn { - border-bottom-width: 0; -} -.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn.ui-last-child { - border-bottom-width: 1px; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn { - border-right-width: 0; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn.ui-last-child { - border-right-width: 1px; -} -.ui-controlgroup-controls .ui-btn-corner-all, -.ui-controlgroup-controls .ui-btn.ui-corner-all { - -webkit-border-radius: 0; - border-radius: 0; -} -.ui-controlgroup-controls, -.ui-controlgroup-controls .ui-radio, -.ui-controlgroup-controls .ui-checkbox, -.ui-controlgroup-controls .ui-select, -.ui-controlgroup-controls li { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-controlgroup-vertical .ui-btn.ui-first-child { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; -} -.ui-controlgroup-vertical .ui-btn.ui-last-child { - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -.ui-controlgroup-horizontal .ui-btn.ui-first-child { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-controlgroup-horizontal .ui-btn.ui-last-child { - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -.ui-controlgroup-controls a.ui-shadow:not(:focus), -.ui-controlgroup-controls button.ui-shadow:not(:focus), -.ui-controlgroup-controls div.ui-shadow:not(.ui-focus) { - -moz-box-shadow: none; - -webkit-box-shadow: none; - box-shadow: none; -} -/* Fixes legend not wrapping on IE10 */ -.ui-controlgroup-label legend { - max-width: 100%; -} -.ui-controlgroup-controls > label { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-dialog { - background: none !important; /* this is to ensure that dialog theming does not apply (by default at least) on the page div */ -} -.ui-dialog-contain { - width: 92.5%; - max-width: 500px; - margin: 10% auto 1em auto; - padding: 0; - position: relative; - top: -1em; -} -.ui-dialog-contain > .ui-header, -.ui-dialog-contain > .ui-content, -.ui-dialog-contain > .ui-footer { - display: block; - position: relative; - width: auto; - margin: 0; -} -.ui-dialog-contain > .ui-header { - overflow: hidden; - z-index: 10; - padding: 0; - border-top-width: 0; -} -.ui-dialog-contain > .ui-footer { - z-index: 10; - padding: 0 1em; - border-bottom-width: 0; -} -.ui-popup-open .ui-header-fixed, -.ui-popup-open .ui-footer-fixed { - position: absolute !important; /* See issues #4816, #4844 and #4874 and popup.js */ -} -.ui-popup-screen { - background-image: url("data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="); /* Necessary to set some form of background to ensure element is clickable in IE6/7. While legacy IE won't understand the data-URI'd image, it ensures no additional requests occur in all other browsers with little overhead. */ - top: 0; - left: 0; - right: 0; - bottom: 1px; - position: absolute; - filter: Alpha(Opacity=0); - opacity: 0; - z-index: 1099; -} -.ui-popup-screen.in { - opacity: 0.5; - filter: Alpha(Opacity=50); -} -.ui-popup-screen.out { - opacity: 0; - filter: Alpha(Opacity=0); -} -.ui-popup-container { - z-index: 1100; - display: inline-block; - position: absolute; - padding: 0; - outline: 0; -} -.ui-popup { - position: relative; -} -.ui-popup.ui-body-inherit { - border-width: 1px; - border-style: solid; -} -.ui-popup-hidden { - left: 0; - top: 0; - position: absolute !important; - visibility: hidden; -} -.ui-popup-truncate { - height: 1px; - width: 1px; - margin: -1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-popup.ui-content, -.ui-popup .ui-content { - overflow: visible; -} -.ui-popup > .ui-header { - border-top-width: 0; -} -.ui-popup > .ui-footer { - border-bottom-width: 0; -} -.ui-popup > p, -.ui-popup > h1, -.ui-popup > h2, -.ui-popup > h3, -.ui-popup > h4, -.ui-popup > h5, -.ui-popup > h6 { - margin: .5em .4375em; -} -.ui-popup > span { - display: block; - margin: .5em .4375em; -} -.ui-popup-container .ui-content > p, -.ui-popup-container .ui-content > h1, -.ui-popup-container .ui-content > h2, -.ui-popup-container .ui-content > h3, -.ui-popup-container .ui-content > h4, -.ui-popup-container .ui-content > h5, -.ui-popup-container .ui-content > h6 { - margin: .5em 0; -} -.ui-popup-container .ui-content > span { - margin: 0; -} -.ui-popup-container .ui-content > p:first-child, -.ui-popup-container .ui-content > h1:first-child, -.ui-popup-container .ui-content > h2:first-child, -.ui-popup-container .ui-content > h3:first-child, -.ui-popup-container .ui-content > h4:first-child, -.ui-popup-container .ui-content > h5:first-child, -.ui-popup-container .ui-content > h6:first-child { - margin-top: 0; -} -.ui-popup-container .ui-content > p:last-child, -.ui-popup-container .ui-content > h1:last-child, -.ui-popup-container .ui-content > h2:last-child, -.ui-popup-container .ui-content > h3:last-child, -.ui-popup-container .ui-content > h4:last-child, -.ui-popup-container .ui-content > h5:last-child, -.ui-popup-container .ui-content > h6:last-child { - margin-bottom: 0; -} -.ui-popup > img { - max-width: 100%; - max-height: 100%; - vertical-align: middle; -} -.ui-popup:not(.ui-content) > img:only-child, -.ui-popup:not(.ui-content) > .ui-btn-left:first-child + img:last-child, -.ui-popup:not(.ui-content) > .ui-btn-right:first-child + img:last-child { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-popup iframe { - vertical-align: middle; -} -.ui-popup > .ui-btn-left, -.ui-popup > .ui-btn-right { - position: absolute; - top: -11px; - margin: 0; - z-index: 1101; -} -.ui-popup > .ui-btn-left { - left: -11px; -} -.ui-popup > .ui-btn-right { - right: -11px; -} -/* Dimensions related to the popup arrow ------------------------------------------------------------------------------------------------------------*/ -/* desired triangle height: 10px */ -/** - * guide for the arrow - its width, height, and offset are theme-dependent and - * should be expessed as left, right, top, bottom, so that the element bearing - * such a class becomes stretched inside its parent position: relative element. - * The left/top/right/bottom specified below should reflect the corresponding - * border radii and so it leaves room for the shadow: - * ..--------------------.. - * ." ^ top ". - * / v \ - * | +------------------+ | - * | | | | - * | left| |right| - * |<--->| |<--->| - * | +------------------+ | - * \ ^ / - * `. v bottom .' - * ""--------------------"" - * The idea is that the top/left of the arrow container box does not move to a - * coordinate smaller than the top/left of the guide and the right/bottom of - * the arrow container box does not move to a coordinate larger than the - * bottom/right of the guide. This will help us avoid the following situation: - * ..--------------------.. - * ." ^ top ". - * /|/ v \ - * / | +------------------+ | - * \ | | | | - * \| left| |right| - * |<--->| |<--->| - * | +------------------+ | - * \ ^ / - * `. v bottom .' - * ""--------------------"" - * The arrow should not receive a top/left coordinate such that it is too close - * to one of the corners, because then at first the shadow of the arrow and, - * given a coordinate even closer to the corner, even the body of the arrow will - * "stick out" of the corner of the popup. The guide provides a hint to the - * arrow positioning code as to which range of values is acceptable for the - * arrow container's top/left coordinate. - **/ -.ui-popup-arrow-container { - width: 20px; - height: 20px; -} -/* aside from the "infinities" (-1000,2000), triangle height is used */ -.ui-popup-arrow-container.ui-popup-arrow-l { - left: -10px; - clip: rect(-1000px,10px,2000px,-1000px); -} -.ui-popup-arrow-container.ui-popup-arrow-t { - top: -10px; - clip: rect(-1000px,2000px,10px,-1000px); -} -.ui-popup-arrow-container.ui-popup-arrow-r { - right: -10px; - clip: rect(-1000px,2000px,2000px,10px); -} -.ui-popup-arrow-container.ui-popup-arrow-b { - bottom: -10px; - clip: rect(10px,2000px,1000px,-1000px); -} -/** - * For each side, the arrow is twice the desired size and its corner is aligned - * with the edge of the container: - * - * /\ /\ +----+ /\ - * / \ / \ | /\ |top / \ - * +----+ \ / +----+ +-->|/ \| / \ - * left| / | \ / | \ |right | | | / \ - * |/ | \ / | \| | /| |\ / \ - * |\ | / \ | /| | / +----+ \ \ +----+ / - * | \ | / \ | / | | \ / \| |/ - * +----+ / \ +----+ | \ / | | - * ^ \ / \ / ^ | \ / +->|\ /| - * | \/ \/ | | \ / | | \/ |bottom - * | | | \/ | +----+ - * +-------------------+--------+-----------+ - * | - * arrow container - * (clips arrow) - **/ -.ui-popup-arrow-container .ui-popup-arrow { - /* (4*desired triangle height)/sqrt(2) - does not account for border - centred within the outer rectangle */ - width: 28.284271247px; - height: 28.284271247px; - border-width: 1px; - border-style: solid; -} -.ui-popup-arrow-container.ui-popup-arrow-t .ui-popup-arrow { - left: -4.142135623px; - top: 5.857864376px; -} -.ui-popup-arrow-container.ui-popup-arrow-b .ui-popup-arrow { - left: -4.142135623px; - top: -14.142135623px; -} -.ui-popup-arrow-container.ui-popup-arrow-l .ui-popup-arrow { - left: 5.857864376px; - top: -4.142135623px; -} -.ui-popup-arrow-container.ui-popup-arrow-r .ui-popup-arrow { - left: -14.142135623px; - top: -4.142135623px; -} -/* Fix rotation center for oldIE - see http://www.useragentman.com/IETransformsTranslator/ */ -.ui-popup-arrow-container.ui-popup-arrow-t.ie .ui-popup-arrow { - margin-left: -5.857864376269049px; - margin-top: -7.0710678118654755px; -} -.ui-popup-arrow-container.ui-popup-arrow-b.ie .ui-popup-arrow { - margin-left: -5.857864376269049px; - margin-top: -4.142135623730951px; -} - -.ui-popup-arrow-container.ui-popup-arrow-l.ie .ui-popup-arrow { - margin-left: -7.0710678118654755px; - margin-top: -5.857864376269049px; -} -.ui-popup-arrow-container.ui-popup-arrow-r.ie .ui-popup-arrow { - margin-left: -4.142135623730951px; - margin-top: -5.857864376269049px; -} -/* structure */ -.ui-popup > .ui-popup-arrow-guide { - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - visibility: hidden; -} -.ui-popup-arrow-container { - position: absolute; -} -.ui-popup-arrow { - -webkit-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -ms-transform: rotate(45deg); - transform: rotate(45deg); - position: absolute; - overflow: hidden; - box-sizing: border-box; -} -.ui-popup-arrow-container.ie .ui-popup-arrow { - -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865474, M12=-0.7071067811865477, M21=0.7071067811865477, M22=0.7071067811865474, SizingMethod='auto expand')"; - filter: progid:DXImageTransform.Microsoft.Matrix( - M11=0.7071067811865474, - M12=-0.7071067811865477, - M21=0.7071067811865477, - M22=0.7071067811865474, - SizingMethod='auto expand'); -} -.ui-checkbox, -.ui-radio { - margin: .5em 0; - position: relative; -} -.ui-checkbox .ui-btn, -.ui-radio .ui-btn { - margin: 0; - text-align: left; - white-space: normal; /* Nowrap + ellipsis doesn't work on label. Issue #1419. */ - z-index: 2; -} -.ui-controlgroup .ui-checkbox .ui-btn.ui-focus, -.ui-controlgroup .ui-radio .ui-btn.ui-focus { - z-index: 3; -} -.ui-checkbox .ui-btn-icon-top, -.ui-radio .ui-btn-icon-top, -.ui-checkbox .ui-btn-icon-bottom, -.ui-radio .ui-btn-icon-bottom { - text-align: center; -} -.ui-controlgroup-horizontal .ui-checkbox .ui-btn:after, -.ui-controlgroup-horizontal .ui-radio .ui-btn:after { - content: none; - display: none; -} -/* Native input positioning */ -.ui-checkbox input, -.ui-radio input { - position: absolute; - left: .466em; - top: 50%; - width: 22px; - height: 22px; - margin: -11px 0 0 0; - outline: 0 !important; - z-index: 1; -} -.ui-controlgroup-horizontal .ui-checkbox input, -.ui-controlgroup-horizontal .ui-radio input { - left: 50%; - margin-left: -9px; -} -.ui-checkbox input:disabled, -.ui-radio input:disabled { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-select { - margin-top: .5em; - margin-bottom: .5em; /* no shorthand for margin because it would override margin-right for inline selects */ - position: relative; -} -.ui-select > select { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-select .ui-btn { - margin: 0; - opacity: 1; /* Fixes #2588: When Windows Phone 7.5 (Mango) tries to calculate a numeric opacity for a select (including "inherit") without explicitly specifying an opacity on the parent to give it context, a bug appears where clicking elsewhere on the page after opening the select will open the select again. */ -} -.ui-select .ui-btn select { - position: absolute; - top: 0; - left: 0; - width: 100%; - min-height: 1.5em; - min-height: 100%; - height: 3em; - max-height: 100%; - outline: 0; - -webkit-border-radius: inherit; - border-radius: inherit; - -webkit-appearance: none; - -moz-appearance: none; - cursor: pointer; - filter: Alpha(Opacity=0); - opacity: 0; - z-index: 2; -} -@-moz-document url-prefix() { - .ui-select .ui-btn select { - opacity: 0.0001; - } -} -/* Display none because of issues with IE/WP's filter alpha opacity */ -.ui-select .ui-state-disabled select { - display: none; -} -/* Because we add all classes of the select and option elements to the span... */ -.ui-select span.ui-state-disabled { - filter: Alpha(Opacity=100); - opacity: 1; -} -.ui-select .ui-btn.ui-select-nativeonly { - border-radius: 0; - border: 0; -} -.ui-select .ui-btn.ui-select-nativeonly select { - opacity: 1; - text-indent: 0; - display: block; -} -/* ui-li-count is styled in the listview CSS. We set padding and offset here because select supports icon position while listview doesn't. */ -.ui-select .ui-li-has-count.ui-btn { - padding-right: 2.8125em; -} -.ui-select .ui-li-has-count.ui-btn-icon-right { - padding-right: 4.6875em; -} -.ui-select .ui-btn-icon-right .ui-li-count { - right: 3.2em; -} -/* We set the rules for the span as well to fix an issue on Chrome with text-overflow ellipsis for the button in combination with text-align center. */ -.ui-select .ui-btn > span:not(.ui-li-count) { - display: block; - text-overflow: ellipsis; - overflow: hidden !important; - white-space: nowrap; -} -.ui-selectmenu.ui-popup { - min-width: 11em; -} -.ui-selectmenu .ui-dialog-contain { - overflow: hidden; -} -.ui-selectmenu .ui-header { - margin: 0; - padding: 0; - border-width: 0; -} -.ui-selectmenu.ui-dialog .ui-header { - z-index: 1; - position: relative; -} -.ui-selectmenu.ui-popup .ui-header { - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; -} -/* when no placeholder is defined in a multiple select, the header height doesn't even extend past the close button. this shim's content in there */ -.ui-selectmenu.ui-popup .ui-header h1:after { - content: '.'; - visibility: hidden; -} -.ui-selectmenu .ui-header .ui-title { - margin: 0 2.875em; -} -.ui-selectmenu.ui-dialog .ui-content { - overflow: visible; - z-index: 1; -} -.ui-selectmenu .ui-selectmenu-list { - margin: 0; - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-header:not(.ui-screen-hidden) + .ui-selectmenu-list { - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -webkit-border-top-left-radius: 0; - border-top-left-radius: 0; -} -.ui-header.ui-screen-hidden + .ui-selectmenu-list li.ui-first-child .ui-btn { - border-top-width: 0; -} -.ui-selectmenu .ui-selectmenu-list li.ui-last-child .ui-btn { - border-bottom-width: 0; -} -.ui-selectmenu .ui-btn.ui-li-divider { - cursor: default; -} -.ui-selectmenu .ui-selectmenu-placeholder { - display: none; -} -.ui-listview, -.ui-listview > li { - margin: 0; - padding: 0; - list-style: none; -} -.ui-content .ui-listview, -.ui-panel-inner > .ui-listview { - margin: -1em; -} -.ui-content .ui-listview-inset, -.ui-panel-inner > .ui-listview-inset { - margin: 1em 0; -} -.ui-collapsible-content > .ui-listview { - margin: -.5em -1em; -} -.ui-collapsible-content > .ui-listview-inset { - margin: .5em 0; -} -.ui-listview > li { - display: block; - position: relative; - overflow: visible; -} -.ui-listview > .ui-li-static, -.ui-listview > .ui-li-divider, -.ui-listview > li > a.ui-btn { - margin: 0; - display: block; - position: relative; - text-align: left; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} -.ui-listview > li > .ui-btn:focus { - z-index: 1; -} -.ui-listview > .ui-li-static, -.ui-listview > .ui-li-divider, -.ui-listview > li > a.ui-btn { - border-width: 1px 0 0 0; - border-style: solid; -} -.ui-listview-inset > .ui-li-static, -.ui-listview-inset > .ui-li-divider, -.ui-listview-inset > li > a.ui-btn { - border-right-width: 1px; - border-left-width: 1px; -} -.ui-listview > .ui-li-static.ui-last-child, -.ui-listview > .ui-li-divider.ui-last-child, -.ui-listview > li.ui-last-child > a.ui-btn { - border-bottom-width: 1px; -} -.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) > li.ui-first-child, -.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn { - border-top-width: 0; -} -.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset) > li.ui-last-child, -.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset) > li.ui-last-child > a.ui-btn { - border-bottom-width: 0; -} -.ui-listview > li.ui-first-child, -.ui-listview > li.ui-first-child > a.ui-btn { - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; -} -.ui-listview > li.ui-last-child, -.ui-listview > li.ui-last-child > a.ui-btn { - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-listview > li.ui-li-has-alt > a.ui-btn { - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; -} -.ui-listview > li.ui-first-child > a.ui-btn + a.ui-btn { - -webkit-border-top-left-radius: 0; - border-top-left-radius: 0; - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; -} -.ui-listview > li.ui-last-child > a.ui-btn + a.ui-btn { - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -.ui-listview > li.ui-first-child img:first-child:not(.ui-li-icon) { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; -} -.ui-listview > li.ui-last-child img:first-child:not(.ui-li-icon) { - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-listview > .ui-li-static { - padding: .7em 1em; -} -.ui-listview > .ui-li-divider { - padding: .5em 1.143em; - font-size: 14px; - font-weight: bold; - cursor: default; - outline: 0; /* Dividers in custom selectmenus have tabindex */ -} -.ui-listview > .ui-li-has-count > .ui-btn, -.ui-listview > .ui-li-static.ui-li-has-count, -.ui-listview > .ui-li-divider.ui-li-has-count { - padding-right: 2.8125em; -} -.ui-listview > .ui-li-has-count > .ui-btn-icon-right { - padding-right: 4.6875em; -} -.ui-listview > .ui-li-has-thumb > .ui-btn, -.ui-listview > .ui-li-static.ui-li-has-thumb { - min-height: 3.625em; - padding-left: 6.25em; -} -/* ui-li-has-icon deprecated in 1.4. TODO: remove in 1.5 */ -.ui-listview > .ui-li-has-icon > .ui-btn, -.ui-listview > .ui-li-static.ui-li-has-icon { - min-height: 1.25em; - padding-left: 2.5em; -} -/* Used by both listview and custom multiple select button */ -.ui-li-count { - position: absolute; - font-size: 12.5px; - font-weight: bold; - text-align: center; - border-width: 1px; - border-style: solid; - padding: 0 .48em; - line-height: 1.6em; - min-height: 1.6em; - min-width: .64em; - right: .8em; - top: 50%; - margin-top: -.88em; -} -.ui-listview .ui-btn-icon-right .ui-li-count { - right: 3.2em; -} -.ui-listview .ui-li-has-thumb > img:first-child, -.ui-listview .ui-li-has-thumb > .ui-btn > img:first-child, -.ui-listview .ui-li-has-thumb .ui-li-thumb { - position: absolute; - left: 0; - top: 0; - max-height: 5em; - max-width: 5em; -} -/* ui-li-has-icon deprecated in 1.4. TODO: remove in 1.5 */ -.ui-listview > .ui-li-has-icon > img:first-child, -.ui-listview > .ui-li-has-icon > .ui-btn > img:first-child { - position: absolute; - left: .625em; - top: .9em; - max-height: 1em; - max-width: 1em; -} -.ui-listview > li h1, -.ui-listview > li h2, -.ui-listview > li h3, -.ui-listview > li h4, -.ui-listview > li h5, -.ui-listview > li h6 { - font-size: 1em; - font-weight: bold; - display: block; - margin: .45em 0; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} -.ui-listview > li p { - font-size: .75em; - font-weight: normal; - display: block; - margin: .6em 0; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} -.ui-listview .ui-li-aside { - position: absolute; - top: 1em; - right: 3.333em; - margin: 0; - text-align: right; -} -.ui-listview > li.ui-li-has-alt > .ui-btn { - margin-right: 2.5em; - border-right-width: 0; -} -.ui-listview > li.ui-li-has-alt > .ui-btn + .ui-btn { - position: absolute; - width: 2.5em; - height: 100%; - min-height: auto; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - border-left-width: 1px; - top: 0; - right: 0; - margin: 0; - padding: 0; - z-index: 2; -} -.ui-listview-inset > li.ui-li-has-alt > .ui-btn + .ui-btn { - border-right-width: 1px; -} -.ui-listview > li.ui-li-has-alt > .ui-btn + .ui-btn:focus { - z-index: 3; -} -ol.ui-listview, -ol.ui-listview > .ui-li-divider { - counter-reset: listnumbering; -} -ol.ui-listview > li > .ui-btn, -ol.ui-listview > li.ui-li-static { - vertical-align: middle; -} -ol.ui-listview > li > .ui-btn:first-child:before, -ol.ui-listview > li.ui-li-static:before, -ol.ui-listview > li.ui-field-contain > label:before, -ol.ui-listview > li.ui-field-contain > .ui-controlgroup-label:before { - display: inline-block; - font-size: .9em; - font-weight: normal; - padding-right: .3em; - min-width: 1.4em; - line-height: 1.5; - vertical-align: middle; - counter-increment: listnumbering; - content: counter(listnumbering) "."; -} -ol.ui-listview > li.ui-field-contain:before { - content: none; - display: none; -} -ol.ui-listview > li h1:first-child, -ol.ui-listview > li h2:first-child, -ol.ui-listview > li h3:first-child, -ol.ui-listview > li h4:first-child, -ol.ui-listview > li h5:first-child, -ol.ui-listview > li h6:first-child, -ol.ui-listview > li p:first-child, -ol.ui-listview > li img:first-child + * { - display: inline-block; - vertical-align: middle; -} -ol.ui-listview > li h1:first-child ~ *, -ol.ui-listview > li h2:first-child ~ *, -ol.ui-listview > li h3:first-child ~ *, -ol.ui-listview > li h4:first-child ~ *, -ol.ui-listview > li h5:first-child ~ *, -ol.ui-listview > li h6:first-child ~ *, -ol.ui-listview > li p:first-child ~ *, -ol.ui-listview > li img:first-child + * ~ * { - margin-top: 0; - text-indent: 2.04em; /* (1.4em + .3em) * .9em / .75em */ -} -html .ui-filterable + .ui-listview, -html .ui-filterable.ui-listview { - margin-top: .5em; -} -.ui-collapsible-content > form.ui-filterable { - margin-top: -.5em; -} -.ui-collapsible-content > .ui-input-search.ui-filterable { - margin-top: 0; -} -.ui-collapsible-content > .ui-filterable + .ui-listview:not(.ui-listview-inset) > li.ui-first-child, -.ui-collapsible-content > .ui-filterable + .ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn, -.ui-collapsible-content > .ui-filterable.ui-listview:not(.ui-listview-inset) > li.ui-first-child, -.ui-collapsible-content > .ui-filterable.ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn { - border-top-width: 1px; -} -div.ui-slider { - height: 30px; - margin: .5em 0; - padding: 0; - -ms-touch-action: pan-y pinch-zoom double-tap-zoom; -} -div.ui-slider:before, -div.ui-slider:after { - content: ""; - display: table; -} -div.ui-slider:after { - clear: both; -} -input.ui-slider-input { - display: block; - float: left; - font-size: 14px; - font-weight: bold; - margin: 0; - padding: 4px; - width: 40px; - height: 20px; - line-height: 20px; - border-width: 1px; - border-style: solid; - outline: 0; - text-align: center; - vertical-align: text-bottom; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} -.ui-slider-input::-webkit-outer-spin-button, -.ui-slider-input::-webkit-inner-spin-button { - -webkit-appearance: none; - margin: 0; -} -.ui-slider-track { - position: relative; - overflow: visible; - border-width: 1px; - border-style: solid; - height: 15px; - margin: 0 15px 0 68px; - top: 6px; -} -.ui-slider-track.ui-mini { - height: 12px; - top: 8px; -} -.ui-slider-track .ui-slider-bg { - height: 100%; -} -/* High level of specificity to override button margins in grids */ -.ui-slider-track .ui-btn.ui-slider-handle { - position: absolute; - z-index: 1; - top: 50%; - width: 28px; - height: 28px; - margin: -15px 0 0 -15px; - outline: 0; - padding: 0; -} -.ui-slider-track.ui-mini .ui-slider-handle { - height: 14px; - width: 14px; - margin: -8px 0 0 -8px; -} -select.ui-slider-switch { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -div.ui-slider-switch { - display: inline-block; - height: 32px; - width: 5.8em; - top: 0; -} -/* reset the clearfix */ -div.ui-slider-switch:before, -div.ui-slider-switch:after { - display: none; - clear: none; -} -div.ui-slider-switch.ui-mini { - height: 29px; - top: 0; -} -.ui-slider-inneroffset { - margin: 0 16px; - position: relative; - z-index: 1; -} -.ui-slider-switch.ui-mini .ui-slider-inneroffset { - margin: 0 15px 0 14px; -} -.ui-slider-switch .ui-btn.ui-slider-handle { - margin: 1px 0 0 -15px; -} -.ui-slider-switch.ui-mini .ui-slider-handle { - width: 25px; - height: 25px; - margin: 1px 0 0 -13px; - padding: 0; -} -.ui-slider-handle-snapping { - -webkit-transition: left 70ms linear; - -moz-transition: left 70ms linear; - transition: left 70ms linear; -} -.ui-slider-switch .ui-slider-label { - position: absolute; - text-align: center; - width: 100%; - overflow: hidden; - font-size: 16px; - top: 0; - line-height: 2; - min-height: 100%; - white-space: nowrap; - cursor: pointer; -} -.ui-slider-switch.ui-mini .ui-slider-label { - font-size: 14px; -} -.ui-slider-switch .ui-slider-label-a { - z-index: 1; - left: 0; - text-indent: -1.5em; -} -.ui-slider-switch .ui-slider-label-b { - z-index: 0; - right: 0; - text-indent: 1.5em; -} -/* The corner radii for ui-slider-switch/track can be specified in theme CSS. The bg and handle inherits. */ -.ui-slider-track .ui-slider-bg, -.ui-slider-switch .ui-slider-label, -.ui-slider-switch .ui-slider-inneroffset, -.ui-slider-handle { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-field-contain div.ui-slider-switch { - margin: 0; -} -/* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */ -.ui-field-contain div.ui-slider-switch, -.ui-field-contain.ui-hide-label div.ui-slider-switch, -html .ui-popup .ui-field-contain div.ui-slider-switch { - display: inline-block; - width: 5.8em; -} -/* slider tooltip ------------------------------------------------------------------------------------------------------------*/ -.ui-slider-popup { - width: 64px; - height: 64px; - font-size: 36px; - padding-top: 14px; - opacity: 0.8; -} -.ui-slider-popup { - position: absolute !important; - text-align: center; - z-index: 100; -} -.ui-slider-track .ui-btn.ui-slider-handle { - font-size: .9em; - line-height: 30px; -} -.ui-rangeslider { - margin: .5em 0; -} -.ui-rangeslider:before, -.ui-rangeslider:after { - content: ""; - display: table; -} -.ui-rangeslider:after { - clear: both; -} -.ui-rangeslider .ui-slider-input.ui-rangeslider-last { - float: right; -} -.ui-rangeslider .ui-rangeslider-sliders { - position: relative; - overflow: visible; - height: 30px; - margin: 0 68px; -} -.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track { - position: absolute; - top: 6px; - right: 0; - left: 0; - margin: 0; -} -.ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track { - top: 8px; -} -.ui-rangeslider .ui-slider-track:first-child .ui-slider-bg { - display: none; -} -.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child { - background-color: transparent; - background: none; - border-width: 0; - height: 0; -} -/* this makes ie6 and ie7 set height to 0 to fix z-index problem */ -html >/**/body .ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child { - height: 15px; - border-width: 1px; -} -html >/**/body .ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track:first-child { - height: 12px; -} -/* Hide the second label (the first is moved outside the div) */ -div.ui-rangeslider label { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-field-contain .ui-rangeslider input.ui-slider-input, -.ui-field-contain .ui-rangeslider.ui-mini input.ui-slider-input, -.ui-field-contain .ui-rangeslider .ui-rangeslider-sliders, -.ui-field-contain .ui-rangeslider.ui-mini .ui-rangeslider-sliders { - margin-top: 0; - margin-bottom: 0; -} -.ui-input-text, -.ui-input-search { - margin: .5em 0; - border-width: 1px; - border-style: solid; -} -.ui-mini { - margin: .446em; -} -.ui-input-text input, -.ui-input-search input, -textarea.ui-input-text { - padding: .4em; - line-height: 1.4em; - display: block; - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - outline: 0; -} -.ui-input-text input, -.ui-input-search input { - margin: 0; - min-height: 2.2em; - text-align: left; /* Opera aligns type="date" right by default */ - border: 0; - background: transparent none; - -webkit-appearance: none; - -webkit-border-radius: inherit; - border-radius: inherit; -} -textarea.ui-input-text { - overflow: auto; - resize: vertical; -} -.ui-mini .ui-input-text input, -.ui-mini .ui-input-search input, -.ui-input-text.ui-mini input, -.ui-input-search.ui-mini input, -.ui-mini textarea.ui-input-text, -textarea.ui-mini { - font-size: 14px; -} -/* Same margin for mini textareas as other mini sized widgets (12.5/14 * 0.5em) */ -.ui-mini textarea.ui-input-text, -textarea.ui-mini { - margin: .446em 0; -} -.ui-input-has-clear, -.ui-input-search { - position: relative; -} -/* Padding on the div instead of input because of browser spinners etc. */ -.ui-input-has-clear { - padding-right: 2.375em; -} -.ui-mini.ui-input-has-clear { - padding-right: 2.923em; -} -.ui-input-has-clear input { - padding-right: 0; - /* Autofill on Chrome has bg color so we unset corners right as well. */ - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; -} -/* Search icon */ -.ui-input-search input { - padding-left: 1.75em; -} -.ui-input-search:after { - position: absolute; - left: .3125em; - top: 50%; - margin-top: -7px; - content: ""; - background-position: center center; - background-repeat: no-repeat; - width: 14px; - height: 14px; - filter: Alpha(Opacity=50); - opacity: .5; -} -.ui-input-search.ui-input-has-clear .ui-btn.ui-input-clear, -.ui-input-text.ui-input-has-clear .ui-btn.ui-input-clear { - position: absolute; - right: 0; - top: 50%; - margin: -14px .3125em 0; - border: 0; - background-color: transparent; -} -.ui-input-search .ui-input-clear-hidden, -.ui-input-text .ui-input-clear-hidden { - display: none; -} -/* Resolves issue #5166: Added to support issue introduced in Firefox 15. We can likely remove this in the future. */ -.ui-input-text input::-moz-placeholder, -.ui-input-search input::-moz-placeholder, -textarea.ui-input-text::-moz-placeholder { - color: #aaa; -} -/* Same for IE10 */ -.ui-input-text input:-ms-input-placeholder, -.ui-input-search input:-ms-input-placeholder, -textarea.ui-input-text:-ms-input-placeholder { - color: #aaa; -} -/* Resolves issue #5131: Width of textinput depends on its type, -for Android 4.1 */ -.ui-input-text input[type=number]::-webkit-outer-spin-button { - margin: 0; -} -/* Resolves issue #5756: Textinput in IE10 has a default clear button */ -.ui-input-text input::-ms-clear, -.ui-input-search input::-ms-clear { - display: none; -} -.ui-input-text input:focus, -.ui-input-search input:focus { - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -textarea.ui-input-text.ui-textinput-autogrow { - overflow: hidden; -} -.ui-textinput-autogrow-resize { - -webkit-transition: height 0.25s; - -o-transition: height 0.25s; - -moz-transition: height 0.25s; - transition: height 0.25s; -} -.ui-flipswitch { - display: inline-block; - vertical-align: middle; - width: 5.875em; /* Override this and padding-left in next rule if you use labels other than "on/off" and need more space */ - height: 1.875em; - border-width: 1px; - border-style: solid; - margin: .5em 0; - overflow: hidden; - -webkit-transition-property: padding, width, background-color, color, border-color; - -moz-transition-property: padding, width, background-color, color, border-color; - -o-transition-property: padding, width, background-color, color, border-color; - transition-property: padding, width, background-color, color, border-color; - -webkit-transition-duration: 100ms; - -moz-transition-duration: 100ms; - -o-transition-duration: 100ms; - transition-duration: 100ms; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: pointer; -} -.ui-flipswitch.ui-flipswitch-active { - padding-left: 4em; /* Override this and width in previous rule if you use labels other than "on/off" and need more space */ - width: 1.875em; -} -.ui-flipswitch-input { - position: absolute; - height: 1px; - width: 1px; - margin: -1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); - border: 0; - outline: 0; - filter: Alpha(Opacity=0); - opacity: 0; -} -.ui-flipswitch .ui-btn.ui-flipswitch-on, -.ui-flipswitch .ui-flipswitch-off { - float: left; - height: 1.75em; - margin: .0625em; - line-height: 1.65em; -} -.ui-flipswitch .ui-btn.ui-flipswitch-on { - width: 1.75em; - padding: 0; - text-indent: -2.6em; /* Override this to center text if you use a label other than "on" */ - text-align: left; - border-width: 1px; - border-style: solid; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - border-radius: inherit; - overflow: visible; - color: inherit; - text-shadow: inherit; -} -.ui-flipswitch .ui-flipswitch-off { - padding: 1px; - text-indent: 1em; /* Override this to center text if you use a label other than "off" */ -} -/* Override field container CSS to prevent the flipswitch from becomming full width */ -html .ui-field-contain > label + .ui-flipswitch, -html .ui-popup .ui-field-contain > label + .ui-flipswitch { - display: inline-block; - width: 5.875em; /* If you override the width for .ui-flipswitch you should repeat the same value here */ - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} -.ui-field-contain .ui-flipswitch.ui-flipswitch-active, -.ui-popup .ui-field-contain .ui-flipswitch.ui-flipswitch-active { - width: 1.875em; -} -.ui-table { - border: 0; - border-collapse: collapse; - padding: 0; - width: 100%; -} -.ui-table th, -.ui-table td { - line-height: 1.5em; - text-align: left; - padding: .4em .5em; - vertical-align:top; -} -.ui-table th .ui-btn, -.ui-table td .ui-btn { - line-height: normal; -} -.ui-table th { - font-weight: bold; -} -.ui-table caption { - text-align: left; - margin-bottom: 1.4em; - opacity: .5; -} -/* - Styles for the table columntoggle mode -*/ -.ui-table-columntoggle-btn { - float: right; - margin-bottom: .8em; -} -/* Remove top/bottom margins around the fieldcontain on check list */ -.ui-table-columntoggle-popup fieldset { - margin:0; -} -.ui-table-columntoggle { - clear: both; -} -/* Hide all prioritized columns by default */ -@media only all { - th.ui-table-priority-6, - td.ui-table-priority-6, - th.ui-table-priority-5, - td.ui-table-priority-5, - th.ui-table-priority-4, - td.ui-table-priority-4, - th.ui-table-priority-3, - td.ui-table-priority-3, - th.ui-table-priority-2, - td.ui-table-priority-2, - th.ui-table-priority-1, - td.ui-table-priority-1 { - display: none; - } -} -/* Preset breakpoints if ".ui-responsive" class added to table */ -/* Show priority 1 at 320px (20em x 16px) */ -@media screen and (min-width: 20em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-1, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-1 { - display: table-cell; - } -} -/* Show priority 2 at 480px (30em x 16px) */ -@media screen and (min-width: 30em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-2, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-2 { - display: table-cell; - } -} -/* Show priority 3 at 640px (40em x 16px) */ -@media screen and (min-width: 40em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-3, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-3 { - display: table-cell; - } -} -/* Show priority 4 at 800px (50em x 16px) */ -@media screen and (min-width: 50em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-4, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-4 { - display: table-cell; - } -} -/* Show priority 5 at 960px (60em x 16px) */ -@media screen and (min-width: 60em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-5, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-5 { - display: table-cell; - } -} -/* Show priority 6 at 1,120px (70em x 16px) */ -@media screen and (min-width: 70em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-6, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-6 { - display: table-cell; - } -} -/* Unchecked manually: Always hide */ -.ui-table-columntoggle th.ui-table-cell-hidden, -.ui-table-columntoggle td.ui-table-cell-hidden, -.ui-table-columntoggle.ui-responsive th.ui-table-cell-hidden, -.ui-table-columntoggle.ui-responsive td.ui-table-cell-hidden { - display: none; -} -/* Checked manually: Always show */ -.ui-table-columntoggle th.ui-table-cell-visible, -.ui-table-columntoggle td.ui-table-cell-visible, -.ui-table-columntoggle.ui-responsive th.ui-table-cell-visible, -.ui-table-columntoggle.ui-responsive td.ui-table-cell-visible { - display: table-cell; -} -/* - Styles for the table columntoggle mode -*/ -.ui-table-reflow td .ui-table-cell-label, -.ui-table-reflow th .ui-table-cell-label { - display: none; -} -/* Mobile first styles: Begin with the stacked presentation at narrow widths */ -@media only all { - /* Hide the table headers */ - .ui-table-reflow thead td, - .ui-table-reflow thead th { - display: none; - } - /* Show the table cells as a block level element */ - .ui-table-reflow td, - .ui-table-reflow th { - text-align: left; - display: block; - } - /* Add a fair amount of top margin to visually separate each row when stacked */ - .ui-table-reflow tbody th { - margin-top: 3em; - } - /* Make the label elements a percentage width */ - .ui-table-reflow td .ui-table-cell-label, - .ui-table-reflow th .ui-table-cell-label { - padding: .4em; - min-width: 30%; - display: inline-block; - margin: -.4em 1em -.4em -.4em; - } - /* For grouped headers, have a different style to visually separate the levels by classing the first label in each col group */ - .ui-table-reflow th .ui-table-cell-label-top, - .ui-table-reflow td .ui-table-cell-label-top { - display: block; - padding: .4em 0; - margin: .4em 0; - text-transform: uppercase; - font-size: .9em; - font-weight: normal; - } -} -/* Breakpoint to show as a standard table at 560px (35em x 16px) or wider */ -@media ( min-width: 35em ) { - /* Show the table header rows */ - .ui-table-reflow.ui-responsive td, - .ui-table-reflow.ui-responsive th, - .ui-table-reflow.ui-responsive tbody th, - .ui-table-reflow.ui-responsive tbody td, - .ui-table-reflow.ui-responsive thead td, - .ui-table-reflow.ui-responsive thead th { - display: table-cell; - margin: 0; - } - /* Hide the labels in each cell */ - .ui-table-reflow.ui-responsive td .ui-table-cell-label, - .ui-table-reflow.ui-responsive th .ui-table-cell-label { - display: none; - } -} -/* Hack to make IE9 and WP7.5 treat cells like block level elements, scoped to ui-responsive class */ -/* Applied in a max-width media query up to the table layout breakpoint so we don't need to negate this*/ -@media ( max-width: 35em ) { - .ui-table-reflow.ui-responsive td, - .ui-table-reflow.ui-responsive th { - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - float: left; - clear: left; - } -} -/* Panel */ -.ui-panel { - width: 17em; - min-height: 100%; - max-height: none; - border-width: 0; - position: absolute; - top: 0; - display: block; -} -.ui-panel-closed { - width: 0; - max-height: 100%; - overflow: hidden; - visibility: hidden; - left: 0; - clip: rect(1px,1px,1px,1px); -} -.ui-panel-fixed { - position: fixed; - bottom: -1px; /* Fixes gap on Chrome for Android */ - padding-bottom: 1px; -} -.ui-panel-display-reveal { - z-index: 1; -} -.ui-panel-display-push { - z-index: 999; -} -.ui-panel-display-overlay { - z-index: 1001; /* Fixed toolbars have z-index 1000 */ -} -.ui-panel-inner { - padding: 1em; -} -/* Container, page and wrapper */ -.ui-panel-page-container { - overflow-x: visible; -} -.ui-panel-page-container-themed .ui-page-active { - background: none; -} -.ui-panel-wrapper { - position: relative; - min-height: inherit; - border: 0; - overflow-x: hidden; - z-index: 999; -} -/* Fixed toolbars */ -.ui-panel-fixed-toolbar { - overflow-x: hidden; -} -/* Dismiss */ -.ui-panel-dismiss { - position: absolute; - top: 0; - left: 0; - right: 0; - height: 100%; - z-index: 1002; - display: none; -} -.ui-panel-dismiss-open { - display: block; -} -/* Animate class is added to panel, wrapper and fixed toolbars */ -.ui-panel-animate { - -webkit-transition: -webkit-transform 300ms ease; - -webkit-transition-duration: 300ms; - -moz-transition: -moz-transform 300ms ease; - transition: transform 300ms ease; -} -/* Fix for Windows Phone issue #6349: unset the transition for transforms in case of fixed toolbars. */ -@media screen and ( max-device-width: 768px ) { - .ui-page-header-fixed .ui-panel-animate.ui-panel-wrapper, - .ui-page-footer-fixed .ui-panel-animate.ui-panel-wrapper, - .ui-panel-animate.ui-panel-fixed-toolbar { - -ms-transition: none; - } - /* We need a transitionend event ... */ - .ui-panel-animate.ui-panel-fixed-toolbar { - -ms-transition: -ms-transform 1ms; - -ms-transform: rotate(0deg); - } -} -/* Hardware acceleration for smoother transitions on WebKit browsers */ -.ui-panel-animate.ui-panel:not(.ui-panel-display-reveal) { - -webkit-backface-visibility: hidden; - -webkit-transform: translate3d(0,0,0); -} -/* Panel positioning (for overlay and push) */ -/* Panel left closed */ -.ui-panel-position-left { - left: -17em; -} -/* Panel left closed animated */ -.ui-panel-animate.ui-panel-position-left.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-position-left.ui-panel-display-push { - left: 0; - -webkit-transform: translate3d(-17em,0,0); - -moz-transform: translate3d(-17em,0,0); - transform: translate3d(-17em,0,0); -} -/* Panel left open */ -.ui-panel-position-left.ui-panel-display-reveal, /* Unset "panel left closed" for reveal */ -.ui-panel-open.ui-panel-position-left { - left: 0; -} -/* Panel left open animated */ -.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-push { - -webkit-transform: translate3d(0,0,0); - transform: translate3d(0,0,0); - -moz-transform: none; -} -/* Panel right closed */ -.ui-panel-position-right { - right: -17em; -} -/* Panel right closed animated */ -.ui-panel-animate.ui-panel-position-right.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-position-right.ui-panel-display-push { - right: 0; - -webkit-transform: translate3d(17em,0,0); - -moz-transform: translate3d(17em,0,0); - transform: translate3d(17em,0,0); -} -/* Panel right open */ -.ui-panel-position-right.ui-panel-display-reveal, /* Unset "panel right closed" for reveal */ -.ui-panel-position-right.ui-panel-open { - right: 0; -} -/* Panel right open animated */ -.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-push { - -webkit-transform: translate3d(0,0,0); - transform: translate3d(0,0,0); - -moz-transform: none; -} -/* Wrapper and fixed toolbars positioning (for reveal and push) */ -/* Panel left open */ -.ui-panel-page-content-position-left { - left: 17em; - right: -17em; -} -/* Panel left open animated */ -.ui-panel-animate.ui-panel-page-content-position-left { - left: 0; - right: 0; - -webkit-transform: translate3d(17em,0,0); - -moz-transform: translate3d(17em,0,0); - transform: translate3d(17em,0,0); -} -/* Panel right open */ -.ui-panel-page-content-position-right { - left: -17em; - right: 17em; -} -/* Panel right open animated */ -.ui-panel-animate.ui-panel-page-content-position-right { - left: 0; - right: 0; - -webkit-transform: translate3d(-17em,0,0); - -moz-transform: translate3d(-17em,0,0); - transform: translate3d(-17em,0,0); -} -/* Dismiss model open */ -.ui-panel-dismiss-open.ui-panel-dismiss-position-left { - left: 17em; -} -.ui-panel-dismiss-open.ui-panel-dismiss-position-right { - right: 17em; -} -/* Shadows and borders */ -.ui-panel-display-reveal { - -webkit-box-shadow: inset -5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: inset -5px 0 5px rgba(0,0,0,.15); - box-shadow: inset -5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-position-right.ui-panel-display-reveal { - -webkit-box-shadow: inset 5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: inset 5px 0 5px rgba(0,0,0,.15); - box-shadow: inset 5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-display-overlay { - -webkit-box-shadow: 5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: 5px 0 5px rgba(0,0,0,.15); - box-shadow: 5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-position-right.ui-panel-display-overlay { - -webkit-box-shadow: -5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: -5px 0 5px rgba(0,0,0,.15); - box-shadow: -5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-open.ui-panel-position-left.ui-panel-display-push { - border-right-width: 1px; - margin-right: -1px; -} -.ui-panel-page-content-position-left.ui-panel-page-content-display-push { - margin-left: 1px; - width: auto; -} -.ui-panel-open.ui-panel-position-right.ui-panel-display-push { - border-left-width: 1px; - margin-left: -1px; -} -.ui-panel-page-content-position-right.ui-panel-page-content-display-push { - margin-right: 1px; - width: auto; -} -/* Responsive: wrap on wide viewports once open */ -@media (min-width:55em) { - .ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-left { - margin-right: 17em; - } - .ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-right { - margin-left: 17em; - } - .ui-responsive-panel .ui-panel-page-content-open { - width: auto; - } - .ui-responsive-panel .ui-panel-dismiss-display-push, - .ui-responsive-panel.ui-page-active ~ .ui-panel-dismiss-display-push { - display: none; - } -} -.ui-tabs { - position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ - padding: .2em; -} diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.inline-svg-1.4.5.min.css b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.inline-svg-1.4.5.min.css deleted file mode 100644 index 8814021ea496004138b00b0122bc9b9ceb32dacc..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.inline-svg-1.4.5.min.css +++ /dev/null @@ -1,24 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! jQuery Mobile 1.4.5 | Git HEADhash: 68e55e7 <> 2014-10-31T17:33:30Z | (c) 2010, 2014 jQuery Foundation, Inc. | jquery.org/license */ - -.ui-icon-action:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M9%2C5v3l5-4L9%2C0v3c0%2C0-5%2C0-5%2C7C6%2C5%2C9%2C5%2C9%2C5z%20M11%2C12H2V5h1l2-2H0v11h13V7l-2%2C2V12z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-alert:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C0L0%2C12h14L7%2C0z%20M7%2C11c-0.553%2C0-1-0.447-1-1s0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1S7.553%2C11%2C7%2C11z%20M7%2C8%20C6.447%2C8%2C6%2C7.553%2C6%2C7V5c0-0.553%2C0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1v2C8%2C7.553%2C7.553%2C8%2C7%2C8z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-arrow-d-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C3%2011%2C0%203.5%2C7.5%200%2C4%200%2C14%2010%2C14%206.5%2C10.5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-d-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2210.5%2C7.5%203%2C0%200%2C3%207.5%2C10.5%204%2C14%2014%2C14%2014%2C4%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-d:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%229%2C7%209%2C0%205%2C0%205%2C7%200%2C7%207%2C14%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C5%207%2C0%200%2C7%207%2C14%207%2C9%2014%2C9%2014%2C5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C7%207%2C0%207%2C5%200%2C5%200%2C9%207%2C9%207%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-u-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C11%206.5%2C3.5%2010%2C0%200%2C0%200%2C10%203.5%2C6.5%2011%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-u-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C0%204%2C0%207.5%2C3.5%200%2C11%203%2C14%2010.5%2C6.5%2014%2C10%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-u:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C0%200%2C7%205%2C7%205%2C14%209%2C14%209%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-audio:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.018px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014.018%2014%22%20style%3D%22enable-background%3Anew%200%200%2014.018%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M1%2C4C0.447%2C4%2C0%2C4.447%2C0%2C5v4c0%2C0.553%2C0.447%2C1%2C1%2C1h1l4%2C4V0L2%2C4H1z%20M10.346%2C7c0-1.699-1.042-3.154-2.546-3.867L6.982%2C4.68%20C7.885%2C5.107%2C8.51%2C5.98%2C8.51%2C7S7.885%2C8.893%2C6.982%2C9.32L7.8%2C10.867C9.304%2C10.154%2C10.346%2C8.699%2C10.346%2C7z%20M9.447%2C0.017L8.618%2C1.586%20C10.723%2C2.584%2C12.182%2C4.621%2C12.182%2C7s-1.459%2C4.416-3.563%2C5.414l0.829%2C1.569c2.707-1.283%2C4.57-3.925%2C4.57-6.983%20S12.154%2C1.3%2C9.447%2C0.017z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-back:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M5%2C3V0L1%2C4l4%2C4V5c0%2C0%2C6%2C0%2C6%2C3s-5%2C4-5%2C4v2c0%2C0%2C7-1%2C7-6C13%2C4%2C8%2C3%2C5%2C3z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-bars:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M1%2C4h12c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H1C0.447%2C2%2C0%2C2.447%2C0%2C3S0.447%2C4%2C1%2C4z%20M13%2C6H1%20C0.447%2C6%2C0%2C6.447%2C0%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H1c-0.553%2C0-1%2C0.447-1%2C1%20s0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-bullets:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M5%2C4h8c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H5C4.447%2C2%2C4%2C2.447%2C4%2C3S4.447%2C4%2C5%2C4z%20M13%2C6H5%20C4.447%2C6%2C4%2C6.447%2C4%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H5c-0.553%2C0-1%2C0.447-1%2C1%20s0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%20M1%2C2C0.447%2C2%2C0%2C2.447%2C0%2C3s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C2%2C1%2C2z%20M1%2C6%20C0.447%2C6%2C0%2C6.447%2C0%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1s1-0.447%2C1-1C2%2C6.447%2C1.553%2C6%2C1%2C6z%20M1%2C10c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1s1-0.447%2C1-1%20S1.553%2C10%2C1%2C10z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-calendar:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M0%2C8h2V6H0V8z%20M3%2C8h2V6H3V8z%20M6%2C8h2V6H6V8z%20M9%2C8h2V6H9V8z%20M12%2C8h2V6h-2V8z%20M0%2C11h2V9H0V11z%20M3%2C11h2V9H3V11z%20M6%2C11h2V9H6V11z%20%20M9%2C11h2V9H9V11z%20M12%2C11h2V9h-2V11z%20M0%2C14h2v-2H0V14z%20M3%2C14h2v-2H3V14z%20M6%2C14h2v-2H6V14z%20M9%2C14h2v-2H9V14z%20M12%2C1%20c0-0.553-0.447-1-1-1s-1%2C0.447-1%2C1H4c0-0.553-0.447-1-1-1S2%2C0.447%2C2%2C1H0v4h14V1H12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-camera:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M12%2C2.5H9.908c-0.206-0.581-0.756-1-1.408-1h-3c-0.652%2C0-1.202%2C0.419-1.408%2C1H2c-1.104%2C0-2%2C0.896-2%2C2%20v6c0%2C1.104%2C0.896%2C2%2C2%2C2h10c1.104%2C0%2C2-0.896%2C2-2v-6C14%2C3.396%2C13.104%2C2.5%2C12%2C2.5z%20M7%2C10.5c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3C10%2C9.156%2C8.657%2C10.5%2C7%2C10.5z%20M7%2C5.5c-1.104%2C0-2%2C0.896-2%2C2c0%2C1.104%2C0.896%2C2%2C2%2C2c1.104%2C0%2C2-0.896%2C2-2%20C9%2C6.396%2C8.104%2C5.5%2C7%2C5.5z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-carat-d:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2211.949%2C3.404%207%2C8.354%202.05%2C3.404%20-0.071%2C5.525%207%2C12.596%2014.07%2C5.525%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-carat-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2210.596%2C11.949%205.646%2C7%2010.596%2C2.05%208.475%2C-0.071%201.404%2C7%208.475%2C14.07%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-carat-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%223.404%2C2.051%208.354%2C7%203.404%2C11.95%205.525%2C14.07%2012.596%2C7%205.525%2C-0.071%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-carat-u:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%222.051%2C10.596%207%2C5.646%2011.95%2C10.596%2014.07%2C8.475%207%2C1.404%20-0.071%2C8.475%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-check:after,html .ui-btn.ui-checkbox-on.ui-checkbox-on:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2214%2C4%2011%2C1%205.003%2C6.997%203%2C5%200%2C8%204.966%2C13%204.983%2C12.982%205%2C13%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-clock:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C12c-2.762%2C0-5-2.238-5-5s2.238-5%2C5-5s5%2C2.238%2C5%2C5%20S9.762%2C12%2C7%2C12z%20M9%2C6H8V4c0-0.553-0.447-1-1-1S6%2C3.447%2C6%2C4v3c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1S9.553%2C6%2C9%2C6z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-cloud:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M14%2C9.5c0-0.793-0.465-1.473-1.134-1.795C12.949%2C7.484%2C13%2C7.249%2C13%2C7c0-1.104-0.896-2-2-2%20c-0.158%2C0-0.311%2C0.023-0.457%2C0.058C9.816%2C3.549%2C8.286%2C2.5%2C6.5%2C2.5c-2.33%2C0-4.224%2C1.777-4.454%2C4.046C0.883%2C6.76%2C0%2C7.773%2C0%2C9%20c0%2C1.381%2C1.119%2C2.5%2C2.5%2C2.5h10v-0.07C13.361%2C11.206%2C14%2C10.432%2C14%2C9.5z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-comment:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M12%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v7c0%2C1.104%2C0.896%2C2%2C2%2C2h1v3l3-3h6c1.104%2C0%2C2-0.896%2C2-2V2C14%2C0.896%2C13.104%2C0%2C12%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-delete:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C3%2011%2C0%207%2C4%203%2C0%200%2C3%204%2C7%200%2C11%203%2C14%207%2C10%2011%2C14%2014%2C11%2010%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-edit:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M1%2C10l-1%2C4l4-1l7-7L8%2C3L1%2C10z%20M11%2C0L9%2C2l3%2C3l2-2L11%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-eye:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C2C3%2C2%2C0%2C7%2C0%2C7s3%2C5%2C7%2C5s7-5%2C7-5S11%2C2%2C7%2C2z%20M7%2C10c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3C10%2C8.656%2C8.657%2C10%2C7%2C10z%20M7%2C6C6.448%2C6%2C6%2C6.447%2C6%2C7c0%2C0.553%2C0.448%2C1%2C1%2C1s1-0.447%2C1-1C8%2C6.447%2C7.552%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-forbidden:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M12.601%2C11.187C13.476%2C10.018%2C14%2C8.572%2C14%2C7c0-3.866-3.134-7-7-7C5.428%2C0%2C3.982%2C0.524%2C2.813%2C1.399L2.757%2C1.343L2.053%2C2.048%20L2.048%2C2.053L1.343%2C2.758l0.056%2C0.056C0.524%2C3.982%2C0%2C5.428%2C0%2C7c0%2C3.866%2C3.134%2C7%2C7%2C7c1.572%2C0%2C3.018-0.524%2C4.187-1.399l0.056%2C0.057%20l0.705-0.705l0.005-0.005l0.705-0.705L12.601%2C11.187z%20M7%2C2c2.761%2C0%2C5%2C2.238%2C5%2C5c0%2C1.019-0.308%2C1.964-0.832%2C2.754L4.246%2C2.832%20C5.036%2C2.308%2C5.981%2C2%2C7%2C2z%20M7%2C12c-2.761%2C0-5-2.238-5-5c0-1.019%2C0.308-1.964%2C0.832-2.754l6.922%2C6.922C8.964%2C11.692%2C8.019%2C12%2C7%2C12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-forward:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M13%2C4L9%2C0v3C6%2C3%2C1%2C4%2C1%2C8c0%2C5%2C7%2C6%2C7%2C6v-2c0%2C0-5-1-5-4s6-3%2C6-3v3L13%2C4z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-gear:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M13.621%2C5.904l-1.036-0.259c-0.168-0.042-0.303-0.168-0.355-0.332c-0.092-0.284-0.205-0.559-0.339-0.82%20c-0.079-0.153-0.073-0.337%2C0.017-0.486l0.549-0.915c0.118-0.196%2C0.088-0.448-0.075-0.61l-0.862-0.863%20c-0.162-0.163-0.414-0.193-0.611-0.075l-0.916%2C0.55C9.844%2C2.182%2C9.659%2C2.188%2C9.506%2C2.109C9.244%2C1.975%2C8.97%2C1.861%2C8.686%2C1.77%20c-0.165-0.052-0.29-0.187-0.332-0.354L8.095%2C0.379C8.039%2C0.156%2C7.839%2C0%2C7.609%2C0H6.391c-0.229%2C0-0.43%2C0.156-0.485%2C0.379L5.646%2C1.415%20C5.604%2C1.582%2C5.479%2C1.718%2C5.313%2C1.77c-0.284%2C0.092-0.559%2C0.206-0.82%2C0.34C4.339%2C2.188%2C4.155%2C2.182%2C4.007%2C2.093L3.092%2C1.544%20c-0.196-0.118-0.448-0.087-0.61%2C0.075L1.619%2C2.481C1.457%2C2.644%2C1.426%2C2.896%2C1.544%2C3.093l0.549%2C0.914%20c0.089%2C0.148%2C0.095%2C0.332%2C0.017%2C0.486C1.975%2C4.755%2C1.861%2C5.029%2C1.77%2C5.314c-0.053%2C0.164-0.188%2C0.29-0.354%2C0.332L0.379%2C5.905%20C0.156%2C5.961%2C0%2C6.161%2C0%2C6.391v1.219c0%2C0.229%2C0.156%2C0.43%2C0.379%2C0.485l1.036%2C0.26C1.582%2C8.396%2C1.717%2C8.521%2C1.77%2C8.687%20c0.092%2C0.284%2C0.205%2C0.559%2C0.34%2C0.82C2.188%2C9.66%2C2.182%2C9.844%2C2.093%2C9.993l-0.549%2C0.915c-0.118%2C0.195-0.087%2C0.448%2C0.075%2C0.61%20l0.862%2C0.862c0.162%2C0.163%2C0.414%2C0.193%2C0.61%2C0.075l0.915-0.549c0.148-0.089%2C0.332-0.095%2C0.486-0.017%20c0.262%2C0.135%2C0.536%2C0.248%2C0.82%2C0.34c0.165%2C0.053%2C0.291%2C0.187%2C0.332%2C0.354l0.259%2C1.036C5.96%2C13.844%2C6.16%2C14%2C6.39%2C14h1.22%20c0.229%2C0%2C0.43-0.156%2C0.485-0.379l0.259-1.036c0.042-0.167%2C0.168-0.302%2C0.333-0.354c0.284-0.092%2C0.559-0.205%2C0.82-0.34%20c0.154-0.078%2C0.338-0.072%2C0.486%2C0.017l0.914%2C0.549c0.197%2C0.118%2C0.449%2C0.088%2C0.611-0.074l0.862-0.863%20c0.163-0.162%2C0.193-0.415%2C0.075-0.611l-0.549-0.915c-0.089-0.148-0.096-0.332-0.017-0.485c0.134-0.263%2C0.248-0.536%2C0.339-0.82%20c0.053-0.165%2C0.188-0.291%2C0.355-0.333l1.036-0.259C13.844%2C8.039%2C14%2C7.839%2C14%2C7.609V6.39C14%2C6.16%2C13.844%2C5.96%2C13.621%2C5.904z%20M7%2C10%20c-1.657%2C0-3-1.343-3-3s1.343-3%2C3-3s3%2C1.343%2C3%2C3S8.657%2C10%2C7%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-grid:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M3%2C0H1C0.447%2C0%2C0%2C0.447%2C0%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C4%2C0.447%2C3.553%2C0%2C3%2C0z%20M8%2C0H6%20C5.447%2C0%2C5%2C0.447%2C5%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C9%2C0.447%2C8.553%2C0%2C8%2C0z%20M13%2C0h-2c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C14%2C0.447%2C13.553%2C0%2C13%2C0z%20M3%2C5H1C0.447%2C5%2C0%2C5.447%2C0%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1V6C4%2C5.447%2C3.553%2C5%2C3%2C5z%20M8%2C5H6C5.447%2C5%2C5%2C5.447%2C5%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6%20C9%2C5.447%2C8.553%2C5%2C8%2C5z%20M13%2C5h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6C14%2C5.447%2C13.553%2C5%2C13%2C5z%20M3%2C10%20H1c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C4%2C10.447%2C3.553%2C10%2C3%2C10z%20M8%2C10H6c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C9%2C10.447%2C8.553%2C10%2C8%2C10z%20M13%2C10h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1v-2C14%2C10.447%2C13.553%2C10%2C13%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-heart:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C1.872c-2-3-7-2-7%2C2c0%2C3%2C4%2C7%2C4%2C7s2.417%2C2.479%2C3%2C3c0.583-0.521%2C3-3%2C3-3s4-4%2C4-7%20C14-0.128%2C9-1.128%2C7%2C1.872z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-home:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C0%200%2C7%202%2C7%202%2C14%205%2C14%205%2C9%209%2C9%209%2C14%2012%2C14%2012%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-info:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C2c0.552%2C0%2C1%2C0.447%2C1%2C1S7.552%2C4%2C7%2C4S6%2C3.553%2C6%2C3%20S6.448%2C2%2C7%2C2z%20M9%2C11H5v-1h1V6H5V5h3v5h1V11z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-location:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C0C4.791%2C0%2C3%2C1.791%2C3%2C4c0%2C2%2C4%2C10%2C4%2C10s4-8%2C4-10C11%2C1.791%2C9.209%2C0%2C7%2C0z%20M7%2C6C5.896%2C6%2C5%2C5.104%2C5%2C4%20s0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2S8.104%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-lock:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M12%2C6V5c0-2.762-2.238-5-5-5C4.239%2C0%2C2%2C2.238%2C2%2C5v1H1v8h12V6H12z%20M7.5%2C9.848V12h-1V9.848%20C6.207%2C9.673%2C6%2C9.366%2C6%2C9c0-0.553%2C0.448-1%2C1-1s1%2C0.447%2C1%2C1C8%2C9.366%2C7.793%2C9.673%2C7.5%2C9.848z%20M10%2C6H4V5c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3V6z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-mail:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M0%2C3.75V12h14V3.75L7%2C9L0%2C3.75z%20M14%2C2H0l7%2C5L14%2C2z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-minus:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20y%3D%225%22%20style%3D%22fill%3A%23FFFFFF%3B%22%20width%3D%2214%22%20height%3D%224%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-navigation:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2213%2C1%200%2C6%207%2C7%208%2C14%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-phone:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%22-0.01%200.008%2014%2014%22%20style%3D%22enable-background%3Anew%20-0.01%200.008%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M6.939%2C9.189C6.165%2C8.557%2C5.271%2C7.705%2C4.497%2C6.744C3.953%2C6.071%2C3.473%2C5.363%2C3.969%2C4.866l-3.482-3.48%20C-0.021%2C2.02-1.146%2C5.04%2C3.675%2C9.984c5.08%2C5.211%2C8.356%2C4.097%2C8.92%2C3.511l-3.396-3.4C8.725%2C10.568%2C8.113%2C10.146%2C6.939%2C9.189z%20%20M13.82%2C11.519v-0.004c0%2C0-2.648-2.646-2.649-2.647c-0.21-0.211-0.546-0.205-0.754%2C0.002L9.455%2C9.831l3.403%2C3.407%20c0%2C0%2C0.962-0.96%2C0.961-0.961l0.002-0.001C14.043%2C12.056%2C14.021%2C11.721%2C13.82%2C11.519z%20M5.192%2C3.644V3.642%20c0.222-0.222%2C0.2-0.557%2C0-0.758V2.881c0%2C0-2.726-2.725-2.727-2.726C2.255-0.055%2C1.92-0.05%2C1.712%2C0.156L0.751%2C1.121l3.479%2C3.482%20C4.231%2C4.604%2C5.192%2C3.645%2C5.192%2C3.644z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-plus:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C5%209%2C5%209%2C0%205%2C0%205%2C5%200%2C5%200%2C9%205%2C9%205%2C14%209%2C14%209%2C9%2014%2C9%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-power:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M11.243%2C2.408c-0.392-0.401-1.024-0.401-1.415%2C0c-0.391%2C0.401-0.391%2C1.054%2C0%2C1.455%20C10.584%2C4.642%2C11%2C5.675%2C11%2C6.773s-0.416%2C2.133-1.172%2C2.91c-1.512%2C1.558-4.145%2C1.558-5.656%2C0C3.416%2C8.904%2C3%2C7.872%2C3%2C6.773%20C3%2C5.673%2C3.416%2C4.64%2C4.172%2C3.863c0.39-0.401%2C0.39-1.054%2C0-1.455c-0.391-0.401-1.024-0.401-1.415%2C0C1.624%2C3.574%2C1%2C5.125%2C1%2C6.773%20c0%2C1.647%2C0.624%2C3.199%2C1.757%2C4.365c1.134%2C1.166%2C2.64%2C1.809%2C4.243%2C1.809c1.604%2C0%2C3.109-0.645%2C4.243-1.811%20C12.376%2C9.975%2C13%2C8.423%2C13%2C6.773C13%2C5.125%2C12.376%2C3.574%2C11.243%2C2.408z%20M7%2C8.053c0.553%2C0%2C1-0.445%2C1-1v-6c0-0.553-0.447-1-1-1%20c-0.553%2C0-1%2C0.447-1%2C1v6C6%2C7.604%2C6.447%2C8.053%2C7%2C8.053z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-recycle:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M3%2C7h1L2%2C4L0%2C7h1c0%2C3.313%2C2.687%2C6%2C6%2C6c0.702%2C0%2C1.374-0.127%2C2-0.35v-2.205C8.41%2C10.789%2C7.732%2C11%2C7%2C11%20C4.791%2C11%2C3%2C9.209%2C3%2C7z%20M13%2C7c0-3.313-2.688-6-6-6C6.298%2C1%2C5.626%2C1.127%2C5%2C1.349v2.206C5.59%2C3.211%2C6.268%2C3%2C7%2C3c2.209%2C0%2C4%2C1.791%2C4%2C4%20h-1l2%2C3l2-3H13z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-refresh:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.001px%22%20height%3D%2214.002px%22%20viewBox%3D%220%200%2014.001%2014.002%22%20style%3D%22enable-background%3Anew%200%200%2014.001%2014.002%3B%22%20%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M14.001%2C6.001v-6l-2.06%2C2.06c-0.423-0.424-0.897-0.809-1.44-1.122C7.153-0.994%2C2.872%2C0.153%2C0.939%2C3.501%20c-1.933%2C3.348-0.786%2C7.629%2C2.562%2C9.562c3.348%2C1.933%2C7.629%2C0.785%2C9.562-2.562l-1.732-1c-1.381%2C2.392-4.438%2C3.211-6.83%2C1.83%20s-3.211-4.438-1.83-6.83s4.438-3.211%2C6.83-1.83c0.389%2C0.225%2C0.718%2C0.506%2C1.02%2C0.81l-2.52%2C2.52H14.001z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-search:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M10.171%2C8.766c0.617-0.888%2C0.979-1.964%2C0.979-3.126c0-3.037-2.463-5.5-5.5-5.5s-5.5%2C2.463-5.5%2C5.5%20s2.463%2C5.5%2C5.5%2C5.5c1.152%2C0%2C2.223-0.355%2C3.104-0.962l3.684%2C3.683l1.414-1.414L10.171%2C8.766z%20M5.649%2C9.14c-1.933%2C0-3.5-1.567-3.5-3.5%20c0-1.933%2C1.567-3.5%2C3.5-3.5c1.933%2C0%2C3.5%2C1.567%2C3.5%2C3.5C9.149%2C7.572%2C7.582%2C9.14%2C5.649%2C9.14z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-shop:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M10%2C4V3c0-1.657-1.343-3-3-3S4%2C1.343%2C4%2C3v1H1v10h12V4H10z%20M4.5%2C6C4.224%2C6%2C4%2C5.776%2C4%2C5.5%20S4.224%2C5%2C4.5%2C5S5%2C5.224%2C5%2C5.5S4.776%2C6%2C4.5%2C6z%20M5%2C3c0-1.104%2C0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2v1H5V3z%20M9.5%2C6C9.225%2C6%2C9%2C5.776%2C9%2C5.5%20S9.225%2C5%2C9.5%2C5S10%2C5.224%2C10%2C5.5S9.775%2C6%2C9.5%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-star:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2214%2C5%209%2C5%207%2C0%205%2C5%200%2C5%204%2C8%202.625%2C13%207%2C10%2011.375%2C13%2010%2C8%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-tag:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M5%2C0H0v5l9%2C9l5-5L5%2C0z%20M3%2C4C2.447%2C4%2C2%2C3.553%2C2%2C3s0.447-1%2C1-1s1%2C0.447%2C1%2C1S3.553%2C4%2C3%2C4z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-user:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M8.851%2C10.101c-0.18-0.399-0.2-0.763-0.153-1.104C9.383%2C8.49%2C9.738%2C7.621%2C9.891%2C6.465C10.493%2C6.355%2C10.5%2C5.967%2C10.5%2C5.5%20c0-0.437-0.008-0.804-0.502-0.94C9.999%2C4.539%2C10%2C4.521%2C10%2C4.5c0-2.103-1-4-2-4C8%2C0.5%2C7.5%2C0%2C6.5%2C0C5%2C0%2C4%2C1.877%2C4%2C4.5%20c0%2C0.021%2C0.001%2C0.039%2C0.002%2C0.06C3.508%2C4.696%2C3.5%2C5.063%2C3.5%2C5.5c0%2C0.467%2C0.007%2C0.855%2C0.609%2C0.965%20C4.262%2C7.621%2C4.617%2C8.49%2C5.303%2C8.997c0.047%2C0.341%2C0.026%2C0.704-0.153%2C1.104C1.503%2C10.503%2C0%2C12%2C0%2C12v2h14v-2%20C14%2C12%2C12.497%2C10.503%2C8.851%2C10.101z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-video:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%20-2%2014%2014%22%20style%3D%22enable-background%3Anew%200%20-2%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M8%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2h6c1.104%2C0%2C2-0.896%2C2-2V5V2C10%2C0.896%2C9.104%2C0%2C8%2C0z%20%20M10%2C5l4%2C4V1L10%2C5z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-action:after,.ui-alt-icon .ui-icon-action:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M9%2C5v3l5-4L9%2C0v3c0%2C0-5%2C0-5%2C7C6%2C5%2C9%2C5%2C9%2C5z%20M11%2C12H2V5h1l2-2H0v11h13V7l-2%2C2V12z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-alert:after,.ui-alt-icon .ui-icon-alert:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0L0%2C12h14L7%2C0z%20M7%2C11c-0.553%2C0-1-0.447-1-1s0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1S7.553%2C11%2C7%2C11z%20M7%2C8C6.447%2C8%2C6%2C7.553%2C6%2C7V5%20c0-0.553%2C0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1v2C8%2C7.553%2C7.553%2C8%2C7%2C8z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-d:after,.ui-alt-icon .ui-icon-arrow-d:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%229%2C7%209%2C0%205%2C0%205%2C7%200%2C7%207%2C14%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-d-l:after,.ui-alt-icon .ui-icon-arrow-d-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C3%2011%2C0%203.5%2C7.5%200%2C4%200%2C14%2010%2C14%206.5%2C10.5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-d-r:after,.ui-alt-icon .ui-icon-arrow-d-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2210.5%2C7.5%203%2C0%200%2C3%207.5%2C10.5%204%2C14%2014%2C14%2014%2C4%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-l:after,.ui-alt-icon .ui-icon-arrow-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C5%207%2C0%200%2C7%207%2C14%207%2C9%2014%2C9%2014%2C5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-r:after,.ui-alt-icon .ui-icon-arrow-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C7%207%2C0%207%2C5%200%2C5%200%2C9%207%2C9%207%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-u:after,.ui-alt-icon .ui-icon-arrow-u:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C0%200%2C7%205%2C7%205%2C14%209%2C14%209%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-u-l:after,.ui-alt-icon .ui-icon-arrow-u-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C11%206.5%2C3.5%2010%2C0%200%2C0%200%2C10%203.5%2C6.5%2011%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-u-r:after,.ui-alt-icon .ui-icon-arrow-u-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C0%204%2C0%207.5%2C3.5%200%2C11%203%2C14%2010.5%2C6.5%2014%2C10%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-audio:after,.ui-alt-icon .ui-icon-audio:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.018px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014.018%2014%22%20style%3D%22enable-background%3Anew%200%200%2014.018%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C4C0.447%2C4%2C0%2C4.447%2C0%2C5v4c0%2C0.553%2C0.447%2C1%2C1%2C1h1l4%2C4V0L2%2C4H1z%20M10.346%2C7c0-1.699-1.042-3.154-2.546-3.867L6.982%2C4.68%20C7.885%2C5.107%2C8.51%2C5.98%2C8.51%2C7S7.885%2C8.893%2C6.982%2C9.32L7.8%2C10.867C9.304%2C10.154%2C10.346%2C8.699%2C10.346%2C7z%20M9.447%2C0.017L8.618%2C1.586%20C10.723%2C2.584%2C12.182%2C4.621%2C12.182%2C7s-1.459%2C4.416-3.563%2C5.414l0.829%2C1.569c2.707-1.283%2C4.57-3.925%2C4.57-6.983%20S12.154%2C1.3%2C9.447%2C0.017z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-back:after,.ui-alt-icon .ui-icon-back:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C3V0L1%2C4l4%2C4V5c0%2C0%2C6%2C0%2C6%2C3s-5%2C4-5%2C4v2c0%2C0%2C7-1%2C7-6C13%2C4%2C8%2C3%2C5%2C3z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-bars:after,.ui-alt-icon .ui-icon-bars:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C4h12c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H1C0.447%2C2%2C0%2C2.447%2C0%2C3S0.447%2C4%2C1%2C4z%20M13%2C6H1C0.447%2C6%2C0%2C6.447%2C0%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H1c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1h12%20c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-bullets:after,.ui-alt-icon .ui-icon-bullets:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C4h8c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H5C4.447%2C2%2C4%2C2.447%2C4%2C3S4.447%2C4%2C5%2C4z%20M13%2C6H5C4.447%2C6%2C4%2C6.447%2C4%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H5c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1h8%20c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%20M1%2C2C0.447%2C2%2C0%2C2.447%2C0%2C3s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C2%2C1%2C2z%20M1%2C6C0.447%2C6%2C0%2C6.447%2C0%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1s1-0.447%2C1-1C2%2C6.447%2C1.553%2C6%2C1%2C6z%20M1%2C10c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C10%2C1%2C10z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-calendar:after,.ui-alt-icon .ui-icon-calendar:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M0%2C8h2V6H0V8z%20M3%2C8h2V6H3V8z%20M6%2C8h2V6H6V8z%20M9%2C8h2V6H9V8z%20M12%2C8h2V6h-2V8z%20M0%2C11h2V9H0V11z%20M3%2C11h2V9H3V11z%20M6%2C11h2V9H6V11z%20%20M9%2C11h2V9H9V11z%20M12%2C11h2V9h-2V11z%20M0%2C14h2v-2H0V14z%20M3%2C14h2v-2H3V14z%20M6%2C14h2v-2H6V14z%20M9%2C14h2v-2H9V14z%20M12%2C1%20c0-0.553-0.447-1-1-1s-1%2C0.447-1%2C1H4c0-0.553-0.447-1-1-1S2%2C0.447%2C2%2C1H0v4h14V1H12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-camera:after,.ui-alt-icon .ui-icon-camera:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C2.5H9.908c-0.206-0.581-0.756-1-1.408-1h-3c-0.652%2C0-1.202%2C0.419-1.408%2C1H2c-1.104%2C0-2%2C0.896-2%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2%20h10c1.104%2C0%2C2-0.896%2C2-2v-6C14%2C3.396%2C13.104%2C2.5%2C12%2C2.5z%20M7%2C10.5c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3%20C10%2C9.156%2C8.657%2C10.5%2C7%2C10.5z%20M7%2C5.5c-1.104%2C0-2%2C0.896-2%2C2c0%2C1.104%2C0.896%2C2%2C2%2C2c1.104%2C0%2C2-0.896%2C2-2C9%2C6.396%2C8.104%2C5.5%2C7%2C5.5z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-carat-d:after,.ui-alt-icon .ui-icon-carat-d:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2211.949%2C3.404%207%2C8.354%202.05%2C3.404%20-0.071%2C5.525%207%2C12.596%2014.07%2C5.525%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-carat-l:after,.ui-alt-icon .ui-icon-carat-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2210.596%2C11.949%205.646%2C7%2010.596%2C2.05%208.475%2C-0.071%201.404%2C7%208.475%2C14.07%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-carat-r:after,.ui-alt-icon .ui-icon-carat-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%223.404%2C2.051%208.354%2C7%203.404%2C11.95%205.525%2C14.07%2012.596%2C7%205.525%2C-0.071%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-carat-u:after,.ui-alt-icon .ui-icon-carat-u:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%222.051%2C10.596%207%2C5.646%2011.95%2C10.596%2014.07%2C8.475%207%2C1.404%20-0.071%2C8.475%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-check:after,.ui-alt-icon .ui-icon-check:after,html .ui-alt-icon.ui-btn.ui-checkbox-on:after,html .ui-alt-icon .ui-btn.ui-checkbox-on:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C4%2011%2C1%205.003%2C6.997%203%2C5%200%2C8%204.966%2C13%204.983%2C12.982%205%2C13%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-clock:after,.ui-alt-icon .ui-icon-clock:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C12c-2.762%2C0-5-2.238-5-5s2.238-5%2C5-5s5%2C2.238%2C5%2C5%20S9.762%2C12%2C7%2C12z%20M9%2C6H8V4c0-0.553-0.447-1-1-1S6%2C3.447%2C6%2C4v3c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1S9.553%2C6%2C9%2C6z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-cloud:after,.ui-alt-icon .ui-icon-cloud:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M14%2C9.5c0-0.793-0.465-1.473-1.134-1.795C12.949%2C7.484%2C13%2C7.249%2C13%2C7c0-1.104-0.896-2-2-2c-0.158%2C0-0.311%2C0.023-0.457%2C0.058%20C9.816%2C3.549%2C8.286%2C2.5%2C6.5%2C2.5c-2.33%2C0-4.224%2C1.777-4.454%2C4.046C0.883%2C6.76%2C0%2C7.773%2C0%2C9c0%2C1.381%2C1.119%2C2.5%2C2.5%2C2.5h10v-0.07%20C13.361%2C11.206%2C14%2C10.432%2C14%2C9.5z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-comment:after,.ui-alt-icon .ui-icon-comment:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v7c0%2C1.104%2C0.896%2C2%2C2%2C2h1v3l3-3h6c1.104%2C0%2C2-0.896%2C2-2V2C14%2C0.896%2C13.104%2C0%2C12%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-delete:after,.ui-alt-icon .ui-icon-delete:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C3%2011%2C0%207%2C4%203%2C0%200%2C3%204%2C7%200%2C11%203%2C14%207%2C10%2011%2C14%2014%2C11%2010%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-edit:after,.ui-alt-icon .ui-icon-edit:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C10l-1%2C4l4-1l7-7L8%2C3L1%2C10z%20M11%2C0L9%2C2l3%2C3l2-2L11%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-eye:after,.ui-alt-icon .ui-icon-eye:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C2C3%2C2%2C0%2C7%2C0%2C7s3%2C5%2C7%2C5s7-5%2C7-5S11%2C2%2C7%2C2z%20M7%2C10c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3%20C10%2C8.656%2C8.657%2C10%2C7%2C10z%20M7%2C6C6.448%2C6%2C6%2C6.447%2C6%2C7c0%2C0.553%2C0.448%2C1%2C1%2C1s1-0.447%2C1-1C8%2C6.447%2C7.552%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-forbidden:after,.ui-alt-icon .ui-icon-forbidden:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12.601%2C11.187C13.476%2C10.018%2C14%2C8.572%2C14%2C7c0-3.866-3.134-7-7-7C5.428%2C0%2C3.982%2C0.524%2C2.813%2C1.399L2.757%2C1.343L2.053%2C2.048%20L2.048%2C2.053L1.343%2C2.758l0.056%2C0.056C0.524%2C3.982%2C0%2C5.428%2C0%2C7c0%2C3.866%2C3.134%2C7%2C7%2C7c1.572%2C0%2C3.018-0.524%2C4.187-1.399l0.056%2C0.057%20l0.705-0.705l0.005-0.005l0.705-0.705L12.601%2C11.187z%20M7%2C2c2.761%2C0%2C5%2C2.238%2C5%2C5c0%2C1.019-0.308%2C1.964-0.832%2C2.754L4.246%2C2.832%20C5.036%2C2.308%2C5.981%2C2%2C7%2C2z%20M7%2C12c-2.761%2C0-5-2.238-5-5c0-1.019%2C0.308-1.964%2C0.832-2.754l6.922%2C6.922C8.964%2C11.692%2C8.019%2C12%2C7%2C12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-forward:after,.ui-alt-icon .ui-icon-forward:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M13%2C4L9%2C0v3C6%2C3%2C1%2C4%2C1%2C8c0%2C5%2C7%2C6%2C7%2C6v-2c0%2C0-5-1-5-4s6-3%2C6-3v3L13%2C4z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-gear:after,.ui-alt-icon .ui-icon-gear:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M13.621%2C5.904l-1.036-0.259c-0.168-0.042-0.303-0.168-0.355-0.332c-0.092-0.284-0.205-0.559-0.339-0.82%20c-0.079-0.153-0.073-0.337%2C0.017-0.486l0.549-0.915c0.118-0.196%2C0.088-0.448-0.075-0.61l-0.862-0.863%20c-0.162-0.163-0.414-0.193-0.611-0.075l-0.916%2C0.55C9.844%2C2.182%2C9.659%2C2.188%2C9.506%2C2.109C9.244%2C1.975%2C8.97%2C1.861%2C8.686%2C1.77%20c-0.165-0.052-0.29-0.187-0.332-0.354L8.095%2C0.379C8.039%2C0.156%2C7.839%2C0%2C7.609%2C0H6.391c-0.229%2C0-0.43%2C0.156-0.485%2C0.379L5.646%2C1.415%20C5.604%2C1.582%2C5.479%2C1.718%2C5.313%2C1.77c-0.284%2C0.092-0.559%2C0.206-0.82%2C0.34C4.339%2C2.188%2C4.155%2C2.182%2C4.007%2C2.093L3.092%2C1.544%20c-0.196-0.118-0.448-0.087-0.61%2C0.075L1.619%2C2.481C1.457%2C2.644%2C1.426%2C2.896%2C1.544%2C3.093l0.549%2C0.914%20c0.089%2C0.148%2C0.095%2C0.332%2C0.017%2C0.486C1.975%2C4.755%2C1.861%2C5.029%2C1.77%2C5.314c-0.053%2C0.164-0.188%2C0.29-0.354%2C0.332L0.379%2C5.905%20C0.156%2C5.961%2C0%2C6.161%2C0%2C6.391v1.219c0%2C0.229%2C0.156%2C0.43%2C0.379%2C0.485l1.036%2C0.26C1.582%2C8.396%2C1.717%2C8.521%2C1.77%2C8.687%20c0.092%2C0.284%2C0.205%2C0.559%2C0.34%2C0.82C2.188%2C9.66%2C2.182%2C9.844%2C2.093%2C9.993l-0.549%2C0.915c-0.118%2C0.195-0.087%2C0.448%2C0.075%2C0.61%20l0.862%2C0.862c0.162%2C0.163%2C0.414%2C0.193%2C0.61%2C0.075l0.915-0.549c0.148-0.089%2C0.332-0.095%2C0.486-0.017%20c0.262%2C0.135%2C0.536%2C0.248%2C0.82%2C0.34c0.165%2C0.053%2C0.291%2C0.187%2C0.332%2C0.354l0.259%2C1.036C5.96%2C13.844%2C6.16%2C14%2C6.39%2C14h1.22%20c0.229%2C0%2C0.43-0.156%2C0.485-0.379l0.259-1.036c0.042-0.167%2C0.168-0.302%2C0.333-0.354c0.284-0.092%2C0.559-0.205%2C0.82-0.34%20c0.154-0.078%2C0.338-0.072%2C0.486%2C0.017l0.914%2C0.549c0.197%2C0.118%2C0.449%2C0.088%2C0.611-0.074l0.862-0.863%20c0.163-0.162%2C0.193-0.415%2C0.075-0.611l-0.549-0.915c-0.089-0.148-0.096-0.332-0.017-0.485c0.134-0.263%2C0.248-0.536%2C0.339-0.82%20c0.053-0.165%2C0.188-0.291%2C0.355-0.333l1.036-0.259C13.844%2C8.039%2C14%2C7.839%2C14%2C7.609V6.39C14%2C6.16%2C13.844%2C5.96%2C13.621%2C5.904z%20M7%2C10%20c-1.657%2C0-3-1.343-3-3s1.343-3%2C3-3s3%2C1.343%2C3%2C3S8.657%2C10%2C7%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-grid:after,.ui-alt-icon .ui-icon-grid:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M3%2C0H1C0.447%2C0%2C0%2C0.447%2C0%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C4%2C0.447%2C3.553%2C0%2C3%2C0z%20M8%2C0H6%20C5.447%2C0%2C5%2C0.447%2C5%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C9%2C0.447%2C8.553%2C0%2C8%2C0z%20M13%2C0h-2c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C14%2C0.447%2C13.553%2C0%2C13%2C0z%20M3%2C5H1C0.447%2C5%2C0%2C5.447%2C0%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1V6C4%2C5.447%2C3.553%2C5%2C3%2C5z%20M8%2C5H6C5.447%2C5%2C5%2C5.447%2C5%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6%20C9%2C5.447%2C8.553%2C5%2C8%2C5z%20M13%2C5h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6C14%2C5.447%2C13.553%2C5%2C13%2C5z%20M3%2C10%20H1c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C4%2C10.447%2C3.553%2C10%2C3%2C10z%20M8%2C10H6c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C9%2C10.447%2C8.553%2C10%2C8%2C10z%20M13%2C10h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1v-2C14%2C10.447%2C13.553%2C10%2C13%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-heart:after,.ui-alt-icon .ui-icon-heart:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C1.958c-2-3-7-2.128-7%2C1.872c0%2C3%2C4%2C7%2C4%2C7s2.417%2C2.48%2C3%2C3c0.583-0.52%2C3-3%2C3-3s4-4%2C4-7C14-0.169%2C9-1.042%2C7%2C1.958z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-home:after,.ui-alt-icon .ui-icon-home:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C0%200%2C7%202%2C7%202%2C14%205%2C14%205%2C9%209%2C9%209%2C14%2012%2C14%2012%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-info:after,.ui-alt-icon .ui-icon-info:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C2c0.552%2C0%2C1%2C0.447%2C1%2C1S7.552%2C4%2C7%2C4S6%2C3.553%2C6%2C3%20S6.448%2C2%2C7%2C2z%20M9%2C11H5v-1h1V6H5V5h3v5h1V11z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-location:after,.ui-alt-icon .ui-icon-location:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C4.791%2C0%2C3%2C1.791%2C3%2C4c0%2C2%2C4%2C10%2C4%2C10s4-8%2C4-10C11%2C1.791%2C9.209%2C0%2C7%2C0z%20M7%2C6C5.896%2C6%2C5%2C5.104%2C5%2C4s0.896-2%2C2-2%20c1.104%2C0%2C2%2C0.896%2C2%2C2S8.104%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-lock:after,.ui-alt-icon .ui-icon-lock:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C6V5c0-2.762-2.238-5-5-5C4.239%2C0%2C2%2C2.238%2C2%2C5v1H1v8h12V6H12z%20M7.5%2C9.848V12h-1V9.848C6.207%2C9.673%2C6%2C9.366%2C6%2C9%20c0-0.553%2C0.448-1%2C1-1s1%2C0.447%2C1%2C1C8%2C9.366%2C7.793%2C9.673%2C7.5%2C9.848z%20M10%2C6H4V5c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3V6z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-mail:after,.ui-alt-icon .ui-icon-mail:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M0%2C3.75V12h14V3.75L7%2C9L0%2C3.75z%20M14%2C2H0l7%2C5L14%2C2z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-minus:after,.ui-alt-icon .ui-icon-minus:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20y%3D%225%22%20width%3D%2214%22%20height%3D%224%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-navigation:after,.ui-alt-icon .ui-icon-navigation:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2213%2C1%200%2C6%207%2C7%208%2C14%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-phone:after,.ui-alt-icon .ui-icon-phone:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M6.949%2C9.182C6.175%2C8.549%2C5.281%2C7.697%2C4.507%2C6.736C3.963%2C6.063%2C3.483%2C5.355%2C3.979%2C4.858l-3.482-3.48%20c-0.508%2C0.634-1.633%2C3.654%2C3.188%2C8.598c5.08%2C5.211%2C8.356%2C4.097%2C8.92%2C3.511l-3.396-3.399C8.734%2C10.561%2C8.123%2C10.139%2C6.949%2C9.182z%20%20M13.83%2C11.512v-0.004c0%2C0-2.648-2.646-2.649-2.647c-0.21-0.212-0.546-0.205-0.754%2C0.002L9.465%2C9.823l3.402%2C3.407%20c0%2C0%2C0.963-0.961%2C0.961-0.961l0.002-0.002C14.053%2C12.049%2C14.031%2C11.713%2C13.83%2C11.512z%20M5.202%2C3.636V3.634%20c0.222-0.222%2C0.2-0.557%2C0-0.758V2.873c0%2C0-2.726-2.725-2.727-2.726c-0.21-0.21-0.545-0.205-0.753%2C0.001L0.761%2C1.113L4.24%2C4.595%20C4.241%2C4.596%2C5.202%2C3.637%2C5.202%2C3.636z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-plus:after,.ui-alt-icon .ui-icon-plus:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C5%209%2C5%209%2C0%205%2C0%205%2C5%200%2C5%200%2C9%205%2C9%205%2C14%209%2C14%209%2C9%2014%2C9%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-power:after,.ui-alt-icon .ui-icon-power:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M11.243%2C2.408c-0.392-0.401-1.024-0.401-1.415%2C0c-0.391%2C0.401-0.391%2C1.054%2C0%2C1.455C10.584%2C4.642%2C11%2C5.675%2C11%2C6.773%20s-0.416%2C2.133-1.172%2C2.91c-1.512%2C1.558-4.145%2C1.558-5.656%2C0C3.416%2C8.904%2C3%2C7.872%2C3%2C6.773C3%2C5.673%2C3.416%2C4.64%2C4.172%2C3.863%20c0.39-0.401%2C0.39-1.054%2C0-1.455c-0.391-0.401-1.024-0.401-1.415%2C0C1.624%2C3.574%2C1%2C5.125%2C1%2C6.773c0%2C1.647%2C0.624%2C3.199%2C1.757%2C4.365%20c1.134%2C1.166%2C2.64%2C1.809%2C4.243%2C1.809c1.604%2C0%2C3.109-0.645%2C4.243-1.811C12.376%2C9.975%2C13%2C8.423%2C13%2C6.773%20C13%2C5.125%2C12.376%2C3.574%2C11.243%2C2.408z%20M7%2C8.053c0.553%2C0%2C1-0.445%2C1-1v-6c0-0.553-0.447-1-1-1c-0.553%2C0-1%2C0.447-1%2C1v6%20C6%2C7.604%2C6.447%2C8.053%2C7%2C8.053z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-recycle:after,.ui-alt-icon .ui-icon-recycle:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M3%2C7h1L2%2C4L0%2C7h1c0%2C3.313%2C2.687%2C6%2C6%2C6c0.702%2C0%2C1.374-0.127%2C2-0.35v-2.205C8.41%2C10.789%2C7.732%2C11%2C7%2C11C4.791%2C11%2C3%2C9.209%2C3%2C7z%20%20M13%2C7c0-3.313-2.688-6-6-6C6.298%2C1%2C5.626%2C1.127%2C5%2C1.349v2.206C5.59%2C3.211%2C6.268%2C3%2C7%2C3c2.209%2C0%2C4%2C1.791%2C4%2C4h-1l2%2C3l2-3H13z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-refresh:after,.ui-alt-icon .ui-icon-refresh:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.001px%22%20height%3D%2214.002px%22%20viewBox%3D%220%200%2014.001%2014.002%22%20style%3D%22enable-background%3Anew%200%200%2014.001%2014.002%3B%22%20%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M14.001%2C6.001v-6l-2.06%2C2.06c-0.423-0.424-0.897-0.809-1.44-1.122C7.153-0.994%2C2.872%2C0.153%2C0.939%2C3.501%20c-1.933%2C3.348-0.786%2C7.629%2C2.562%2C9.562c3.348%2C1.933%2C7.629%2C0.785%2C9.562-2.562l-1.732-1c-1.381%2C2.392-4.438%2C3.211-6.83%2C1.83%20s-3.211-4.438-1.83-6.83s4.438-3.211%2C6.83-1.83c0.389%2C0.225%2C0.718%2C0.506%2C1.02%2C0.81l-2.52%2C2.52H14.001z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-search:after,.ui-alt-icon .ui-icon-search:after,.ui-input-search:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M10.171%2C8.766c0.617-0.888%2C0.979-1.964%2C0.979-3.126c0-3.037-2.463-5.5-5.5-5.5s-5.5%2C2.463-5.5%2C5.5s2.463%2C5.5%2C5.5%2C5.5%20c1.152%2C0%2C2.223-0.355%2C3.104-0.962l3.684%2C3.683l1.414-1.414L10.171%2C8.766z%20M5.649%2C9.14c-1.933%2C0-3.5-1.567-3.5-3.5%20c0-1.933%2C1.567-3.5%2C3.5-3.5c1.933%2C0%2C3.5%2C1.567%2C3.5%2C3.5C9.149%2C7.572%2C7.582%2C9.14%2C5.649%2C9.14z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-shop:after,.ui-alt-icon .ui-icon-shop:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M10%2C4V3c0-1.657-1.343-3-3-3S4%2C1.343%2C4%2C3v1H1v10h12V4H10z%20M4.5%2C6C4.224%2C6%2C4%2C5.776%2C4%2C5.5S4.224%2C5%2C4.5%2C5S5%2C5.224%2C5%2C5.5%20S4.776%2C6%2C4.5%2C6z%20M5%2C3c0-1.104%2C0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2v1H5V3z%20M9.5%2C6C9.225%2C6%2C9%2C5.776%2C9%2C5.5S9.225%2C5%2C9.5%2C5S10%2C5.224%2C10%2C5.5%20S9.775%2C6%2C9.5%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-star:after,.ui-alt-icon .ui-icon-star:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C5%209%2C5%207%2C0%205%2C5%200%2C5%204%2C8%202.625%2C13%207%2C10%2011.375%2C13%2010%2C8%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-tag:after,.ui-alt-icon .ui-icon-tag:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C0H0v5l9%2C9l5-5L5%2C0z%20M3%2C4C2.447%2C4%2C2%2C3.553%2C2%2C3s0.447-1%2C1-1s1%2C0.447%2C1%2C1S3.553%2C4%2C3%2C4z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-user:after,.ui-alt-icon .ui-icon-user:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M8.851%2C10.101c-0.18-0.399-0.2-0.763-0.153-1.104C9.383%2C8.49%2C9.738%2C7.621%2C9.891%2C6.465C10.493%2C6.355%2C10.5%2C5.967%2C10.5%2C5.5%20c0-0.437-0.008-0.804-0.502-0.94C9.999%2C4.539%2C10%2C4.521%2C10%2C4.5c0-2.103-1-4-2-4C8%2C0.5%2C7.5%2C0%2C6.5%2C0C5%2C0%2C4%2C1.877%2C4%2C4.5%20c0%2C0.021%2C0.001%2C0.039%2C0.002%2C0.06C3.508%2C4.696%2C3.5%2C5.063%2C3.5%2C5.5c0%2C0.467%2C0.007%2C0.855%2C0.609%2C0.965%20C4.262%2C7.621%2C4.617%2C8.49%2C5.303%2C8.997c0.047%2C0.341%2C0.026%2C0.704-0.153%2C1.104C1.503%2C10.503%2C0%2C12%2C0%2C12v2h14v-2%20C14%2C12%2C12.497%2C10.503%2C8.851%2C10.101z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-video:after,.ui-alt-icon .ui-icon-video:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%20-2%2014%2014%22%20style%3D%22enable-background%3Anew%200%20-2%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M8%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2h6c1.104%2C0%2C2-0.896%2C2-2V5V2C10%2C0.896%2C9.104%2C0%2C8%2C0z%20M10%2C5l4%2C4V1L10%2C5z%22%2F%3E%3C%2Fsvg%3E")}html{font-size:100%}body,input,select,textarea,button,.ui-btn{font-size:1em;line-height:1.3;font-family:sans-serif}legend,.ui-input-text input,.ui-input-search input{color:inherit;text-shadow:inherit}.ui-mobile label,div.ui-controlgroup-label{font-weight:400;font-size:16px}.ui-field-contain{border-bottom-color:#828282;border-bottom-color:rgba(0,0,0,.15);border-bottom-width:1px;border-bottom-style:solid}.table-stroke thead th,.table-stripe thead th,.table-stripe tbody tr:last-child{border-bottom:1px solid #d6d6d6;border-bottom:1px solid rgba(0,0,0,.1)}.table-stroke tbody th,.table-stroke tbody td{border-bottom:1px solid #e6e6e6;border-bottom:1px solid rgba(0,0,0,.05)}.table-stripe.table-stroke tbody tr:last-child th,.table-stripe.table-stroke tbody tr:last-child td{border-bottom:0}.table-stripe tbody tr:nth-child(odd) td,.table-stripe tbody tr:nth-child(odd) th{background-color:#eee;background-color:rgba(0,0,0,.04)}.ui-btn,label.ui-btn{font-weight:700;border-width:1px;border-style:solid}.ui-btn{text-decoration:none!important}.ui-btn-active{cursor:pointer}.ui-corner-all{-webkit-border-radius:.3125em;border-radius:.3125em}.ui-btn-corner-all,.ui-btn.ui-corner-all,.ui-slider-track.ui-corner-all,.ui-flipswitch.ui-corner-all,.ui-li-count{-webkit-border-radius:.3125em;border-radius:.3125em}.ui-btn-icon-notext.ui-btn-corner-all,.ui-btn-icon-notext.ui-corner-all{-webkit-border-radius:1em;border-radius:1em}.ui-btn-corner-all,.ui-corner-all{-webkit-background-clip:padding;background-clip:padding-box}.ui-popup.ui-corner-all>.ui-popup-arrow-guide{left:.6em;right:.6em;top:.6em;bottom:.6em}.ui-shadow{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.15);-moz-box-shadow:0 1px 3px rgba(0,0,0,.15);box-shadow:0 1px 3px rgba(0,0,0,.15)}.ui-shadow-inset{-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.2);-moz-box-shadow:inset 0 1px 3px rgba(0,0,0,.2);box-shadow:inset 0 1px 3px rgba(0,0,0,.2)}.ui-overlay-shadow{-webkit-box-shadow:0 0 12px rgba(0,0,0,.6);-moz-box-shadow:0 0 12px rgba(0,0,0,.6);box-shadow:0 0 12px rgba(0,0,0,.6)}.ui-btn-icon-left:after,.ui-btn-icon-right:after,.ui-btn-icon-top:after,.ui-btn-icon-bottom:after,.ui-btn-icon-notext:after{background-color:#666;background-color:rgba(0,0,0,.3);background-position:center center;background-repeat:no-repeat;-webkit-border-radius:1em;border-radius:1em}.ui-alt-icon.ui-btn:after,.ui-alt-icon .ui-btn:after,html .ui-alt-icon.ui-checkbox-off:after,html .ui-alt-icon.ui-radio-off:after,html .ui-alt-icon .ui-checkbox-off:after,html .ui-alt-icon .ui-radio-off:after{background-color:#666;background-color:rgba(0,0,0,.15)}.ui-nodisc-icon.ui-btn:after,.ui-nodisc-icon .ui-btn:after{background-color:transparent}.ui-shadow-icon.ui-btn:after,.ui-shadow-icon .ui-btn:after{-webkit-box-shadow:0 1px 0 rgba(255,255,255,.3);-moz-box-shadow:0 1px 0 rgba(255,255,255,.3);box-shadow:0 1px 0 rgba(255,255,255,.3)}.ui-btn.ui-checkbox-off:after,.ui-btn.ui-checkbox-on:after,.ui-btn.ui-radio-off:after,.ui-btn.ui-radio-on:after{display:block;width:18px;height:18px;margin:-9px 2px 0 2px}.ui-checkbox-off:after,.ui-btn.ui-radio-off:after{filter:Alpha(Opacity=30);opacity:.3}.ui-btn.ui-checkbox-off:after,.ui-btn.ui-checkbox-on:after{-webkit-border-radius:.1875em;border-radius:.1875em}.ui-btn.ui-checkbox-off:after{background-color:#666;background-color:rgba(0,0,0,.3)}.ui-radio .ui-btn.ui-radio-on:after{background-image:none;background-color:#fff;width:8px;height:8px;border-width:5px;border-style:solid}.ui-alt-icon.ui-btn.ui-radio-on:after,.ui-alt-icon .ui-btn.ui-radio-on:after{background-color:#000}.ui-icon-loading{background:url(images/ajax-loader.gif);background-size:2.875em 2.875em}.ui-bar-a,.ui-page-theme-a .ui-bar-inherit,html .ui-bar-a .ui-bar-inherit,html .ui-body-a .ui-bar-inherit,html body .ui-group-theme-a .ui-bar-inherit{background-color:#e9e9e9;border-color:#ddd;color:#333;text-shadow:0 1px 0 #eee;font-weight:700}.ui-bar-a{border-width:1px;border-style:solid}.ui-overlay-a,.ui-page-theme-a,.ui-page-theme-a .ui-panel-wrapper{background-color:#f9f9f9;border-color:#bbb;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-body-a,.ui-page-theme-a .ui-body-inherit,html .ui-bar-a .ui-body-inherit,html .ui-body-a .ui-body-inherit,html body .ui-group-theme-a .ui-body-inherit,html .ui-panel-page-container-a{background-color:#fff;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-body-a{border-width:1px;border-style:solid}.ui-page-theme-a a,html .ui-bar-a a,html .ui-body-a a,html body .ui-group-theme-a a{color:#38c;font-weight:700}.ui-page-theme-a a:visited,html .ui-bar-a a:visited,html .ui-body-a a:visited,html body .ui-group-theme-a a:visited{color:#38c}.ui-page-theme-a a:hover,html .ui-bar-a a:hover,html .ui-body-a a:hover,html body .ui-group-theme-a a:hover{color:#059}.ui-page-theme-a a:active,html .ui-bar-a a:active,html .ui-body-a a:active,html body .ui-group-theme-a a:active{color:#059}.ui-page-theme-a .ui-btn,html .ui-bar-a .ui-btn,html .ui-body-a .ui-btn,html body .ui-group-theme-a .ui-btn,html head+body .ui-btn.ui-btn-a,.ui-page-theme-a .ui-btn:visited,html .ui-bar-a .ui-btn:visited,html .ui-body-a .ui-btn:visited,html body .ui-group-theme-a .ui-btn:visited,html head+body .ui-btn.ui-btn-a:visited{background-color:#f6f6f6;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-page-theme-a .ui-btn:hover,html .ui-bar-a .ui-btn:hover,html .ui-body-a .ui-btn:hover,html body .ui-group-theme-a .ui-btn:hover,html head+body .ui-btn.ui-btn-a:hover{background-color:#ededed;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-page-theme-a .ui-btn:active,html .ui-bar-a .ui-btn:active,html .ui-body-a .ui-btn:active,html body .ui-group-theme-a .ui-btn:active,html head+body .ui-btn.ui-btn-a:active{background-color:#e8e8e8;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-page-theme-a .ui-btn.ui-btn-active,html .ui-bar-a .ui-btn.ui-btn-active,html .ui-body-a .ui-btn.ui-btn-active,html body .ui-group-theme-a .ui-btn.ui-btn-active,html head+body .ui-btn.ui-btn-a.ui-btn-active,.ui-page-theme-a .ui-checkbox-on:after,html .ui-bar-a .ui-checkbox-on:after,html .ui-body-a .ui-checkbox-on:after,html body .ui-group-theme-a .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-a:after,.ui-page-theme-a .ui-flipswitch-active,html .ui-bar-a .ui-flipswitch-active,html .ui-body-a .ui-flipswitch-active,html body .ui-group-theme-a .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-a.ui-flipswitch-active,.ui-page-theme-a .ui-slider-track .ui-btn-active,html .ui-bar-a .ui-slider-track .ui-btn-active,html .ui-body-a .ui-slider-track .ui-btn-active,html body .ui-group-theme-a .ui-slider-track .ui-btn-active,html body div.ui-slider-track.ui-body-a .ui-btn-active{background-color:#38c;border-color:#38c;color:#fff;text-shadow:0 1px 0 #059}.ui-page-theme-a .ui-radio-on:after,html .ui-bar-a .ui-radio-on:after,html .ui-body-a .ui-radio-on:after,html body .ui-group-theme-a .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-a:after{border-color:#38c}.ui-page-theme-a .ui-btn:focus,html .ui-bar-a .ui-btn:focus,html .ui-body-a .ui-btn:focus,html body .ui-group-theme-a .ui-btn:focus,html head+body .ui-btn.ui-btn-a:focus,.ui-page-theme-a .ui-focus,html .ui-bar-a .ui-focus,html .ui-body-a .ui-focus,html body .ui-group-theme-a .ui-focus,html head+body .ui-btn-a.ui-focus,html head+body .ui-body-a.ui-focus{-webkit-box-shadow:0 0 12px #38c;-moz-box-shadow:0 0 12px #38c;box-shadow:0 0 12px #38c}.ui-bar-b,.ui-page-theme-b .ui-bar-inherit,html .ui-bar-b .ui-bar-inherit,html .ui-body-b .ui-bar-inherit,html body .ui-group-theme-b .ui-bar-inherit{background-color:#1d1d1d;border-color:#1b1b1b;color:#fff;text-shadow:0 1px 0 #111;font-weight:700}.ui-bar-b{border-width:1px;border-style:solid}.ui-overlay-b,.ui-page-theme-b,.ui-page-theme-b .ui-panel-wrapper{background-color:#252525;border-color:#454545;color:#fff;text-shadow:0 1px 0 #111}.ui-body-b,.ui-page-theme-b .ui-body-inherit,html .ui-bar-b .ui-body-inherit,html .ui-body-b .ui-body-inherit,html body .ui-group-theme-b .ui-body-inherit,html .ui-panel-page-container-b{background-color:#2a2a2a;border-color:#1d1d1d;color:#fff;text-shadow:0 1px 0 #111}.ui-body-b{border-width:1px;border-style:solid}.ui-page-theme-b a,html .ui-bar-b a,html .ui-body-b a,html body .ui-group-theme-b a{color:#2ad;font-weight:700}.ui-page-theme-b a:visited,html .ui-bar-b a:visited,html .ui-body-b a:visited,html body .ui-group-theme-b a:visited{color:#2ad}.ui-page-theme-b a:hover,html .ui-bar-b a:hover,html .ui-body-b a:hover,html body .ui-group-theme-b a:hover{color:#08b}.ui-page-theme-b a:active,html .ui-bar-b a:active,html .ui-body-b a:active,html body .ui-group-theme-b a:active{color:#08b}.ui-page-theme-b .ui-btn,html .ui-bar-b .ui-btn,html .ui-body-b .ui-btn,html body .ui-group-theme-b .ui-btn,html head+body .ui-btn.ui-btn-b,.ui-page-theme-b .ui-btn:visited,html .ui-bar-b .ui-btn:visited,html .ui-body-b .ui-btn:visited,html body .ui-group-theme-b .ui-btn:visited,html head+body .ui-btn.ui-btn-b:visited{background-color:#333;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111}.ui-page-theme-b .ui-btn:hover,html .ui-bar-b .ui-btn:hover,html .ui-body-b .ui-btn:hover,html body .ui-group-theme-b .ui-btn:hover,html head+body .ui-btn.ui-btn-b:hover{background-color:#373737;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111}.ui-page-theme-b .ui-btn:active,html .ui-bar-b .ui-btn:active,html .ui-body-b .ui-btn:active,html body .ui-group-theme-b .ui-btn:active,html head+body .ui-btn.ui-btn-b:active{background-color:#404040;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111}.ui-page-theme-b .ui-btn.ui-btn-active,html .ui-bar-b .ui-btn.ui-btn-active,html .ui-body-b .ui-btn.ui-btn-active,html body .ui-group-theme-b .ui-btn.ui-btn-active,html head+body .ui-btn.ui-btn-b.ui-btn-active,.ui-page-theme-b .ui-checkbox-on:after,html .ui-bar-b .ui-checkbox-on:after,html .ui-body-b .ui-checkbox-on:after,html body .ui-group-theme-b .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-b:after,.ui-page-theme-b .ui-flipswitch-active,html .ui-bar-b .ui-flipswitch-active,html .ui-body-b .ui-flipswitch-active,html body .ui-group-theme-b .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-b.ui-flipswitch-active,.ui-page-theme-b .ui-slider-track .ui-btn-active,html .ui-bar-b .ui-slider-track .ui-btn-active,html .ui-body-b .ui-slider-track .ui-btn-active,html body .ui-group-theme-b .ui-slider-track .ui-btn-active,html body div.ui-slider-track.ui-body-b .ui-btn-active{background-color:#2ad;border-color:#2ad;color:#fff;text-shadow:0 1px 0 #08b}.ui-page-theme-b .ui-radio-on:after,html .ui-bar-b .ui-radio-on:after,html .ui-body-b .ui-radio-on:after,html body .ui-group-theme-b .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-b:after{border-color:#2ad}.ui-page-theme-b .ui-btn:focus,html .ui-bar-b .ui-btn:focus,html .ui-body-b .ui-btn:focus,html body .ui-group-theme-b .ui-btn:focus,html head+body .ui-btn.ui-btn-b:focus,.ui-page-theme-b .ui-focus,html .ui-bar-b .ui-focus,html .ui-body-b .ui-focus,html body .ui-group-theme-b .ui-focus,html head+body .ui-btn-b.ui-focus,html head+body .ui-body-b.ui-focus{-webkit-box-shadow:0 0 12px #2ad;-moz-box-shadow:0 0 12px #2ad;box-shadow:0 0 12px #2ad}.ui-disabled,.ui-state-disabled,button[disabled],.ui-select .ui-btn.ui-state-disabled{filter:Alpha(Opacity=30);opacity:.3;cursor:default!important;pointer-events:none}.ui-btn:focus,.ui-btn.ui-focus{outline:0}.ui-noboxshadow .ui-shadow,.ui-noboxshadow .ui-shadow-inset,.ui-noboxshadow .ui-overlay-shadow,.ui-noboxshadow .ui-shadow-icon.ui-btn:after,.ui-noboxshadow .ui-shadow-icon .ui-btn:after,.ui-noboxshadow .ui-focus,.ui-noboxshadow .ui-btn:focus,.ui-noboxshadow input:focus,.ui-noboxshadow .ui-panel{-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important}.ui-noboxshadow .ui-btn:focus,.ui-noboxshadow .ui-focus{outline-width:1px;outline-style:auto}.ui-mobile,.ui-mobile body{height:99.9%}.ui-mobile fieldset,.ui-page{padding:0;margin:0}.ui-mobile a img,.ui-mobile fieldset{border-width:0}.ui-mobile fieldset{min-width:0}@-moz-document url-prefix(){.ui-mobile fieldset{display:table-column;vertical-align:middle}}.ui-mobile-viewport{margin:0;overflow-x:visible;-webkit-text-size-adjust:100%;-ms-text-size-adjust:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}body.ui-mobile-viewport,div.ui-mobile-viewport{overflow-x:hidden}.ui-mobile [data-role=page],.ui-mobile [data-role=dialog],.ui-page{top:0;left:0;width:100%;min-height:100%;position:absolute;display:none;border:0}.ui-page{outline:0}.ui-mobile .ui-page-active{display:block;overflow:visible;overflow-x:hidden}@media screen and (orientation:portrait){.ui-mobile .ui-page{min-height:420px}}@media screen and (orientation:landscape){.ui-mobile .ui-page{min-height:300px}}.ui-mobile-rendering>*{visibility:hidden}.ui-nojs{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-loading .ui-loader{display:block}.ui-loader{display:none;z-index:9999999;position:fixed;top:50%;left:50%;border:0}.ui-loader-default{background:0;filter:Alpha(Opacity=18);opacity:.18;width:2.875em;height:2.875em;margin-left:-1.4375em;margin-top:-1.4375em}.ui-loader-verbose{width:12.5em;filter:Alpha(Opacity=88);opacity:.88;box-shadow:0 1px 1px -1px #fff;height:auto;margin-left:-6.875em;margin-top:-2.6875em;padding:.625em}.ui-loader-default h1{font-size:0;width:0;height:0;overflow:hidden}.ui-loader-verbose h1{font-size:1em;margin:0;text-align:center}.ui-loader .ui-icon-loading{background-color:#000;display:block;margin:0;width:2.75em;height:2.75em;padding:.0625em;-webkit-border-radius:2.25em;border-radius:2.25em}.ui-loader-verbose .ui-icon-loading{margin:0 auto .625em;filter:Alpha(Opacity=75);opacity:.75}.ui-loader-textonly{padding:.9375em;margin-left:-7.1875em}.ui-loader-textonly .ui-icon-loading{display:none}.ui-loader-fakefix{position:absolute}.ui-bar,.ui-body{position:relative;padding:.4em 1em;overflow:hidden;display:block;clear:both}.ui-bar h1,.ui-bar h2,.ui-bar h3,.ui-bar h4,.ui-bar h5,.ui-bar h6{margin:0;padding:0;font-size:1em;display:inline-block}.ui-header,.ui-footer{border-width:1px 0;border-style:solid;position:relative}.ui-header:empty,.ui-footer:empty{min-height:2.6875em}.ui-header .ui-title,.ui-footer .ui-title{font-size:1em;min-height:1.1em;text-align:center;display:block;margin:0 30%;padding:.7em 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;outline:0!important}.ui-footer .ui-title{margin:0 1em}.ui-content{border-width:0;overflow:visible;overflow-x:hidden;padding:1em}.ui-corner-all>.ui-header:first-child,.ui-corner-all>.ui-content:first-child,.ui-corner-all>.ui-footer:first-child{-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit;-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit}.ui-corner-all>.ui-header:last-child,.ui-corner-all>.ui-content:last-child,.ui-corner-all>.ui-footer:last-child{-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-btn{font-size:16px;margin:.5em 0;padding:.7em 1em;display:block;position:relative;text-align:center;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui-btn-icon-notext,.ui-header button.ui-btn.ui-btn-icon-notext,.ui-footer button.ui-btn.ui-btn-icon-notext{padding:0;width:1.75em;height:1.75em;text-indent:-9999px;white-space:nowrap!important}.ui-mini{font-size:12.5px}.ui-mini .ui-btn{font-size:inherit}.ui-header .ui-btn,.ui-footer .ui-btn{font-size:12.5px;display:inline-block;vertical-align:middle}.ui-header .ui-controlgroup .ui-btn-icon-notext,.ui-footer .ui-controlgroup .ui-btn-icon-notext{font-size:12.5px}.ui-header .ui-btn-left,.ui-header .ui-btn-right{font-size:12.5px}.ui-mini.ui-btn-icon-notext,.ui-mini .ui-btn-icon-notext,.ui-header .ui-btn-icon-notext,.ui-footer .ui-btn-icon-notext{font-size:16px;padding:0}.ui-btn-inline{display:inline-block;vertical-align:middle;margin-right:.625em}.ui-btn-icon-left{padding-left:2.5em}.ui-btn-icon-right{padding-right:2.5em}.ui-btn-icon-top{padding-top:2.5em}.ui-btn-icon-bottom{padding-bottom:2.5em}.ui-header .ui-btn-icon-top,.ui-footer .ui-btn-icon-top,.ui-header .ui-btn-icon-bottom,.ui-footer .ui-btn-icon-bottom{padding-left:.3125em;padding-right:.3125em}.ui-btn-icon-left:after,.ui-btn-icon-right:after,.ui-btn-icon-top:after,.ui-btn-icon-bottom:after,.ui-btn-icon-notext:after{content:"";position:absolute;display:block;width:22px;height:22px}.ui-btn-icon-notext:after,.ui-btn-icon-left:after,.ui-btn-icon-right:after{top:50%;margin-top:-11px}.ui-btn-icon-left:after{left:.5625em}.ui-btn-icon-right:after{right:.5625em}.ui-mini.ui-btn-icon-left:after,.ui-mini .ui-btn-icon-left:after,.ui-header .ui-btn-icon-left:after,.ui-footer .ui-btn-icon-left:after{left:.37em}.ui-mini.ui-btn-icon-right:after,.ui-mini .ui-btn-icon-right:after,.ui-header .ui-btn-icon-right:after,.ui-footer .ui-btn-icon-right:after{right:.37em}.ui-btn-icon-notext:after,.ui-btn-icon-top:after,.ui-btn-icon-bottom:after{left:50%;margin-left:-11px}.ui-btn-icon-top:after{top:.5625em}.ui-btn-icon-bottom:after{top:auto;bottom:.5625em}.ui-header .ui-btn-left,.ui-header .ui-btn-right,.ui-btn-left>[class*=ui-],.ui-btn-right>[class*=ui-]{margin:0}.ui-btn-left,.ui-btn-right{position:absolute;top:.24em}.ui-btn-left{left:.4em}.ui-btn-right{right:.4em}.ui-btn-icon-notext.ui-btn-left{top:.3125em;left:.3125em}.ui-btn-icon-notext.ui-btn-right{top:.3125em;right:.3125em}button.ui-btn,.ui-controlgroup-controls button.ui-btn-icon-notext{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;width:100%}button.ui-btn-inline,.ui-header button.ui-btn,.ui-footer button.ui-btn{width:auto}button.ui-btn::-moz-focus-inner{border:0}button.ui-btn-icon-notext,.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;width:1.75em}.ui-mobile label,.ui-controlgroup-label{display:block;margin:0 0 .4em}.ui-hide-label>label,.ui-hide-label .ui-controlgroup-label,.ui-hide-label .ui-rangeslider label,.ui-hidden-accessible{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-screen-hidden{display:none!important}.ui-mobile-viewport-transitioning,.ui-mobile-viewport-transitioning .ui-page{width:100%;height:100%;overflow:hidden;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-page-pre-in{opacity:0}.in{-webkit-animation-timing-function:ease-out;-webkit-animation-duration:350ms;-moz-animation-timing-function:ease-out;-moz-animation-duration:350ms;animation-timing-function:ease-out;animation-duration:350ms}.out{-webkit-animation-timing-function:ease-in;-webkit-animation-duration:225ms;-moz-animation-timing-function:ease-in;-moz-animation-duration:225ms;animation-timing-function:ease-in;animation-duration:225ms}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@-moz-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadeout{from{opacity:1}to{opacity:0}}@-moz-keyframes fadeout{from{opacity:1}to{opacity:0}}@keyframes fadeout{from{opacity:1}to{opacity:0}}.fade.out{opacity:0;-webkit-animation-duration:125ms;-webkit-animation-name:fadeout;-moz-animation-duration:125ms;-moz-animation-name:fadeout;animation-duration:125ms;animation-name:fadeout}.fade.in{opacity:1;-webkit-animation-duration:225ms;-webkit-animation-name:fadein;-moz-animation-duration:225ms;-moz-animation-name:fadein;animation-duration:225ms;animation-name:fadein}.pop{-webkit-transform-origin:50% 50%;-moz-transform-origin:50% 50%;transform-origin:50% 50%}.pop.in{-webkit-transform:scale(1);-webkit-animation-name:popin;-webkit-animation-duration:350ms;-moz-transform:scale(1);-moz-animation-name:popin;-moz-animation-duration:350ms;transform:scale(1);animation-name:popin;animation-duration:350ms;opacity:1}.pop.out{-webkit-animation-name:fadeout;-webkit-animation-duration:100ms;-moz-animation-name:fadeout;-moz-animation-duration:100ms;animation-name:fadeout;animation-duration:100ms;opacity:0}.pop.in.reverse{-webkit-animation-name:fadein;-moz-animation-name:fadein;animation-name:fadein}.pop.out.reverse{-webkit-transform:scale(.8);-webkit-animation-name:popout;-moz-transform:scale(.8);-moz-animation-name:popout;transform:scale(.8);animation-name:popout}@-webkit-keyframes popin{from{-webkit-transform:scale(.8);opacity:0}to{-webkit-transform:scale(1);opacity:1}}@-moz-keyframes popin{from{-moz-transform:scale(.8);opacity:0}to{-moz-transform:scale(1);opacity:1}}@keyframes popin{from{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@-webkit-keyframes popout{from{-webkit-transform:scale(1);opacity:1}to{-webkit-transform:scale(.8);opacity:0}}@-moz-keyframes popout{from{-moz-transform:scale(1);opacity:1}to{-moz-transform:scale(.8);opacity:0}}@keyframes popout{from{transform:scale(1);opacity:1}to{transform:scale(.8);opacity:0}}@-webkit-keyframes slideinfromright{from{-webkit-transform:translate3d(100%,0,0)}to{-webkit-transform:translate3d(0,0,0)}}@-moz-keyframes slideinfromright{from{-moz-transform:translateX(100%)}to{-moz-transform:translateX(0)}}@keyframes slideinfromright{from{transform:translateX(100%)}to{transform:translateX(0)}}@-webkit-keyframes slideinfromleft{from{-webkit-transform:translate3d(-100%,0,0)}to{-webkit-transform:translate3d(0,0,0)}}@-moz-keyframes slideinfromleft{from{-moz-transform:translateX(-100%)}to{-moz-transform:translateX(0)}}@keyframes slideinfromleft{from{transform:translateX(-100%)}to{transform:translateX(0)}}@-webkit-keyframes slideouttoleft{from{-webkit-transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-100%,0,0)}}@-moz-keyframes slideouttoleft{from{-moz-transform:translateX(0)}to{-moz-transform:translateX(-100%)}}@keyframes slideouttoleft{from{transform:translateX(0)}to{transform:translateX(-100%)}}@-webkit-keyframes slideouttoright{from{-webkit-transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(100%,0,0)}}@-moz-keyframes slideouttoright{from{-moz-transform:translateX(0)}to{-moz-transform:translateX(100%)}}@keyframes slideouttoright{from{transform:translateX(0)}to{transform:translateX(100%)}}.slide.out,.slide.in{-webkit-animation-timing-function:ease-out;-webkit-animation-duration:350ms;-moz-animation-timing-function:ease-out;-moz-animation-duration:350ms;animation-timing-function:ease-out;animation-duration:350ms}.slide.out{-webkit-transform:translate3d(-100%,0,0);-webkit-animation-name:slideouttoleft;-moz-transform:translateX(-100%);-moz-animation-name:slideouttoleft;transform:translateX(-100%);animation-name:slideouttoleft}.slide.in{-webkit-transform:translate3d(0,0,0);-webkit-animation-name:slideinfromright;-moz-transform:translateX(0);-moz-animation-name:slideinfromright;transform:translateX(0);animation-name:slideinfromright}.slide.out.reverse{-webkit-transform:translate3d(100%,0,0);-webkit-animation-name:slideouttoright;-moz-transform:translateX(100%);-moz-animation-name:slideouttoright;transform:translateX(100%);animation-name:slideouttoright}.slide.in.reverse{-webkit-transform:translate3d(0,0,0);-webkit-animation-name:slideinfromleft;-moz-transform:translateX(0);-moz-animation-name:slideinfromleft;transform:translateX(0);animation-name:slideinfromleft}.slidefade.out{-webkit-transform:translateX(-100%);-webkit-animation-name:slideouttoleft;-webkit-animation-duration:225ms;-moz-transform:translateX(-100%);-moz-animation-name:slideouttoleft;-moz-animation-duration:225ms;transform:translateX(-100%);animation-name:slideouttoleft;animation-duration:225ms}.slidefade.in{-webkit-transform:translateX(0);-webkit-animation-name:fadein;-webkit-animation-duration:200ms;-moz-transform:translateX(0);-moz-animation-name:fadein;-moz-animation-duration:200ms;transform:translateX(0);animation-name:fadein;animation-duration:200ms}.slidefade.out.reverse{-webkit-transform:translateX(100%);-webkit-animation-name:slideouttoright;-webkit-animation-duration:200ms;-moz-transform:translateX(100%);-moz-animation-name:slideouttoright;-moz-animation-duration:200ms;transform:translateX(100%);animation-name:slideouttoright;animation-duration:200ms}.slidefade.in.reverse{-webkit-transform:translateX(0);-webkit-animation-name:fadein;-webkit-animation-duration:200ms;-moz-transform:translateX(0);-moz-animation-name:fadein;-moz-animation-duration:200ms;transform:translateX(0);animation-name:fadein;animation-duration:200ms}.slidedown.out{-webkit-animation-name:fadeout;-webkit-animation-duration:100ms;-moz-animation-name:fadeout;-moz-animation-duration:100ms;animation-name:fadeout;animation-duration:100ms}.slidedown.in{-webkit-transform:translateY(0);-webkit-animation-name:slideinfromtop;-webkit-animation-duration:250ms;-moz-transform:translateY(0);-moz-animation-name:slideinfromtop;-moz-animation-duration:250ms;transform:translateY(0);animation-name:slideinfromtop;animation-duration:250ms}.slidedown.in.reverse{-webkit-animation-name:fadein;-webkit-animation-duration:150ms;-moz-animation-name:fadein;-moz-animation-duration:150ms;animation-name:fadein;animation-duration:150ms}.slidedown.out.reverse{-webkit-transform:translateY(-100%);-webkit-animation-name:slideouttotop;-webkit-animation-duration:200ms;-moz-transform:translateY(-100%);-moz-animation-name:slideouttotop;-moz-animation-duration:200ms;transform:translateY(-100%);animation-name:slideouttotop;animation-duration:200ms}@-webkit-keyframes slideinfromtop{from{-webkit-transform:translateY(-100%)}to{-webkit-transform:translateY(0)}}@-moz-keyframes slideinfromtop{from{-moz-transform:translateY(-100%)}to{-moz-transform:translateY(0)}}@keyframes slideinfromtop{from{transform:translateY(-100%)}to{transform:translateY(0)}}@-webkit-keyframes slideouttotop{from{-webkit-transform:translateY(0)}to{-webkit-transform:translateY(-100%)}}@-moz-keyframes slideouttotop{from{-moz-transform:translateY(0)}to{-moz-transform:translateY(-100%)}}@keyframes slideouttotop{from{transform:translateY(0)}to{transform:translateY(-100%)}}.slideup.out{-webkit-animation-name:fadeout;-webkit-animation-duration:100ms;-moz-animation-name:fadeout;-moz-animation-duration:100ms;animation-name:fadeout;animation-duration:100ms}.slideup.in{-webkit-transform:translateY(0);-webkit-animation-name:slideinfrombottom;-webkit-animation-duration:250ms;-moz-transform:translateY(0);-moz-animation-name:slideinfrombottom;-moz-animation-duration:250ms;transform:translateY(0);animation-name:slideinfrombottom;animation-duration:250ms}.slideup.in.reverse{-webkit-animation-name:fadein;-webkit-animation-duration:150ms;-moz-animation-name:fadein;-moz-animation-duration:150ms;animation-name:fadein;animation-duration:150ms}.slideup.out.reverse{-webkit-transform:translateY(100%);-webkit-animation-name:slideouttobottom;-webkit-animation-duration:200ms;-moz-transform:translateY(100%);-moz-animation-name:slideouttobottom;-moz-animation-duration:200ms;transform:translateY(100%);animation-name:slideouttobottom;animation-duration:200ms}@-webkit-keyframes slideinfrombottom{from{-webkit-transform:translateY(100%)}to{-webkit-transform:translateY(0)}}@-moz-keyframes slideinfrombottom{from{-moz-transform:translateY(100%)}to{-moz-transform:translateY(0)}}@keyframes slideinfrombottom{from{transform:translateY(100%)}to{transform:translateY(0)}}@-webkit-keyframes slideouttobottom{from{-webkit-transform:translateY(0)}to{-webkit-transform:translateY(100%)}}@-moz-keyframes slideouttobottom{from{-moz-transform:translateY(0)}to{-moz-transform:translateY(100%)}}@keyframes slideouttobottom{from{transform:translateY(0)}to{transform:translateY(100%)}}.viewport-flip{-webkit-perspective:1000;-moz-perspective:1000;perspective:1000;position:absolute}.flip{-webkit-backface-visibility:hidden;-webkit-transform:translateX(0);-moz-backface-visibility:hidden;-moz-transform:translateX(0);backface-visibility:hidden;transform:translateX(0)}.flip.out{-webkit-transform:rotateY(-90deg) scale(.9);-webkit-animation-name:flipouttoleft;-webkit-animation-duration:175ms;-moz-transform:rotateY(-90deg) scale(.9);-moz-animation-name:flipouttoleft;-moz-animation-duration:175ms;transform:rotateY(-90deg) scale(.9);animation-name:flipouttoleft;animation-duration:175ms}.flip.in{-webkit-animation-name:flipintoright;-webkit-animation-duration:225ms;-moz-animation-name:flipintoright;-moz-animation-duration:225ms;animation-name:flipintoright;animation-duration:225ms}.flip.out.reverse{-webkit-transform:rotateY(90deg) scale(.9);-webkit-animation-name:flipouttoright;-moz-transform:rotateY(90deg) scale(.9);-moz-animation-name:flipouttoright;transform:rotateY(90deg) scale(.9);animation-name:flipouttoright}.flip.in.reverse{-webkit-animation-name:flipintoleft;-moz-animation-name:flipintoleft;animation-name:flipintoleft}@-webkit-keyframes flipouttoleft{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(-90deg) scale(.9)}}@-moz-keyframes flipouttoleft{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(-90deg) scale(.9)}}@keyframes flipouttoleft{from{transform:rotateY(0)}to{transform:rotateY(-90deg) scale(.9)}}@-webkit-keyframes flipouttoright{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(90deg) scale(.9)}}@-moz-keyframes flipouttoright{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(90deg) scale(.9)}}@keyframes flipouttoright{from{transform:rotateY(0)}to{transform:rotateY(90deg) scale(.9)}}@-webkit-keyframes flipintoleft{from{-webkit-transform:rotateY(-90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoleft{from{-moz-transform:rotateY(-90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoleft{from{transform:rotateY(-90deg) scale(.9)}to{transform:rotateY(0)}}@-webkit-keyframes flipintoright{from{-webkit-transform:rotateY(90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoright{from{-moz-transform:rotateY(90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoright{from{transform:rotateY(90deg) scale(.9)}to{transform:rotateY(0)}}.viewport-turn{-webkit-perspective:200px;-moz-perspective:200px;-ms-perspective:200px;perspective:200px;position:absolute}.turn{-webkit-backface-visibility:hidden;-webkit-transform:translateX(0);-webkit-transform-origin:0;-moz-backface-visibility:hidden;-moz-transform:translateX(0);-moz-transform-origin:0;backface-visibility:hidden;transform:translateX(0);transform-origin:0}.turn.out{-webkit-transform:rotateY(-90deg) scale(.9);-webkit-animation-name:flipouttoleft;-webkit-animation-duration:125ms;-moz-transform:rotateY(-90deg) scale(.9);-moz-animation-name:flipouttoleft;-moz-animation-duration:125ms;transform:rotateY(-90deg) scale(.9);animation-name:flipouttoleft;animation-duration:125ms}.turn.in{-webkit-animation-name:flipintoright;-webkit-animation-duration:250ms;-moz-animation-name:flipintoright;-moz-animation-duration:250ms;animation-name:flipintoright;animation-duration:250ms}.turn.out.reverse{-webkit-transform:rotateY(90deg) scale(.9);-webkit-animation-name:flipouttoright;-moz-transform:rotateY(90deg) scale(.9);-moz-animation-name:flipouttoright;transform:rotateY(90deg) scale(.9);animation-name:flipouttoright}.turn.in.reverse{-webkit-animation-name:flipintoleft;-moz-animation-name:flipintoleft;animation-name:flipintoleft}@-webkit-keyframes flipouttoleft{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(-90deg) scale(.9)}}@-moz-keyframes flipouttoleft{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(-90deg) scale(.9)}}@keyframes flipouttoleft{from{transform:rotateY(0)}to{transform:rotateY(-90deg) scale(.9)}}@-webkit-keyframes flipouttoright{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(90deg) scale(.9)}}@-moz-keyframes flipouttoright{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(90deg) scale(.9)}}@keyframes flipouttoright{from{transform:rotateY(0)}to{transform:rotateY(90deg) scale(.9)}}@-webkit-keyframes flipintoleft{from{-webkit-transform:rotateY(-90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoleft{from{-moz-transform:rotateY(-90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoleft{from{transform:rotateY(-90deg) scale(.9)}to{transform:rotateY(0)}}@-webkit-keyframes flipintoright{from{-webkit-transform:rotateY(90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoright{from{-moz-transform:rotateY(90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoright{from{transform:rotateY(90deg) scale(.9)}to{transform:rotateY(0)}}.flow{-webkit-transform-origin:50% 30%;-webkit-box-shadow:0 0 20px rgba(0,0,0,.4);-moz-transform-origin:50% 30%;-moz-box-shadow:0 0 20px rgba(0,0,0,.4);transform-origin:50% 30%;box-shadow:0 0 20px rgba(0,0,0,.4)}.ui-dialog.flow{-webkit-transform-origin:none;-webkit-box-shadow:none;-moz-transform-origin:none;-moz-box-shadow:none;transform-origin:none;box-shadow:none}.flow.out{-webkit-transform:translateX(-100%) scale(.7);-webkit-animation-name:flowouttoleft;-webkit-animation-timing-function:ease;-webkit-animation-duration:350ms;-moz-transform:translateX(-100%) scale(.7);-moz-animation-name:flowouttoleft;-moz-animation-timing-function:ease;-moz-animation-duration:350ms;transform:translateX(-100%) scale(.7);animation-name:flowouttoleft;animation-timing-function:ease;animation-duration:350ms}.flow.in{-webkit-transform:translateX(0) scale(1);-webkit-animation-name:flowinfromright;-webkit-animation-timing-function:ease;-webkit-animation-duration:350ms;-moz-transform:translateX(0) scale(1);-moz-animation-name:flowinfromright;-moz-animation-timing-function:ease;-moz-animation-duration:350ms;transform:translateX(0) scale(1);animation-name:flowinfromright;animation-timing-function:ease;animation-duration:350ms}.flow.out.reverse{-webkit-transform:translateX(100%);-webkit-animation-name:flowouttoright;-moz-transform:translateX(100%);-moz-animation-name:flowouttoright;transform:translateX(100%);animation-name:flowouttoright}.flow.in.reverse{-webkit-animation-name:flowinfromleft;-moz-animation-name:flowinfromleft;animation-name:flowinfromleft}@-webkit-keyframes flowouttoleft{0%{-webkit-transform:translateX(0) scale(1)}60%,70%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(-100%) scale(.7)}}@-moz-keyframes flowouttoleft{0%{-moz-transform:translateX(0) scale(1)}60%,70%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(-100%) scale(.7)}}@keyframes flowouttoleft{0%{transform:translateX(0) scale(1)}60%,70%{transform:translateX(0) scale(.7)}100%{transform:translateX(-100%) scale(.7)}}@-webkit-keyframes flowouttoright{0%{-webkit-transform:translateX(0) scale(1)}60%,70%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(100%) scale(.7)}}@-moz-keyframes flowouttoright{0%{-moz-transform:translateX(0) scale(1)}60%,70%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(100%) scale(.7)}}@keyframes flowouttoright{0%{transform:translateX(0) scale(1)}60%,70%{transform:translateX(0) scale(.7)}100%{transform:translateX(100%) scale(.7)}}@-webkit-keyframes flowinfromleft{0%{-webkit-transform:translateX(-100%) scale(.7)}30%,40%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(0) scale(1)}}@-moz-keyframes flowinfromleft{0%{-moz-transform:translateX(-100%) scale(.7)}30%,40%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(0) scale(1)}}@keyframes flowinfromleft{0%{transform:translateX(-100%) scale(.7)}30%,40%{transform:translateX(0) scale(.7)}100%{transform:translateX(0) scale(1)}}@-webkit-keyframes flowinfromright{0%{-webkit-transform:translateX(100%) scale(.7)}30%,40%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(0) scale(1)}}@-moz-keyframes flowinfromright{0%{-moz-transform:translateX(100%) scale(.7)}30%,40%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(0) scale(1)}}@keyframes flowinfromright{0%{transform:translateX(100%) scale(.7)}30%,40%{transform:translateX(0) scale(.7)}100%{transform:translateX(0) scale(1)}}.ui-field-contain,.ui-mobile fieldset.ui-field-contain{display:block;position:relative;overflow:visible;clear:both;padding:.8em 0}.ui-field-contain>label~[class*=ui-],.ui-field-contain .ui-controlgroup-controls{margin:0}.ui-field-contain:last-child{border-bottom-width:0}@media (min-width:28em){.ui-field-contain,.ui-mobile fieldset.ui-field-contain{padding:0;margin:1em 0;border-bottom-width:0}.ui-field-contain:before,.ui-field-contain:after{content:"";display:table}.ui-field-contain:after{clear:both}.ui-field-contain>label,.ui-field-contain .ui-controlgroup-label,.ui-field-contain>.ui-rangeslider>label{float:left;width:20%;margin:.5em 2% 0 0}.ui-popup .ui-field-contain>label,.ui-popup .ui-field-contain .ui-controlgroup-label,.ui-popup .ui-field-contain>.ui-rangeslider>label{float:none;width:auto;margin:0 0 .4em}.ui-field-contain>label~[class*=ui-],.ui-field-contain .ui-controlgroup-controls{float:left;width:78%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-hide-label>label~[class*=ui-],.ui-hide-label .ui-controlgroup-controls,.ui-popup .ui-field-contain>label~[class*=ui-],.ui-popup .ui-field-contain .ui-controlgroup-controls{float:none;width:100%}.ui-field-contain>label~.ui-btn-inline{width:auto;margin-right:.625em}.ui-field-contain>label~.ui-btn-inline.ui-btn-icon-notext{width:1.75em}}.ui-grid-a,.ui-grid-b,.ui-grid-c,.ui-grid-d,.ui-grid-solo{overflow:hidden}.ui-block-a,.ui-block-b,.ui-block-c,.ui-block-d,.ui-block-e{margin:0;padding:0;border:0;float:left;min-height:1px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-block-a{clear:left}ul.ui-grid-a,ul.ui-grid-b,ul.ui-grid-c,ul.ui-grid-d,ul.ui-grid-solo,li.ui-block-a,li.ui-block-b,li.ui-block-c,li.ui-block-d,li.ui-block-e{margin-left:0;margin-right:0;padding:0;list-style:none}[class*=ui-block-]>button.ui-btn{margin-right:0;margin-left:0}[class*=ui-block-]>.ui-btn,[class*=ui-block-]>.ui-select,[class*=ui-block-]>.ui-checkbox,[class*=ui-block-]>.ui-radio,[class*=ui-block-]>button.ui-btn-inline,[class*=ui-block-]>button.ui-btn-icon-notext,.ui-header [class*=ui-block-]>button.ui-btn,.ui-footer [class*=ui-block-]>button.ui-btn{margin-right:.3125em;margin-left:.3125em}.ui-grid-a>.ui-block-a,.ui-grid-a>.ui-block-b{width:50%}.ui-grid-b>.ui-block-a,.ui-grid-b>.ui-block-b,.ui-grid-b>.ui-block-c{width:33.333%}.ui-grid-c>.ui-block-a,.ui-grid-c>.ui-block-b,.ui-grid-c>.ui-block-c,.ui-grid-c>.ui-block-d{width:25%}.ui-grid-d>.ui-block-a,.ui-grid-d>.ui-block-b,.ui-grid-d>.ui-block-c,.ui-grid-d>.ui-block-d,.ui-grid-d>.ui-block-e{width:20%}.ui-grid-solo>.ui-block-a{width:100%;float:none}@media (max-width:35em){.ui-responsive>.ui-block-a,.ui-responsive>.ui-block-b,.ui-responsive>.ui-block-c,.ui-responsive>.ui-block-d,.ui-responsive>.ui-block-e{width:100%;float:none}}.ui-header-fixed,.ui-footer-fixed{left:0;right:0;width:100%;position:fixed;z-index:1000}.ui-header-fixed{top:-1px;padding-top:1px}.ui-header-fixed.ui-fixed-hidden{top:0;padding-top:0}.ui-header-fixed .ui-btn-left,.ui-header-fixed .ui-btn-right{margin-top:1px}.ui-header-fixed.ui-fixed-hidden .ui-btn-left,.ui-header-fixed.ui-fixed-hidden .ui-btn-right{margin-top:0}.ui-footer-fixed{bottom:-1px;padding-bottom:1px}.ui-footer-fixed.ui-fixed-hidden{bottom:0;padding-bottom:0}.ui-header-fullscreen,.ui-footer-fullscreen{filter:Alpha(Opacity=90);opacity:.9}.ui-page-header-fixed{padding-top:2.8125em}.ui-page-footer-fixed{padding-bottom:2.8125em}.ui-page-header-fullscreen>.ui-content,.ui-page-footer-fullscreen>.ui-content{padding:0}.ui-fixed-hidden{position:absolute}.ui-footer-fixed.ui-fixed-hidden{display:none}.ui-page .ui-footer-fixed.ui-fixed-hidden{display:block}.ui-page-header-fullscreen .ui-fixed-hidden,.ui-page-footer-fullscreen .ui-fixed-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-header-fixed .ui-btn,.ui-footer-fixed .ui-btn{z-index:10}.ui-android-2x-fixed .ui-li-has-thumb{-webkit-transform:translate3d(0,0,0)}.ui-navbar{max-width:100%}.ui-navbar ul:before,.ui-navbar ul:after{content:"";display:table}.ui-navbar ul:after{clear:both}.ui-navbar ul{list-style:none;margin:0;padding:0;position:relative;display:block;border:0;max-width:100%;overflow:visible}.ui-navbar li .ui-btn{font-size:12.5px;display:block;margin:0;border-right-width:0}.ui-header .ui-navbar li button.ui-btn,.ui-footer .ui-navbar li button.ui-btn{margin:0;width:100%}.ui-navbar .ui-btn:focus{z-index:1}.ui-navbar li:last-child .ui-btn{margin-right:-4px}.ui-navbar li:last-child .ui-btn:after{margin-right:4px}.ui-content .ui-navbar li:last-child .ui-btn,.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn{border-right-width:1px;margin-right:0}.ui-content .ui-navbar li:last-child .ui-btn:after,.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn:after{margin-right:0}.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn{border-right-width:1px;margin-right:-1px}.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn:after{margin-right:1px}.ui-navbar .ui-grid-duo .ui-btn{border-top-width:0}.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn{border-top-width:1px}.ui-header .ui-navbar .ui-btn,.ui-footer .ui-navbar .ui-btn{border-top-width:0;border-bottom-width:0}.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn,.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn{border-top-width:0}.ui-header .ui-title~.ui-navbar .ui-btn,.ui-footer .ui-title~.ui-navbar .ui-btn,.ui-header .ui-navbar .ui-grid-duo .ui-btn,.ui-footer .ui-navbar .ui-grid-duo .ui-btn,.ui-header .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-footer .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-header .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn,.ui-footer .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn{border-top-width:1px}.ui-input-btn input{position:absolute;top:0;left:0;width:100%;height:100%;padding:0;border:0;outline:0;-webkit-border-radius:inherit;border-radius:inherit;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;background:#fff;background:rgba(255,255,255,0);filter:Alpha(Opacity=0);opacity:.1;font-size:1px;text-indent:-9999px;z-index:2}.ui-input-btn.ui-state-disabled input{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-collapsible{margin:0 -1em}.ui-collapsible-inset,.ui-collapsible-set{margin:.5em 0}.ui-collapsible-heading{display:block;margin:0;padding:0;position:relative}.ui-collapsible-heading .ui-btn{text-align:left;margin:0;border-left-width:0;border-right-width:0}.ui-collapsible-heading .ui-btn-icon-top,.ui-collapsible-heading .ui-btn-icon-bottom{text-align:center}.ui-collapsible-inset .ui-collapsible-heading .ui-btn{border-right-width:1px;border-left-width:1px}.ui-collapsible-collapsed+.ui-collapsible:not(.ui-collapsible-inset)>.ui-collapsible-heading .ui-btn{border-top-width:0}.ui-collapsible-set .ui-collapsible:not(.ui-collapsible-inset) .ui-collapsible-heading .ui-btn{border-top-width:1px}.ui-collapsible-heading-status{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-collapsible-content{display:block;margin:0;padding:.5em 1em}.ui-collapsible-themed-content .ui-collapsible-content{border-left-width:0;border-right-width:0;border-top-width:0;border-bottom-width:1px;border-style:solid}.ui-collapsible-inset.ui-collapsible-themed-content .ui-collapsible-content{border-left-width:1px;border-right-width:1px}.ui-collapsible-inset .ui-collapsible-content{margin:0}.ui-collapsible-content-collapsed{display:none}.ui-collapsible-set>.ui-collapsible.ui-corner-all{-webkit-border-radius:0;border-radius:0}.ui-collapsible-heading,.ui-collapsible-heading>.ui-btn{-webkit-border-radius:inherit;border-radius:inherit}.ui-collapsible-set .ui-collapsible.ui-first-child{-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit;-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit}.ui-collapsible-content,.ui-collapsible-set .ui-collapsible.ui-last-child{-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit;-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-collapsible-themed-content:not(.ui-collapsible-collapsed)>.ui-collapsible-heading{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-collapsible-set .ui-collapsible{margin:-1px -1em 0}.ui-collapsible-set .ui-collapsible-inset{margin:-1px 0 0}.ui-collapsible-set .ui-collapsible.ui-first-child{margin-top:0}.ui-controlgroup,fieldset.ui-controlgroup{padding:0;margin:.5em 0}.ui-field-contain .ui-controlgroup,.ui-field-contain fieldset.ui-controlgroup{margin:0}.ui-mini .ui-controlgroup-label{font-size:16px}.ui-controlgroup.ui-mini .ui-btn-icon-notext,.ui-controlgroup .ui-mini.ui-btn-icon-notext{font-size:inherit}.ui-controlgroup-controls .ui-btn,.ui-controlgroup-controls .ui-checkbox,.ui-controlgroup-controls .ui-radio,.ui-controlgroup-controls .ui-select{margin:0}.ui-controlgroup-controls .ui-btn:focus,.ui-controlgroup-controls .ui-btn.ui-focus{z-index:1}.ui-controlgroup-controls li{list-style:none}.ui-controlgroup-horizontal .ui-controlgroup-controls{display:inline-block;vertical-align:middle}.ui-controlgroup-horizontal .ui-controlgroup-controls:before,.ui-controlgroup-horizontal .ui-controlgroup-controls:after{content:"";display:table}.ui-controlgroup-horizontal .ui-controlgroup-controls:after{clear:both}.ui-controlgroup-horizontal .ui-controlgroup-controls>.ui-btn,.ui-controlgroup-horizontal .ui-controlgroup-controls li>.ui-btn,.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-checkbox,.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-radio,.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-select{float:left;clear:none}.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn,.ui-controlgroup-controls .ui-btn-icon-notext{width:auto}.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn-icon-notext,.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn-icon-notext{width:1.5em}.ui-controlgroup-controls .ui-btn-icon-notext{height:auto;padding:.7em 1em}.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn{border-bottom-width:0}.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn.ui-last-child{border-bottom-width:1px}.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn{border-right-width:0}.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn.ui-last-child{border-right-width:1px}.ui-controlgroup-controls .ui-btn-corner-all,.ui-controlgroup-controls .ui-btn.ui-corner-all{-webkit-border-radius:0;border-radius:0}.ui-controlgroup-controls,.ui-controlgroup-controls .ui-radio,.ui-controlgroup-controls .ui-checkbox,.ui-controlgroup-controls .ui-select,.ui-controlgroup-controls li{-webkit-border-radius:inherit;border-radius:inherit}.ui-controlgroup-vertical .ui-btn.ui-first-child{-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit;-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit}.ui-controlgroup-vertical .ui-btn.ui-last-child{-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-controlgroup-horizontal .ui-btn.ui-first-child{-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit;-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-controlgroup-horizontal .ui-btn.ui-last-child{-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-controlgroup-controls a.ui-shadow:not(:focus),.ui-controlgroup-controls button.ui-shadow:not(:focus),.ui-controlgroup-controls div.ui-shadow:not(.ui-focus){-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.ui-controlgroup-label legend{max-width:100%}.ui-controlgroup-controls>label{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-dialog{background:none!important}.ui-dialog-contain{width:92.5%;max-width:500px;margin:10% auto 1em;padding:0;position:relative;top:-1em}.ui-dialog-contain>.ui-header,.ui-dialog-contain>.ui-content,.ui-dialog-contain>.ui-footer{display:block;position:relative;width:auto;margin:0}.ui-dialog-contain>.ui-header{overflow:hidden;z-index:10;padding:0;border-top-width:0}.ui-dialog-contain>.ui-footer{z-index:10;padding:0 1em;border-bottom-width:0}.ui-popup-open .ui-header-fixed,.ui-popup-open .ui-footer-fixed{position:absolute!important}.ui-popup-screen{background-image:url("data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==");top:0;left:0;right:0;bottom:1px;position:absolute;filter:Alpha(Opacity=0);opacity:0;z-index:1099}.ui-popup-screen.in{opacity:.5;filter:Alpha(Opacity=50)}.ui-popup-screen.out{opacity:0;filter:Alpha(Opacity=0)}.ui-popup-container{z-index:1100;display:inline-block;position:absolute;padding:0;outline:0}.ui-popup{position:relative}.ui-popup.ui-body-inherit{border-width:1px;border-style:solid}.ui-popup-hidden{left:0;top:0;position:absolute!important;visibility:hidden}.ui-popup-truncate{height:1px;width:1px;margin:-1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-popup.ui-content,.ui-popup .ui-content{overflow:visible}.ui-popup>.ui-header{border-top-width:0}.ui-popup>.ui-footer{border-bottom-width:0}.ui-popup>p,.ui-popup>h1,.ui-popup>h2,.ui-popup>h3,.ui-popup>h4,.ui-popup>h5,.ui-popup>h6{margin:.5em .4375em}.ui-popup>span{display:block;margin:.5em .4375em}.ui-popup-container .ui-content>p,.ui-popup-container .ui-content>h1,.ui-popup-container .ui-content>h2,.ui-popup-container .ui-content>h3,.ui-popup-container .ui-content>h4,.ui-popup-container .ui-content>h5,.ui-popup-container .ui-content>h6{margin:.5em 0}.ui-popup-container .ui-content>span{margin:0}.ui-popup-container .ui-content>p:first-child,.ui-popup-container .ui-content>h1:first-child,.ui-popup-container .ui-content>h2:first-child,.ui-popup-container .ui-content>h3:first-child,.ui-popup-container .ui-content>h4:first-child,.ui-popup-container .ui-content>h5:first-child,.ui-popup-container .ui-content>h6:first-child{margin-top:0}.ui-popup-container .ui-content>p:last-child,.ui-popup-container .ui-content>h1:last-child,.ui-popup-container .ui-content>h2:last-child,.ui-popup-container .ui-content>h3:last-child,.ui-popup-container .ui-content>h4:last-child,.ui-popup-container .ui-content>h5:last-child,.ui-popup-container .ui-content>h6:last-child{margin-bottom:0}.ui-popup>img{max-width:100%;max-height:100%;vertical-align:middle}.ui-popup:not(.ui-content)>img:only-child,.ui-popup:not(.ui-content)>.ui-btn-left:first-child+img:last-child,.ui-popup:not(.ui-content)>.ui-btn-right:first-child+img:last-child{-webkit-border-radius:inherit;border-radius:inherit}.ui-popup iframe{vertical-align:middle}.ui-popup>.ui-btn-left,.ui-popup>.ui-btn-right{position:absolute;top:-11px;margin:0;z-index:1101}.ui-popup>.ui-btn-left{left:-11px}.ui-popup>.ui-btn-right{right:-11px}.ui-popup-arrow-container{width:20px;height:20px}.ui-popup-arrow-container.ui-popup-arrow-l{left:-10px;clip:rect(-1000px,10px,2000px,-1000px)}.ui-popup-arrow-container.ui-popup-arrow-t{top:-10px;clip:rect(-1000px,2000px,10px,-1000px)}.ui-popup-arrow-container.ui-popup-arrow-r{right:-10px;clip:rect(-1000px,2000px,2000px,10px)}.ui-popup-arrow-container.ui-popup-arrow-b{bottom:-10px;clip:rect(10px,2000px,1000px,-1000px)}.ui-popup-arrow-container .ui-popup-arrow{width:28.284271247px;height:28.284271247px;border-width:1px;border-style:solid}.ui-popup-arrow-container.ui-popup-arrow-t .ui-popup-arrow{left:-4.142135623px;top:5.857864376px}.ui-popup-arrow-container.ui-popup-arrow-b .ui-popup-arrow{left:-4.142135623px;top:-14.142135623px}.ui-popup-arrow-container.ui-popup-arrow-l .ui-popup-arrow{left:5.857864376px;top:-4.142135623px}.ui-popup-arrow-container.ui-popup-arrow-r .ui-popup-arrow{left:-14.142135623px;top:-4.142135623px}.ui-popup-arrow-container.ui-popup-arrow-t.ie .ui-popup-arrow{margin-left:-5.857864376269049px;margin-top:-7.0710678118654755px}.ui-popup-arrow-container.ui-popup-arrow-b.ie .ui-popup-arrow{margin-left:-5.857864376269049px;margin-top:-4.142135623730951px}.ui-popup-arrow-container.ui-popup-arrow-l.ie .ui-popup-arrow{margin-left:-7.0710678118654755px;margin-top:-5.857864376269049px}.ui-popup-arrow-container.ui-popup-arrow-r.ie .ui-popup-arrow{margin-left:-4.142135623730951px;margin-top:-5.857864376269049px}.ui-popup>.ui-popup-arrow-guide{position:absolute;left:0;right:0;top:0;bottom:0;visibility:hidden}.ui-popup-arrow-container{position:absolute}.ui-popup-arrow{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);position:absolute;overflow:hidden;box-sizing:border-box}.ui-popup-arrow-container.ie .ui-popup-arrow{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865474, M12=-0.7071067811865477, M21=0.7071067811865477, M22=0.7071067811865474, SizingMethod='auto expand')";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.7071067811865474, M12=-.7071067811865477, M21=.7071067811865477, M22=.7071067811865474, SizingMethod='auto expand')}.ui-checkbox,.ui-radio{margin:.5em 0;position:relative}.ui-checkbox .ui-btn,.ui-radio .ui-btn{margin:0;text-align:left;white-space:normal;z-index:2}.ui-controlgroup .ui-checkbox .ui-btn.ui-focus,.ui-controlgroup .ui-radio .ui-btn.ui-focus{z-index:3}.ui-checkbox .ui-btn-icon-top,.ui-radio .ui-btn-icon-top,.ui-checkbox .ui-btn-icon-bottom,.ui-radio .ui-btn-icon-bottom{text-align:center}.ui-controlgroup-horizontal .ui-checkbox .ui-btn:after,.ui-controlgroup-horizontal .ui-radio .ui-btn:after{content:none;display:none}.ui-checkbox input,.ui-radio input{position:absolute;left:.466em;top:50%;width:22px;height:22px;margin:-11px 0 0 0;outline:0!important;z-index:1}.ui-controlgroup-horizontal .ui-checkbox input,.ui-controlgroup-horizontal .ui-radio input{left:50%;margin-left:-9px}.ui-checkbox input:disabled,.ui-radio input:disabled{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-select{margin-top:.5em;margin-bottom:.5em;position:relative}.ui-select>select{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-select .ui-btn{margin:0;opacity:1}.ui-select .ui-btn select{position:absolute;top:0;left:0;width:100%;min-height:1.5em;min-height:100%;height:3em;max-height:100%;outline:0;-webkit-border-radius:inherit;border-radius:inherit;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;filter:Alpha(Opacity=0);opacity:0;z-index:2}@-moz-document url-prefix(){.ui-select .ui-btn select{opacity:.0001}}.ui-select .ui-state-disabled select{display:none}.ui-select span.ui-state-disabled{filter:Alpha(Opacity=100);opacity:1}.ui-select .ui-btn.ui-select-nativeonly{border-radius:0;border:0}.ui-select .ui-btn.ui-select-nativeonly select{opacity:1;text-indent:0;display:block}.ui-select .ui-li-has-count.ui-btn{padding-right:2.8125em}.ui-select .ui-li-has-count.ui-btn-icon-right{padding-right:4.6875em}.ui-select .ui-btn-icon-right .ui-li-count{right:3.2em}.ui-select .ui-btn>span:not(.ui-li-count){display:block;text-overflow:ellipsis;overflow:hidden!important;white-space:nowrap}.ui-selectmenu.ui-popup{min-width:11em}.ui-selectmenu .ui-dialog-contain{overflow:hidden}.ui-selectmenu .ui-header{margin:0;padding:0;border-width:0}.ui-selectmenu.ui-dialog .ui-header{z-index:1;position:relative}.ui-selectmenu.ui-popup .ui-header{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-selectmenu.ui-popup .ui-header h1:after{content:'.';visibility:hidden}.ui-selectmenu .ui-header .ui-title{margin:0 2.875em}.ui-selectmenu.ui-dialog .ui-content{overflow:visible;z-index:1}.ui-selectmenu .ui-selectmenu-list{margin:0;-webkit-border-radius:inherit;border-radius:inherit}.ui-header:not(.ui-screen-hidden)+.ui-selectmenu-list{-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-top-left-radius:0;border-top-left-radius:0}.ui-header.ui-screen-hidden+.ui-selectmenu-list li.ui-first-child .ui-btn{border-top-width:0}.ui-selectmenu .ui-selectmenu-list li.ui-last-child .ui-btn{border-bottom-width:0}.ui-selectmenu .ui-btn.ui-li-divider{cursor:default}.ui-selectmenu .ui-selectmenu-placeholder{display:none}.ui-listview,.ui-listview>li{margin:0;padding:0;list-style:none}.ui-content .ui-listview,.ui-panel-inner>.ui-listview{margin:-1em}.ui-content .ui-listview-inset,.ui-panel-inner>.ui-listview-inset{margin:1em 0}.ui-collapsible-content>.ui-listview{margin:-.5em -1em}.ui-collapsible-content>.ui-listview-inset{margin:.5em 0}.ui-listview>li{display:block;position:relative;overflow:visible}.ui-listview>.ui-li-static,.ui-listview>.ui-li-divider,.ui-listview>li>a.ui-btn{margin:0;display:block;position:relative;text-align:left;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-listview>li>.ui-btn:focus{z-index:1}.ui-listview>.ui-li-static,.ui-listview>.ui-li-divider,.ui-listview>li>a.ui-btn{border-width:1px 0 0;border-style:solid}.ui-listview-inset>.ui-li-static,.ui-listview-inset>.ui-li-divider,.ui-listview-inset>li>a.ui-btn{border-right-width:1px;border-left-width:1px}.ui-listview>.ui-li-static.ui-last-child,.ui-listview>.ui-li-divider.ui-last-child,.ui-listview>li.ui-last-child>a.ui-btn{border-bottom-width:1px}.ui-collapsible-content>.ui-listview:not(.ui-listview-inset)>li.ui-first-child,.ui-collapsible-content>.ui-listview:not(.ui-listview-inset)>li.ui-first-child>a.ui-btn{border-top-width:0}.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset)>li.ui-last-child,.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset)>li.ui-last-child>a.ui-btn{border-bottom-width:0}.ui-listview>li.ui-first-child,.ui-listview>li.ui-first-child>a.ui-btn{-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit;-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit}.ui-listview>li.ui-last-child,.ui-listview>li.ui-last-child>a.ui-btn{-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit;-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-listview>li.ui-li-has-alt>a.ui-btn{-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0}.ui-listview>li.ui-first-child>a.ui-btn+a.ui-btn{-webkit-border-top-left-radius:0;border-top-left-radius:0;-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit}.ui-listview>li.ui-last-child>a.ui-btn+a.ui-btn{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-listview>li.ui-first-child img:first-child:not(.ui-li-icon){-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit}.ui-listview>li.ui-last-child img:first-child:not(.ui-li-icon){-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-collapsible-content>.ui-listview:not(.ui-listview-inset){-webkit-border-radius:inherit;border-radius:inherit}.ui-listview>.ui-li-static{padding:.7em 1em}.ui-listview>.ui-li-divider{padding:.5em 1.143em;font-size:14px;font-weight:700;cursor:default;outline:0}.ui-listview>.ui-li-has-count>.ui-btn,.ui-listview>.ui-li-static.ui-li-has-count,.ui-listview>.ui-li-divider.ui-li-has-count{padding-right:2.8125em}.ui-listview>.ui-li-has-count>.ui-btn-icon-right{padding-right:4.6875em}.ui-listview>.ui-li-has-thumb>.ui-btn,.ui-listview>.ui-li-static.ui-li-has-thumb{min-height:3.625em;padding-left:6.25em}.ui-listview>.ui-li-has-icon>.ui-btn,.ui-listview>.ui-li-static.ui-li-has-icon{min-height:1.25em;padding-left:2.5em}.ui-li-count{position:absolute;font-size:12.5px;font-weight:700;text-align:center;border-width:1px;border-style:solid;padding:0 .48em;line-height:1.6em;min-height:1.6em;min-width:.64em;right:.8em;top:50%;margin-top:-.88em}.ui-listview .ui-btn-icon-right .ui-li-count{right:3.2em}.ui-listview .ui-li-has-thumb>img:first-child,.ui-listview .ui-li-has-thumb>.ui-btn>img:first-child,.ui-listview .ui-li-has-thumb .ui-li-thumb{position:absolute;left:0;top:0;max-height:5em;max-width:5em}.ui-listview>.ui-li-has-icon>img:first-child,.ui-listview>.ui-li-has-icon>.ui-btn>img:first-child{position:absolute;left:.625em;top:.9em;max-height:1em;max-width:1em}.ui-listview>li h1,.ui-listview>li h2,.ui-listview>li h3,.ui-listview>li h4,.ui-listview>li h5,.ui-listview>li h6{font-size:1em;font-weight:700;display:block;margin:.45em 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-listview>li p{font-size:.75em;font-weight:400;display:block;margin:.6em 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-listview .ui-li-aside{position:absolute;top:1em;right:3.333em;margin:0;text-align:right}.ui-listview>li.ui-li-has-alt>.ui-btn{margin-right:2.5em;border-right-width:0}.ui-listview>li.ui-li-has-alt>.ui-btn+.ui-btn{position:absolute;width:2.5em;height:100%;min-height:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-left-width:1px;top:0;right:0;margin:0;padding:0;z-index:2}.ui-listview-inset>li.ui-li-has-alt>.ui-btn+.ui-btn{border-right-width:1px}.ui-listview>li.ui-li-has-alt>.ui-btn+.ui-btn:focus{z-index:3}ol.ui-listview,ol.ui-listview>.ui-li-divider{counter-reset:listnumbering}ol.ui-listview>li>.ui-btn,ol.ui-listview>li.ui-li-static{vertical-align:middle}ol.ui-listview>li>.ui-btn:first-child:before,ol.ui-listview>li.ui-li-static:before,ol.ui-listview>li.ui-field-contain>label:before,ol.ui-listview>li.ui-field-contain>.ui-controlgroup-label:before{display:inline-block;font-size:.9em;font-weight:400;padding-right:.3em;min-width:1.4em;line-height:1.5;vertical-align:middle;counter-increment:listnumbering;content:counter(listnumbering) "."}ol.ui-listview>li.ui-field-contain:before{content:none;display:none}ol.ui-listview>li h1:first-child,ol.ui-listview>li h2:first-child,ol.ui-listview>li h3:first-child,ol.ui-listview>li h4:first-child,ol.ui-listview>li h5:first-child,ol.ui-listview>li h6:first-child,ol.ui-listview>li p:first-child,ol.ui-listview>li img:first-child+*{display:inline-block;vertical-align:middle}ol.ui-listview>li h1:first-child~*,ol.ui-listview>li h2:first-child~*,ol.ui-listview>li h3:first-child~*,ol.ui-listview>li h4:first-child~*,ol.ui-listview>li h5:first-child~*,ol.ui-listview>li h6:first-child~*,ol.ui-listview>li p:first-child~*,ol.ui-listview>li img:first-child+*~*{margin-top:0;text-indent:2.04em}html .ui-filterable+.ui-listview,html .ui-filterable.ui-listview{margin-top:.5em}.ui-collapsible-content>form.ui-filterable{margin-top:-.5em}.ui-collapsible-content>.ui-input-search.ui-filterable{margin-top:0}.ui-collapsible-content>.ui-filterable+.ui-listview:not(.ui-listview-inset)>li.ui-first-child,.ui-collapsible-content>.ui-filterable+.ui-listview:not(.ui-listview-inset)>li.ui-first-child>a.ui-btn,.ui-collapsible-content>.ui-filterable.ui-listview:not(.ui-listview-inset)>li.ui-first-child,.ui-collapsible-content>.ui-filterable.ui-listview:not(.ui-listview-inset)>li.ui-first-child>a.ui-btn{border-top-width:1px}div.ui-slider{height:30px;margin:.5em 0;padding:0;-ms-touch-action:pan-y pinch-zoom double-tap-zoom}div.ui-slider:before,div.ui-slider:after{content:"";display:table}div.ui-slider:after{clear:both}input.ui-slider-input{display:block;float:left;font-size:14px;font-weight:700;margin:0;padding:4px;width:40px;height:20px;line-height:20px;border-width:1px;border-style:solid;outline:0;text-align:center;vertical-align:text-bottom;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.ui-slider-input::-webkit-outer-spin-button,.ui-slider-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ui-slider-track{position:relative;overflow:visible;border-width:1px;border-style:solid;height:15px;margin:0 15px 0 68px;top:6px}.ui-slider-track.ui-mini{height:12px;top:8px}.ui-slider-track .ui-slider-bg{height:100%}.ui-slider-track .ui-btn.ui-slider-handle{position:absolute;z-index:1;top:50%;width:28px;height:28px;margin:-15px 0 0 -15px;outline:0;padding:0}.ui-slider-track.ui-mini .ui-slider-handle{height:14px;width:14px;margin:-8px 0 0 -8px}select.ui-slider-switch{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}div.ui-slider-switch{display:inline-block;height:32px;width:5.8em;top:0}div.ui-slider-switch:before,div.ui-slider-switch:after{display:none;clear:none}div.ui-slider-switch.ui-mini{height:29px;top:0}.ui-slider-inneroffset{margin:0 16px;position:relative;z-index:1}.ui-slider-switch.ui-mini .ui-slider-inneroffset{margin:0 15px 0 14px}.ui-slider-switch .ui-btn.ui-slider-handle{margin:1px 0 0 -15px}.ui-slider-switch.ui-mini .ui-slider-handle{width:25px;height:25px;margin:1px 0 0 -13px;padding:0}.ui-slider-handle-snapping{-webkit-transition:left 70ms linear;-moz-transition:left 70ms linear;transition:left 70ms linear}.ui-slider-switch .ui-slider-label{position:absolute;text-align:center;width:100%;overflow:hidden;font-size:16px;top:0;line-height:2;min-height:100%;white-space:nowrap;cursor:pointer}.ui-slider-switch.ui-mini .ui-slider-label{font-size:14px}.ui-slider-switch .ui-slider-label-a{z-index:1;left:0;text-indent:-1.5em}.ui-slider-switch .ui-slider-label-b{z-index:0;right:0;text-indent:1.5em}.ui-slider-track .ui-slider-bg,.ui-slider-switch .ui-slider-label,.ui-slider-switch .ui-slider-inneroffset,.ui-slider-handle{-webkit-border-radius:inherit;border-radius:inherit}.ui-field-contain div.ui-slider-switch{margin:0}.ui-field-contain div.ui-slider-switch,.ui-field-contain.ui-hide-label div.ui-slider-switch,html .ui-popup .ui-field-contain div.ui-slider-switch{display:inline-block;width:5.8em}.ui-slider-popup{width:64px;height:64px;font-size:36px;padding-top:14px;opacity:.8}.ui-slider-popup{position:absolute!important;text-align:center;z-index:100}.ui-slider-track .ui-btn.ui-slider-handle{font-size:.9em;line-height:30px}.ui-rangeslider{margin:.5em 0}.ui-rangeslider:before,.ui-rangeslider:after{content:"";display:table}.ui-rangeslider:after{clear:both}.ui-rangeslider .ui-slider-input.ui-rangeslider-last{float:right}.ui-rangeslider .ui-rangeslider-sliders{position:relative;overflow:visible;height:30px;margin:0 68px}.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track{position:absolute;top:6px;right:0;left:0;margin:0}.ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track{top:8px}.ui-rangeslider .ui-slider-track:first-child .ui-slider-bg{display:none}.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child{background-color:transparent;background:0;border-width:0;height:0}html >body .ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child{height:15px;border-width:1px}html >body .ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track:first-child{height:12px}div.ui-rangeslider label{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-field-contain .ui-rangeslider input.ui-slider-input,.ui-field-contain .ui-rangeslider.ui-mini input.ui-slider-input,.ui-field-contain .ui-rangeslider .ui-rangeslider-sliders,.ui-field-contain .ui-rangeslider.ui-mini .ui-rangeslider-sliders{margin-top:0;margin-bottom:0}.ui-input-text,.ui-input-search{margin:.5em 0;border-width:1px;border-style:solid}.ui-mini{margin:.446em}.ui-input-text input,.ui-input-search input,textarea.ui-input-text{padding:.4em;line-height:1.4em;display:block;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;outline:0}.ui-input-text input,.ui-input-search input{margin:0;min-height:2.2em;text-align:left;border:0;background:transparent none;-webkit-appearance:none;-webkit-border-radius:inherit;border-radius:inherit}textarea.ui-input-text{overflow:auto;resize:vertical}.ui-mini .ui-input-text input,.ui-mini .ui-input-search input,.ui-input-text.ui-mini input,.ui-input-search.ui-mini input,.ui-mini textarea.ui-input-text,textarea.ui-mini{font-size:14px}.ui-mini textarea.ui-input-text,textarea.ui-mini{margin:.446em 0}.ui-input-has-clear,.ui-input-search{position:relative}.ui-input-has-clear{padding-right:2.375em}.ui-mini.ui-input-has-clear{padding-right:2.923em}.ui-input-has-clear input{padding-right:0;-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0}.ui-input-search input{padding-left:1.75em}.ui-input-search:after{position:absolute;left:.3125em;top:50%;margin-top:-7px;content:"";background-position:center center;background-repeat:no-repeat;width:14px;height:14px;filter:Alpha(Opacity=50);opacity:.5}.ui-input-search.ui-input-has-clear .ui-btn.ui-input-clear,.ui-input-text.ui-input-has-clear .ui-btn.ui-input-clear{position:absolute;right:0;top:50%;margin:-14px .3125em 0;border:0;background-color:transparent}.ui-input-search .ui-input-clear-hidden,.ui-input-text .ui-input-clear-hidden{display:none}.ui-input-text input::-moz-placeholder,.ui-input-search input::-moz-placeholder,textarea.ui-input-text::-moz-placeholder{color:#aaa}.ui-input-text input:-ms-input-placeholder,.ui-input-search input:-ms-input-placeholder,textarea.ui-input-text:-ms-input-placeholder{color:#aaa}.ui-input-text input[type=number]::-webkit-outer-spin-button{margin:0}.ui-input-text input::-ms-clear,.ui-input-search input::-ms-clear{display:none}.ui-input-text input:focus,.ui-input-search input:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}textarea.ui-input-text.ui-textinput-autogrow{overflow:hidden}.ui-textinput-autogrow-resize{-webkit-transition:height .25s;-o-transition:height .25s;-moz-transition:height .25s;transition:height .25s}.ui-flipswitch{display:inline-block;vertical-align:middle;width:5.875em;height:1.875em;border-width:1px;border-style:solid;margin:.5em 0;overflow:hidden;-webkit-transition-property:padding,width,background-color,color,border-color;-moz-transition-property:padding,width,background-color,color,border-color;-o-transition-property:padding,width,background-color,color,border-color;transition-property:padding,width,background-color,color,border-color;-webkit-transition-duration:100ms;-moz-transition-duration:100ms;-o-transition-duration:100ms;transition-duration:100ms;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.ui-flipswitch.ui-flipswitch-active{padding-left:4em;width:1.875em}.ui-flipswitch-input{position:absolute;height:1px;width:1px;margin:-1px;overflow:hidden;clip:rect(1px,1px,1px,1px);border:0;outline:0;filter:Alpha(Opacity=0);opacity:0}.ui-flipswitch .ui-btn.ui-flipswitch-on,.ui-flipswitch .ui-flipswitch-off{float:left;height:1.75em;margin:.0625em;line-height:1.65em}.ui-flipswitch .ui-btn.ui-flipswitch-on{width:1.75em;padding:0;text-indent:-2.6em;text-align:left;border-width:1px;border-style:solid;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-radius:inherit;overflow:visible;color:inherit;text-shadow:inherit}.ui-flipswitch .ui-flipswitch-off{padding:1px;text-indent:1em}html .ui-field-contain>label+.ui-flipswitch,html .ui-popup .ui-field-contain>label+.ui-flipswitch{display:inline-block;width:5.875em;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.ui-field-contain .ui-flipswitch.ui-flipswitch-active,.ui-popup .ui-field-contain .ui-flipswitch.ui-flipswitch-active{width:1.875em}.ui-table{border:0;border-collapse:collapse;padding:0;width:100%}.ui-table th,.ui-table td{line-height:1.5em;text-align:left;padding:.4em .5em;vertical-align:top}.ui-table th .ui-btn,.ui-table td .ui-btn{line-height:normal}.ui-table th{font-weight:700}.ui-table caption{text-align:left;margin-bottom:1.4em;opacity:.5}.ui-table-columntoggle-btn{float:right;margin-bottom:.8em}.ui-table-columntoggle-popup fieldset{margin:0}.ui-table-columntoggle{clear:both}@media only all{th.ui-table-priority-6,td.ui-table-priority-6,th.ui-table-priority-5,td.ui-table-priority-5,th.ui-table-priority-4,td.ui-table-priority-4,th.ui-table-priority-3,td.ui-table-priority-3,th.ui-table-priority-2,td.ui-table-priority-2,th.ui-table-priority-1,td.ui-table-priority-1{display:none}}@media screen and (min-width:20em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-1,.ui-table-columntoggle.ui-responsive td.ui-table-priority-1{display:table-cell}}@media screen and (min-width:30em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-2,.ui-table-columntoggle.ui-responsive td.ui-table-priority-2{display:table-cell}}@media screen and (min-width:40em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-3,.ui-table-columntoggle.ui-responsive td.ui-table-priority-3{display:table-cell}}@media screen and (min-width:50em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-4,.ui-table-columntoggle.ui-responsive td.ui-table-priority-4{display:table-cell}}@media screen and (min-width:60em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-5,.ui-table-columntoggle.ui-responsive td.ui-table-priority-5{display:table-cell}}@media screen and (min-width:70em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-6,.ui-table-columntoggle.ui-responsive td.ui-table-priority-6{display:table-cell}}.ui-table-columntoggle th.ui-table-cell-hidden,.ui-table-columntoggle td.ui-table-cell-hidden,.ui-table-columntoggle.ui-responsive th.ui-table-cell-hidden,.ui-table-columntoggle.ui-responsive td.ui-table-cell-hidden{display:none}.ui-table-columntoggle th.ui-table-cell-visible,.ui-table-columntoggle td.ui-table-cell-visible,.ui-table-columntoggle.ui-responsive th.ui-table-cell-visible,.ui-table-columntoggle.ui-responsive td.ui-table-cell-visible{display:table-cell}.ui-table-reflow td .ui-table-cell-label,.ui-table-reflow th .ui-table-cell-label{display:none}@media only all{.ui-table-reflow thead td,.ui-table-reflow thead th{display:none}.ui-table-reflow td,.ui-table-reflow th{text-align:left;display:block}.ui-table-reflow tbody th{margin-top:3em}.ui-table-reflow td .ui-table-cell-label,.ui-table-reflow th .ui-table-cell-label{padding:.4em;min-width:30%;display:inline-block;margin:-.4em 1em -.4em -.4em}.ui-table-reflow th .ui-table-cell-label-top,.ui-table-reflow td .ui-table-cell-label-top{display:block;padding:.4em 0;margin:.4em 0;text-transform:uppercase;font-size:.9em;font-weight:400}}@media (min-width:35em){.ui-table-reflow.ui-responsive td,.ui-table-reflow.ui-responsive th,.ui-table-reflow.ui-responsive tbody th,.ui-table-reflow.ui-responsive tbody td,.ui-table-reflow.ui-responsive thead td,.ui-table-reflow.ui-responsive thead th{display:table-cell;margin:0}.ui-table-reflow.ui-responsive td .ui-table-cell-label,.ui-table-reflow.ui-responsive th .ui-table-cell-label{display:none}}@media (max-width:35em){.ui-table-reflow.ui-responsive td,.ui-table-reflow.ui-responsive th{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;clear:left}}.ui-panel{width:17em;min-height:100%;max-height:none;border-width:0;position:absolute;top:0;display:block}.ui-panel-closed{width:0;max-height:100%;overflow:hidden;visibility:hidden;left:0;clip:rect(1px,1px,1px,1px)}.ui-panel-fixed{position:fixed;bottom:-1px;padding-bottom:1px}.ui-panel-display-reveal{z-index:1}.ui-panel-display-push{z-index:999}.ui-panel-display-overlay{z-index:1001}.ui-panel-inner{padding:1em}.ui-panel-page-container{overflow-x:visible}.ui-panel-page-container-themed .ui-page-active{background:0}.ui-panel-wrapper{position:relative;min-height:inherit;border:0;overflow-x:hidden;z-index:999}.ui-panel-fixed-toolbar{overflow-x:hidden}.ui-panel-dismiss{position:absolute;top:0;left:0;right:0;height:100%;z-index:1002;display:none}.ui-panel-dismiss-open{display:block}.ui-panel-animate{-webkit-transition:-webkit-transform 300ms ease;-webkit-transition-duration:300ms;-moz-transition:-moz-transform 300ms ease;transition:transform 300ms ease}@media screen and (max-device-width:768px){.ui-page-header-fixed .ui-panel-animate.ui-panel-wrapper,.ui-page-footer-fixed .ui-panel-animate.ui-panel-wrapper,.ui-panel-animate.ui-panel-fixed-toolbar{-ms-transition:none}.ui-panel-animate.ui-panel-fixed-toolbar{-ms-transition:-ms-transform 1ms;-ms-transform:rotate(0deg)}}.ui-panel-animate.ui-panel:not(.ui-panel-display-reveal){-webkit-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0)}.ui-panel-position-left{left:-17em}.ui-panel-animate.ui-panel-position-left.ui-panel-display-overlay,.ui-panel-animate.ui-panel-position-left.ui-panel-display-push{left:0;-webkit-transform:translate3d(-17em,0,0);-moz-transform:translate3d(-17em,0,0);transform:translate3d(-17em,0,0)}.ui-panel-position-left.ui-panel-display-reveal,.ui-panel-open.ui-panel-position-left{left:0}.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-overlay,.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-push{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-moz-transform:none}.ui-panel-position-right{right:-17em}.ui-panel-animate.ui-panel-position-right.ui-panel-display-overlay,.ui-panel-animate.ui-panel-position-right.ui-panel-display-push{right:0;-webkit-transform:translate3d(17em,0,0);-moz-transform:translate3d(17em,0,0);transform:translate3d(17em,0,0)}.ui-panel-position-right.ui-panel-display-reveal,.ui-panel-position-right.ui-panel-open{right:0}.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-overlay,.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-push{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-moz-transform:none}.ui-panel-page-content-position-left{left:17em;right:-17em}.ui-panel-animate.ui-panel-page-content-position-left{left:0;right:0;-webkit-transform:translate3d(17em,0,0);-moz-transform:translate3d(17em,0,0);transform:translate3d(17em,0,0)}.ui-panel-page-content-position-right{left:-17em;right:17em}.ui-panel-animate.ui-panel-page-content-position-right{left:0;right:0;-webkit-transform:translate3d(-17em,0,0);-moz-transform:translate3d(-17em,0,0);transform:translate3d(-17em,0,0)}.ui-panel-dismiss-open.ui-panel-dismiss-position-left{left:17em}.ui-panel-dismiss-open.ui-panel-dismiss-position-right{right:17em}.ui-panel-display-reveal{-webkit-box-shadow:inset -5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:inset -5px 0 5px rgba(0,0,0,.15);box-shadow:inset -5px 0 5px rgba(0,0,0,.15)}.ui-panel-position-right.ui-panel-display-reveal{-webkit-box-shadow:inset 5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:inset 5px 0 5px rgba(0,0,0,.15);box-shadow:inset 5px 0 5px rgba(0,0,0,.15)}.ui-panel-display-overlay{-webkit-box-shadow:5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:5px 0 5px rgba(0,0,0,.15);box-shadow:5px 0 5px rgba(0,0,0,.15)}.ui-panel-position-right.ui-panel-display-overlay{-webkit-box-shadow:-5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:-5px 0 5px rgba(0,0,0,.15);box-shadow:-5px 0 5px rgba(0,0,0,.15)}.ui-panel-open.ui-panel-position-left.ui-panel-display-push{border-right-width:1px;margin-right:-1px}.ui-panel-page-content-position-left.ui-panel-page-content-display-push{margin-left:1px;width:auto}.ui-panel-open.ui-panel-position-right.ui-panel-display-push{border-left-width:1px;margin-left:-1px}.ui-panel-page-content-position-right.ui-panel-page-content-display-push{margin-right:1px;width:auto}@media (min-width:55em){.ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-left{margin-right:17em}.ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-right{margin-left:17em}.ui-responsive-panel .ui-panel-page-content-open{width:auto}.ui-responsive-panel .ui-panel-dismiss-display-push,.ui-responsive-panel.ui-page-active~.ui-panel-dismiss-display-push{display:none}}.ui-tabs{position:relative;padding:.2em} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.structure-1.4.5.css b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.structure-1.4.5.css deleted file mode 100644 index 65e34b29796457245b7d3b180c58d1fb9ef7d139..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.structure-1.4.5.css +++ /dev/null @@ -1,3456 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! -* jQuery Mobile 1.4.5 -* Git HEAD hash: 68e55e78b292634d3991c795f06f5e37a512decc <> Date: Fri Oct 31 2014 17:33:30 UTC -* http://jquerymobile.com -* -* Copyright 2010, 2014 jQuery Foundation, Inc. and othercontributors -* Released under the MIT license. -* http://jquery.org/license -* -*/ - - -/* Some unsets */ -.ui-mobile, -.ui-mobile body { - height: 99.9%; -} -.ui-mobile fieldset, -.ui-page { - padding: 0; - margin: 0; -} -.ui-mobile a img, -.ui-mobile fieldset { - border-width: 0; -} -/* Fixes for fieldset issues on IE10 and FF (see #6077) */ -.ui-mobile fieldset { - min-width: 0; -} -@-moz-document url-prefix() { - .ui-mobile fieldset { - display: table-column; - vertical-align: middle; - } -} -/* Viewport */ -.ui-mobile-viewport { - margin: 0; - overflow-x: visible; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust:none; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} -/* Issue #2066 */ -body.ui-mobile-viewport, -div.ui-mobile-viewport { - overflow-x: hidden; -} -/* "page" containers - full-screen views, one should always be in view post-pageload */ -.ui-mobile [data-role=page], -.ui-mobile [data-role=dialog], -.ui-page { - top: 0; - left: 0; - width: 100%; - min-height: 100%; - position: absolute; - display: none; - border: 0; -} -/* On ios4, setting focus on the page element causes flashing during transitions when there is an outline, so we turn off outlines */ -.ui-page { - outline: none; -} -.ui-mobile .ui-page-active { - display: block; - overflow: visible; - overflow-x: hidden; -} -@media screen and (orientation: portrait) { - .ui-mobile .ui-page { - min-height: 420px; - } -} -@media screen and (orientation: landscape) { - .ui-mobile .ui-page { - min-height: 300px; - } -} -/* Fouc */ -.ui-mobile-rendering > * { - visibility: hidden; -} -/* Non-js content hiding */ -.ui-nojs { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -/* Loading screen */ -.ui-loading .ui-loader { - display: block; -} -.ui-loader { - display: none; - z-index: 9999999; - position: fixed; - top: 50%; - left: 50%; - border:0; -} -.ui-loader-default { - background: none; - filter: Alpha(Opacity=18); - opacity: .18; - width: 2.875em; - height: 2.875em; - margin-left: -1.4375em; - margin-top: -1.4375em; -} -.ui-loader-verbose { - width: 12.5em; - filter: Alpha(Opacity=88); - opacity: .88; - box-shadow: 0 1px 1px -1px #fff; - height: auto; - margin-left: -6.875em; - margin-top: -2.6875em; - padding: .625em; -} -.ui-loader-default h1 { - font-size: 0; - width: 0; - height: 0; - overflow: hidden; -} -.ui-loader-verbose h1 { - font-size: 1em; - margin: 0; - text-align: center; -} -.ui-loader .ui-icon-loading { - background-color: #000; - display: block; - margin: 0; - width: 2.75em; - height: 2.75em; - padding: .0625em; - -webkit-border-radius: 2.25em; - border-radius: 2.25em; -} -.ui-loader-verbose .ui-icon-loading { - margin: 0 auto .625em; - filter: Alpha(Opacity=75); - opacity: .75; -} -.ui-loader-textonly { - padding: .9375em; - margin-left: -7.1875em; -} -.ui-loader-textonly .ui-icon-loading { - display: none; -} -.ui-loader-fakefix { - position: absolute; -} -/* Headers, content panels */ -.ui-bar, -.ui-body { - position: relative; - padding: .4em 1em; - overflow: hidden; - display: block; - clear: both; -} -.ui-bar h1, -.ui-bar h2, -.ui-bar h3, -.ui-bar h4, -.ui-bar h5, -.ui-bar h6 { - margin: 0; - padding: 0; - font-size: 1em; - display: inline-block; -} -.ui-header, -.ui-footer { - border-width: 1px 0; - border-style: solid; - position: relative; -} -.ui-header:empty, -.ui-footer:empty { - min-height: 2.6875em; -} -.ui-header .ui-title, -.ui-footer .ui-title { - font-size: 1em; - min-height: 1.1em; - text-align: center; - display: block; - margin: 0 30%; - padding: .7em 0; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; - outline: 0 !important; -} -.ui-footer .ui-title { - margin: 0 1em; -} -.ui-content { - border-width: 0; - overflow: visible; - overflow-x: hidden; - padding: 1em; -} -/* Corner styling for dialogs and popups */ -.ui-corner-all > .ui-header:first-child, -.ui-corner-all > .ui-content:first-child, -.ui-corner-all > .ui-footer:first-child { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; -} -.ui-corner-all > .ui-header:last-child, -.ui-corner-all > .ui-content:last-child, -.ui-corner-all > .ui-footer:last-child { - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -/* Buttons and icons */ -.ui-btn { - font-size: 16px; - margin: .5em 0; - padding: .7em 1em; - display: block; - position: relative; - text-align: center; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.ui-btn-icon-notext, -.ui-header button.ui-btn.ui-btn-icon-notext, -.ui-footer button.ui-btn.ui-btn-icon-notext { - padding: 0; - width: 1.75em; - height: 1.75em; - text-indent: -9999px; - white-space: nowrap !important; -} -.ui-mini { - font-size: 12.5px; -} -.ui-mini .ui-btn { - font-size: inherit; -} -/* Make buttons in toolbars default to mini and inline. */ -.ui-header .ui-btn, -.ui-footer .ui-btn { - font-size: 12.5px; - display: inline-block; - vertical-align: middle; -} -.ui-header .ui-controlgroup .ui-btn-icon-notext, -.ui-footer .ui-controlgroup .ui-btn-icon-notext { - font-size: 12.5px; -} -/* To ensure same top and left/right position when ui-btn-left/right are added to something other than buttons. */ -.ui-header .ui-btn-left, -.ui-header .ui-btn-right { - font-size: 12.5px; -} -.ui-mini.ui-btn-icon-notext, -.ui-mini .ui-btn-icon-notext, -.ui-header .ui-btn-icon-notext, -.ui-footer .ui-btn-icon-notext { - font-size: 16px; - padding: 0; -} -.ui-btn-inline { - display: inline-block; - vertical-align: middle; - margin-right: .625em; -} -.ui-btn-icon-left { - padding-left: 2.5em; -} -.ui-btn-icon-right { - padding-right: 2.5em; -} -.ui-btn-icon-top { - padding-top: 2.5em; -} -.ui-btn-icon-bottom { - padding-bottom: 2.5em; -} -.ui-header .ui-btn-icon-top, -.ui-footer .ui-btn-icon-top, -.ui-header .ui-btn-icon-bottom, -.ui-footer .ui-btn-icon-bottom { - padding-left: .3125em; - padding-right: .3125em; -} -.ui-btn-icon-left:after, -.ui-btn-icon-right:after, -.ui-btn-icon-top:after, -.ui-btn-icon-bottom:after, -.ui-btn-icon-notext:after { - content: ""; - position: absolute; - display: block; - width: 22px; - height: 22px; -} -.ui-btn-icon-notext:after, -.ui-btn-icon-left:after, -.ui-btn-icon-right:after { - top: 50%; - margin-top: -11px; -} -.ui-btn-icon-left:after { - left: .5625em; -} -.ui-btn-icon-right:after { - right: .5625em; -} -.ui-mini.ui-btn-icon-left:after, -.ui-mini .ui-btn-icon-left:after, -.ui-header .ui-btn-icon-left:after, -.ui-footer .ui-btn-icon-left:after { - left: .37em; -} -.ui-mini.ui-btn-icon-right:after, -.ui-mini .ui-btn-icon-right:after, -.ui-header .ui-btn-icon-right:after, -.ui-footer .ui-btn-icon-right:after { - right: .37em; -} -.ui-btn-icon-notext:after, -.ui-btn-icon-top:after, -.ui-btn-icon-bottom:after { - left: 50%; - margin-left: -11px; -} -.ui-btn-icon-top:after { - top: .5625em; -} -.ui-btn-icon-bottom:after { - top: auto; - bottom: .5625em; -} -/* Buttons in header position classes */ -.ui-header .ui-btn-left, -.ui-header .ui-btn-right, -.ui-btn-left > [class*="ui-"], -.ui-btn-right > [class*="ui-"] { - margin: 0; -} -.ui-btn-left, -.ui-btn-right { - position: absolute; - top: .24em; -} -.ui-btn-left { - left: .4em; -} -.ui-btn-right { - right: .4em; -} -.ui-btn-icon-notext.ui-btn-left { - top: .3125em; - left: .3125em; -} -.ui-btn-icon-notext.ui-btn-right { - top: .3125em; - right: .3125em; -} -/* Button elements */ -button.ui-btn, -.ui-controlgroup-controls button.ui-btn-icon-notext { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - -webkit-appearance: none; - -moz-appearance: none; - width: 100%; -} -button.ui-btn-inline, -.ui-header button.ui-btn, -.ui-footer button.ui-btn { - width: auto; -} -/* Firefox adds a 1px border in a button element. We negate this to make sure they have the same height as other buttons in controlgroups. */ -button.ui-btn::-moz-focus-inner { - border: 0; -} -button.ui-btn-icon-notext, -.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn { - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; - width: 1.75em; -} -/* Form labels */ -.ui-mobile label, -.ui-controlgroup-label { - display: block; - margin: 0 0 .4em; -} -/* Accessible content hiding */ -/* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */ -.ui-hide-label > label, -.ui-hide-label .ui-controlgroup-label, -.ui-hide-label .ui-rangeslider label, -.ui-hidden-accessible { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -/* Used for hiding elements by the filterable widget. You can also use this class to hide list items or buttons in controlgroups; this ensures correct corner styling. */ -.ui-screen-hidden { - display: none !important; -} -/* Transitions originally inspired by those from jQtouch, nice work, folks */ -.ui-mobile-viewport-transitioning, -.ui-mobile-viewport-transitioning .ui-page { - width: 100%; - height: 100%; - overflow: hidden; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.ui-page-pre-in { - opacity: 0; -} -.in { - -webkit-animation-timing-function: ease-out; - -webkit-animation-duration: 350ms; - -moz-animation-timing-function: ease-out; - -moz-animation-duration: 350ms; - animation-timing-function: ease-out; - animation-duration: 350ms; -} -.out { - -webkit-animation-timing-function: ease-in; - -webkit-animation-duration: 225ms; - -moz-animation-timing-function: ease-in; - -moz-animation-duration: 225ms; - animation-timing-function: ease-in; - animation-duration: 225ms; -} -@-webkit-keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } -} -@-moz-keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } -} -@keyframes fadein { - from { opacity: 0; } - to { opacity: 1; } -} -@-webkit-keyframes fadeout { - from { opacity: 1; } - to { opacity: 0; } -} -@-moz-keyframes fadeout { - from { opacity: 1; } - to { opacity: 0; } -} -@keyframes fadeout { - from { opacity: 1; } - to { opacity: 0; } -} -.fade.out { - opacity: 0; - -webkit-animation-duration: 125ms; - -webkit-animation-name: fadeout; - -moz-animation-duration: 125ms; - -moz-animation-name: fadeout; - animation-duration: 125ms; - animation-name: fadeout; -} -.fade.in { - opacity: 1; - -webkit-animation-duration: 225ms; - -webkit-animation-name: fadein; - -moz-animation-duration: 225ms; - -moz-animation-name: fadein; - animation-duration: 225ms; - animation-name: fadein; -} -.pop { - -webkit-transform-origin: 50% 50%; - -moz-transform-origin: 50% 50%; - transform-origin: 50% 50%; -} -.pop.in { - -webkit-transform: scale(1); - -webkit-animation-name: popin; - -webkit-animation-duration: 350ms; - -moz-transform: scale(1); - -moz-animation-name: popin; - -moz-animation-duration: 350ms; - transform: scale(1); - animation-name: popin; - animation-duration: 350ms; - opacity: 1; -} -.pop.out { - -webkit-animation-name: fadeout; - -webkit-animation-duration: 100ms; - -moz-animation-name: fadeout; - -moz-animation-duration: 100ms; - animation-name: fadeout; - animation-duration: 100ms; - opacity: 0; -} -.pop.in.reverse { - -webkit-animation-name: fadein; - -moz-animation-name: fadein; - animation-name: fadein; -} -.pop.out.reverse { - -webkit-transform: scale(.8); - -webkit-animation-name: popout; - -moz-transform: scale(.8); - -moz-animation-name: popout; - transform: scale(.8); - animation-name: popout; -} -@-webkit-keyframes popin { - from { - -webkit-transform: scale(.8); - opacity: 0; - } - to { - -webkit-transform: scale(1); - opacity: 1; - } -} -@-moz-keyframes popin { - from { - -moz-transform: scale(.8); - opacity: 0; - } - to { - -moz-transform: scale(1); - opacity: 1; - } -} -@keyframes popin { - from { - transform: scale(.8); - opacity: 0; - } - to { - transform: scale(1); - opacity: 1; - } -} -@-webkit-keyframes popout { - from { - -webkit-transform: scale(1); - opacity: 1; - } - to { - -webkit-transform: scale(.8); - opacity: 0; - } -} -@-moz-keyframes popout { - from { - -moz-transform: scale(1); - opacity: 1; - } - to { - -moz-transform: scale(.8); - opacity: 0; - } -} -@keyframes popout { - from { - transform: scale(1); - opacity: 1; - } - to { - transform: scale(.8); - opacity: 0; - } -} -/* keyframes for slidein from sides */ -@-webkit-keyframes slideinfromright { - from { -webkit-transform: translate3d(100%,0,0); } - to { -webkit-transform: translate3d(0,0,0); } -} -@-moz-keyframes slideinfromright { - from { -moz-transform: translateX(100%); } - to { -moz-transform: translateX(0); } -} -@keyframes slideinfromright { - from { transform: translateX(100%); } - to { transform: translateX(0); } -} -@-webkit-keyframes slideinfromleft { - from { -webkit-transform: translate3d(-100%,0,0); } - to { -webkit-transform: translate3d(0,0,0); } -} -@-moz-keyframes slideinfromleft { - from { -moz-transform: translateX(-100%); } - to { -moz-transform: translateX(0); } -} -@keyframes slideinfromleft { - from { transform: translateX(-100%); } - to { transform: translateX(0); } -} -/* keyframes for slideout to sides */ -@-webkit-keyframes slideouttoleft { - from { -webkit-transform: translate3d(0,0,0); } - to { -webkit-transform: translate3d(-100%,0,0); } -} -@-moz-keyframes slideouttoleft { - from { -moz-transform: translateX(0); } - to { -moz-transform: translateX(-100%); } -} -@keyframes slideouttoleft { - from { transform: translateX(0); } - to { transform: translateX(-100%); } -} -@-webkit-keyframes slideouttoright { - from { -webkit-transform: translate3d(0,0,0); } - to { -webkit-transform: translate3d(100%,0,0); } -} -@-moz-keyframes slideouttoright { - from { -moz-transform: translateX(0); } - to { -moz-transform: translateX(100%); } -} -@keyframes slideouttoright { - from { transform: translateX(0); } - to { transform: translateX(100%); } -} -.slide.out, .slide.in { - -webkit-animation-timing-function: ease-out; - -webkit-animation-duration: 350ms; - -moz-animation-timing-function: ease-out; - -moz-animation-duration: 350ms; - animation-timing-function: ease-out; - animation-duration: 350ms; -} -.slide.out { - -webkit-transform: translate3d(-100%,0,0); - -webkit-animation-name: slideouttoleft; - -moz-transform: translateX(-100%); - -moz-animation-name: slideouttoleft; - transform: translateX(-100%); - animation-name: slideouttoleft; -} -.slide.in { - -webkit-transform: translate3d(0,0,0); - -webkit-animation-name: slideinfromright; - -moz-transform: translateX(0); - -moz-animation-name: slideinfromright; - transform: translateX(0); - animation-name: slideinfromright; -} -.slide.out.reverse { - -webkit-transform: translate3d(100%,0,0); - -webkit-animation-name: slideouttoright; - -moz-transform: translateX(100%); - -moz-animation-name: slideouttoright; - transform: translateX(100%); - animation-name: slideouttoright; -} -.slide.in.reverse { - -webkit-transform: translate3d(0,0,0); - -webkit-animation-name: slideinfromleft; - -moz-transform: translateX(0); - -moz-animation-name: slideinfromleft; - transform: translateX(0); - animation-name: slideinfromleft; -} -.slidefade.out { - -webkit-transform: translateX(-100%); - -webkit-animation-name: slideouttoleft; - -webkit-animation-duration: 225ms; - -moz-transform: translateX(-100%); - -moz-animation-name: slideouttoleft; - -moz-animation-duration: 225ms; - transform: translateX(-100%); - animation-name: slideouttoleft; - animation-duration: 225ms; -} -.slidefade.in { - -webkit-transform: translateX(0); - -webkit-animation-name: fadein; - -webkit-animation-duration: 200ms; - -moz-transform: translateX(0); - -moz-animation-name: fadein; - -moz-animation-duration: 200ms; - transform: translateX(0); - animation-name: fadein; - animation-duration: 200ms; -} -.slidefade.out.reverse { - -webkit-transform: translateX(100%); - -webkit-animation-name: slideouttoright; - -webkit-animation-duration: 200ms; - -moz-transform: translateX(100%); - -moz-animation-name: slideouttoright; - -moz-animation-duration: 200ms; - transform: translateX(100%); - animation-name: slideouttoright; - animation-duration: 200ms; -} -.slidefade.in.reverse { - -webkit-transform: translateX(0); - -webkit-animation-name: fadein; - -webkit-animation-duration: 200ms; - -moz-transform: translateX(0); - -moz-animation-name: fadein; - -moz-animation-duration: 200ms; - transform: translateX(0); - animation-name: fadein; - animation-duration: 200ms; -} -/* slide down */ -.slidedown.out { - -webkit-animation-name: fadeout; - -webkit-animation-duration: 100ms; - -moz-animation-name: fadeout; - -moz-animation-duration: 100ms; - animation-name: fadeout; - animation-duration: 100ms; -} -.slidedown.in { - -webkit-transform: translateY(0); - -webkit-animation-name: slideinfromtop; - -webkit-animation-duration: 250ms; - -moz-transform: translateY(0); - -moz-animation-name: slideinfromtop; - -moz-animation-duration: 250ms; - transform: translateY(0); - animation-name: slideinfromtop; - animation-duration: 250ms; -} -.slidedown.in.reverse { - -webkit-animation-name: fadein; - -webkit-animation-duration: 150ms; - -moz-animation-name: fadein; - -moz-animation-duration: 150ms; - animation-name: fadein; - animation-duration: 150ms; -} -.slidedown.out.reverse { - -webkit-transform: translateY(-100%); - -webkit-animation-name: slideouttotop; - -webkit-animation-duration: 200ms; - -moz-transform: translateY(-100%); - -moz-animation-name: slideouttotop; - -moz-animation-duration: 200ms; - transform: translateY(-100%); - animation-name: slideouttotop; - animation-duration: 200ms; -} -@-webkit-keyframes slideinfromtop { - from { -webkit-transform: translateY(-100%); } - to { -webkit-transform: translateY(0); } -} -@-moz-keyframes slideinfromtop { - from { -moz-transform: translateY(-100%); } - to { -moz-transform: translateY(0); } -} -@keyframes slideinfromtop { - from { transform: translateY(-100%); } - to { transform: translateY(0); } -} -@-webkit-keyframes slideouttotop { - from { -webkit-transform: translateY(0); } - to { -webkit-transform: translateY(-100%); } -} -@-moz-keyframes slideouttotop { - from { -moz-transform: translateY(0); } - to { -moz-transform: translateY(-100%); } -} -@keyframes slideouttotop { - from { transform: translateY(0); } - to { transform: translateY(-100%); } -} -/* slide up */ -.slideup.out { - -webkit-animation-name: fadeout; - -webkit-animation-duration: 100ms; - -moz-animation-name: fadeout; - -moz-animation-duration: 100ms; - animation-name: fadeout; - animation-duration: 100ms; -} -.slideup.in { - -webkit-transform: translateY(0); - -webkit-animation-name: slideinfrombottom; - -webkit-animation-duration: 250ms; - -moz-transform: translateY(0); - -moz-animation-name: slideinfrombottom; - -moz-animation-duration: 250ms; - transform: translateY(0); - animation-name: slideinfrombottom; - animation-duration: 250ms; -} -.slideup.in.reverse { - -webkit-animation-name: fadein; - -webkit-animation-duration: 150ms; - -moz-animation-name: fadein; - -moz-animation-duration: 150ms; - animation-name: fadein; - animation-duration: 150ms; -} -.slideup.out.reverse { - -webkit-transform: translateY(100%); - -webkit-animation-name: slideouttobottom; - -webkit-animation-duration: 200ms; - -moz-transform: translateY(100%); - -moz-animation-name: slideouttobottom; - -moz-animation-duration: 200ms; - transform: translateY(100%); - animation-name: slideouttobottom; - animation-duration: 200ms; -} -@-webkit-keyframes slideinfrombottom { - from { -webkit-transform: translateY(100%); } - to { -webkit-transform: translateY(0); } -} -@-moz-keyframes slideinfrombottom { - from { -moz-transform: translateY(100%); } - to { -moz-transform: translateY(0); } -} -@keyframes slideinfrombottom { - from { transform: translateY(100%); } - to { transform: translateY(0); } -} -@-webkit-keyframes slideouttobottom { - from { -webkit-transform: translateY(0); } - to { -webkit-transform: translateY(100%); } -} -@-moz-keyframes slideouttobottom { - from { -moz-transform: translateY(0); } - to { -moz-transform: translateY(100%); } -} -@keyframes slideouttobottom { - from { transform: translateY(0); } - to { transform: translateY(100%); } -} -/* The properties in this rule are only necessary for the 'flip' transition. - * We need specify the perspective to create a projection matrix. This will add - * some depth as the element flips. The depth number represents the distance of - * the viewer from the z-plane. According to the CSS3 spec, 1000 is a moderate - * value. - */ -.viewport-flip { - -webkit-perspective: 1000; - -moz-perspective: 1000; - perspective: 1000; - position: absolute; -} -.flip { - -webkit-backface-visibility: hidden; - -webkit-transform: translateX(0); /* Needed to work around an iOS 3.1 bug that causes listview thumbs to disappear when -webkit-visibility:hidden is used. */ - -moz-backface-visibility: hidden; - -moz-transform: translateX(0); - backface-visibility: hidden; - transform: translateX(0); -} -.flip.out { - -webkit-transform: rotateY(-90deg) scale(.9); - -webkit-animation-name: flipouttoleft; - -webkit-animation-duration: 175ms; - -moz-transform: rotateY(-90deg) scale(.9); - -moz-animation-name: flipouttoleft; - -moz-animation-duration: 175ms; - transform: rotateY(-90deg) scale(.9); - animation-name: flipouttoleft; - animation-duration: 175ms; -} -.flip.in { - -webkit-animation-name: flipintoright; - -webkit-animation-duration: 225ms; - -moz-animation-name: flipintoright; - -moz-animation-duration: 225ms; - animation-name: flipintoright; - animation-duration: 225ms; -} -.flip.out.reverse { - -webkit-transform: rotateY(90deg) scale(.9); - -webkit-animation-name: flipouttoright; - -moz-transform: rotateY(90deg) scale(.9); - -moz-animation-name: flipouttoright; - transform: rotateY(90deg) scale(.9); - animation-name: flipouttoright; -} -.flip.in.reverse { - -webkit-animation-name: flipintoleft; - -moz-animation-name: flipintoleft; - animation-name: flipintoleft; -} -@-webkit-keyframes flipouttoleft { - from { -webkit-transform: rotateY(0); } - to { -webkit-transform: rotateY(-90deg) scale(.9); } -} -@-moz-keyframes flipouttoleft { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(-90deg) scale(.9); } -} -@keyframes flipouttoleft { - from { transform: rotateY(0); } - to { transform: rotateY(-90deg) scale(.9); } -} -@-webkit-keyframes flipouttoright { - from { -webkit-transform: rotateY(0) ; } - to { -webkit-transform: rotateY(90deg) scale(.9); } -} -@-moz-keyframes flipouttoright { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(90deg) scale(.9); } -} -@keyframes flipouttoright { - from { transform: rotateY(0); } - to { transform: rotateY(90deg) scale(.9); } -} -@-webkit-keyframes flipintoleft { - from { -webkit-transform: rotateY(-90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoleft { - from { -moz-transform: rotateY(-90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoleft { - from { transform: rotateY(-90deg) scale(.9); } - to { transform: rotateY(0); } -} -@-webkit-keyframes flipintoright { - from { -webkit-transform: rotateY(90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoright { - from { -moz-transform: rotateY(90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoright { - from { transform: rotateY(90deg) scale(.9); } - to { transform: rotateY(0); } -} -/* The properties in this rule are only necessary for the 'flip' transition. - * We need specify the perspective to create a projection matrix. This will add - * some depth as the element flips. The depth number represents the distance of - * the viewer from the z-plane. According to the CSS3 spec, 1000 is a moderate - * value. - */ -.viewport-turn { - -webkit-perspective: 200px; - -moz-perspective: 200px; - -ms-perspective: 200px; - perspective: 200px; - position: absolute; -} -.turn { - -webkit-backface-visibility: hidden; - -webkit-transform: translateX(0); /* Needed to work around an iOS 3.1 bug that causes listview thumbs to disappear when -webkit-visibility:hidden is used. */ - -webkit-transform-origin: 0; - - -moz-backface-visibility: hidden; - -moz-transform: translateX(0); - -moz-transform-origin: 0; - - backface-visibility :hidden; - transform: translateX(0); - transform-origin: 0; -} -.turn.out { - -webkit-transform: rotateY(-90deg) scale(.9); - -webkit-animation-name: flipouttoleft; - -webkit-animation-duration: 125ms; - -moz-transform: rotateY(-90deg) scale(.9); - -moz-animation-name: flipouttoleft; - -moz-animation-duration: 125ms; - transform: rotateY(-90deg) scale(.9); - animation-name: flipouttoleft; - animation-duration: 125ms; -} -.turn.in { - -webkit-animation-name: flipintoright; - -webkit-animation-duration: 250ms; - -moz-animation-name: flipintoright; - -moz-animation-duration: 250ms; - animation-name: flipintoright; - animation-duration: 250ms; - -} -.turn.out.reverse { - -webkit-transform: rotateY(90deg) scale(.9); - -webkit-animation-name: flipouttoright; - -moz-transform: rotateY(90deg) scale(.9); - -moz-animation-name: flipouttoright; - transform: rotateY(90deg) scale(.9); - animation-name: flipouttoright; -} -.turn.in.reverse { - -webkit-animation-name: flipintoleft; - -moz-animation-name: flipintoleft; - animation-name: flipintoleft; -} -@-webkit-keyframes flipouttoleft { - from { -webkit-transform: rotateY(0); } - to { -webkit-transform: rotateY(-90deg) scale(.9); } -} -@-moz-keyframes flipouttoleft { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(-90deg) scale(.9); } -} -@keyframes flipouttoleft { - from { transform: rotateY(0); } - to { transform: rotateY(-90deg) scale(.9); } -} -@-webkit-keyframes flipouttoright { - from { -webkit-transform: rotateY(0) ; } - to { -webkit-transform: rotateY(90deg) scale(.9); } -} -@-moz-keyframes flipouttoright { - from { -moz-transform: rotateY(0); } - to { -moz-transform: rotateY(90deg) scale(.9); } -} -@keyframes flipouttoright { - from { transform: rotateY(0); } - to { transform: rotateY(90deg) scale(.9); } -} -@-webkit-keyframes flipintoleft { - from { -webkit-transform: rotateY(-90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoleft { - from { -moz-transform: rotateY(-90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoleft { - from { transform: rotateY(-90deg) scale(.9); } - to { transform: rotateY(0); } -} -@-webkit-keyframes flipintoright { - from { -webkit-transform: rotateY(90deg) scale(.9); } - to { -webkit-transform: rotateY(0); } -} -@-moz-keyframes flipintoright { - from { -moz-transform: rotateY(90deg) scale(.9); } - to { -moz-transform: rotateY(0); } -} -@keyframes flipintoright { - from { transform: rotateY(90deg) scale(.9); } - to { transform: rotateY(0); } -} -/* flow transition */ -.flow { - -webkit-transform-origin: 50% 30%; - -webkit-box-shadow: 0 0 20px rgba(0,0,0,.4); - -moz-transform-origin: 50% 30%; - -moz-box-shadow: 0 0 20px rgba(0,0,0,.4); - transform-origin: 50% 30%; - box-shadow: 0 0 20px rgba(0,0,0,.4); -} -.ui-dialog.flow { - -webkit-transform-origin: none; - -webkit-box-shadow: none; - -moz-transform-origin: none; - -moz-box-shadow: none; - transform-origin: none; - box-shadow: none; -} -.flow.out { - -webkit-transform: translateX(-100%) scale(.7); - -webkit-animation-name: flowouttoleft; - -webkit-animation-timing-function: ease; - -webkit-animation-duration: 350ms; - -moz-transform: translateX(-100%) scale(.7); - -moz-animation-name: flowouttoleft; - -moz-animation-timing-function: ease; - -moz-animation-duration: 350ms; - transform: translateX(-100%) scale(.7); - animation-name: flowouttoleft; - animation-timing-function: ease; - animation-duration: 350ms; -} -.flow.in { - -webkit-transform: translateX(0) scale(1); - -webkit-animation-name: flowinfromright; - -webkit-animation-timing-function: ease; - -webkit-animation-duration: 350ms; - -moz-transform: translateX(0) scale(1); - -moz-animation-name: flowinfromright; - -moz-animation-timing-function: ease; - -moz-animation-duration: 350ms; - transform: translateX(0) scale(1); - animation-name: flowinfromright; - animation-timing-function: ease; - animation-duration: 350ms; -} -.flow.out.reverse { - -webkit-transform: translateX(100%); - -webkit-animation-name: flowouttoright; - -moz-transform: translateX(100%); - -moz-animation-name: flowouttoright; - transform: translateX(100%); - animation-name: flowouttoright; -} -.flow.in.reverse { - -webkit-animation-name: flowinfromleft; - -moz-animation-name: flowinfromleft; - animation-name: flowinfromleft; -} -@-webkit-keyframes flowouttoleft { - 0% { -webkit-transform: translateX(0) scale(1); } - 60%, 70% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(-100%) scale(.7); } -} -@-moz-keyframes flowouttoleft { - 0% { -moz-transform: translateX(0) scale(1); } - 60%, 70% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(-100%) scale(.7); } -} -@keyframes flowouttoleft { - 0% { transform: translateX(0) scale(1); } - 60%, 70% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(-100%) scale(.7); } -} -@-webkit-keyframes flowouttoright { - 0% { -webkit-transform: translateX(0) scale(1); } - 60%, 70% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(100%) scale(.7); } -} -@-moz-keyframes flowouttoright { - 0% { -moz-transform: translateX(0) scale(1); } - 60%, 70% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(100%) scale(.7); } -} -@keyframes flowouttoright { - 0% { transform: translateX(0) scale(1); } - 60%, 70% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(100%) scale(.7); } -} -@-webkit-keyframes flowinfromleft { - 0% { -webkit-transform: translateX(-100%) scale(.7); } - 30%, 40% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(0) scale(1); } -} -@-moz-keyframes flowinfromleft { - 0% { -moz-transform: translateX(-100%) scale(.7); } - 30%, 40% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(0) scale(1); } -} -@keyframes flowinfromleft { - 0% { transform: translateX(-100%) scale(.7); } - 30%, 40% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(0) scale(1); } -} -@-webkit-keyframes flowinfromright { - 0% { -webkit-transform: translateX(100%) scale(.7); } - 30%, 40% { -webkit-transform: translateX(0) scale(.7); } - 100% { -webkit-transform: translateX(0) scale(1); } -} -@-moz-keyframes flowinfromright { - 0% { -moz-transform: translateX(100%) scale(.7); } - 30%, 40% { -moz-transform: translateX(0) scale(.7); } - 100% { -moz-transform: translateX(0) scale(1); } -} -@keyframes flowinfromright { - 0% { transform: translateX(100%) scale(.7); } - 30%, 40% { transform: translateX(0) scale(.7); } - 100% { transform: translateX(0) scale(1); } -} -.ui-field-contain, -.ui-mobile fieldset.ui-field-contain { - display: block; - position: relative; - overflow: visible; - clear: both; - padding: .8em 0; -} -.ui-field-contain > label ~ [class*="ui-"], -.ui-field-contain .ui-controlgroup-controls { - margin: 0; -} -.ui-field-contain:last-child { - border-bottom-width: 0; -} -@media (min-width: 28em) { - .ui-field-contain, - .ui-mobile fieldset.ui-field-contain { - padding: 0; - margin: 1em 0; - border-bottom-width: 0; - } - .ui-field-contain:before, - .ui-field-contain:after { - content: ""; - display: table; - } - .ui-field-contain:after { - clear: both; - } - .ui-field-contain > label, - .ui-field-contain .ui-controlgroup-label, - .ui-field-contain > .ui-rangeslider > label { - float: left; - width: 20%; - margin: .5em 2% 0 0; - } - .ui-popup .ui-field-contain > label, - .ui-popup .ui-field-contain .ui-controlgroup-label, - .ui-popup .ui-field-contain > .ui-rangeslider > label { - float: none; - width: auto; - margin: 0 0 .4em; - } - .ui-field-contain > label ~ [class*="ui-"], - .ui-field-contain .ui-controlgroup-controls { - float: left; - width: 78%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - } - /* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */ - .ui-hide-label > label ~ [class*="ui-"], - .ui-hide-label .ui-controlgroup-controls, - .ui-popup .ui-field-contain > label ~ [class*="ui-"], - .ui-popup .ui-field-contain .ui-controlgroup-controls { - float: none; - width: 100%; - } - .ui-field-contain > label ~ .ui-btn-inline { - width: auto; - margin-right: .625em; - } - .ui-field-contain > label ~ .ui-btn-inline.ui-btn-icon-notext { - width: 1.75em; - } -} -/* content configurations. */ -.ui-grid-a, -.ui-grid-b, -.ui-grid-c, -.ui-grid-d, -.ui-grid-solo { - overflow: hidden; -} -.ui-block-a, -.ui-block-b, -.ui-block-c, -.ui-block-d, -.ui-block-e { - margin: 0; - padding: 0; - border: 0; - float: left; - min-height: 1px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -/* force new row */ -.ui-block-a { - clear: left; -} -ul.ui-grid-a, -ul.ui-grid-b, -ul.ui-grid-c, -ul.ui-grid-d, -ul.ui-grid-solo, -li.ui-block-a, -li.ui-block-b, -li.ui-block-c, -li.ui-block-d, -li.ui-block-e { - margin-left: 0; - margin-right: 0; - padding: 0; - list-style: none; -} -/* No margin in grids for 100% width button elements until we can use max-width: fill-available; */ -[class*="ui-block-"] > button.ui-btn { - margin-right: 0; - margin-left: 0; -} -[class*="ui-block-"] > .ui-btn, -[class*="ui-block-"] > .ui-select, -[class*="ui-block-"] > .ui-checkbox, -[class*="ui-block-"] > .ui-radio, -[class*="ui-block-"] > button.ui-btn-inline, -[class*="ui-block-"] > button.ui-btn-icon-notext, -.ui-header [class*="ui-block-"] > button.ui-btn, -.ui-footer [class*="ui-block-"] > button.ui-btn { - margin-right: .3125em; - margin-left: .3125em; -} -.ui-grid-a > .ui-block-a, -.ui-grid-a > .ui-block-b { - /* width: 49.95%; IE7 */ - /* margin-right: -.5px; BB5 */ - width: 50%; -} -.ui-grid-b > .ui-block-a, -.ui-grid-b > .ui-block-b, -.ui-grid-b > .ui-block-c { - /* width: 33.25%; IE7 */ - /* margin-right: -.5px; BB5 */ - width: 33.333%; -} -.ui-grid-c > .ui-block-a, -.ui-grid-c > .ui-block-b, -.ui-grid-c > .ui-block-c, -.ui-grid-c > .ui-block-d { - /* width: 24.925%; IE7 */ - /* margin-right: -.5px; BB5 */ - width: 25%; -} -.ui-grid-d > .ui-block-a, -.ui-grid-d > .ui-block-b, -.ui-grid-d > .ui-block-c, -.ui-grid-d > .ui-block-d, -.ui-grid-d > .ui-block-e { - /* width: 19.925%; IE7 */ - width: 20%; -} -.ui-grid-solo > .ui-block-a { - width: 100%; - float: none; -} -/* preset breakpoint to switch to stacked grid styles below 35em (560px) */ -@media (max-width: 35em) { - .ui-responsive > .ui-block-a, - .ui-responsive > .ui-block-b, - .ui-responsive > .ui-block-c, - .ui-responsive > .ui-block-d, - .ui-responsive > .ui-block-e { - width: 100%; - float: none; - } -} -/* fixed page header & footer configuration */ -.ui-header-fixed, -.ui-footer-fixed { - left: 0; - right: 0; - width: 100%; - position: fixed; - z-index: 1000; -} -.ui-header-fixed { - top: -1px; - padding-top: 1px; -} -.ui-header-fixed.ui-fixed-hidden { - top: 0; - padding-top: 0; -} -.ui-header-fixed .ui-btn-left, -.ui-header-fixed .ui-btn-right { - margin-top: 1px; -} -.ui-header-fixed.ui-fixed-hidden .ui-btn-left, -.ui-header-fixed.ui-fixed-hidden .ui-btn-right { - margin-top: 0; -} -.ui-footer-fixed { - bottom: -1px; - padding-bottom: 1px; -} -.ui-footer-fixed.ui-fixed-hidden { - bottom: 0; - padding-bottom: 0; -} -.ui-header-fullscreen, -.ui-footer-fullscreen { - filter: Alpha(Opacity=90); - opacity: .9; -} -/* updatePagePadding() will update the padding to actual height of header and footer. */ -.ui-page-header-fixed { - padding-top: 2.8125em; -} -.ui-page-footer-fixed { - padding-bottom: 2.8125em; -} -.ui-page-header-fullscreen > .ui-content, -.ui-page-footer-fullscreen > .ui-content { - padding: 0; -} -.ui-fixed-hidden { - position: absolute; -} -/* Tap toggle: hide external fixed footer. See issue #6604 */ -.ui-footer-fixed.ui-fixed-hidden { - display: none; -} -.ui-page .ui-footer-fixed.ui-fixed-hidden { - display: block -} -.ui-page-header-fullscreen .ui-fixed-hidden, -.ui-page-footer-fullscreen .ui-fixed-hidden { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-header-fixed .ui-btn, -.ui-footer-fixed .ui-btn { - z-index: 10; -} -/* workarounds for other widgets */ -.ui-android-2x-fixed .ui-li-has-thumb { - -webkit-transform: translate3d(0,0,0); -} -.ui-navbar { - max-width: 100%; -} -.ui-navbar ul:before, -.ui-navbar ul:after { - content: ""; - display: table; -} -.ui-navbar ul:after { - clear: both; -} -.ui-navbar ul { - list-style: none; - margin: 0; - padding: 0; - position: relative; - display: block; - border: 0; - max-width: 100%; - overflow: visible; -} -.ui-navbar li .ui-btn { - font-size: 12.5px; - display: block; - margin: 0; - border-right-width: 0; -} -.ui-header .ui-navbar li button.ui-btn, -.ui-footer .ui-navbar li button.ui-btn { - margin: 0; - width: 100%; -} -.ui-navbar .ui-btn:focus { - z-index: 1; -} -/* fixes gaps caused by subpixel problem */ -.ui-navbar li:last-child .ui-btn { - margin-right: -4px; -} -.ui-navbar li:last-child .ui-btn:after { - margin-right: 4px; -} -.ui-content .ui-navbar li:last-child .ui-btn, -.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn { - border-right-width: 1px; - margin-right: 0; -} -.ui-content .ui-navbar li:last-child .ui-btn:after, -.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn:after { - margin-right: 0; -} -.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn { - border-right-width: 1px; - margin-right: -1px; -} -.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn:after { - margin-right: 1px; -} -.ui-navbar .ui-grid-duo .ui-btn { - border-top-width: 0; -} -.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn { - border-top-width: 1px; -} -.ui-header .ui-navbar .ui-btn, -.ui-footer .ui-navbar .ui-btn { - border-top-width: 0; - border-bottom-width: 0; -} -.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn, -.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn { - border-top-width: 0; -} -.ui-header .ui-title ~ .ui-navbar .ui-btn, -.ui-footer .ui-title ~ .ui-navbar .ui-btn, -.ui-header .ui-navbar .ui-grid-duo .ui-btn, -.ui-footer .ui-navbar .ui-grid-duo .ui-btn, -.ui-header .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-footer .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn, -.ui-header .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn, -.ui-footer .ui-title ~ .ui-navbar .ui-grid-duo .ui-block-a:first-child + .ui-block-b .ui-btn { - border-top-width: 1px; -} -/* Hide the native input element */ -.ui-input-btn input { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - padding: 0; - border: 0; - outline: 0; - -webkit-border-radius: inherit; - border-radius: inherit; - -webkit-appearance: none; - -moz-appearance: none; - cursor: pointer; - background: #fff; - background: rgba(255,255,255,0); - filter: Alpha(Opacity=0); - opacity: .1; - font-size: 1px; - text-indent: -9999px; - z-index: 2; -} -/* Fixes IE/WP filter alpha opacity bugs */ -.ui-input-btn.ui-state-disabled input { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-collapsible { - margin: 0 -1em; -} -.ui-collapsible-inset, -.ui-collapsible-set { - margin: .5em 0; -} -.ui-collapsible-heading { - display: block; - margin: 0; - padding: 0; - position: relative; -} -.ui-collapsible-heading .ui-btn { - text-align: left; - margin: 0; - border-left-width: 0; - border-right-width: 0; -} -.ui-collapsible-heading .ui-btn-icon-top, -.ui-collapsible-heading .ui-btn-icon-bottom { - text-align: center; -} -.ui-collapsible-inset .ui-collapsible-heading .ui-btn { - border-right-width: 1px; - border-left-width: 1px; -} -.ui-collapsible-collapsed + .ui-collapsible:not(.ui-collapsible-inset) > .ui-collapsible-heading .ui-btn { - border-top-width: 0; -} -.ui-collapsible-set .ui-collapsible:not(.ui-collapsible-inset) .ui-collapsible-heading .ui-btn { - border-top-width: 1px; -} -.ui-collapsible-heading-status { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-collapsible-content { - display: block; - margin: 0; - padding: .5em 1em; -} -.ui-collapsible-themed-content .ui-collapsible-content { - border-left-width: 0; - border-right-width: 0; - border-top-width: 0; - border-bottom-width: 1px; - border-style: solid; -} -.ui-collapsible-inset.ui-collapsible-themed-content .ui-collapsible-content { - border-left-width: 1px; - border-right-width: 1px; -} -.ui-collapsible-inset .ui-collapsible-content { - margin: 0; -} -.ui-collapsible-content-collapsed { - display: none; -} -.ui-collapsible-set > .ui-collapsible.ui-corner-all { - -webkit-border-radius: 0; - border-radius: 0; -} -.ui-collapsible-heading, -.ui-collapsible-heading > .ui-btn { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-collapsible-set .ui-collapsible.ui-first-child { - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; -} -.ui-collapsible-content, -.ui-collapsible-set .ui-collapsible.ui-last-child { - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-collapsible-themed-content:not(.ui-collapsible-collapsed) > .ui-collapsible-heading { - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; -} -.ui-collapsible-set .ui-collapsible { - margin: -1px -1em 0; -} -.ui-collapsible-set .ui-collapsible-inset { - margin: -1px 0 0; -} -.ui-collapsible-set .ui-collapsible.ui-first-child { - margin-top: 0; -} -.ui-controlgroup, -fieldset.ui-controlgroup { - padding: 0; - margin: .5em 0; -} -.ui-field-contain .ui-controlgroup, -.ui-field-contain fieldset.ui-controlgroup { - margin: 0; -} -.ui-mini .ui-controlgroup-label { - font-size: 16px; -} -.ui-controlgroup.ui-mini .ui-btn-icon-notext, -.ui-controlgroup .ui-mini.ui-btn-icon-notext { - font-size: inherit; -} -.ui-controlgroup-controls .ui-btn, -.ui-controlgroup-controls .ui-checkbox, -.ui-controlgroup-controls .ui-radio, -.ui-controlgroup-controls .ui-select { - margin: 0; -} -.ui-controlgroup-controls .ui-btn:focus, -.ui-controlgroup-controls .ui-btn.ui-focus { - z-index: 1; -} -.ui-controlgroup-controls li { - list-style: none; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls { - display: inline-block; - vertical-align: middle; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls:before, -.ui-controlgroup-horizontal .ui-controlgroup-controls:after { - content: ""; - display: table; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls:after { - clear: both; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls > .ui-btn, -.ui-controlgroup-horizontal .ui-controlgroup-controls li > .ui-btn, -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-checkbox, -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-radio, -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-select { - float: left; - clear: none; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn, -.ui-controlgroup-controls .ui-btn-icon-notext { - width: auto; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn-icon-notext, -.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn-icon-notext { - width: 1.5em; -} - .ui-controlgroup-controls .ui-btn-icon-notext { - height: auto; - padding: .7em 1em; -} -.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn { - border-bottom-width: 0; -} -.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn.ui-last-child { - border-bottom-width: 1px; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn { - border-right-width: 0; -} -.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn.ui-last-child { - border-right-width: 1px; -} -.ui-controlgroup-controls .ui-btn-corner-all, -.ui-controlgroup-controls .ui-btn.ui-corner-all { - -webkit-border-radius: 0; - border-radius: 0; -} -.ui-controlgroup-controls, -.ui-controlgroup-controls .ui-radio, -.ui-controlgroup-controls .ui-checkbox, -.ui-controlgroup-controls .ui-select, -.ui-controlgroup-controls li { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-controlgroup-vertical .ui-btn.ui-first-child { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; -} -.ui-controlgroup-vertical .ui-btn.ui-last-child { - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -.ui-controlgroup-horizontal .ui-btn.ui-first-child { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-controlgroup-horizontal .ui-btn.ui-last-child { - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -.ui-controlgroup-controls a.ui-shadow:not(:focus), -.ui-controlgroup-controls button.ui-shadow:not(:focus), -.ui-controlgroup-controls div.ui-shadow:not(.ui-focus) { - -moz-box-shadow: none; - -webkit-box-shadow: none; - box-shadow: none; -} -/* Fixes legend not wrapping on IE10 */ -.ui-controlgroup-label legend { - max-width: 100%; -} -.ui-controlgroup-controls > label { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-dialog { - background: none !important; /* this is to ensure that dialog theming does not apply (by default at least) on the page div */ -} -.ui-dialog-contain { - width: 92.5%; - max-width: 500px; - margin: 10% auto 1em auto; - padding: 0; - position: relative; - top: -1em; -} -.ui-dialog-contain > .ui-header, -.ui-dialog-contain > .ui-content, -.ui-dialog-contain > .ui-footer { - display: block; - position: relative; - width: auto; - margin: 0; -} -.ui-dialog-contain > .ui-header { - overflow: hidden; - z-index: 10; - padding: 0; - border-top-width: 0; -} -.ui-dialog-contain > .ui-footer { - z-index: 10; - padding: 0 1em; - border-bottom-width: 0; -} -.ui-popup-open .ui-header-fixed, -.ui-popup-open .ui-footer-fixed { - position: absolute !important; /* See issues #4816, #4844 and #4874 and popup.js */ -} -.ui-popup-screen { - background-image: url("data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="); /* Necessary to set some form of background to ensure element is clickable in IE6/7. While legacy IE won't understand the data-URI'd image, it ensures no additional requests occur in all other browsers with little overhead. */ - top: 0; - left: 0; - right: 0; - bottom: 1px; - position: absolute; - filter: Alpha(Opacity=0); - opacity: 0; - z-index: 1099; -} -.ui-popup-screen.in { - opacity: 0.5; - filter: Alpha(Opacity=50); -} -.ui-popup-screen.out { - opacity: 0; - filter: Alpha(Opacity=0); -} -.ui-popup-container { - z-index: 1100; - display: inline-block; - position: absolute; - padding: 0; - outline: 0; -} -.ui-popup { - position: relative; -} -.ui-popup.ui-body-inherit { - border-width: 1px; - border-style: solid; -} -.ui-popup-hidden { - left: 0; - top: 0; - position: absolute !important; - visibility: hidden; -} -.ui-popup-truncate { - height: 1px; - width: 1px; - margin: -1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-popup.ui-content, -.ui-popup .ui-content { - overflow: visible; -} -.ui-popup > .ui-header { - border-top-width: 0; -} -.ui-popup > .ui-footer { - border-bottom-width: 0; -} -.ui-popup > p, -.ui-popup > h1, -.ui-popup > h2, -.ui-popup > h3, -.ui-popup > h4, -.ui-popup > h5, -.ui-popup > h6 { - margin: .5em .4375em; -} -.ui-popup > span { - display: block; - margin: .5em .4375em; -} -.ui-popup-container .ui-content > p, -.ui-popup-container .ui-content > h1, -.ui-popup-container .ui-content > h2, -.ui-popup-container .ui-content > h3, -.ui-popup-container .ui-content > h4, -.ui-popup-container .ui-content > h5, -.ui-popup-container .ui-content > h6 { - margin: .5em 0; -} -.ui-popup-container .ui-content > span { - margin: 0; -} -.ui-popup-container .ui-content > p:first-child, -.ui-popup-container .ui-content > h1:first-child, -.ui-popup-container .ui-content > h2:first-child, -.ui-popup-container .ui-content > h3:first-child, -.ui-popup-container .ui-content > h4:first-child, -.ui-popup-container .ui-content > h5:first-child, -.ui-popup-container .ui-content > h6:first-child { - margin-top: 0; -} -.ui-popup-container .ui-content > p:last-child, -.ui-popup-container .ui-content > h1:last-child, -.ui-popup-container .ui-content > h2:last-child, -.ui-popup-container .ui-content > h3:last-child, -.ui-popup-container .ui-content > h4:last-child, -.ui-popup-container .ui-content > h5:last-child, -.ui-popup-container .ui-content > h6:last-child { - margin-bottom: 0; -} -.ui-popup > img { - max-width: 100%; - max-height: 100%; - vertical-align: middle; -} -.ui-popup:not(.ui-content) > img:only-child, -.ui-popup:not(.ui-content) > .ui-btn-left:first-child + img:last-child, -.ui-popup:not(.ui-content) > .ui-btn-right:first-child + img:last-child { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-popup iframe { - vertical-align: middle; -} -.ui-popup > .ui-btn-left, -.ui-popup > .ui-btn-right { - position: absolute; - top: -11px; - margin: 0; - z-index: 1101; -} -.ui-popup > .ui-btn-left { - left: -11px; -} -.ui-popup > .ui-btn-right { - right: -11px; -} -/* Dimensions related to the popup arrow ------------------------------------------------------------------------------------------------------------*/ -/* desired triangle height: 10px */ -/** - * guide for the arrow - its width, height, and offset are theme-dependent and - * should be expessed as left, right, top, bottom, so that the element bearing - * such a class becomes stretched inside its parent position: relative element. - * The left/top/right/bottom specified below should reflect the corresponding - * border radii and so it leaves room for the shadow: - * ..--------------------.. - * ." ^ top ". - * / v \ - * | +------------------+ | - * | | | | - * | left| |right| - * |<--->| |<--->| - * | +------------------+ | - * \ ^ / - * `. v bottom .' - * ""--------------------"" - * The idea is that the top/left of the arrow container box does not move to a - * coordinate smaller than the top/left of the guide and the right/bottom of - * the arrow container box does not move to a coordinate larger than the - * bottom/right of the guide. This will help us avoid the following situation: - * ..--------------------.. - * ." ^ top ". - * /|/ v \ - * / | +------------------+ | - * \ | | | | - * \| left| |right| - * |<--->| |<--->| - * | +------------------+ | - * \ ^ / - * `. v bottom .' - * ""--------------------"" - * The arrow should not receive a top/left coordinate such that it is too close - * to one of the corners, because then at first the shadow of the arrow and, - * given a coordinate even closer to the corner, even the body of the arrow will - * "stick out" of the corner of the popup. The guide provides a hint to the - * arrow positioning code as to which range of values is acceptable for the - * arrow container's top/left coordinate. - **/ -.ui-popup-arrow-container { - width: 20px; - height: 20px; -} -/* aside from the "infinities" (-1000,2000), triangle height is used */ -.ui-popup-arrow-container.ui-popup-arrow-l { - left: -10px; - clip: rect(-1000px,10px,2000px,-1000px); -} -.ui-popup-arrow-container.ui-popup-arrow-t { - top: -10px; - clip: rect(-1000px,2000px,10px,-1000px); -} -.ui-popup-arrow-container.ui-popup-arrow-r { - right: -10px; - clip: rect(-1000px,2000px,2000px,10px); -} -.ui-popup-arrow-container.ui-popup-arrow-b { - bottom: -10px; - clip: rect(10px,2000px,1000px,-1000px); -} -/** - * For each side, the arrow is twice the desired size and its corner is aligned - * with the edge of the container: - * - * /\ /\ +----+ /\ - * / \ / \ | /\ |top / \ - * +----+ \ / +----+ +-->|/ \| / \ - * left| / | \ / | \ |right | | | / \ - * |/ | \ / | \| | /| |\ / \ - * |\ | / \ | /| | / +----+ \ \ +----+ / - * | \ | / \ | / | | \ / \| |/ - * +----+ / \ +----+ | \ / | | - * ^ \ / \ / ^ | \ / +->|\ /| - * | \/ \/ | | \ / | | \/ |bottom - * | | | \/ | +----+ - * +-------------------+--------+-----------+ - * | - * arrow container - * (clips arrow) - **/ -.ui-popup-arrow-container .ui-popup-arrow { - /* (4*desired triangle height)/sqrt(2) - does not account for border - centred within the outer rectangle */ - width: 28.284271247px; - height: 28.284271247px; - border-width: 1px; - border-style: solid; -} -.ui-popup-arrow-container.ui-popup-arrow-t .ui-popup-arrow { - left: -4.142135623px; - top: 5.857864376px; -} -.ui-popup-arrow-container.ui-popup-arrow-b .ui-popup-arrow { - left: -4.142135623px; - top: -14.142135623px; -} -.ui-popup-arrow-container.ui-popup-arrow-l .ui-popup-arrow { - left: 5.857864376px; - top: -4.142135623px; -} -.ui-popup-arrow-container.ui-popup-arrow-r .ui-popup-arrow { - left: -14.142135623px; - top: -4.142135623px; -} -/* Fix rotation center for oldIE - see http://www.useragentman.com/IETransformsTranslator/ */ -.ui-popup-arrow-container.ui-popup-arrow-t.ie .ui-popup-arrow { - margin-left: -5.857864376269049px; - margin-top: -7.0710678118654755px; -} -.ui-popup-arrow-container.ui-popup-arrow-b.ie .ui-popup-arrow { - margin-left: -5.857864376269049px; - margin-top: -4.142135623730951px; -} - -.ui-popup-arrow-container.ui-popup-arrow-l.ie .ui-popup-arrow { - margin-left: -7.0710678118654755px; - margin-top: -5.857864376269049px; -} -.ui-popup-arrow-container.ui-popup-arrow-r.ie .ui-popup-arrow { - margin-left: -4.142135623730951px; - margin-top: -5.857864376269049px; -} -/* structure */ -.ui-popup > .ui-popup-arrow-guide { - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - visibility: hidden; -} -.ui-popup-arrow-container { - position: absolute; -} -.ui-popup-arrow { - -webkit-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -ms-transform: rotate(45deg); - transform: rotate(45deg); - position: absolute; - overflow: hidden; - box-sizing: border-box; -} -.ui-popup-arrow-container.ie .ui-popup-arrow { - -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865474, M12=-0.7071067811865477, M21=0.7071067811865477, M22=0.7071067811865474, SizingMethod='auto expand')"; - filter: progid:DXImageTransform.Microsoft.Matrix( - M11=0.7071067811865474, - M12=-0.7071067811865477, - M21=0.7071067811865477, - M22=0.7071067811865474, - SizingMethod='auto expand'); -} -.ui-checkbox, -.ui-radio { - margin: .5em 0; - position: relative; -} -.ui-checkbox .ui-btn, -.ui-radio .ui-btn { - margin: 0; - text-align: left; - white-space: normal; /* Nowrap + ellipsis doesn't work on label. Issue #1419. */ - z-index: 2; -} -.ui-controlgroup .ui-checkbox .ui-btn.ui-focus, -.ui-controlgroup .ui-radio .ui-btn.ui-focus { - z-index: 3; -} -.ui-checkbox .ui-btn-icon-top, -.ui-radio .ui-btn-icon-top, -.ui-checkbox .ui-btn-icon-bottom, -.ui-radio .ui-btn-icon-bottom { - text-align: center; -} -.ui-controlgroup-horizontal .ui-checkbox .ui-btn:after, -.ui-controlgroup-horizontal .ui-radio .ui-btn:after { - content: none; - display: none; -} -/* Native input positioning */ -.ui-checkbox input, -.ui-radio input { - position: absolute; - left: .466em; - top: 50%; - width: 22px; - height: 22px; - margin: -11px 0 0 0; - outline: 0 !important; - z-index: 1; -} -.ui-controlgroup-horizontal .ui-checkbox input, -.ui-controlgroup-horizontal .ui-radio input { - left: 50%; - margin-left: -9px; -} -.ui-checkbox input:disabled, -.ui-radio input:disabled { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-select { - margin-top: .5em; - margin-bottom: .5em; /* no shorthand for margin because it would override margin-right for inline selects */ - position: relative; -} -.ui-select > select { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-select .ui-btn { - margin: 0; - opacity: 1; /* Fixes #2588: When Windows Phone 7.5 (Mango) tries to calculate a numeric opacity for a select (including "inherit") without explicitly specifying an opacity on the parent to give it context, a bug appears where clicking elsewhere on the page after opening the select will open the select again. */ -} -.ui-select .ui-btn select { - position: absolute; - top: 0; - left: 0; - width: 100%; - min-height: 1.5em; - min-height: 100%; - height: 3em; - max-height: 100%; - outline: 0; - -webkit-border-radius: inherit; - border-radius: inherit; - -webkit-appearance: none; - -moz-appearance: none; - cursor: pointer; - filter: Alpha(Opacity=0); - opacity: 0; - z-index: 2; -} -@-moz-document url-prefix() { - .ui-select .ui-btn select { - opacity: 0.0001; - } -} -/* Display none because of issues with IE/WP's filter alpha opacity */ -.ui-select .ui-state-disabled select { - display: none; -} -/* Because we add all classes of the select and option elements to the span... */ -.ui-select span.ui-state-disabled { - filter: Alpha(Opacity=100); - opacity: 1; -} -.ui-select .ui-btn.ui-select-nativeonly { - border-radius: 0; - border: 0; -} -.ui-select .ui-btn.ui-select-nativeonly select { - opacity: 1; - text-indent: 0; - display: block; -} -/* ui-li-count is styled in the listview CSS. We set padding and offset here because select supports icon position while listview doesn't. */ -.ui-select .ui-li-has-count.ui-btn { - padding-right: 2.8125em; -} -.ui-select .ui-li-has-count.ui-btn-icon-right { - padding-right: 4.6875em; -} -.ui-select .ui-btn-icon-right .ui-li-count { - right: 3.2em; -} -/* We set the rules for the span as well to fix an issue on Chrome with text-overflow ellipsis for the button in combination with text-align center. */ -.ui-select .ui-btn > span:not(.ui-li-count) { - display: block; - text-overflow: ellipsis; - overflow: hidden !important; - white-space: nowrap; -} -.ui-selectmenu.ui-popup { - min-width: 11em; -} -.ui-selectmenu .ui-dialog-contain { - overflow: hidden; -} -.ui-selectmenu .ui-header { - margin: 0; - padding: 0; - border-width: 0; -} -.ui-selectmenu.ui-dialog .ui-header { - z-index: 1; - position: relative; -} -.ui-selectmenu.ui-popup .ui-header { - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; -} -/* when no placeholder is defined in a multiple select, the header height doesn't even extend past the close button. this shim's content in there */ -.ui-selectmenu.ui-popup .ui-header h1:after { - content: '.'; - visibility: hidden; -} -.ui-selectmenu .ui-header .ui-title { - margin: 0 2.875em; -} -.ui-selectmenu.ui-dialog .ui-content { - overflow: visible; - z-index: 1; -} -.ui-selectmenu .ui-selectmenu-list { - margin: 0; - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-header:not(.ui-screen-hidden) + .ui-selectmenu-list { - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -webkit-border-top-left-radius: 0; - border-top-left-radius: 0; -} -.ui-header.ui-screen-hidden + .ui-selectmenu-list li.ui-first-child .ui-btn { - border-top-width: 0; -} -.ui-selectmenu .ui-selectmenu-list li.ui-last-child .ui-btn { - border-bottom-width: 0; -} -.ui-selectmenu .ui-btn.ui-li-divider { - cursor: default; -} -.ui-selectmenu .ui-selectmenu-placeholder { - display: none; -} -.ui-listview, -.ui-listview > li { - margin: 0; - padding: 0; - list-style: none; -} -.ui-content .ui-listview, -.ui-panel-inner > .ui-listview { - margin: -1em; -} -.ui-content .ui-listview-inset, -.ui-panel-inner > .ui-listview-inset { - margin: 1em 0; -} -.ui-collapsible-content > .ui-listview { - margin: -.5em -1em; -} -.ui-collapsible-content > .ui-listview-inset { - margin: .5em 0; -} -.ui-listview > li { - display: block; - position: relative; - overflow: visible; -} -.ui-listview > .ui-li-static, -.ui-listview > .ui-li-divider, -.ui-listview > li > a.ui-btn { - margin: 0; - display: block; - position: relative; - text-align: left; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} -.ui-listview > li > .ui-btn:focus { - z-index: 1; -} -.ui-listview > .ui-li-static, -.ui-listview > .ui-li-divider, -.ui-listview > li > a.ui-btn { - border-width: 1px 0 0 0; - border-style: solid; -} -.ui-listview-inset > .ui-li-static, -.ui-listview-inset > .ui-li-divider, -.ui-listview-inset > li > a.ui-btn { - border-right-width: 1px; - border-left-width: 1px; -} -.ui-listview > .ui-li-static.ui-last-child, -.ui-listview > .ui-li-divider.ui-last-child, -.ui-listview > li.ui-last-child > a.ui-btn { - border-bottom-width: 1px; -} -.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) > li.ui-first-child, -.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn { - border-top-width: 0; -} -.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset) > li.ui-last-child, -.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset) > li.ui-last-child > a.ui-btn { - border-bottom-width: 0; -} -.ui-listview > li.ui-first-child, -.ui-listview > li.ui-first-child > a.ui-btn { - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; -} -.ui-listview > li.ui-last-child, -.ui-listview > li.ui-last-child > a.ui-btn { - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-listview > li.ui-li-has-alt > a.ui-btn { - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; -} -.ui-listview > li.ui-first-child > a.ui-btn + a.ui-btn { - -webkit-border-top-left-radius: 0; - border-top-left-radius: 0; - -webkit-border-top-right-radius: inherit; - border-top-right-radius: inherit; -} -.ui-listview > li.ui-last-child > a.ui-btn + a.ui-btn { - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; - -webkit-border-bottom-right-radius: inherit; - border-bottom-right-radius: inherit; -} -.ui-listview > li.ui-first-child img:first-child:not(.ui-li-icon) { - -webkit-border-top-left-radius: inherit; - border-top-left-radius: inherit; -} -.ui-listview > li.ui-last-child img:first-child:not(.ui-li-icon) { - -webkit-border-bottom-left-radius: inherit; - border-bottom-left-radius: inherit; -} -.ui-collapsible-content > .ui-listview:not(.ui-listview-inset) { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-listview > .ui-li-static { - padding: .7em 1em; -} -.ui-listview > .ui-li-divider { - padding: .5em 1.143em; - font-size: 14px; - font-weight: bold; - cursor: default; - outline: 0; /* Dividers in custom selectmenus have tabindex */ -} -.ui-listview > .ui-li-has-count > .ui-btn, -.ui-listview > .ui-li-static.ui-li-has-count, -.ui-listview > .ui-li-divider.ui-li-has-count { - padding-right: 2.8125em; -} -.ui-listview > .ui-li-has-count > .ui-btn-icon-right { - padding-right: 4.6875em; -} -.ui-listview > .ui-li-has-thumb > .ui-btn, -.ui-listview > .ui-li-static.ui-li-has-thumb { - min-height: 3.625em; - padding-left: 6.25em; -} -/* ui-li-has-icon deprecated in 1.4. TODO: remove in 1.5 */ -.ui-listview > .ui-li-has-icon > .ui-btn, -.ui-listview > .ui-li-static.ui-li-has-icon { - min-height: 1.25em; - padding-left: 2.5em; -} -/* Used by both listview and custom multiple select button */ -.ui-li-count { - position: absolute; - font-size: 12.5px; - font-weight: bold; - text-align: center; - border-width: 1px; - border-style: solid; - padding: 0 .48em; - line-height: 1.6em; - min-height: 1.6em; - min-width: .64em; - right: .8em; - top: 50%; - margin-top: -.88em; -} -.ui-listview .ui-btn-icon-right .ui-li-count { - right: 3.2em; -} -.ui-listview .ui-li-has-thumb > img:first-child, -.ui-listview .ui-li-has-thumb > .ui-btn > img:first-child, -.ui-listview .ui-li-has-thumb .ui-li-thumb { - position: absolute; - left: 0; - top: 0; - max-height: 5em; - max-width: 5em; -} -/* ui-li-has-icon deprecated in 1.4. TODO: remove in 1.5 */ -.ui-listview > .ui-li-has-icon > img:first-child, -.ui-listview > .ui-li-has-icon > .ui-btn > img:first-child { - position: absolute; - left: .625em; - top: .9em; - max-height: 1em; - max-width: 1em; -} -.ui-listview > li h1, -.ui-listview > li h2, -.ui-listview > li h3, -.ui-listview > li h4, -.ui-listview > li h5, -.ui-listview > li h6 { - font-size: 1em; - font-weight: bold; - display: block; - margin: .45em 0; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} -.ui-listview > li p { - font-size: .75em; - font-weight: normal; - display: block; - margin: .6em 0; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} -.ui-listview .ui-li-aside { - position: absolute; - top: 1em; - right: 3.333em; - margin: 0; - text-align: right; -} -.ui-listview > li.ui-li-has-alt > .ui-btn { - margin-right: 2.5em; - border-right-width: 0; -} -.ui-listview > li.ui-li-has-alt > .ui-btn + .ui-btn { - position: absolute; - width: 2.5em; - height: 100%; - min-height: auto; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - border-left-width: 1px; - top: 0; - right: 0; - margin: 0; - padding: 0; - z-index: 2; -} -.ui-listview-inset > li.ui-li-has-alt > .ui-btn + .ui-btn { - border-right-width: 1px; -} -.ui-listview > li.ui-li-has-alt > .ui-btn + .ui-btn:focus { - z-index: 3; -} -ol.ui-listview, -ol.ui-listview > .ui-li-divider { - counter-reset: listnumbering; -} -ol.ui-listview > li > .ui-btn, -ol.ui-listview > li.ui-li-static { - vertical-align: middle; -} -ol.ui-listview > li > .ui-btn:first-child:before, -ol.ui-listview > li.ui-li-static:before, -ol.ui-listview > li.ui-field-contain > label:before, -ol.ui-listview > li.ui-field-contain > .ui-controlgroup-label:before { - display: inline-block; - font-size: .9em; - font-weight: normal; - padding-right: .3em; - min-width: 1.4em; - line-height: 1.5; - vertical-align: middle; - counter-increment: listnumbering; - content: counter(listnumbering) "."; -} -ol.ui-listview > li.ui-field-contain:before { - content: none; - display: none; -} -ol.ui-listview > li h1:first-child, -ol.ui-listview > li h2:first-child, -ol.ui-listview > li h3:first-child, -ol.ui-listview > li h4:first-child, -ol.ui-listview > li h5:first-child, -ol.ui-listview > li h6:first-child, -ol.ui-listview > li p:first-child, -ol.ui-listview > li img:first-child + * { - display: inline-block; - vertical-align: middle; -} -ol.ui-listview > li h1:first-child ~ *, -ol.ui-listview > li h2:first-child ~ *, -ol.ui-listview > li h3:first-child ~ *, -ol.ui-listview > li h4:first-child ~ *, -ol.ui-listview > li h5:first-child ~ *, -ol.ui-listview > li h6:first-child ~ *, -ol.ui-listview > li p:first-child ~ *, -ol.ui-listview > li img:first-child + * ~ * { - margin-top: 0; - text-indent: 2.04em; /* (1.4em + .3em) * .9em / .75em */ -} -html .ui-filterable + .ui-listview, -html .ui-filterable.ui-listview { - margin-top: .5em; -} -.ui-collapsible-content > form.ui-filterable { - margin-top: -.5em; -} -.ui-collapsible-content > .ui-input-search.ui-filterable { - margin-top: 0; -} -.ui-collapsible-content > .ui-filterable + .ui-listview:not(.ui-listview-inset) > li.ui-first-child, -.ui-collapsible-content > .ui-filterable + .ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn, -.ui-collapsible-content > .ui-filterable.ui-listview:not(.ui-listview-inset) > li.ui-first-child, -.ui-collapsible-content > .ui-filterable.ui-listview:not(.ui-listview-inset) > li.ui-first-child > a.ui-btn { - border-top-width: 1px; -} -div.ui-slider { - height: 30px; - margin: .5em 0; - padding: 0; - -ms-touch-action: pan-y pinch-zoom double-tap-zoom; -} -div.ui-slider:before, -div.ui-slider:after { - content: ""; - display: table; -} -div.ui-slider:after { - clear: both; -} -input.ui-slider-input { - display: block; - float: left; - font-size: 14px; - font-weight: bold; - margin: 0; - padding: 4px; - width: 40px; - height: 20px; - line-height: 20px; - border-width: 1px; - border-style: solid; - outline: 0; - text-align: center; - vertical-align: text-bottom; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} -.ui-slider-input::-webkit-outer-spin-button, -.ui-slider-input::-webkit-inner-spin-button { - -webkit-appearance: none; - margin: 0; -} -.ui-slider-track { - position: relative; - overflow: visible; - border-width: 1px; - border-style: solid; - height: 15px; - margin: 0 15px 0 68px; - top: 6px; -} -.ui-slider-track.ui-mini { - height: 12px; - top: 8px; -} -.ui-slider-track .ui-slider-bg { - height: 100%; -} -/* High level of specificity to override button margins in grids */ -.ui-slider-track .ui-btn.ui-slider-handle { - position: absolute; - z-index: 1; - top: 50%; - width: 28px; - height: 28px; - margin: -15px 0 0 -15px; - outline: 0; - padding: 0; -} -.ui-slider-track.ui-mini .ui-slider-handle { - height: 14px; - width: 14px; - margin: -8px 0 0 -8px; -} -select.ui-slider-switch { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -div.ui-slider-switch { - display: inline-block; - height: 32px; - width: 5.8em; - top: 0; -} -/* reset the clearfix */ -div.ui-slider-switch:before, -div.ui-slider-switch:after { - display: none; - clear: none; -} -div.ui-slider-switch.ui-mini { - height: 29px; - top: 0; -} -.ui-slider-inneroffset { - margin: 0 16px; - position: relative; - z-index: 1; -} -.ui-slider-switch.ui-mini .ui-slider-inneroffset { - margin: 0 15px 0 14px; -} -.ui-slider-switch .ui-btn.ui-slider-handle { - margin: 1px 0 0 -15px; -} -.ui-slider-switch.ui-mini .ui-slider-handle { - width: 25px; - height: 25px; - margin: 1px 0 0 -13px; - padding: 0; -} -.ui-slider-handle-snapping { - -webkit-transition: left 70ms linear; - -moz-transition: left 70ms linear; - transition: left 70ms linear; -} -.ui-slider-switch .ui-slider-label { - position: absolute; - text-align: center; - width: 100%; - overflow: hidden; - font-size: 16px; - top: 0; - line-height: 2; - min-height: 100%; - white-space: nowrap; - cursor: pointer; -} -.ui-slider-switch.ui-mini .ui-slider-label { - font-size: 14px; -} -.ui-slider-switch .ui-slider-label-a { - z-index: 1; - left: 0; - text-indent: -1.5em; -} -.ui-slider-switch .ui-slider-label-b { - z-index: 0; - right: 0; - text-indent: 1.5em; -} -/* The corner radii for ui-slider-switch/track can be specified in theme CSS. The bg and handle inherits. */ -.ui-slider-track .ui-slider-bg, -.ui-slider-switch .ui-slider-label, -.ui-slider-switch .ui-slider-inneroffset, -.ui-slider-handle { - -webkit-border-radius: inherit; - border-radius: inherit; -} -.ui-field-contain div.ui-slider-switch { - margin: 0; -} -/* ui-hide-label deprecated in 1.4. TODO: Remove in 1.5 */ -.ui-field-contain div.ui-slider-switch, -.ui-field-contain.ui-hide-label div.ui-slider-switch, -html .ui-popup .ui-field-contain div.ui-slider-switch { - display: inline-block; - width: 5.8em; -} -/* slider tooltip ------------------------------------------------------------------------------------------------------------*/ -.ui-slider-popup { - width: 64px; - height: 64px; - font-size: 36px; - padding-top: 14px; - opacity: 0.8; -} -.ui-slider-popup { - position: absolute !important; - text-align: center; - z-index: 100; -} -.ui-slider-track .ui-btn.ui-slider-handle { - font-size: .9em; - line-height: 30px; -} -.ui-rangeslider { - margin: .5em 0; -} -.ui-rangeslider:before, -.ui-rangeslider:after { - content: ""; - display: table; -} -.ui-rangeslider:after { - clear: both; -} -.ui-rangeslider .ui-slider-input.ui-rangeslider-last { - float: right; -} -.ui-rangeslider .ui-rangeslider-sliders { - position: relative; - overflow: visible; - height: 30px; - margin: 0 68px; -} -.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track { - position: absolute; - top: 6px; - right: 0; - left: 0; - margin: 0; -} -.ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track { - top: 8px; -} -.ui-rangeslider .ui-slider-track:first-child .ui-slider-bg { - display: none; -} -.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child { - background-color: transparent; - background: none; - border-width: 0; - height: 0; -} -/* this makes ie6 and ie7 set height to 0 to fix z-index problem */ -html >/**/body .ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child { - height: 15px; - border-width: 1px; -} -html >/**/body .ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track:first-child { - height: 12px; -} -/* Hide the second label (the first is moved outside the div) */ -div.ui-rangeslider label { - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); -} -.ui-field-contain .ui-rangeslider input.ui-slider-input, -.ui-field-contain .ui-rangeslider.ui-mini input.ui-slider-input, -.ui-field-contain .ui-rangeslider .ui-rangeslider-sliders, -.ui-field-contain .ui-rangeslider.ui-mini .ui-rangeslider-sliders { - margin-top: 0; - margin-bottom: 0; -} -.ui-input-text, -.ui-input-search { - margin: .5em 0; - border-width: 1px; - border-style: solid; -} -.ui-mini { - margin: .446em; -} -.ui-input-text input, -.ui-input-search input, -textarea.ui-input-text { - padding: .4em; - line-height: 1.4em; - display: block; - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - outline: 0; -} -.ui-input-text input, -.ui-input-search input { - margin: 0; - min-height: 2.2em; - text-align: left; /* Opera aligns type="date" right by default */ - border: 0; - background: transparent none; - -webkit-appearance: none; - -webkit-border-radius: inherit; - border-radius: inherit; -} -textarea.ui-input-text { - overflow: auto; - resize: vertical; -} -.ui-mini .ui-input-text input, -.ui-mini .ui-input-search input, -.ui-input-text.ui-mini input, -.ui-input-search.ui-mini input, -.ui-mini textarea.ui-input-text, -textarea.ui-mini { - font-size: 14px; -} -/* Same margin for mini textareas as other mini sized widgets (12.5/14 * 0.5em) */ -.ui-mini textarea.ui-input-text, -textarea.ui-mini { - margin: .446em 0; -} -.ui-input-has-clear, -.ui-input-search { - position: relative; -} -/* Padding on the div instead of input because of browser spinners etc. */ -.ui-input-has-clear { - padding-right: 2.375em; -} -.ui-mini.ui-input-has-clear { - padding-right: 2.923em; -} -.ui-input-has-clear input { - padding-right: 0; - /* Autofill on Chrome has bg color so we unset corners right as well. */ - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; -} -/* Search icon */ -.ui-input-search input { - padding-left: 1.75em; -} -.ui-input-search:after { - position: absolute; - left: .3125em; - top: 50%; - margin-top: -7px; - content: ""; - background-position: center center; - background-repeat: no-repeat; - width: 14px; - height: 14px; - filter: Alpha(Opacity=50); - opacity: .5; -} -.ui-input-search.ui-input-has-clear .ui-btn.ui-input-clear, -.ui-input-text.ui-input-has-clear .ui-btn.ui-input-clear { - position: absolute; - right: 0; - top: 50%; - margin: -14px .3125em 0; - border: 0; - background-color: transparent; -} -.ui-input-search .ui-input-clear-hidden, -.ui-input-text .ui-input-clear-hidden { - display: none; -} -/* Resolves issue #5166: Added to support issue introduced in Firefox 15. We can likely remove this in the future. */ -.ui-input-text input::-moz-placeholder, -.ui-input-search input::-moz-placeholder, -textarea.ui-input-text::-moz-placeholder { - color: #aaa; -} -/* Same for IE10 */ -.ui-input-text input:-ms-input-placeholder, -.ui-input-search input:-ms-input-placeholder, -textarea.ui-input-text:-ms-input-placeholder { - color: #aaa; -} -/* Resolves issue #5131: Width of textinput depends on its type, -for Android 4.1 */ -.ui-input-text input[type=number]::-webkit-outer-spin-button { - margin: 0; -} -/* Resolves issue #5756: Textinput in IE10 has a default clear button */ -.ui-input-text input::-ms-clear, -.ui-input-search input::-ms-clear { - display: none; -} -.ui-input-text input:focus, -.ui-input-search input:focus { - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -textarea.ui-input-text.ui-textinput-autogrow { - overflow: hidden; -} -.ui-textinput-autogrow-resize { - -webkit-transition: height 0.25s; - -o-transition: height 0.25s; - -moz-transition: height 0.25s; - transition: height 0.25s; -} -.ui-flipswitch { - display: inline-block; - vertical-align: middle; - width: 5.875em; /* Override this and padding-left in next rule if you use labels other than "on/off" and need more space */ - height: 1.875em; - border-width: 1px; - border-style: solid; - margin: .5em 0; - overflow: hidden; - -webkit-transition-property: padding, width, background-color, color, border-color; - -moz-transition-property: padding, width, background-color, color, border-color; - -o-transition-property: padding, width, background-color, color, border-color; - transition-property: padding, width, background-color, color, border-color; - -webkit-transition-duration: 100ms; - -moz-transition-duration: 100ms; - -o-transition-duration: 100ms; - transition-duration: 100ms; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: pointer; -} -.ui-flipswitch.ui-flipswitch-active { - padding-left: 4em; /* Override this and width in previous rule if you use labels other than "on/off" and need more space */ - width: 1.875em; -} -.ui-flipswitch-input { - position: absolute; - height: 1px; - width: 1px; - margin: -1px; - overflow: hidden; - clip: rect(1px,1px,1px,1px); - border: 0; - outline: 0; - filter: Alpha(Opacity=0); - opacity: 0; -} -.ui-flipswitch .ui-btn.ui-flipswitch-on, -.ui-flipswitch .ui-flipswitch-off { - float: left; - height: 1.75em; - margin: .0625em; - line-height: 1.65em; -} -.ui-flipswitch .ui-btn.ui-flipswitch-on { - width: 1.75em; - padding: 0; - text-indent: -2.6em; /* Override this to center text if you use a label other than "on" */ - text-align: left; - border-width: 1px; - border-style: solid; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - border-radius: inherit; - overflow: visible; - color: inherit; - text-shadow: inherit; -} -.ui-flipswitch .ui-flipswitch-off { - padding: 1px; - text-indent: 1em; /* Override this to center text if you use a label other than "off" */ -} -/* Override field container CSS to prevent the flipswitch from becomming full width */ -html .ui-field-contain > label + .ui-flipswitch, -html .ui-popup .ui-field-contain > label + .ui-flipswitch { - display: inline-block; - width: 5.875em; /* If you override the width for .ui-flipswitch you should repeat the same value here */ - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} -.ui-field-contain .ui-flipswitch.ui-flipswitch-active, -.ui-popup .ui-field-contain .ui-flipswitch.ui-flipswitch-active { - width: 1.875em; -} -.ui-table { - border: 0; - border-collapse: collapse; - padding: 0; - width: 100%; -} -.ui-table th, -.ui-table td { - line-height: 1.5em; - text-align: left; - padding: .4em .5em; - vertical-align:top; -} -.ui-table th .ui-btn, -.ui-table td .ui-btn { - line-height: normal; -} -.ui-table th { - font-weight: bold; -} -.ui-table caption { - text-align: left; - margin-bottom: 1.4em; - opacity: .5; -} -/* - Styles for the table columntoggle mode -*/ -.ui-table-columntoggle-btn { - float: right; - margin-bottom: .8em; -} -/* Remove top/bottom margins around the fieldcontain on check list */ -.ui-table-columntoggle-popup fieldset { - margin:0; -} -.ui-table-columntoggle { - clear: both; -} -/* Hide all prioritized columns by default */ -@media only all { - th.ui-table-priority-6, - td.ui-table-priority-6, - th.ui-table-priority-5, - td.ui-table-priority-5, - th.ui-table-priority-4, - td.ui-table-priority-4, - th.ui-table-priority-3, - td.ui-table-priority-3, - th.ui-table-priority-2, - td.ui-table-priority-2, - th.ui-table-priority-1, - td.ui-table-priority-1 { - display: none; - } -} -/* Preset breakpoints if ".ui-responsive" class added to table */ -/* Show priority 1 at 320px (20em x 16px) */ -@media screen and (min-width: 20em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-1, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-1 { - display: table-cell; - } -} -/* Show priority 2 at 480px (30em x 16px) */ -@media screen and (min-width: 30em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-2, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-2 { - display: table-cell; - } -} -/* Show priority 3 at 640px (40em x 16px) */ -@media screen and (min-width: 40em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-3, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-3 { - display: table-cell; - } -} -/* Show priority 4 at 800px (50em x 16px) */ -@media screen and (min-width: 50em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-4, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-4 { - display: table-cell; - } -} -/* Show priority 5 at 960px (60em x 16px) */ -@media screen and (min-width: 60em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-5, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-5 { - display: table-cell; - } -} -/* Show priority 6 at 1,120px (70em x 16px) */ -@media screen and (min-width: 70em) { - .ui-table-columntoggle.ui-responsive th.ui-table-priority-6, - .ui-table-columntoggle.ui-responsive td.ui-table-priority-6 { - display: table-cell; - } -} -/* Unchecked manually: Always hide */ -.ui-table-columntoggle th.ui-table-cell-hidden, -.ui-table-columntoggle td.ui-table-cell-hidden, -.ui-table-columntoggle.ui-responsive th.ui-table-cell-hidden, -.ui-table-columntoggle.ui-responsive td.ui-table-cell-hidden { - display: none; -} -/* Checked manually: Always show */ -.ui-table-columntoggle th.ui-table-cell-visible, -.ui-table-columntoggle td.ui-table-cell-visible, -.ui-table-columntoggle.ui-responsive th.ui-table-cell-visible, -.ui-table-columntoggle.ui-responsive td.ui-table-cell-visible { - display: table-cell; -} -/* - Styles for the table columntoggle mode -*/ -.ui-table-reflow td .ui-table-cell-label, -.ui-table-reflow th .ui-table-cell-label { - display: none; -} -/* Mobile first styles: Begin with the stacked presentation at narrow widths */ -@media only all { - /* Hide the table headers */ - .ui-table-reflow thead td, - .ui-table-reflow thead th { - display: none; - } - /* Show the table cells as a block level element */ - .ui-table-reflow td, - .ui-table-reflow th { - text-align: left; - display: block; - } - /* Add a fair amount of top margin to visually separate each row when stacked */ - .ui-table-reflow tbody th { - margin-top: 3em; - } - /* Make the label elements a percentage width */ - .ui-table-reflow td .ui-table-cell-label, - .ui-table-reflow th .ui-table-cell-label { - padding: .4em; - min-width: 30%; - display: inline-block; - margin: -.4em 1em -.4em -.4em; - } - /* For grouped headers, have a different style to visually separate the levels by classing the first label in each col group */ - .ui-table-reflow th .ui-table-cell-label-top, - .ui-table-reflow td .ui-table-cell-label-top { - display: block; - padding: .4em 0; - margin: .4em 0; - text-transform: uppercase; - font-size: .9em; - font-weight: normal; - } -} -/* Breakpoint to show as a standard table at 560px (35em x 16px) or wider */ -@media ( min-width: 35em ) { - /* Show the table header rows */ - .ui-table-reflow.ui-responsive td, - .ui-table-reflow.ui-responsive th, - .ui-table-reflow.ui-responsive tbody th, - .ui-table-reflow.ui-responsive tbody td, - .ui-table-reflow.ui-responsive thead td, - .ui-table-reflow.ui-responsive thead th { - display: table-cell; - margin: 0; - } - /* Hide the labels in each cell */ - .ui-table-reflow.ui-responsive td .ui-table-cell-label, - .ui-table-reflow.ui-responsive th .ui-table-cell-label { - display: none; - } -} -/* Hack to make IE9 and WP7.5 treat cells like block level elements, scoped to ui-responsive class */ -/* Applied in a max-width media query up to the table layout breakpoint so we don't need to negate this*/ -@media ( max-width: 35em ) { - .ui-table-reflow.ui-responsive td, - .ui-table-reflow.ui-responsive th { - width: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - float: left; - clear: left; - } -} -/* Panel */ -.ui-panel { - width: 17em; - min-height: 100%; - max-height: none; - border-width: 0; - position: absolute; - top: 0; - display: block; -} -.ui-panel-closed { - width: 0; - max-height: 100%; - overflow: hidden; - visibility: hidden; - left: 0; - clip: rect(1px,1px,1px,1px); -} -.ui-panel-fixed { - position: fixed; - bottom: -1px; /* Fixes gap on Chrome for Android */ - padding-bottom: 1px; -} -.ui-panel-display-reveal { - z-index: 1; -} -.ui-panel-display-push { - z-index: 999; -} -.ui-panel-display-overlay { - z-index: 1001; /* Fixed toolbars have z-index 1000 */ -} -.ui-panel-inner { - padding: 1em; -} -/* Container, page and wrapper */ -.ui-panel-page-container { - overflow-x: visible; -} -.ui-panel-page-container-themed .ui-page-active { - background: none; -} -.ui-panel-wrapper { - position: relative; - min-height: inherit; - border: 0; - overflow-x: hidden; - z-index: 999; -} -/* Fixed toolbars */ -.ui-panel-fixed-toolbar { - overflow-x: hidden; -} -/* Dismiss */ -.ui-panel-dismiss { - position: absolute; - top: 0; - left: 0; - right: 0; - height: 100%; - z-index: 1002; - display: none; -} -.ui-panel-dismiss-open { - display: block; -} -/* Animate class is added to panel, wrapper and fixed toolbars */ -.ui-panel-animate { - -webkit-transition: -webkit-transform 300ms ease; - -webkit-transition-duration: 300ms; - -moz-transition: -moz-transform 300ms ease; - transition: transform 300ms ease; -} -/* Fix for Windows Phone issue #6349: unset the transition for transforms in case of fixed toolbars. */ -@media screen and ( max-device-width: 768px ) { - .ui-page-header-fixed .ui-panel-animate.ui-panel-wrapper, - .ui-page-footer-fixed .ui-panel-animate.ui-panel-wrapper, - .ui-panel-animate.ui-panel-fixed-toolbar { - -ms-transition: none; - } - /* We need a transitionend event ... */ - .ui-panel-animate.ui-panel-fixed-toolbar { - -ms-transition: -ms-transform 1ms; - -ms-transform: rotate(0deg); - } -} -/* Hardware acceleration for smoother transitions on WebKit browsers */ -.ui-panel-animate.ui-panel:not(.ui-panel-display-reveal) { - -webkit-backface-visibility: hidden; - -webkit-transform: translate3d(0,0,0); -} -/* Panel positioning (for overlay and push) */ -/* Panel left closed */ -.ui-panel-position-left { - left: -17em; -} -/* Panel left closed animated */ -.ui-panel-animate.ui-panel-position-left.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-position-left.ui-panel-display-push { - left: 0; - -webkit-transform: translate3d(-17em,0,0); - -moz-transform: translate3d(-17em,0,0); - transform: translate3d(-17em,0,0); -} -/* Panel left open */ -.ui-panel-position-left.ui-panel-display-reveal, /* Unset "panel left closed" for reveal */ -.ui-panel-open.ui-panel-position-left { - left: 0; -} -/* Panel left open animated */ -.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-push { - -webkit-transform: translate3d(0,0,0); - transform: translate3d(0,0,0); - -moz-transform: none; -} -/* Panel right closed */ -.ui-panel-position-right { - right: -17em; -} -/* Panel right closed animated */ -.ui-panel-animate.ui-panel-position-right.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-position-right.ui-panel-display-push { - right: 0; - -webkit-transform: translate3d(17em,0,0); - -moz-transform: translate3d(17em,0,0); - transform: translate3d(17em,0,0); -} -/* Panel right open */ -.ui-panel-position-right.ui-panel-display-reveal, /* Unset "panel right closed" for reveal */ -.ui-panel-position-right.ui-panel-open { - right: 0; -} -/* Panel right open animated */ -.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-overlay, -.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-push { - -webkit-transform: translate3d(0,0,0); - transform: translate3d(0,0,0); - -moz-transform: none; -} -/* Wrapper and fixed toolbars positioning (for reveal and push) */ -/* Panel left open */ -.ui-panel-page-content-position-left { - left: 17em; - right: -17em; -} -/* Panel left open animated */ -.ui-panel-animate.ui-panel-page-content-position-left { - left: 0; - right: 0; - -webkit-transform: translate3d(17em,0,0); - -moz-transform: translate3d(17em,0,0); - transform: translate3d(17em,0,0); -} -/* Panel right open */ -.ui-panel-page-content-position-right { - left: -17em; - right: 17em; -} -/* Panel right open animated */ -.ui-panel-animate.ui-panel-page-content-position-right { - left: 0; - right: 0; - -webkit-transform: translate3d(-17em,0,0); - -moz-transform: translate3d(-17em,0,0); - transform: translate3d(-17em,0,0); -} -/* Dismiss model open */ -.ui-panel-dismiss-open.ui-panel-dismiss-position-left { - left: 17em; -} -.ui-panel-dismiss-open.ui-panel-dismiss-position-right { - right: 17em; -} -/* Shadows and borders */ -.ui-panel-display-reveal { - -webkit-box-shadow: inset -5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: inset -5px 0 5px rgba(0,0,0,.15); - box-shadow: inset -5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-position-right.ui-panel-display-reveal { - -webkit-box-shadow: inset 5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: inset 5px 0 5px rgba(0,0,0,.15); - box-shadow: inset 5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-display-overlay { - -webkit-box-shadow: 5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: 5px 0 5px rgba(0,0,0,.15); - box-shadow: 5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-position-right.ui-panel-display-overlay { - -webkit-box-shadow: -5px 0 5px rgba(0,0,0,.15); - -moz-box-shadow: -5px 0 5px rgba(0,0,0,.15); - box-shadow: -5px 0 5px rgba(0,0,0,.15); -} -.ui-panel-open.ui-panel-position-left.ui-panel-display-push { - border-right-width: 1px; - margin-right: -1px; -} -.ui-panel-page-content-position-left.ui-panel-page-content-display-push { - margin-left: 1px; - width: auto; -} -.ui-panel-open.ui-panel-position-right.ui-panel-display-push { - border-left-width: 1px; - margin-left: -1px; -} -.ui-panel-page-content-position-right.ui-panel-page-content-display-push { - margin-right: 1px; - width: auto; -} -/* Responsive: wrap on wide viewports once open */ -@media (min-width:55em) { - .ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-left { - margin-right: 17em; - } - .ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-right { - margin-left: 17em; - } - .ui-responsive-panel .ui-panel-page-content-open { - width: auto; - } - .ui-responsive-panel .ui-panel-dismiss-display-push, - .ui-responsive-panel.ui-page-active ~ .ui-panel-dismiss-display-push { - display: none; - } -} -.ui-tabs { - position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ - padding: .2em; -} diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.structure-1.4.5.min.css b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.structure-1.4.5.min.css deleted file mode 100644 index 623b1006aafa29d13e91b704aa62e79fc42a7372..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.structure-1.4.5.min.css +++ /dev/null @@ -1,24 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! jQuery Mobile 1.4.5 | Git HEADhash: 68e55e7 <> 2014-10-31T17:33:30Z | (c) 2010, 2014 jQuery Foundation, Inc. | jquery.org/license */ - -.ui-mobile,.ui-mobile body{height:99.9%}.ui-mobile fieldset,.ui-page{padding:0;margin:0}.ui-mobile a img,.ui-mobile fieldset{border-width:0}.ui-mobile fieldset{min-width:0}@-moz-document url-prefix(){.ui-mobile fieldset{display:table-column;vertical-align:middle}}.ui-mobile-viewport{margin:0;overflow-x:visible;-webkit-text-size-adjust:100%;-ms-text-size-adjust:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}body.ui-mobile-viewport,div.ui-mobile-viewport{overflow-x:hidden}.ui-mobile [data-role=page],.ui-mobile [data-role=dialog],.ui-page{top:0;left:0;width:100%;min-height:100%;position:absolute;display:none;border:0}.ui-page{outline:0}.ui-mobile .ui-page-active{display:block;overflow:visible;overflow-x:hidden}@media screen and (orientation:portrait){.ui-mobile .ui-page{min-height:420px}}@media screen and (orientation:landscape){.ui-mobile .ui-page{min-height:300px}}.ui-mobile-rendering>*{visibility:hidden}.ui-nojs{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-loading .ui-loader{display:block}.ui-loader{display:none;z-index:9999999;position:fixed;top:50%;left:50%;border:0}.ui-loader-default{background:0;filter:Alpha(Opacity=18);opacity:.18;width:2.875em;height:2.875em;margin-left:-1.4375em;margin-top:-1.4375em}.ui-loader-verbose{width:12.5em;filter:Alpha(Opacity=88);opacity:.88;box-shadow:0 1px 1px -1px #fff;height:auto;margin-left:-6.875em;margin-top:-2.6875em;padding:.625em}.ui-loader-default h1{font-size:0;width:0;height:0;overflow:hidden}.ui-loader-verbose h1{font-size:1em;margin:0;text-align:center}.ui-loader .ui-icon-loading{background-color:#000;display:block;margin:0;width:2.75em;height:2.75em;padding:.0625em;-webkit-border-radius:2.25em;border-radius:2.25em}.ui-loader-verbose .ui-icon-loading{margin:0 auto .625em;filter:Alpha(Opacity=75);opacity:.75}.ui-loader-textonly{padding:.9375em;margin-left:-7.1875em}.ui-loader-textonly .ui-icon-loading{display:none}.ui-loader-fakefix{position:absolute}.ui-bar,.ui-body{position:relative;padding:.4em 1em;overflow:hidden;display:block;clear:both}.ui-bar h1,.ui-bar h2,.ui-bar h3,.ui-bar h4,.ui-bar h5,.ui-bar h6{margin:0;padding:0;font-size:1em;display:inline-block}.ui-header,.ui-footer{border-width:1px 0;border-style:solid;position:relative}.ui-header:empty,.ui-footer:empty{min-height:2.6875em}.ui-header .ui-title,.ui-footer .ui-title{font-size:1em;min-height:1.1em;text-align:center;display:block;margin:0 30%;padding:.7em 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;outline:0!important}.ui-footer .ui-title{margin:0 1em}.ui-content{border-width:0;overflow:visible;overflow-x:hidden;padding:1em}.ui-corner-all>.ui-header:first-child,.ui-corner-all>.ui-content:first-child,.ui-corner-all>.ui-footer:first-child{-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit;-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit}.ui-corner-all>.ui-header:last-child,.ui-corner-all>.ui-content:last-child,.ui-corner-all>.ui-footer:last-child{-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-btn{font-size:16px;margin:.5em 0;padding:.7em 1em;display:block;position:relative;text-align:center;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui-btn-icon-notext,.ui-header button.ui-btn.ui-btn-icon-notext,.ui-footer button.ui-btn.ui-btn-icon-notext{padding:0;width:1.75em;height:1.75em;text-indent:-9999px;white-space:nowrap!important}.ui-mini{font-size:12.5px}.ui-mini .ui-btn{font-size:inherit}.ui-header .ui-btn,.ui-footer .ui-btn{font-size:12.5px;display:inline-block;vertical-align:middle}.ui-header .ui-controlgroup .ui-btn-icon-notext,.ui-footer .ui-controlgroup .ui-btn-icon-notext{font-size:12.5px}.ui-header .ui-btn-left,.ui-header .ui-btn-right{font-size:12.5px}.ui-mini.ui-btn-icon-notext,.ui-mini .ui-btn-icon-notext,.ui-header .ui-btn-icon-notext,.ui-footer .ui-btn-icon-notext{font-size:16px;padding:0}.ui-btn-inline{display:inline-block;vertical-align:middle;margin-right:.625em}.ui-btn-icon-left{padding-left:2.5em}.ui-btn-icon-right{padding-right:2.5em}.ui-btn-icon-top{padding-top:2.5em}.ui-btn-icon-bottom{padding-bottom:2.5em}.ui-header .ui-btn-icon-top,.ui-footer .ui-btn-icon-top,.ui-header .ui-btn-icon-bottom,.ui-footer .ui-btn-icon-bottom{padding-left:.3125em;padding-right:.3125em}.ui-btn-icon-left:after,.ui-btn-icon-right:after,.ui-btn-icon-top:after,.ui-btn-icon-bottom:after,.ui-btn-icon-notext:after{content:"";position:absolute;display:block;width:22px;height:22px}.ui-btn-icon-notext:after,.ui-btn-icon-left:after,.ui-btn-icon-right:after{top:50%;margin-top:-11px}.ui-btn-icon-left:after{left:.5625em}.ui-btn-icon-right:after{right:.5625em}.ui-mini.ui-btn-icon-left:after,.ui-mini .ui-btn-icon-left:after,.ui-header .ui-btn-icon-left:after,.ui-footer .ui-btn-icon-left:after{left:.37em}.ui-mini.ui-btn-icon-right:after,.ui-mini .ui-btn-icon-right:after,.ui-header .ui-btn-icon-right:after,.ui-footer .ui-btn-icon-right:after{right:.37em}.ui-btn-icon-notext:after,.ui-btn-icon-top:after,.ui-btn-icon-bottom:after{left:50%;margin-left:-11px}.ui-btn-icon-top:after{top:.5625em}.ui-btn-icon-bottom:after{top:auto;bottom:.5625em}.ui-header .ui-btn-left,.ui-header .ui-btn-right,.ui-btn-left>[class*=ui-],.ui-btn-right>[class*=ui-]{margin:0}.ui-btn-left,.ui-btn-right{position:absolute;top:.24em}.ui-btn-left{left:.4em}.ui-btn-right{right:.4em}.ui-btn-icon-notext.ui-btn-left{top:.3125em;left:.3125em}.ui-btn-icon-notext.ui-btn-right{top:.3125em;right:.3125em}button.ui-btn,.ui-controlgroup-controls button.ui-btn-icon-notext{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;width:100%}button.ui-btn-inline,.ui-header button.ui-btn,.ui-footer button.ui-btn{width:auto}button.ui-btn::-moz-focus-inner{border:0}button.ui-btn-icon-notext,.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;width:1.75em}.ui-mobile label,.ui-controlgroup-label{display:block;margin:0 0 .4em}.ui-hide-label>label,.ui-hide-label .ui-controlgroup-label,.ui-hide-label .ui-rangeslider label,.ui-hidden-accessible{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-screen-hidden{display:none!important}.ui-mobile-viewport-transitioning,.ui-mobile-viewport-transitioning .ui-page{width:100%;height:100%;overflow:hidden;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-page-pre-in{opacity:0}.in{-webkit-animation-timing-function:ease-out;-webkit-animation-duration:350ms;-moz-animation-timing-function:ease-out;-moz-animation-duration:350ms;animation-timing-function:ease-out;animation-duration:350ms}.out{-webkit-animation-timing-function:ease-in;-webkit-animation-duration:225ms;-moz-animation-timing-function:ease-in;-moz-animation-duration:225ms;animation-timing-function:ease-in;animation-duration:225ms}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@-moz-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadeout{from{opacity:1}to{opacity:0}}@-moz-keyframes fadeout{from{opacity:1}to{opacity:0}}@keyframes fadeout{from{opacity:1}to{opacity:0}}.fade.out{opacity:0;-webkit-animation-duration:125ms;-webkit-animation-name:fadeout;-moz-animation-duration:125ms;-moz-animation-name:fadeout;animation-duration:125ms;animation-name:fadeout}.fade.in{opacity:1;-webkit-animation-duration:225ms;-webkit-animation-name:fadein;-moz-animation-duration:225ms;-moz-animation-name:fadein;animation-duration:225ms;animation-name:fadein}.pop{-webkit-transform-origin:50% 50%;-moz-transform-origin:50% 50%;transform-origin:50% 50%}.pop.in{-webkit-transform:scale(1);-webkit-animation-name:popin;-webkit-animation-duration:350ms;-moz-transform:scale(1);-moz-animation-name:popin;-moz-animation-duration:350ms;transform:scale(1);animation-name:popin;animation-duration:350ms;opacity:1}.pop.out{-webkit-animation-name:fadeout;-webkit-animation-duration:100ms;-moz-animation-name:fadeout;-moz-animation-duration:100ms;animation-name:fadeout;animation-duration:100ms;opacity:0}.pop.in.reverse{-webkit-animation-name:fadein;-moz-animation-name:fadein;animation-name:fadein}.pop.out.reverse{-webkit-transform:scale(.8);-webkit-animation-name:popout;-moz-transform:scale(.8);-moz-animation-name:popout;transform:scale(.8);animation-name:popout}@-webkit-keyframes popin{from{-webkit-transform:scale(.8);opacity:0}to{-webkit-transform:scale(1);opacity:1}}@-moz-keyframes popin{from{-moz-transform:scale(.8);opacity:0}to{-moz-transform:scale(1);opacity:1}}@keyframes popin{from{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@-webkit-keyframes popout{from{-webkit-transform:scale(1);opacity:1}to{-webkit-transform:scale(.8);opacity:0}}@-moz-keyframes popout{from{-moz-transform:scale(1);opacity:1}to{-moz-transform:scale(.8);opacity:0}}@keyframes popout{from{transform:scale(1);opacity:1}to{transform:scale(.8);opacity:0}}@-webkit-keyframes slideinfromright{from{-webkit-transform:translate3d(100%,0,0)}to{-webkit-transform:translate3d(0,0,0)}}@-moz-keyframes slideinfromright{from{-moz-transform:translateX(100%)}to{-moz-transform:translateX(0)}}@keyframes slideinfromright{from{transform:translateX(100%)}to{transform:translateX(0)}}@-webkit-keyframes slideinfromleft{from{-webkit-transform:translate3d(-100%,0,0)}to{-webkit-transform:translate3d(0,0,0)}}@-moz-keyframes slideinfromleft{from{-moz-transform:translateX(-100%)}to{-moz-transform:translateX(0)}}@keyframes slideinfromleft{from{transform:translateX(-100%)}to{transform:translateX(0)}}@-webkit-keyframes slideouttoleft{from{-webkit-transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-100%,0,0)}}@-moz-keyframes slideouttoleft{from{-moz-transform:translateX(0)}to{-moz-transform:translateX(-100%)}}@keyframes slideouttoleft{from{transform:translateX(0)}to{transform:translateX(-100%)}}@-webkit-keyframes slideouttoright{from{-webkit-transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(100%,0,0)}}@-moz-keyframes slideouttoright{from{-moz-transform:translateX(0)}to{-moz-transform:translateX(100%)}}@keyframes slideouttoright{from{transform:translateX(0)}to{transform:translateX(100%)}}.slide.out,.slide.in{-webkit-animation-timing-function:ease-out;-webkit-animation-duration:350ms;-moz-animation-timing-function:ease-out;-moz-animation-duration:350ms;animation-timing-function:ease-out;animation-duration:350ms}.slide.out{-webkit-transform:translate3d(-100%,0,0);-webkit-animation-name:slideouttoleft;-moz-transform:translateX(-100%);-moz-animation-name:slideouttoleft;transform:translateX(-100%);animation-name:slideouttoleft}.slide.in{-webkit-transform:translate3d(0,0,0);-webkit-animation-name:slideinfromright;-moz-transform:translateX(0);-moz-animation-name:slideinfromright;transform:translateX(0);animation-name:slideinfromright}.slide.out.reverse{-webkit-transform:translate3d(100%,0,0);-webkit-animation-name:slideouttoright;-moz-transform:translateX(100%);-moz-animation-name:slideouttoright;transform:translateX(100%);animation-name:slideouttoright}.slide.in.reverse{-webkit-transform:translate3d(0,0,0);-webkit-animation-name:slideinfromleft;-moz-transform:translateX(0);-moz-animation-name:slideinfromleft;transform:translateX(0);animation-name:slideinfromleft}.slidefade.out{-webkit-transform:translateX(-100%);-webkit-animation-name:slideouttoleft;-webkit-animation-duration:225ms;-moz-transform:translateX(-100%);-moz-animation-name:slideouttoleft;-moz-animation-duration:225ms;transform:translateX(-100%);animation-name:slideouttoleft;animation-duration:225ms}.slidefade.in{-webkit-transform:translateX(0);-webkit-animation-name:fadein;-webkit-animation-duration:200ms;-moz-transform:translateX(0);-moz-animation-name:fadein;-moz-animation-duration:200ms;transform:translateX(0);animation-name:fadein;animation-duration:200ms}.slidefade.out.reverse{-webkit-transform:translateX(100%);-webkit-animation-name:slideouttoright;-webkit-animation-duration:200ms;-moz-transform:translateX(100%);-moz-animation-name:slideouttoright;-moz-animation-duration:200ms;transform:translateX(100%);animation-name:slideouttoright;animation-duration:200ms}.slidefade.in.reverse{-webkit-transform:translateX(0);-webkit-animation-name:fadein;-webkit-animation-duration:200ms;-moz-transform:translateX(0);-moz-animation-name:fadein;-moz-animation-duration:200ms;transform:translateX(0);animation-name:fadein;animation-duration:200ms}.slidedown.out{-webkit-animation-name:fadeout;-webkit-animation-duration:100ms;-moz-animation-name:fadeout;-moz-animation-duration:100ms;animation-name:fadeout;animation-duration:100ms}.slidedown.in{-webkit-transform:translateY(0);-webkit-animation-name:slideinfromtop;-webkit-animation-duration:250ms;-moz-transform:translateY(0);-moz-animation-name:slideinfromtop;-moz-animation-duration:250ms;transform:translateY(0);animation-name:slideinfromtop;animation-duration:250ms}.slidedown.in.reverse{-webkit-animation-name:fadein;-webkit-animation-duration:150ms;-moz-animation-name:fadein;-moz-animation-duration:150ms;animation-name:fadein;animation-duration:150ms}.slidedown.out.reverse{-webkit-transform:translateY(-100%);-webkit-animation-name:slideouttotop;-webkit-animation-duration:200ms;-moz-transform:translateY(-100%);-moz-animation-name:slideouttotop;-moz-animation-duration:200ms;transform:translateY(-100%);animation-name:slideouttotop;animation-duration:200ms}@-webkit-keyframes slideinfromtop{from{-webkit-transform:translateY(-100%)}to{-webkit-transform:translateY(0)}}@-moz-keyframes slideinfromtop{from{-moz-transform:translateY(-100%)}to{-moz-transform:translateY(0)}}@keyframes slideinfromtop{from{transform:translateY(-100%)}to{transform:translateY(0)}}@-webkit-keyframes slideouttotop{from{-webkit-transform:translateY(0)}to{-webkit-transform:translateY(-100%)}}@-moz-keyframes slideouttotop{from{-moz-transform:translateY(0)}to{-moz-transform:translateY(-100%)}}@keyframes slideouttotop{from{transform:translateY(0)}to{transform:translateY(-100%)}}.slideup.out{-webkit-animation-name:fadeout;-webkit-animation-duration:100ms;-moz-animation-name:fadeout;-moz-animation-duration:100ms;animation-name:fadeout;animation-duration:100ms}.slideup.in{-webkit-transform:translateY(0);-webkit-animation-name:slideinfrombottom;-webkit-animation-duration:250ms;-moz-transform:translateY(0);-moz-animation-name:slideinfrombottom;-moz-animation-duration:250ms;transform:translateY(0);animation-name:slideinfrombottom;animation-duration:250ms}.slideup.in.reverse{-webkit-animation-name:fadein;-webkit-animation-duration:150ms;-moz-animation-name:fadein;-moz-animation-duration:150ms;animation-name:fadein;animation-duration:150ms}.slideup.out.reverse{-webkit-transform:translateY(100%);-webkit-animation-name:slideouttobottom;-webkit-animation-duration:200ms;-moz-transform:translateY(100%);-moz-animation-name:slideouttobottom;-moz-animation-duration:200ms;transform:translateY(100%);animation-name:slideouttobottom;animation-duration:200ms}@-webkit-keyframes slideinfrombottom{from{-webkit-transform:translateY(100%)}to{-webkit-transform:translateY(0)}}@-moz-keyframes slideinfrombottom{from{-moz-transform:translateY(100%)}to{-moz-transform:translateY(0)}}@keyframes slideinfrombottom{from{transform:translateY(100%)}to{transform:translateY(0)}}@-webkit-keyframes slideouttobottom{from{-webkit-transform:translateY(0)}to{-webkit-transform:translateY(100%)}}@-moz-keyframes slideouttobottom{from{-moz-transform:translateY(0)}to{-moz-transform:translateY(100%)}}@keyframes slideouttobottom{from{transform:translateY(0)}to{transform:translateY(100%)}}.viewport-flip{-webkit-perspective:1000;-moz-perspective:1000;perspective:1000;position:absolute}.flip{-webkit-backface-visibility:hidden;-webkit-transform:translateX(0);-moz-backface-visibility:hidden;-moz-transform:translateX(0);backface-visibility:hidden;transform:translateX(0)}.flip.out{-webkit-transform:rotateY(-90deg) scale(.9);-webkit-animation-name:flipouttoleft;-webkit-animation-duration:175ms;-moz-transform:rotateY(-90deg) scale(.9);-moz-animation-name:flipouttoleft;-moz-animation-duration:175ms;transform:rotateY(-90deg) scale(.9);animation-name:flipouttoleft;animation-duration:175ms}.flip.in{-webkit-animation-name:flipintoright;-webkit-animation-duration:225ms;-moz-animation-name:flipintoright;-moz-animation-duration:225ms;animation-name:flipintoright;animation-duration:225ms}.flip.out.reverse{-webkit-transform:rotateY(90deg) scale(.9);-webkit-animation-name:flipouttoright;-moz-transform:rotateY(90deg) scale(.9);-moz-animation-name:flipouttoright;transform:rotateY(90deg) scale(.9);animation-name:flipouttoright}.flip.in.reverse{-webkit-animation-name:flipintoleft;-moz-animation-name:flipintoleft;animation-name:flipintoleft}@-webkit-keyframes flipouttoleft{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(-90deg) scale(.9)}}@-moz-keyframes flipouttoleft{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(-90deg) scale(.9)}}@keyframes flipouttoleft{from{transform:rotateY(0)}to{transform:rotateY(-90deg) scale(.9)}}@-webkit-keyframes flipouttoright{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(90deg) scale(.9)}}@-moz-keyframes flipouttoright{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(90deg) scale(.9)}}@keyframes flipouttoright{from{transform:rotateY(0)}to{transform:rotateY(90deg) scale(.9)}}@-webkit-keyframes flipintoleft{from{-webkit-transform:rotateY(-90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoleft{from{-moz-transform:rotateY(-90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoleft{from{transform:rotateY(-90deg) scale(.9)}to{transform:rotateY(0)}}@-webkit-keyframes flipintoright{from{-webkit-transform:rotateY(90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoright{from{-moz-transform:rotateY(90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoright{from{transform:rotateY(90deg) scale(.9)}to{transform:rotateY(0)}}.viewport-turn{-webkit-perspective:200px;-moz-perspective:200px;-ms-perspective:200px;perspective:200px;position:absolute}.turn{-webkit-backface-visibility:hidden;-webkit-transform:translateX(0);-webkit-transform-origin:0;-moz-backface-visibility:hidden;-moz-transform:translateX(0);-moz-transform-origin:0;backface-visibility:hidden;transform:translateX(0);transform-origin:0}.turn.out{-webkit-transform:rotateY(-90deg) scale(.9);-webkit-animation-name:flipouttoleft;-webkit-animation-duration:125ms;-moz-transform:rotateY(-90deg) scale(.9);-moz-animation-name:flipouttoleft;-moz-animation-duration:125ms;transform:rotateY(-90deg) scale(.9);animation-name:flipouttoleft;animation-duration:125ms}.turn.in{-webkit-animation-name:flipintoright;-webkit-animation-duration:250ms;-moz-animation-name:flipintoright;-moz-animation-duration:250ms;animation-name:flipintoright;animation-duration:250ms}.turn.out.reverse{-webkit-transform:rotateY(90deg) scale(.9);-webkit-animation-name:flipouttoright;-moz-transform:rotateY(90deg) scale(.9);-moz-animation-name:flipouttoright;transform:rotateY(90deg) scale(.9);animation-name:flipouttoright}.turn.in.reverse{-webkit-animation-name:flipintoleft;-moz-animation-name:flipintoleft;animation-name:flipintoleft}@-webkit-keyframes flipouttoleft{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(-90deg) scale(.9)}}@-moz-keyframes flipouttoleft{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(-90deg) scale(.9)}}@keyframes flipouttoleft{from{transform:rotateY(0)}to{transform:rotateY(-90deg) scale(.9)}}@-webkit-keyframes flipouttoright{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(90deg) scale(.9)}}@-moz-keyframes flipouttoright{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(90deg) scale(.9)}}@keyframes flipouttoright{from{transform:rotateY(0)}to{transform:rotateY(90deg) scale(.9)}}@-webkit-keyframes flipintoleft{from{-webkit-transform:rotateY(-90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoleft{from{-moz-transform:rotateY(-90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoleft{from{transform:rotateY(-90deg) scale(.9)}to{transform:rotateY(0)}}@-webkit-keyframes flipintoright{from{-webkit-transform:rotateY(90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoright{from{-moz-transform:rotateY(90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoright{from{transform:rotateY(90deg) scale(.9)}to{transform:rotateY(0)}}.flow{-webkit-transform-origin:50% 30%;-webkit-box-shadow:0 0 20px rgba(0,0,0,.4);-moz-transform-origin:50% 30%;-moz-box-shadow:0 0 20px rgba(0,0,0,.4);transform-origin:50% 30%;box-shadow:0 0 20px rgba(0,0,0,.4)}.ui-dialog.flow{-webkit-transform-origin:none;-webkit-box-shadow:none;-moz-transform-origin:none;-moz-box-shadow:none;transform-origin:none;box-shadow:none}.flow.out{-webkit-transform:translateX(-100%) scale(.7);-webkit-animation-name:flowouttoleft;-webkit-animation-timing-function:ease;-webkit-animation-duration:350ms;-moz-transform:translateX(-100%) scale(.7);-moz-animation-name:flowouttoleft;-moz-animation-timing-function:ease;-moz-animation-duration:350ms;transform:translateX(-100%) scale(.7);animation-name:flowouttoleft;animation-timing-function:ease;animation-duration:350ms}.flow.in{-webkit-transform:translateX(0) scale(1);-webkit-animation-name:flowinfromright;-webkit-animation-timing-function:ease;-webkit-animation-duration:350ms;-moz-transform:translateX(0) scale(1);-moz-animation-name:flowinfromright;-moz-animation-timing-function:ease;-moz-animation-duration:350ms;transform:translateX(0) scale(1);animation-name:flowinfromright;animation-timing-function:ease;animation-duration:350ms}.flow.out.reverse{-webkit-transform:translateX(100%);-webkit-animation-name:flowouttoright;-moz-transform:translateX(100%);-moz-animation-name:flowouttoright;transform:translateX(100%);animation-name:flowouttoright}.flow.in.reverse{-webkit-animation-name:flowinfromleft;-moz-animation-name:flowinfromleft;animation-name:flowinfromleft}@-webkit-keyframes flowouttoleft{0%{-webkit-transform:translateX(0) scale(1)}60%,70%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(-100%) scale(.7)}}@-moz-keyframes flowouttoleft{0%{-moz-transform:translateX(0) scale(1)}60%,70%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(-100%) scale(.7)}}@keyframes flowouttoleft{0%{transform:translateX(0) scale(1)}60%,70%{transform:translateX(0) scale(.7)}100%{transform:translateX(-100%) scale(.7)}}@-webkit-keyframes flowouttoright{0%{-webkit-transform:translateX(0) scale(1)}60%,70%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(100%) scale(.7)}}@-moz-keyframes flowouttoright{0%{-moz-transform:translateX(0) scale(1)}60%,70%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(100%) scale(.7)}}@keyframes flowouttoright{0%{transform:translateX(0) scale(1)}60%,70%{transform:translateX(0) scale(.7)}100%{transform:translateX(100%) scale(.7)}}@-webkit-keyframes flowinfromleft{0%{-webkit-transform:translateX(-100%) scale(.7)}30%,40%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(0) scale(1)}}@-moz-keyframes flowinfromleft{0%{-moz-transform:translateX(-100%) scale(.7)}30%,40%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(0) scale(1)}}@keyframes flowinfromleft{0%{transform:translateX(-100%) scale(.7)}30%,40%{transform:translateX(0) scale(.7)}100%{transform:translateX(0) scale(1)}}@-webkit-keyframes flowinfromright{0%{-webkit-transform:translateX(100%) scale(.7)}30%,40%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(0) scale(1)}}@-moz-keyframes flowinfromright{0%{-moz-transform:translateX(100%) scale(.7)}30%,40%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(0) scale(1)}}@keyframes flowinfromright{0%{transform:translateX(100%) scale(.7)}30%,40%{transform:translateX(0) scale(.7)}100%{transform:translateX(0) scale(1)}}.ui-field-contain,.ui-mobile fieldset.ui-field-contain{display:block;position:relative;overflow:visible;clear:both;padding:.8em 0}.ui-field-contain>label~[class*=ui-],.ui-field-contain .ui-controlgroup-controls{margin:0}.ui-field-contain:last-child{border-bottom-width:0}@media (min-width:28em){.ui-field-contain,.ui-mobile fieldset.ui-field-contain{padding:0;margin:1em 0;border-bottom-width:0}.ui-field-contain:before,.ui-field-contain:after{content:"";display:table}.ui-field-contain:after{clear:both}.ui-field-contain>label,.ui-field-contain .ui-controlgroup-label,.ui-field-contain>.ui-rangeslider>label{float:left;width:20%;margin:.5em 2% 0 0}.ui-popup .ui-field-contain>label,.ui-popup .ui-field-contain .ui-controlgroup-label,.ui-popup .ui-field-contain>.ui-rangeslider>label{float:none;width:auto;margin:0 0 .4em}.ui-field-contain>label~[class*=ui-],.ui-field-contain .ui-controlgroup-controls{float:left;width:78%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-hide-label>label~[class*=ui-],.ui-hide-label .ui-controlgroup-controls,.ui-popup .ui-field-contain>label~[class*=ui-],.ui-popup .ui-field-contain .ui-controlgroup-controls{float:none;width:100%}.ui-field-contain>label~.ui-btn-inline{width:auto;margin-right:.625em}.ui-field-contain>label~.ui-btn-inline.ui-btn-icon-notext{width:1.75em}}.ui-grid-a,.ui-grid-b,.ui-grid-c,.ui-grid-d,.ui-grid-solo{overflow:hidden}.ui-block-a,.ui-block-b,.ui-block-c,.ui-block-d,.ui-block-e{margin:0;padding:0;border:0;float:left;min-height:1px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-block-a{clear:left}ul.ui-grid-a,ul.ui-grid-b,ul.ui-grid-c,ul.ui-grid-d,ul.ui-grid-solo,li.ui-block-a,li.ui-block-b,li.ui-block-c,li.ui-block-d,li.ui-block-e{margin-left:0;margin-right:0;padding:0;list-style:none}[class*=ui-block-]>button.ui-btn{margin-right:0;margin-left:0}[class*=ui-block-]>.ui-btn,[class*=ui-block-]>.ui-select,[class*=ui-block-]>.ui-checkbox,[class*=ui-block-]>.ui-radio,[class*=ui-block-]>button.ui-btn-inline,[class*=ui-block-]>button.ui-btn-icon-notext,.ui-header [class*=ui-block-]>button.ui-btn,.ui-footer [class*=ui-block-]>button.ui-btn{margin-right:.3125em;margin-left:.3125em}.ui-grid-a>.ui-block-a,.ui-grid-a>.ui-block-b{width:50%}.ui-grid-b>.ui-block-a,.ui-grid-b>.ui-block-b,.ui-grid-b>.ui-block-c{width:33.333%}.ui-grid-c>.ui-block-a,.ui-grid-c>.ui-block-b,.ui-grid-c>.ui-block-c,.ui-grid-c>.ui-block-d{width:25%}.ui-grid-d>.ui-block-a,.ui-grid-d>.ui-block-b,.ui-grid-d>.ui-block-c,.ui-grid-d>.ui-block-d,.ui-grid-d>.ui-block-e{width:20%}.ui-grid-solo>.ui-block-a{width:100%;float:none}@media (max-width:35em){.ui-responsive>.ui-block-a,.ui-responsive>.ui-block-b,.ui-responsive>.ui-block-c,.ui-responsive>.ui-block-d,.ui-responsive>.ui-block-e{width:100%;float:none}}.ui-header-fixed,.ui-footer-fixed{left:0;right:0;width:100%;position:fixed;z-index:1000}.ui-header-fixed{top:-1px;padding-top:1px}.ui-header-fixed.ui-fixed-hidden{top:0;padding-top:0}.ui-header-fixed .ui-btn-left,.ui-header-fixed .ui-btn-right{margin-top:1px}.ui-header-fixed.ui-fixed-hidden .ui-btn-left,.ui-header-fixed.ui-fixed-hidden .ui-btn-right{margin-top:0}.ui-footer-fixed{bottom:-1px;padding-bottom:1px}.ui-footer-fixed.ui-fixed-hidden{bottom:0;padding-bottom:0}.ui-header-fullscreen,.ui-footer-fullscreen{filter:Alpha(Opacity=90);opacity:.9}.ui-page-header-fixed{padding-top:2.8125em}.ui-page-footer-fixed{padding-bottom:2.8125em}.ui-page-header-fullscreen>.ui-content,.ui-page-footer-fullscreen>.ui-content{padding:0}.ui-fixed-hidden{position:absolute}.ui-footer-fixed.ui-fixed-hidden{display:none}.ui-page .ui-footer-fixed.ui-fixed-hidden{display:block}.ui-page-header-fullscreen .ui-fixed-hidden,.ui-page-footer-fullscreen .ui-fixed-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-header-fixed .ui-btn,.ui-footer-fixed .ui-btn{z-index:10}.ui-android-2x-fixed .ui-li-has-thumb{-webkit-transform:translate3d(0,0,0)}.ui-navbar{max-width:100%}.ui-navbar ul:before,.ui-navbar ul:after{content:"";display:table}.ui-navbar ul:after{clear:both}.ui-navbar ul{list-style:none;margin:0;padding:0;position:relative;display:block;border:0;max-width:100%;overflow:visible}.ui-navbar li .ui-btn{font-size:12.5px;display:block;margin:0;border-right-width:0}.ui-header .ui-navbar li button.ui-btn,.ui-footer .ui-navbar li button.ui-btn{margin:0;width:100%}.ui-navbar .ui-btn:focus{z-index:1}.ui-navbar li:last-child .ui-btn{margin-right:-4px}.ui-navbar li:last-child .ui-btn:after{margin-right:4px}.ui-content .ui-navbar li:last-child .ui-btn,.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn{border-right-width:1px;margin-right:0}.ui-content .ui-navbar li:last-child .ui-btn:after,.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn:after{margin-right:0}.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn{border-right-width:1px;margin-right:-1px}.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn:after{margin-right:1px}.ui-navbar .ui-grid-duo .ui-btn{border-top-width:0}.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn{border-top-width:1px}.ui-header .ui-navbar .ui-btn,.ui-footer .ui-navbar .ui-btn{border-top-width:0;border-bottom-width:0}.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn,.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn{border-top-width:0}.ui-header .ui-title~.ui-navbar .ui-btn,.ui-footer .ui-title~.ui-navbar .ui-btn,.ui-header .ui-navbar .ui-grid-duo .ui-btn,.ui-footer .ui-navbar .ui-grid-duo .ui-btn,.ui-header .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-footer .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-header .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn,.ui-footer .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn{border-top-width:1px}.ui-input-btn input{position:absolute;top:0;left:0;width:100%;height:100%;padding:0;border:0;outline:0;-webkit-border-radius:inherit;border-radius:inherit;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;background:#fff;background:rgba(255,255,255,0);filter:Alpha(Opacity=0);opacity:.1;font-size:1px;text-indent:-9999px;z-index:2}.ui-input-btn.ui-state-disabled input{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-collapsible{margin:0 -1em}.ui-collapsible-inset,.ui-collapsible-set{margin:.5em 0}.ui-collapsible-heading{display:block;margin:0;padding:0;position:relative}.ui-collapsible-heading .ui-btn{text-align:left;margin:0;border-left-width:0;border-right-width:0}.ui-collapsible-heading .ui-btn-icon-top,.ui-collapsible-heading .ui-btn-icon-bottom{text-align:center}.ui-collapsible-inset .ui-collapsible-heading .ui-btn{border-right-width:1px;border-left-width:1px}.ui-collapsible-collapsed+.ui-collapsible:not(.ui-collapsible-inset)>.ui-collapsible-heading .ui-btn{border-top-width:0}.ui-collapsible-set .ui-collapsible:not(.ui-collapsible-inset) .ui-collapsible-heading .ui-btn{border-top-width:1px}.ui-collapsible-heading-status{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-collapsible-content{display:block;margin:0;padding:.5em 1em}.ui-collapsible-themed-content .ui-collapsible-content{border-left-width:0;border-right-width:0;border-top-width:0;border-bottom-width:1px;border-style:solid}.ui-collapsible-inset.ui-collapsible-themed-content .ui-collapsible-content{border-left-width:1px;border-right-width:1px}.ui-collapsible-inset .ui-collapsible-content{margin:0}.ui-collapsible-content-collapsed{display:none}.ui-collapsible-set>.ui-collapsible.ui-corner-all{-webkit-border-radius:0;border-radius:0}.ui-collapsible-heading,.ui-collapsible-heading>.ui-btn{-webkit-border-radius:inherit;border-radius:inherit}.ui-collapsible-set .ui-collapsible.ui-first-child{-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit;-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit}.ui-collapsible-content,.ui-collapsible-set .ui-collapsible.ui-last-child{-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit;-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-collapsible-themed-content:not(.ui-collapsible-collapsed)>.ui-collapsible-heading{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-collapsible-set .ui-collapsible{margin:-1px -1em 0}.ui-collapsible-set .ui-collapsible-inset{margin:-1px 0 0}.ui-collapsible-set .ui-collapsible.ui-first-child{margin-top:0}.ui-controlgroup,fieldset.ui-controlgroup{padding:0;margin:.5em 0}.ui-field-contain .ui-controlgroup,.ui-field-contain fieldset.ui-controlgroup{margin:0}.ui-mini .ui-controlgroup-label{font-size:16px}.ui-controlgroup.ui-mini .ui-btn-icon-notext,.ui-controlgroup .ui-mini.ui-btn-icon-notext{font-size:inherit}.ui-controlgroup-controls .ui-btn,.ui-controlgroup-controls .ui-checkbox,.ui-controlgroup-controls .ui-radio,.ui-controlgroup-controls .ui-select{margin:0}.ui-controlgroup-controls .ui-btn:focus,.ui-controlgroup-controls .ui-btn.ui-focus{z-index:1}.ui-controlgroup-controls li{list-style:none}.ui-controlgroup-horizontal .ui-controlgroup-controls{display:inline-block;vertical-align:middle}.ui-controlgroup-horizontal .ui-controlgroup-controls:before,.ui-controlgroup-horizontal .ui-controlgroup-controls:after{content:"";display:table}.ui-controlgroup-horizontal .ui-controlgroup-controls:after{clear:both}.ui-controlgroup-horizontal .ui-controlgroup-controls>.ui-btn,.ui-controlgroup-horizontal .ui-controlgroup-controls li>.ui-btn,.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-checkbox,.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-radio,.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-select{float:left;clear:none}.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn,.ui-controlgroup-controls .ui-btn-icon-notext{width:auto}.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn-icon-notext,.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn-icon-notext{width:1.5em}.ui-controlgroup-controls .ui-btn-icon-notext{height:auto;padding:.7em 1em}.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn{border-bottom-width:0}.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn.ui-last-child{border-bottom-width:1px}.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn{border-right-width:0}.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn.ui-last-child{border-right-width:1px}.ui-controlgroup-controls .ui-btn-corner-all,.ui-controlgroup-controls .ui-btn.ui-corner-all{-webkit-border-radius:0;border-radius:0}.ui-controlgroup-controls,.ui-controlgroup-controls .ui-radio,.ui-controlgroup-controls .ui-checkbox,.ui-controlgroup-controls .ui-select,.ui-controlgroup-controls li{-webkit-border-radius:inherit;border-radius:inherit}.ui-controlgroup-vertical .ui-btn.ui-first-child{-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit;-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit}.ui-controlgroup-vertical .ui-btn.ui-last-child{-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-controlgroup-horizontal .ui-btn.ui-first-child{-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit;-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-controlgroup-horizontal .ui-btn.ui-last-child{-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-controlgroup-controls a.ui-shadow:not(:focus),.ui-controlgroup-controls button.ui-shadow:not(:focus),.ui-controlgroup-controls div.ui-shadow:not(.ui-focus){-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.ui-controlgroup-label legend{max-width:100%}.ui-controlgroup-controls>label{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-dialog{background:none!important}.ui-dialog-contain{width:92.5%;max-width:500px;margin:10% auto 1em;padding:0;position:relative;top:-1em}.ui-dialog-contain>.ui-header,.ui-dialog-contain>.ui-content,.ui-dialog-contain>.ui-footer{display:block;position:relative;width:auto;margin:0}.ui-dialog-contain>.ui-header{overflow:hidden;z-index:10;padding:0;border-top-width:0}.ui-dialog-contain>.ui-footer{z-index:10;padding:0 1em;border-bottom-width:0}.ui-popup-open .ui-header-fixed,.ui-popup-open .ui-footer-fixed{position:absolute!important}.ui-popup-screen{background-image:url("data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==");top:0;left:0;right:0;bottom:1px;position:absolute;filter:Alpha(Opacity=0);opacity:0;z-index:1099}.ui-popup-screen.in{opacity:.5;filter:Alpha(Opacity=50)}.ui-popup-screen.out{opacity:0;filter:Alpha(Opacity=0)}.ui-popup-container{z-index:1100;display:inline-block;position:absolute;padding:0;outline:0}.ui-popup{position:relative}.ui-popup.ui-body-inherit{border-width:1px;border-style:solid}.ui-popup-hidden{left:0;top:0;position:absolute!important;visibility:hidden}.ui-popup-truncate{height:1px;width:1px;margin:-1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-popup.ui-content,.ui-popup .ui-content{overflow:visible}.ui-popup>.ui-header{border-top-width:0}.ui-popup>.ui-footer{border-bottom-width:0}.ui-popup>p,.ui-popup>h1,.ui-popup>h2,.ui-popup>h3,.ui-popup>h4,.ui-popup>h5,.ui-popup>h6{margin:.5em .4375em}.ui-popup>span{display:block;margin:.5em .4375em}.ui-popup-container .ui-content>p,.ui-popup-container .ui-content>h1,.ui-popup-container .ui-content>h2,.ui-popup-container .ui-content>h3,.ui-popup-container .ui-content>h4,.ui-popup-container .ui-content>h5,.ui-popup-container .ui-content>h6{margin:.5em 0}.ui-popup-container .ui-content>span{margin:0}.ui-popup-container .ui-content>p:first-child,.ui-popup-container .ui-content>h1:first-child,.ui-popup-container .ui-content>h2:first-child,.ui-popup-container .ui-content>h3:first-child,.ui-popup-container .ui-content>h4:first-child,.ui-popup-container .ui-content>h5:first-child,.ui-popup-container .ui-content>h6:first-child{margin-top:0}.ui-popup-container .ui-content>p:last-child,.ui-popup-container .ui-content>h1:last-child,.ui-popup-container .ui-content>h2:last-child,.ui-popup-container .ui-content>h3:last-child,.ui-popup-container .ui-content>h4:last-child,.ui-popup-container .ui-content>h5:last-child,.ui-popup-container .ui-content>h6:last-child{margin-bottom:0}.ui-popup>img{max-width:100%;max-height:100%;vertical-align:middle}.ui-popup:not(.ui-content)>img:only-child,.ui-popup:not(.ui-content)>.ui-btn-left:first-child+img:last-child,.ui-popup:not(.ui-content)>.ui-btn-right:first-child+img:last-child{-webkit-border-radius:inherit;border-radius:inherit}.ui-popup iframe{vertical-align:middle}.ui-popup>.ui-btn-left,.ui-popup>.ui-btn-right{position:absolute;top:-11px;margin:0;z-index:1101}.ui-popup>.ui-btn-left{left:-11px}.ui-popup>.ui-btn-right{right:-11px}.ui-popup-arrow-container{width:20px;height:20px}.ui-popup-arrow-container.ui-popup-arrow-l{left:-10px;clip:rect(-1000px,10px,2000px,-1000px)}.ui-popup-arrow-container.ui-popup-arrow-t{top:-10px;clip:rect(-1000px,2000px,10px,-1000px)}.ui-popup-arrow-container.ui-popup-arrow-r{right:-10px;clip:rect(-1000px,2000px,2000px,10px)}.ui-popup-arrow-container.ui-popup-arrow-b{bottom:-10px;clip:rect(10px,2000px,1000px,-1000px)}.ui-popup-arrow-container .ui-popup-arrow{width:28.284271247px;height:28.284271247px;border-width:1px;border-style:solid}.ui-popup-arrow-container.ui-popup-arrow-t .ui-popup-arrow{left:-4.142135623px;top:5.857864376px}.ui-popup-arrow-container.ui-popup-arrow-b .ui-popup-arrow{left:-4.142135623px;top:-14.142135623px}.ui-popup-arrow-container.ui-popup-arrow-l .ui-popup-arrow{left:5.857864376px;top:-4.142135623px}.ui-popup-arrow-container.ui-popup-arrow-r .ui-popup-arrow{left:-14.142135623px;top:-4.142135623px}.ui-popup-arrow-container.ui-popup-arrow-t.ie .ui-popup-arrow{margin-left:-5.857864376269049px;margin-top:-7.0710678118654755px}.ui-popup-arrow-container.ui-popup-arrow-b.ie .ui-popup-arrow{margin-left:-5.857864376269049px;margin-top:-4.142135623730951px}.ui-popup-arrow-container.ui-popup-arrow-l.ie .ui-popup-arrow{margin-left:-7.0710678118654755px;margin-top:-5.857864376269049px}.ui-popup-arrow-container.ui-popup-arrow-r.ie .ui-popup-arrow{margin-left:-4.142135623730951px;margin-top:-5.857864376269049px}.ui-popup>.ui-popup-arrow-guide{position:absolute;left:0;right:0;top:0;bottom:0;visibility:hidden}.ui-popup-arrow-container{position:absolute}.ui-popup-arrow{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);position:absolute;overflow:hidden;box-sizing:border-box}.ui-popup-arrow-container.ie .ui-popup-arrow{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865474, M12=-0.7071067811865477, M21=0.7071067811865477, M22=0.7071067811865474, SizingMethod='auto expand')";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.7071067811865474, M12=-.7071067811865477, M21=.7071067811865477, M22=.7071067811865474, SizingMethod='auto expand')}.ui-checkbox,.ui-radio{margin:.5em 0;position:relative}.ui-checkbox .ui-btn,.ui-radio .ui-btn{margin:0;text-align:left;white-space:normal;z-index:2}.ui-controlgroup .ui-checkbox .ui-btn.ui-focus,.ui-controlgroup .ui-radio .ui-btn.ui-focus{z-index:3}.ui-checkbox .ui-btn-icon-top,.ui-radio .ui-btn-icon-top,.ui-checkbox .ui-btn-icon-bottom,.ui-radio .ui-btn-icon-bottom{text-align:center}.ui-controlgroup-horizontal .ui-checkbox .ui-btn:after,.ui-controlgroup-horizontal .ui-radio .ui-btn:after{content:none;display:none}.ui-checkbox input,.ui-radio input{position:absolute;left:.466em;top:50%;width:22px;height:22px;margin:-11px 0 0 0;outline:0!important;z-index:1}.ui-controlgroup-horizontal .ui-checkbox input,.ui-controlgroup-horizontal .ui-radio input{left:50%;margin-left:-9px}.ui-checkbox input:disabled,.ui-radio input:disabled{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-select{margin-top:.5em;margin-bottom:.5em;position:relative}.ui-select>select{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-select .ui-btn{margin:0;opacity:1}.ui-select .ui-btn select{position:absolute;top:0;left:0;width:100%;min-height:1.5em;min-height:100%;height:3em;max-height:100%;outline:0;-webkit-border-radius:inherit;border-radius:inherit;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;filter:Alpha(Opacity=0);opacity:0;z-index:2}@-moz-document url-prefix(){.ui-select .ui-btn select{opacity:.0001}}.ui-select .ui-state-disabled select{display:none}.ui-select span.ui-state-disabled{filter:Alpha(Opacity=100);opacity:1}.ui-select .ui-btn.ui-select-nativeonly{border-radius:0;border:0}.ui-select .ui-btn.ui-select-nativeonly select{opacity:1;text-indent:0;display:block}.ui-select .ui-li-has-count.ui-btn{padding-right:2.8125em}.ui-select .ui-li-has-count.ui-btn-icon-right{padding-right:4.6875em}.ui-select .ui-btn-icon-right .ui-li-count{right:3.2em}.ui-select .ui-btn>span:not(.ui-li-count){display:block;text-overflow:ellipsis;overflow:hidden!important;white-space:nowrap}.ui-selectmenu.ui-popup{min-width:11em}.ui-selectmenu .ui-dialog-contain{overflow:hidden}.ui-selectmenu .ui-header{margin:0;padding:0;border-width:0}.ui-selectmenu.ui-dialog .ui-header{z-index:1;position:relative}.ui-selectmenu.ui-popup .ui-header{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-selectmenu.ui-popup .ui-header h1:after{content:'.';visibility:hidden}.ui-selectmenu .ui-header .ui-title{margin:0 2.875em}.ui-selectmenu.ui-dialog .ui-content{overflow:visible;z-index:1}.ui-selectmenu .ui-selectmenu-list{margin:0;-webkit-border-radius:inherit;border-radius:inherit}.ui-header:not(.ui-screen-hidden)+.ui-selectmenu-list{-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-top-left-radius:0;border-top-left-radius:0}.ui-header.ui-screen-hidden+.ui-selectmenu-list li.ui-first-child .ui-btn{border-top-width:0}.ui-selectmenu .ui-selectmenu-list li.ui-last-child .ui-btn{border-bottom-width:0}.ui-selectmenu .ui-btn.ui-li-divider{cursor:default}.ui-selectmenu .ui-selectmenu-placeholder{display:none}.ui-listview,.ui-listview>li{margin:0;padding:0;list-style:none}.ui-content .ui-listview,.ui-panel-inner>.ui-listview{margin:-1em}.ui-content .ui-listview-inset,.ui-panel-inner>.ui-listview-inset{margin:1em 0}.ui-collapsible-content>.ui-listview{margin:-.5em -1em}.ui-collapsible-content>.ui-listview-inset{margin:.5em 0}.ui-listview>li{display:block;position:relative;overflow:visible}.ui-listview>.ui-li-static,.ui-listview>.ui-li-divider,.ui-listview>li>a.ui-btn{margin:0;display:block;position:relative;text-align:left;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-listview>li>.ui-btn:focus{z-index:1}.ui-listview>.ui-li-static,.ui-listview>.ui-li-divider,.ui-listview>li>a.ui-btn{border-width:1px 0 0;border-style:solid}.ui-listview-inset>.ui-li-static,.ui-listview-inset>.ui-li-divider,.ui-listview-inset>li>a.ui-btn{border-right-width:1px;border-left-width:1px}.ui-listview>.ui-li-static.ui-last-child,.ui-listview>.ui-li-divider.ui-last-child,.ui-listview>li.ui-last-child>a.ui-btn{border-bottom-width:1px}.ui-collapsible-content>.ui-listview:not(.ui-listview-inset)>li.ui-first-child,.ui-collapsible-content>.ui-listview:not(.ui-listview-inset)>li.ui-first-child>a.ui-btn{border-top-width:0}.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset)>li.ui-last-child,.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset)>li.ui-last-child>a.ui-btn{border-bottom-width:0}.ui-listview>li.ui-first-child,.ui-listview>li.ui-first-child>a.ui-btn{-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit;-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit}.ui-listview>li.ui-last-child,.ui-listview>li.ui-last-child>a.ui-btn{-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit;-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-listview>li.ui-li-has-alt>a.ui-btn{-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0}.ui-listview>li.ui-first-child>a.ui-btn+a.ui-btn{-webkit-border-top-left-radius:0;border-top-left-radius:0;-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit}.ui-listview>li.ui-last-child>a.ui-btn+a.ui-btn{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-listview>li.ui-first-child img:first-child:not(.ui-li-icon){-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit}.ui-listview>li.ui-last-child img:first-child:not(.ui-li-icon){-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-collapsible-content>.ui-listview:not(.ui-listview-inset){-webkit-border-radius:inherit;border-radius:inherit}.ui-listview>.ui-li-static{padding:.7em 1em}.ui-listview>.ui-li-divider{padding:.5em 1.143em;font-size:14px;font-weight:700;cursor:default;outline:0}.ui-listview>.ui-li-has-count>.ui-btn,.ui-listview>.ui-li-static.ui-li-has-count,.ui-listview>.ui-li-divider.ui-li-has-count{padding-right:2.8125em}.ui-listview>.ui-li-has-count>.ui-btn-icon-right{padding-right:4.6875em}.ui-listview>.ui-li-has-thumb>.ui-btn,.ui-listview>.ui-li-static.ui-li-has-thumb{min-height:3.625em;padding-left:6.25em}.ui-listview>.ui-li-has-icon>.ui-btn,.ui-listview>.ui-li-static.ui-li-has-icon{min-height:1.25em;padding-left:2.5em}.ui-li-count{position:absolute;font-size:12.5px;font-weight:700;text-align:center;border-width:1px;border-style:solid;padding:0 .48em;line-height:1.6em;min-height:1.6em;min-width:.64em;right:.8em;top:50%;margin-top:-.88em}.ui-listview .ui-btn-icon-right .ui-li-count{right:3.2em}.ui-listview .ui-li-has-thumb>img:first-child,.ui-listview .ui-li-has-thumb>.ui-btn>img:first-child,.ui-listview .ui-li-has-thumb .ui-li-thumb{position:absolute;left:0;top:0;max-height:5em;max-width:5em}.ui-listview>.ui-li-has-icon>img:first-child,.ui-listview>.ui-li-has-icon>.ui-btn>img:first-child{position:absolute;left:.625em;top:.9em;max-height:1em;max-width:1em}.ui-listview>li h1,.ui-listview>li h2,.ui-listview>li h3,.ui-listview>li h4,.ui-listview>li h5,.ui-listview>li h6{font-size:1em;font-weight:700;display:block;margin:.45em 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-listview>li p{font-size:.75em;font-weight:400;display:block;margin:.6em 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-listview .ui-li-aside{position:absolute;top:1em;right:3.333em;margin:0;text-align:right}.ui-listview>li.ui-li-has-alt>.ui-btn{margin-right:2.5em;border-right-width:0}.ui-listview>li.ui-li-has-alt>.ui-btn+.ui-btn{position:absolute;width:2.5em;height:100%;min-height:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-left-width:1px;top:0;right:0;margin:0;padding:0;z-index:2}.ui-listview-inset>li.ui-li-has-alt>.ui-btn+.ui-btn{border-right-width:1px}.ui-listview>li.ui-li-has-alt>.ui-btn+.ui-btn:focus{z-index:3}ol.ui-listview,ol.ui-listview>.ui-li-divider{counter-reset:listnumbering}ol.ui-listview>li>.ui-btn,ol.ui-listview>li.ui-li-static{vertical-align:middle}ol.ui-listview>li>.ui-btn:first-child:before,ol.ui-listview>li.ui-li-static:before,ol.ui-listview>li.ui-field-contain>label:before,ol.ui-listview>li.ui-field-contain>.ui-controlgroup-label:before{display:inline-block;font-size:.9em;font-weight:400;padding-right:.3em;min-width:1.4em;line-height:1.5;vertical-align:middle;counter-increment:listnumbering;content:counter(listnumbering) "."}ol.ui-listview>li.ui-field-contain:before{content:none;display:none}ol.ui-listview>li h1:first-child,ol.ui-listview>li h2:first-child,ol.ui-listview>li h3:first-child,ol.ui-listview>li h4:first-child,ol.ui-listview>li h5:first-child,ol.ui-listview>li h6:first-child,ol.ui-listview>li p:first-child,ol.ui-listview>li img:first-child+*{display:inline-block;vertical-align:middle}ol.ui-listview>li h1:first-child~*,ol.ui-listview>li h2:first-child~*,ol.ui-listview>li h3:first-child~*,ol.ui-listview>li h4:first-child~*,ol.ui-listview>li h5:first-child~*,ol.ui-listview>li h6:first-child~*,ol.ui-listview>li p:first-child~*,ol.ui-listview>li img:first-child+*~*{margin-top:0;text-indent:2.04em}html .ui-filterable+.ui-listview,html .ui-filterable.ui-listview{margin-top:.5em}.ui-collapsible-content>form.ui-filterable{margin-top:-.5em}.ui-collapsible-content>.ui-input-search.ui-filterable{margin-top:0}.ui-collapsible-content>.ui-filterable+.ui-listview:not(.ui-listview-inset)>li.ui-first-child,.ui-collapsible-content>.ui-filterable+.ui-listview:not(.ui-listview-inset)>li.ui-first-child>a.ui-btn,.ui-collapsible-content>.ui-filterable.ui-listview:not(.ui-listview-inset)>li.ui-first-child,.ui-collapsible-content>.ui-filterable.ui-listview:not(.ui-listview-inset)>li.ui-first-child>a.ui-btn{border-top-width:1px}div.ui-slider{height:30px;margin:.5em 0;padding:0;-ms-touch-action:pan-y pinch-zoom double-tap-zoom}div.ui-slider:before,div.ui-slider:after{content:"";display:table}div.ui-slider:after{clear:both}input.ui-slider-input{display:block;float:left;font-size:14px;font-weight:700;margin:0;padding:4px;width:40px;height:20px;line-height:20px;border-width:1px;border-style:solid;outline:0;text-align:center;vertical-align:text-bottom;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.ui-slider-input::-webkit-outer-spin-button,.ui-slider-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ui-slider-track{position:relative;overflow:visible;border-width:1px;border-style:solid;height:15px;margin:0 15px 0 68px;top:6px}.ui-slider-track.ui-mini{height:12px;top:8px}.ui-slider-track .ui-slider-bg{height:100%}.ui-slider-track .ui-btn.ui-slider-handle{position:absolute;z-index:1;top:50%;width:28px;height:28px;margin:-15px 0 0 -15px;outline:0;padding:0}.ui-slider-track.ui-mini .ui-slider-handle{height:14px;width:14px;margin:-8px 0 0 -8px}select.ui-slider-switch{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}div.ui-slider-switch{display:inline-block;height:32px;width:5.8em;top:0}div.ui-slider-switch:before,div.ui-slider-switch:after{display:none;clear:none}div.ui-slider-switch.ui-mini{height:29px;top:0}.ui-slider-inneroffset{margin:0 16px;position:relative;z-index:1}.ui-slider-switch.ui-mini .ui-slider-inneroffset{margin:0 15px 0 14px}.ui-slider-switch .ui-btn.ui-slider-handle{margin:1px 0 0 -15px}.ui-slider-switch.ui-mini .ui-slider-handle{width:25px;height:25px;margin:1px 0 0 -13px;padding:0}.ui-slider-handle-snapping{-webkit-transition:left 70ms linear;-moz-transition:left 70ms linear;transition:left 70ms linear}.ui-slider-switch .ui-slider-label{position:absolute;text-align:center;width:100%;overflow:hidden;font-size:16px;top:0;line-height:2;min-height:100%;white-space:nowrap;cursor:pointer}.ui-slider-switch.ui-mini .ui-slider-label{font-size:14px}.ui-slider-switch .ui-slider-label-a{z-index:1;left:0;text-indent:-1.5em}.ui-slider-switch .ui-slider-label-b{z-index:0;right:0;text-indent:1.5em}.ui-slider-track .ui-slider-bg,.ui-slider-switch .ui-slider-label,.ui-slider-switch .ui-slider-inneroffset,.ui-slider-handle{-webkit-border-radius:inherit;border-radius:inherit}.ui-field-contain div.ui-slider-switch{margin:0}.ui-field-contain div.ui-slider-switch,.ui-field-contain.ui-hide-label div.ui-slider-switch,html .ui-popup .ui-field-contain div.ui-slider-switch{display:inline-block;width:5.8em}.ui-slider-popup{width:64px;height:64px;font-size:36px;padding-top:14px;opacity:.8}.ui-slider-popup{position:absolute!important;text-align:center;z-index:100}.ui-slider-track .ui-btn.ui-slider-handle{font-size:.9em;line-height:30px}.ui-rangeslider{margin:.5em 0}.ui-rangeslider:before,.ui-rangeslider:after{content:"";display:table}.ui-rangeslider:after{clear:both}.ui-rangeslider .ui-slider-input.ui-rangeslider-last{float:right}.ui-rangeslider .ui-rangeslider-sliders{position:relative;overflow:visible;height:30px;margin:0 68px}.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track{position:absolute;top:6px;right:0;left:0;margin:0}.ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track{top:8px}.ui-rangeslider .ui-slider-track:first-child .ui-slider-bg{display:none}.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child{background-color:transparent;background:0;border-width:0;height:0}html >body .ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child{height:15px;border-width:1px}html >body .ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track:first-child{height:12px}div.ui-rangeslider label{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-field-contain .ui-rangeslider input.ui-slider-input,.ui-field-contain .ui-rangeslider.ui-mini input.ui-slider-input,.ui-field-contain .ui-rangeslider .ui-rangeslider-sliders,.ui-field-contain .ui-rangeslider.ui-mini .ui-rangeslider-sliders{margin-top:0;margin-bottom:0}.ui-input-text,.ui-input-search{margin:.5em 0;border-width:1px;border-style:solid}.ui-mini{margin:.446em}.ui-input-text input,.ui-input-search input,textarea.ui-input-text{padding:.4em;line-height:1.4em;display:block;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;outline:0}.ui-input-text input,.ui-input-search input{margin:0;min-height:2.2em;text-align:left;border:0;background:transparent none;-webkit-appearance:none;-webkit-border-radius:inherit;border-radius:inherit}textarea.ui-input-text{overflow:auto;resize:vertical}.ui-mini .ui-input-text input,.ui-mini .ui-input-search input,.ui-input-text.ui-mini input,.ui-input-search.ui-mini input,.ui-mini textarea.ui-input-text,textarea.ui-mini{font-size:14px}.ui-mini textarea.ui-input-text,textarea.ui-mini{margin:.446em 0}.ui-input-has-clear,.ui-input-search{position:relative}.ui-input-has-clear{padding-right:2.375em}.ui-mini.ui-input-has-clear{padding-right:2.923em}.ui-input-has-clear input{padding-right:0;-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0}.ui-input-search input{padding-left:1.75em}.ui-input-search:after{position:absolute;left:.3125em;top:50%;margin-top:-7px;content:"";background-position:center center;background-repeat:no-repeat;width:14px;height:14px;filter:Alpha(Opacity=50);opacity:.5}.ui-input-search.ui-input-has-clear .ui-btn.ui-input-clear,.ui-input-text.ui-input-has-clear .ui-btn.ui-input-clear{position:absolute;right:0;top:50%;margin:-14px .3125em 0;border:0;background-color:transparent}.ui-input-search .ui-input-clear-hidden,.ui-input-text .ui-input-clear-hidden{display:none}.ui-input-text input::-moz-placeholder,.ui-input-search input::-moz-placeholder,textarea.ui-input-text::-moz-placeholder{color:#aaa}.ui-input-text input:-ms-input-placeholder,.ui-input-search input:-ms-input-placeholder,textarea.ui-input-text:-ms-input-placeholder{color:#aaa}.ui-input-text input[type=number]::-webkit-outer-spin-button{margin:0}.ui-input-text input::-ms-clear,.ui-input-search input::-ms-clear{display:none}.ui-input-text input:focus,.ui-input-search input:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}textarea.ui-input-text.ui-textinput-autogrow{overflow:hidden}.ui-textinput-autogrow-resize{-webkit-transition:height .25s;-o-transition:height .25s;-moz-transition:height .25s;transition:height .25s}.ui-flipswitch{display:inline-block;vertical-align:middle;width:5.875em;height:1.875em;border-width:1px;border-style:solid;margin:.5em 0;overflow:hidden;-webkit-transition-property:padding,width,background-color,color,border-color;-moz-transition-property:padding,width,background-color,color,border-color;-o-transition-property:padding,width,background-color,color,border-color;transition-property:padding,width,background-color,color,border-color;-webkit-transition-duration:100ms;-moz-transition-duration:100ms;-o-transition-duration:100ms;transition-duration:100ms;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.ui-flipswitch.ui-flipswitch-active{padding-left:4em;width:1.875em}.ui-flipswitch-input{position:absolute;height:1px;width:1px;margin:-1px;overflow:hidden;clip:rect(1px,1px,1px,1px);border:0;outline:0;filter:Alpha(Opacity=0);opacity:0}.ui-flipswitch .ui-btn.ui-flipswitch-on,.ui-flipswitch .ui-flipswitch-off{float:left;height:1.75em;margin:.0625em;line-height:1.65em}.ui-flipswitch .ui-btn.ui-flipswitch-on{width:1.75em;padding:0;text-indent:-2.6em;text-align:left;border-width:1px;border-style:solid;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-radius:inherit;overflow:visible;color:inherit;text-shadow:inherit}.ui-flipswitch .ui-flipswitch-off{padding:1px;text-indent:1em}html .ui-field-contain>label+.ui-flipswitch,html .ui-popup .ui-field-contain>label+.ui-flipswitch{display:inline-block;width:5.875em;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.ui-field-contain .ui-flipswitch.ui-flipswitch-active,.ui-popup .ui-field-contain .ui-flipswitch.ui-flipswitch-active{width:1.875em}.ui-table{border:0;border-collapse:collapse;padding:0;width:100%}.ui-table th,.ui-table td{line-height:1.5em;text-align:left;padding:.4em .5em;vertical-align:top}.ui-table th .ui-btn,.ui-table td .ui-btn{line-height:normal}.ui-table th{font-weight:700}.ui-table caption{text-align:left;margin-bottom:1.4em;opacity:.5}.ui-table-columntoggle-btn{float:right;margin-bottom:.8em}.ui-table-columntoggle-popup fieldset{margin:0}.ui-table-columntoggle{clear:both}@media only all{th.ui-table-priority-6,td.ui-table-priority-6,th.ui-table-priority-5,td.ui-table-priority-5,th.ui-table-priority-4,td.ui-table-priority-4,th.ui-table-priority-3,td.ui-table-priority-3,th.ui-table-priority-2,td.ui-table-priority-2,th.ui-table-priority-1,td.ui-table-priority-1{display:none}}@media screen and (min-width:20em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-1,.ui-table-columntoggle.ui-responsive td.ui-table-priority-1{display:table-cell}}@media screen and (min-width:30em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-2,.ui-table-columntoggle.ui-responsive td.ui-table-priority-2{display:table-cell}}@media screen and (min-width:40em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-3,.ui-table-columntoggle.ui-responsive td.ui-table-priority-3{display:table-cell}}@media screen and (min-width:50em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-4,.ui-table-columntoggle.ui-responsive td.ui-table-priority-4{display:table-cell}}@media screen and (min-width:60em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-5,.ui-table-columntoggle.ui-responsive td.ui-table-priority-5{display:table-cell}}@media screen and (min-width:70em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-6,.ui-table-columntoggle.ui-responsive td.ui-table-priority-6{display:table-cell}}.ui-table-columntoggle th.ui-table-cell-hidden,.ui-table-columntoggle td.ui-table-cell-hidden,.ui-table-columntoggle.ui-responsive th.ui-table-cell-hidden,.ui-table-columntoggle.ui-responsive td.ui-table-cell-hidden{display:none}.ui-table-columntoggle th.ui-table-cell-visible,.ui-table-columntoggle td.ui-table-cell-visible,.ui-table-columntoggle.ui-responsive th.ui-table-cell-visible,.ui-table-columntoggle.ui-responsive td.ui-table-cell-visible{display:table-cell}.ui-table-reflow td .ui-table-cell-label,.ui-table-reflow th .ui-table-cell-label{display:none}@media only all{.ui-table-reflow thead td,.ui-table-reflow thead th{display:none}.ui-table-reflow td,.ui-table-reflow th{text-align:left;display:block}.ui-table-reflow tbody th{margin-top:3em}.ui-table-reflow td .ui-table-cell-label,.ui-table-reflow th .ui-table-cell-label{padding:.4em;min-width:30%;display:inline-block;margin:-.4em 1em -.4em -.4em}.ui-table-reflow th .ui-table-cell-label-top,.ui-table-reflow td .ui-table-cell-label-top{display:block;padding:.4em 0;margin:.4em 0;text-transform:uppercase;font-size:.9em;font-weight:400}}@media (min-width:35em){.ui-table-reflow.ui-responsive td,.ui-table-reflow.ui-responsive th,.ui-table-reflow.ui-responsive tbody th,.ui-table-reflow.ui-responsive tbody td,.ui-table-reflow.ui-responsive thead td,.ui-table-reflow.ui-responsive thead th{display:table-cell;margin:0}.ui-table-reflow.ui-responsive td .ui-table-cell-label,.ui-table-reflow.ui-responsive th .ui-table-cell-label{display:none}}@media (max-width:35em){.ui-table-reflow.ui-responsive td,.ui-table-reflow.ui-responsive th{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;clear:left}}.ui-panel{width:17em;min-height:100%;max-height:none;border-width:0;position:absolute;top:0;display:block}.ui-panel-closed{width:0;max-height:100%;overflow:hidden;visibility:hidden;left:0;clip:rect(1px,1px,1px,1px)}.ui-panel-fixed{position:fixed;bottom:-1px;padding-bottom:1px}.ui-panel-display-reveal{z-index:1}.ui-panel-display-push{z-index:999}.ui-panel-display-overlay{z-index:1001}.ui-panel-inner{padding:1em}.ui-panel-page-container{overflow-x:visible}.ui-panel-page-container-themed .ui-page-active{background:0}.ui-panel-wrapper{position:relative;min-height:inherit;border:0;overflow-x:hidden;z-index:999}.ui-panel-fixed-toolbar{overflow-x:hidden}.ui-panel-dismiss{position:absolute;top:0;left:0;right:0;height:100%;z-index:1002;display:none}.ui-panel-dismiss-open{display:block}.ui-panel-animate{-webkit-transition:-webkit-transform 300ms ease;-webkit-transition-duration:300ms;-moz-transition:-moz-transform 300ms ease;transition:transform 300ms ease}@media screen and (max-device-width:768px){.ui-page-header-fixed .ui-panel-animate.ui-panel-wrapper,.ui-page-footer-fixed .ui-panel-animate.ui-panel-wrapper,.ui-panel-animate.ui-panel-fixed-toolbar{-ms-transition:none}.ui-panel-animate.ui-panel-fixed-toolbar{-ms-transition:-ms-transform 1ms;-ms-transform:rotate(0deg)}}.ui-panel-animate.ui-panel:not(.ui-panel-display-reveal){-webkit-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0)}.ui-panel-position-left{left:-17em}.ui-panel-animate.ui-panel-position-left.ui-panel-display-overlay,.ui-panel-animate.ui-panel-position-left.ui-panel-display-push{left:0;-webkit-transform:translate3d(-17em,0,0);-moz-transform:translate3d(-17em,0,0);transform:translate3d(-17em,0,0)}.ui-panel-position-left.ui-panel-display-reveal,.ui-panel-open.ui-panel-position-left{left:0}.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-overlay,.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-push{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-moz-transform:none}.ui-panel-position-right{right:-17em}.ui-panel-animate.ui-panel-position-right.ui-panel-display-overlay,.ui-panel-animate.ui-panel-position-right.ui-panel-display-push{right:0;-webkit-transform:translate3d(17em,0,0);-moz-transform:translate3d(17em,0,0);transform:translate3d(17em,0,0)}.ui-panel-position-right.ui-panel-display-reveal,.ui-panel-position-right.ui-panel-open{right:0}.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-overlay,.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-push{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-moz-transform:none}.ui-panel-page-content-position-left{left:17em;right:-17em}.ui-panel-animate.ui-panel-page-content-position-left{left:0;right:0;-webkit-transform:translate3d(17em,0,0);-moz-transform:translate3d(17em,0,0);transform:translate3d(17em,0,0)}.ui-panel-page-content-position-right{left:-17em;right:17em}.ui-panel-animate.ui-panel-page-content-position-right{left:0;right:0;-webkit-transform:translate3d(-17em,0,0);-moz-transform:translate3d(-17em,0,0);transform:translate3d(-17em,0,0)}.ui-panel-dismiss-open.ui-panel-dismiss-position-left{left:17em}.ui-panel-dismiss-open.ui-panel-dismiss-position-right{right:17em}.ui-panel-display-reveal{-webkit-box-shadow:inset -5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:inset -5px 0 5px rgba(0,0,0,.15);box-shadow:inset -5px 0 5px rgba(0,0,0,.15)}.ui-panel-position-right.ui-panel-display-reveal{-webkit-box-shadow:inset 5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:inset 5px 0 5px rgba(0,0,0,.15);box-shadow:inset 5px 0 5px rgba(0,0,0,.15)}.ui-panel-display-overlay{-webkit-box-shadow:5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:5px 0 5px rgba(0,0,0,.15);box-shadow:5px 0 5px rgba(0,0,0,.15)}.ui-panel-position-right.ui-panel-display-overlay{-webkit-box-shadow:-5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:-5px 0 5px rgba(0,0,0,.15);box-shadow:-5px 0 5px rgba(0,0,0,.15)}.ui-panel-open.ui-panel-position-left.ui-panel-display-push{border-right-width:1px;margin-right:-1px}.ui-panel-page-content-position-left.ui-panel-page-content-display-push{margin-left:1px;width:auto}.ui-panel-open.ui-panel-position-right.ui-panel-display-push{border-left-width:1px;margin-left:-1px}.ui-panel-page-content-position-right.ui-panel-page-content-display-push{margin-right:1px;width:auto}@media (min-width:55em){.ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-left{margin-right:17em}.ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-right{margin-left:17em}.ui-responsive-panel .ui-panel-page-content-open{width:auto}.ui-responsive-panel .ui-panel-dismiss-display-push,.ui-responsive-panel.ui-page-active~.ui-panel-dismiss-display-push{display:none}}.ui-tabs{position:relative;padding:.2em} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.theme-1.4.5.css b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.theme-1.4.5.css deleted file mode 100644 index 16e1f46ee150b538d4dfc19b4211331c357f7719..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.theme-1.4.5.css +++ /dev/null @@ -1,601 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! -* jQuery Mobile 1.4.5 -* Git HEAD hash: 68e55e78b292634d3991c795f06f5e37a512decc <> Date: Fri Oct 31 2014 17:33:30 UTC -* http://jquerymobile.com -* -* Copyright 2010, 2014 jQuery Foundation, Inc. and othercontributors -* Released under the MIT license. -* http://jquery.org/license -* -*/ - - -/* Globals */ -/* Font ------------------------------------------------------------------------------------------------------------*/ -html { - font-size: 100%; -} -body, -input, -select, -textarea, -button, -.ui-btn { - font-size: 1em; - line-height: 1.3; - font-family: sans-serif /*{global-font-family}*/; -} -legend, -.ui-input-text input, -.ui-input-search input { - color: inherit; - text-shadow: inherit; -} -/* Form labels (overrides font-weight bold in bars, and mini font-size) */ -.ui-mobile label, -div.ui-controlgroup-label { - font-weight: normal; - font-size: 16px; -} -/* Separators ------------------------------------------------------------------------------------------------------------*/ -/* Field contain separator (< 28em) */ -.ui-field-contain { - border-bottom-color: #828282; - border-bottom-color: rgba(0,0,0,.15); - border-bottom-width: 1px; - border-bottom-style: solid; -} -/* Table opt-in classes: strokes between each row, and alternating row stripes */ -/* Classes table-stroke and table-stripe are deprecated in 1.4. */ -.table-stroke thead th, -.table-stripe thead th, -.table-stripe tbody tr:last-child { - border-bottom: 1px solid #d6d6d6; /* non-RGBA fallback */ - border-bottom: 1px solid rgba(0,0,0,.1); -} -.table-stroke tbody th, -.table-stroke tbody td { - border-bottom: 1px solid #e6e6e6; /* non-RGBA fallback */ - border-bottom: 1px solid rgba(0,0,0,.05); -} -.table-stripe.table-stroke tbody tr:last-child th, -.table-stripe.table-stroke tbody tr:last-child td { - border-bottom: 0; -} -.table-stripe tbody tr:nth-child(odd) td, -.table-stripe tbody tr:nth-child(odd) th { - background-color: #eeeeee; /* non-RGBA fallback */ - background-color: rgba(0,0,0,.04); -} -/* Buttons ------------------------------------------------------------------------------------------------------------*/ -.ui-btn, -label.ui-btn { - font-weight: bold; - border-width: 1px; - border-style: solid; -} -.ui-btn { - text-decoration: none !important; -} -.ui-btn-active { - cursor: pointer; -} -/* Corner rounding ------------------------------------------------------------------------------------------------------------*/ -/* Class ui-btn-corner-all deprecated in 1.4 */ -.ui-corner-all { - -webkit-border-radius: .3125em /*{global-radii-blocks}*/; - border-radius: .3125em /*{global-radii-blocks}*/; -} -/* Buttons */ -.ui-btn-corner-all, -.ui-btn.ui-corner-all, -/* Slider track */ -.ui-slider-track.ui-corner-all, -/* Flipswitch */ -.ui-flipswitch.ui-corner-all, -/* Count bubble */ -.ui-li-count { - -webkit-border-radius: .3125em /*{global-radii-buttons}*/; - border-radius: .3125em /*{global-radii-buttons}*/; -} -/* Icon-only buttons */ -.ui-btn-icon-notext.ui-btn-corner-all, -.ui-btn-icon-notext.ui-corner-all { - -webkit-border-radius: 1em; - border-radius: 1em; -} -/* Radius clip workaround for cleaning up corner trapping */ -.ui-btn-corner-all, -.ui-corner-all { - -webkit-background-clip: padding; - background-clip: padding-box; -} -/* Popup arrow */ -.ui-popup.ui-corner-all > .ui-popup-arrow-guide { - left: .6em /*{global-radii-blocks}*/; - right: .6em /*{global-radii-blocks}*/; - top: .6em /*{global-radii-blocks}*/; - bottom: .6em /*{global-radii-blocks}*/; -} -/* Shadow ------------------------------------------------------------------------------------------------------------*/ -.ui-shadow { - -webkit-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; - -moz-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; - box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/; -} -.ui-shadow-inset { - -webkit-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; - -moz-box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; - box-shadow: inset 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.2) /*{global-box-shadow-color}*/; -} -.ui-overlay-shadow { - -webkit-box-shadow: 0 0 12px rgba(0,0,0,.6); - -moz-box-shadow: 0 0 12px rgba(0,0,0,.6); - box-shadow: 0 0 12px rgba(0,0,0,.6); -} -/* Icons ------------------------------------------------------------------------------------------------------------*/ -.ui-btn-icon-left:after, -.ui-btn-icon-right:after, -.ui-btn-icon-top:after, -.ui-btn-icon-bottom:after, -.ui-btn-icon-notext:after { - background-color: #666 /*{global-icon-color}*/; - background-color: rgba(0,0,0,.3) /*{global-icon-disc}*/; - background-position: center center; - background-repeat: no-repeat; - -webkit-border-radius: 1em; - border-radius: 1em; -} -/* Alt icons */ -.ui-alt-icon.ui-btn:after, -.ui-alt-icon .ui-btn:after, -html .ui-alt-icon.ui-checkbox-off:after, -html .ui-alt-icon.ui-radio-off:after, -html .ui-alt-icon .ui-checkbox-off:after, -html .ui-alt-icon .ui-radio-off:after { - background-color: #666 /*{global-icon-color}*/; - background-color: rgba(0,0,0,.15) /*{global-icon-disc}*/; -} -/* No disc */ -.ui-nodisc-icon.ui-btn:after, -.ui-nodisc-icon .ui-btn:after { - background-color: transparent; -} -/* Icon shadow */ -.ui-shadow-icon.ui-btn:after, -.ui-shadow-icon .ui-btn:after { - -webkit-box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; - -moz-box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; - box-shadow: 0 1px 0 rgba(255,255,255,.3) /*{global-icon-shadow}*/; -} -/* Checkbox and radio */ -.ui-btn.ui-checkbox-off:after, -.ui-btn.ui-checkbox-on:after, -.ui-btn.ui-radio-off:after, -.ui-btn.ui-radio-on:after { - display: block; - width: 18px; - height: 18px; - margin: -9px 2px 0 2px; -} -.ui-checkbox-off:after, -.ui-btn.ui-radio-off:after { - filter: Alpha(Opacity=30); - opacity: .3; -} -.ui-btn.ui-checkbox-off:after, -.ui-btn.ui-checkbox-on:after { - -webkit-border-radius: .1875em; - border-radius: .1875em; -} -.ui-btn.ui-checkbox-off:after { - background-color: #666; - background-color: rgba(0,0,0,.3); -} -.ui-radio .ui-btn.ui-radio-on:after { - background-image: none; - background-color: #fff; - width: 8px; - height: 8px; - border-width: 5px; - border-style: solid; -} -.ui-alt-icon.ui-btn.ui-radio-on:after, -.ui-alt-icon .ui-btn.ui-radio-on:after { - background-color: #000; -} -/* Loader */ -.ui-icon-loading { - background: url("images/ajax-loader.gif"); - background-size: 2.875em 2.875em; -} -/* Swatches */ -/* A ------------------------------------------------------------------------------------------------------------*/ -/* Bar: Toolbars, dividers, slider track */ -.ui-bar-a, -.ui-page-theme-a .ui-bar-inherit, -html .ui-bar-a .ui-bar-inherit, -html .ui-body-a .ui-bar-inherit, -html body .ui-group-theme-a .ui-bar-inherit { - background-color: #e9e9e9 /*{a-bar-background-color}*/; - border-color: #ddd /*{a-bar-border}*/; - color: #333 /*{a-bar-color}*/; - text-shadow: 0 /*{a-bar-shadow-x}*/ 1px /*{a-bar-shadow-y}*/ 0 /*{a-bar-shadow-radius}*/ #eee /*{a-bar-shadow-color}*/; - font-weight: bold; -} -.ui-bar-a { - border-width: 1px; - border-style: solid; -} -/* Page and overlay */ -.ui-overlay-a, -.ui-page-theme-a, -.ui-page-theme-a .ui-panel-wrapper { - background-color: #f9f9f9 /*{a-page-background-color}*/; - border-color: #bbb /*{a-page-border}*/; - color: #333 /*{a-page-color}*/; - text-shadow: 0 /*{a-page-shadow-x}*/ 1px /*{a-page-shadow-y}*/ 0 /*{a-page-shadow-radius}*/ #f3f3f3 /*{a-page-shadow-color}*/; -} -/* Body: Read-only lists, text inputs, collapsible content */ -.ui-body-a, -.ui-page-theme-a .ui-body-inherit, -html .ui-bar-a .ui-body-inherit, -html .ui-body-a .ui-body-inherit, -html body .ui-group-theme-a .ui-body-inherit, -html .ui-panel-page-container-a { - background-color: #fff /*{a-body-background-color}*/; - border-color: #ddd /*{a-body-border}*/; - color: #333 /*{a-body-color}*/; - text-shadow: 0 /*{a-body-shadow-x}*/ 1px /*{a-body-shadow-y}*/ 0 /*{a-body-shadow-radius}*/ #f3f3f3 /*{a-body-shadow-color}*/; -} -.ui-body-a { - border-width: 1px; - border-style: solid; -} -/* Links */ -.ui-page-theme-a a, -html .ui-bar-a a, -html .ui-body-a a, -html body .ui-group-theme-a a { - color: #3388cc /*{a-link-color}*/; - font-weight: bold; -} -.ui-page-theme-a a:visited, -html .ui-bar-a a:visited, -html .ui-body-a a:visited, -html body .ui-group-theme-a a:visited { - color: #3388cc /*{a-link-visited}*/; -} -.ui-page-theme-a a:hover, -html .ui-bar-a a:hover, -html .ui-body-a a:hover, -html body .ui-group-theme-a a:hover { - color: #005599 /*{a-link-hover}*/; -} -.ui-page-theme-a a:active, -html .ui-bar-a a:active, -html .ui-body-a a:active, -html body .ui-group-theme-a a:active { - color: #005599 /*{a-link-active}*/; -} -/* Button up */ -.ui-page-theme-a .ui-btn, -html .ui-bar-a .ui-btn, -html .ui-body-a .ui-btn, -html body .ui-group-theme-a .ui-btn, -html head + body .ui-btn.ui-btn-a, -/* Button visited */ -.ui-page-theme-a .ui-btn:visited, -html .ui-bar-a .ui-btn:visited, -html .ui-body-a .ui-btn:visited, -html body .ui-group-theme-a .ui-btn:visited, -html head + body .ui-btn.ui-btn-a:visited { - background-color: #f6f6f6 /*{a-bup-background-color}*/; - border-color: #ddd /*{a-bup-border}*/; - color: #333 /*{a-bup-color}*/; - text-shadow: 0 /*{a-bup-shadow-x}*/ 1px /*{a-bup-shadow-y}*/ 0 /*{a-bup-shadow-radius}*/ #f3f3f3 /*{a-bup-shadow-color}*/; -} -/* Button hover */ -.ui-page-theme-a .ui-btn:hover, -html .ui-bar-a .ui-btn:hover, -html .ui-body-a .ui-btn:hover, -html body .ui-group-theme-a .ui-btn:hover, -html head + body .ui-btn.ui-btn-a:hover { - background-color: #ededed /*{a-bhover-background-color}*/; - border-color: #ddd /*{a-bhover-border}*/; - color: #333 /*{a-bhover-color}*/; - text-shadow: 0 /*{a-bhover-shadow-x}*/ 1px /*{a-bhover-shadow-y}*/ 0 /*{a-bhover-shadow-radius}*/ #f3f3f3 /*{a-bhover-shadow-color}*/; -} -/* Button down */ -.ui-page-theme-a .ui-btn:active, -html .ui-bar-a .ui-btn:active, -html .ui-body-a .ui-btn:active, -html body .ui-group-theme-a .ui-btn:active, -html head + body .ui-btn.ui-btn-a:active { - background-color: #e8e8e8 /*{a-bdown-background-color}*/; - border-color: #ddd /*{a-bdown-border}*/; - color: #333 /*{a-bdown-color}*/; - text-shadow: 0 /*{a-bdown-shadow-x}*/ 1px /*{a-bdown-shadow-y}*/ 0 /*{a-bdown-shadow-radius}*/ #f3f3f3 /*{a-bdown-shadow-color}*/; -} -/* Active button */ -.ui-page-theme-a .ui-btn.ui-btn-active, -html .ui-bar-a .ui-btn.ui-btn-active, -html .ui-body-a .ui-btn.ui-btn-active, -html body .ui-group-theme-a .ui-btn.ui-btn-active, -html head + body .ui-btn.ui-btn-a.ui-btn-active, -/* Active checkbox icon */ -.ui-page-theme-a .ui-checkbox-on:after, -html .ui-bar-a .ui-checkbox-on:after, -html .ui-body-a .ui-checkbox-on:after, -html body .ui-group-theme-a .ui-checkbox-on:after, -.ui-btn.ui-checkbox-on.ui-btn-a:after, -/* Active flipswitch background */ -.ui-page-theme-a .ui-flipswitch-active, -html .ui-bar-a .ui-flipswitch-active, -html .ui-body-a .ui-flipswitch-active, -html body .ui-group-theme-a .ui-flipswitch-active, -html body .ui-flipswitch.ui-bar-a.ui-flipswitch-active, -/* Active slider track */ -.ui-page-theme-a .ui-slider-track .ui-btn-active, -html .ui-bar-a .ui-slider-track .ui-btn-active, -html .ui-body-a .ui-slider-track .ui-btn-active, -html body .ui-group-theme-a .ui-slider-track .ui-btn-active, -html body div.ui-slider-track.ui-body-a .ui-btn-active { - background-color: #3388cc /*{a-active-background-color}*/; - border-color: #3388cc /*{a-active-border}*/; - color: #fff /*{a-active-color}*/; - text-shadow: 0 /*{a-active-shadow-x}*/ 1px /*{a-active-shadow-y}*/ 0 /*{a-active-shadow-radius}*/ #005599 /*{a-active-shadow-color}*/; -} -/* Active radio button icon */ -.ui-page-theme-a .ui-radio-on:after, -html .ui-bar-a .ui-radio-on:after, -html .ui-body-a .ui-radio-on:after, -html body .ui-group-theme-a .ui-radio-on:after, -.ui-btn.ui-radio-on.ui-btn-a:after { - border-color: #3388cc /*{a-active-background-color}*/; -} -/* Focus */ -.ui-page-theme-a .ui-btn:focus, -html .ui-bar-a .ui-btn:focus, -html .ui-body-a .ui-btn:focus, -html body .ui-group-theme-a .ui-btn:focus, -html head + body .ui-btn.ui-btn-a:focus, -/* Focus buttons and text inputs with div wrap */ -.ui-page-theme-a .ui-focus, -html .ui-bar-a .ui-focus, -html .ui-body-a .ui-focus, -html body .ui-group-theme-a .ui-focus, -html head + body .ui-btn-a.ui-focus, -html head + body .ui-body-a.ui-focus { - -webkit-box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; - -moz-box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; - box-shadow: 0 0 12px #3388cc /*{a-active-background-color}*/; -} -/* B ------------------------------------------------------------------------------------------------------------*/ -/* Bar: Toolbars, dividers, slider track */ -.ui-bar-b, -.ui-page-theme-b .ui-bar-inherit, -html .ui-bar-b .ui-bar-inherit, -html .ui-body-b .ui-bar-inherit, -html body .ui-group-theme-b .ui-bar-inherit { - background-color: #1d1d1d /*{b-bar-background-color}*/; - border-color: #1b1b1b /*{b-bar-border}*/; - color: #fff /*{b-bar-color}*/; - text-shadow: 0 /*{b-bar-shadow-x}*/ 1px /*{b-bar-shadow-y}*/ 0 /*{b-bar-shadow-radius}*/ #111 /*{b-bar-shadow-color}*/; - font-weight: bold; -} -.ui-bar-b { - border-width: 1px; - border-style: solid; -} -/* Page and overlay */ -.ui-overlay-b, -.ui-page-theme-b, -.ui-page-theme-b .ui-panel-wrapper { - background-color: #252525 /*{b-page-background-color}*/; - border-color: #454545 /*{b-page-border}*/; - color: #fff /*{b-page-color}*/; - text-shadow: 0 /*{b-page-shadow-x}*/ 1px /*{b-page-shadow-y}*/ 0 /*{b-page-shadow-radius}*/ #111 /*{b-page-shadow-color}*/; -} -/* Body: Read-only lists, text inputs, collapsible content */ -.ui-body-b, -.ui-page-theme-b .ui-body-inherit, -html .ui-bar-b .ui-body-inherit, -html .ui-body-b .ui-body-inherit, -html body .ui-group-theme-b .ui-body-inherit, -html .ui-panel-page-container-b { - background-color: #2a2a2a /*{b-body-background-color}*/; - border-color: #1d1d1d /*{b-body-border}*/; - color: #fff /*{b-body-color}*/; - text-shadow: 0 /*{b-body-shadow-x}*/ 1px /*{b-body-shadow-y}*/ 0 /*{b-body-shadow-radius}*/ #111 /*{b-body-shadow-color}*/; -} -.ui-body-b { - border-width: 1px; - border-style: solid; -} -/* Links */ -.ui-page-theme-b a, -html .ui-bar-b a, -html .ui-body-b a, -html body .ui-group-theme-b a { - color: #22aadd /*{b-link-color}*/; - font-weight: bold; -} -.ui-page-theme-b a:visited, -html .ui-bar-b a:visited, -html .ui-body-b a:visited, -html body .ui-group-theme-b a:visited { - color: #22aadd /*{b-link-visited}*/; -} -.ui-page-theme-b a:hover, -html .ui-bar-b a:hover, -html .ui-body-b a:hover, -html body .ui-group-theme-b a:hover { - color: #0088bb /*{b-link-hover}*/; -} -.ui-page-theme-b a:active, -html .ui-bar-b a:active, -html .ui-body-b a:active, -html body .ui-group-theme-b a:active { - color: #0088bb /*{b-link-active}*/; -} -/* Button up */ -.ui-page-theme-b .ui-btn, -html .ui-bar-b .ui-btn, -html .ui-body-b .ui-btn, -html body .ui-group-theme-b .ui-btn, -html head + body .ui-btn.ui-btn-b, -/* Button visited */ -.ui-page-theme-b .ui-btn:visited, -html .ui-bar-b .ui-btn:visited, -html .ui-body-b .ui-btn:visited, -html body .ui-group-theme-b .ui-btn:visited, -html head + body .ui-btn.ui-btn-b:visited { - background-color: #333 /*{b-bup-background-color}*/; - border-color: #1f1f1f /*{b-bup-border}*/; - color: #fff /*{b-bup-color}*/; - text-shadow: 0 /*{b-bup-shadow-x}*/ 1px /*{b-bup-shadow-y}*/ 0 /*{b-bup-shadow-radius}*/ #111 /*{b-bup-shadow-color}*/; -} -/* Button hover */ -.ui-page-theme-b .ui-btn:hover, -html .ui-bar-b .ui-btn:hover, -html .ui-body-b .ui-btn:hover, -html body .ui-group-theme-b .ui-btn:hover, -html head + body .ui-btn.ui-btn-b:hover { - background-color: #373737 /*{b-bhover-background-color}*/; - border-color: #1f1f1f /*{b-bhover-border}*/; - color: #fff /*{b-bhover-color}*/; - text-shadow: 0 /*{b-bhover-shadow-x}*/ 1px /*{b-bhover-shadow-y}*/ 0 /*{b-bhover-shadow-radius}*/ #111 /*{b-bhover-shadow-color}*/; -} -/* Button down */ -.ui-page-theme-b .ui-btn:active, -html .ui-bar-b .ui-btn:active, -html .ui-body-b .ui-btn:active, -html body .ui-group-theme-b .ui-btn:active, -html head + body .ui-btn.ui-btn-b:active { - background-color: #404040 /*{b-bdown-background-color}*/; - border-color: #1f1f1f /*{b-bdown-border}*/; - color: #fff /*{b-bdown-color}*/; - text-shadow: 0 /*{b-bdown-shadow-x}*/ 1px /*{b-bdown-shadow-y}*/ 0 /*{b-bdown-shadow-radius}*/ #111 /*{b-bdown-shadow-color}*/; -} -/* Active button */ -.ui-page-theme-b .ui-btn.ui-btn-active, -html .ui-bar-b .ui-btn.ui-btn-active, -html .ui-body-b .ui-btn.ui-btn-active, -html body .ui-group-theme-b .ui-btn.ui-btn-active, -html head + body .ui-btn.ui-btn-b.ui-btn-active, -/* Active checkbox icon */ -.ui-page-theme-b .ui-checkbox-on:after, -html .ui-bar-b .ui-checkbox-on:after, -html .ui-body-b .ui-checkbox-on:after, -html body .ui-group-theme-b .ui-checkbox-on:after, -.ui-btn.ui-checkbox-on.ui-btn-b:after, -/* Active flipswitch background */ -.ui-page-theme-b .ui-flipswitch-active, -html .ui-bar-b .ui-flipswitch-active, -html .ui-body-b .ui-flipswitch-active, -html body .ui-group-theme-b .ui-flipswitch-active, -html body .ui-flipswitch.ui-bar-b.ui-flipswitch-active, -/* Active slider track */ -.ui-page-theme-b .ui-slider-track .ui-btn-active, -html .ui-bar-b .ui-slider-track .ui-btn-active, -html .ui-body-b .ui-slider-track .ui-btn-active, -html body .ui-group-theme-b .ui-slider-track .ui-btn-active, -html body div.ui-slider-track.ui-body-b .ui-btn-active { - background-color: #22aadd /*{b-active-background-color}*/; - border-color: #22aadd /*{b-active-border}*/; - color: #fff /*{b-active-color}*/; - text-shadow: 0 /*{b-active-shadow-x}*/ 1px /*{b-active-shadow-y}*/ 0 /*{b-active-shadow-radius}*/ #0088bb /*{b-active-shadow-color}*/; -} -/* Active radio button icon */ -.ui-page-theme-b .ui-radio-on:after, -html .ui-bar-b .ui-radio-on:after, -html .ui-body-b .ui-radio-on:after, -html body .ui-group-theme-b .ui-radio-on:after, -.ui-btn.ui-radio-on.ui-btn-b:after { - border-color: #22aadd /*{b-active-background-color}*/; -} -/* Focus */ -.ui-page-theme-b .ui-btn:focus, -html .ui-bar-b .ui-btn:focus, -html .ui-body-b .ui-btn:focus, -html body .ui-group-theme-b .ui-btn:focus, -html head + body .ui-btn.ui-btn-b:focus, -/* Focus buttons and text inputs with div wrap */ -.ui-page-theme-b .ui-focus, -html .ui-bar-b .ui-focus, -html .ui-body-b .ui-focus, -html body .ui-group-theme-b .ui-focus, -html head + body .ui-btn-b.ui-focus, -html head + body .ui-body-b.ui-focus { - -webkit-box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; - -moz-box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; - box-shadow: 0 0 12px #22aadd /*{b-active-background-color}*/; -} -/* Structure */ -/* Disabled ------------------------------------------------------------------------------------------------------------*/ -/* Class ui-disabled deprecated in 1.4. :disabled not supported by IE8 so we use [disabled] */ -.ui-disabled, -.ui-state-disabled, -button[disabled], -.ui-select .ui-btn.ui-state-disabled { - filter: Alpha(Opacity=30); - opacity: .3; - cursor: default !important; - pointer-events: none; -} -/* Focus state outline ------------------------------------------------------------------------------------------------------------*/ -.ui-btn:focus, -.ui-btn.ui-focus { - outline: 0; -} -/* Unset box-shadow in browsers that don't do it right */ -.ui-noboxshadow .ui-shadow, -.ui-noboxshadow .ui-shadow-inset, -.ui-noboxshadow .ui-overlay-shadow, -.ui-noboxshadow .ui-shadow-icon.ui-btn:after, -.ui-noboxshadow .ui-shadow-icon .ui-btn:after, -.ui-noboxshadow .ui-focus, -.ui-noboxshadow .ui-btn:focus, -.ui-noboxshadow input:focus, -.ui-noboxshadow .ui-panel { - -webkit-box-shadow: none !important; - -moz-box-shadow: none !important; - box-shadow: none !important; -} -.ui-noboxshadow .ui-btn:focus, -.ui-noboxshadow .ui-focus { - outline-width: 1px; - outline-style: auto; -} diff --git a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.theme-1.4.5.min.css b/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.theme-1.4.5.min.css deleted file mode 100644 index 3a9d119326d555c3e22fd7a8acebca52cce2ed77..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/jquery-mobile/jquery.mobile.theme-1.4.5.min.css +++ /dev/null @@ -1,24 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! jQuery Mobile 1.4.5 | Git HEADhash: 68e55e7 <> 2014-10-31T17:33:30Z | (c) 2010, 2014 jQuery Foundation, Inc. | jquery.org/license */ - -html{font-size:100%}body,input,select,textarea,button,.ui-btn{font-size:1em;line-height:1.3;font-family:sans-serif}legend,.ui-input-text input,.ui-input-search input{color:inherit;text-shadow:inherit}.ui-mobile label,div.ui-controlgroup-label{font-weight:400;font-size:16px}.ui-field-contain{border-bottom-color:#828282;border-bottom-color:rgba(0,0,0,.15);border-bottom-width:1px;border-bottom-style:solid}.table-stroke thead th,.table-stripe thead th,.table-stripe tbody tr:last-child{border-bottom:1px solid #d6d6d6;border-bottom:1px solid rgba(0,0,0,.1)}.table-stroke tbody th,.table-stroke tbody td{border-bottom:1px solid #e6e6e6;border-bottom:1px solid rgba(0,0,0,.05)}.table-stripe.table-stroke tbody tr:last-child th,.table-stripe.table-stroke tbody tr:last-child td{border-bottom:0}.table-stripe tbody tr:nth-child(odd) td,.table-stripe tbody tr:nth-child(odd) th{background-color:#eee;background-color:rgba(0,0,0,.04)}.ui-btn,label.ui-btn{font-weight:700;border-width:1px;border-style:solid}.ui-btn{text-decoration:none!important}.ui-btn-active{cursor:pointer}.ui-corner-all{-webkit-border-radius:.3125em;border-radius:.3125em}.ui-btn-corner-all,.ui-btn.ui-corner-all,.ui-slider-track.ui-corner-all,.ui-flipswitch.ui-corner-all,.ui-li-count{-webkit-border-radius:.3125em;border-radius:.3125em}.ui-btn-icon-notext.ui-btn-corner-all,.ui-btn-icon-notext.ui-corner-all{-webkit-border-radius:1em;border-radius:1em}.ui-btn-corner-all,.ui-corner-all{-webkit-background-clip:padding;background-clip:padding-box}.ui-popup.ui-corner-all>.ui-popup-arrow-guide{left:.6em;right:.6em;top:.6em;bottom:.6em}.ui-shadow{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.15);-moz-box-shadow:0 1px 3px rgba(0,0,0,.15);box-shadow:0 1px 3px rgba(0,0,0,.15)}.ui-shadow-inset{-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.2);-moz-box-shadow:inset 0 1px 3px rgba(0,0,0,.2);box-shadow:inset 0 1px 3px rgba(0,0,0,.2)}.ui-overlay-shadow{-webkit-box-shadow:0 0 12px rgba(0,0,0,.6);-moz-box-shadow:0 0 12px rgba(0,0,0,.6);box-shadow:0 0 12px rgba(0,0,0,.6)}.ui-btn-icon-left:after,.ui-btn-icon-right:after,.ui-btn-icon-top:after,.ui-btn-icon-bottom:after,.ui-btn-icon-notext:after{background-color:#666;background-color:rgba(0,0,0,.3);background-position:center center;background-repeat:no-repeat;-webkit-border-radius:1em;border-radius:1em}.ui-alt-icon.ui-btn:after,.ui-alt-icon .ui-btn:after,html .ui-alt-icon.ui-checkbox-off:after,html .ui-alt-icon.ui-radio-off:after,html .ui-alt-icon .ui-checkbox-off:after,html .ui-alt-icon .ui-radio-off:after{background-color:#666;background-color:rgba(0,0,0,.15)}.ui-nodisc-icon.ui-btn:after,.ui-nodisc-icon .ui-btn:after{background-color:transparent}.ui-shadow-icon.ui-btn:after,.ui-shadow-icon .ui-btn:after{-webkit-box-shadow:0 1px 0 rgba(255,255,255,.3);-moz-box-shadow:0 1px 0 rgba(255,255,255,.3);box-shadow:0 1px 0 rgba(255,255,255,.3)}.ui-btn.ui-checkbox-off:after,.ui-btn.ui-checkbox-on:after,.ui-btn.ui-radio-off:after,.ui-btn.ui-radio-on:after{display:block;width:18px;height:18px;margin:-9px 2px 0 2px}.ui-checkbox-off:after,.ui-btn.ui-radio-off:after{filter:Alpha(Opacity=30);opacity:.3}.ui-btn.ui-checkbox-off:after,.ui-btn.ui-checkbox-on:after{-webkit-border-radius:.1875em;border-radius:.1875em}.ui-btn.ui-checkbox-off:after{background-color:#666;background-color:rgba(0,0,0,.3)}.ui-radio .ui-btn.ui-radio-on:after{background-image:none;background-color:#fff;width:8px;height:8px;border-width:5px;border-style:solid}.ui-alt-icon.ui-btn.ui-radio-on:after,.ui-alt-icon .ui-btn.ui-radio-on:after{background-color:#000}.ui-icon-loading{background:url(images/ajax-loader.gif);background-size:2.875em 2.875em}.ui-bar-a,.ui-page-theme-a .ui-bar-inherit,html .ui-bar-a .ui-bar-inherit,html .ui-body-a .ui-bar-inherit,html body .ui-group-theme-a .ui-bar-inherit{background-color:#e9e9e9;border-color:#ddd;color:#333;text-shadow:0 1px 0 #eee;font-weight:700}.ui-bar-a{border-width:1px;border-style:solid}.ui-overlay-a,.ui-page-theme-a,.ui-page-theme-a .ui-panel-wrapper{background-color:#f9f9f9;border-color:#bbb;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-body-a,.ui-page-theme-a .ui-body-inherit,html .ui-bar-a .ui-body-inherit,html .ui-body-a .ui-body-inherit,html body .ui-group-theme-a .ui-body-inherit,html .ui-panel-page-container-a{background-color:#fff;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-body-a{border-width:1px;border-style:solid}.ui-page-theme-a a,html .ui-bar-a a,html .ui-body-a a,html body .ui-group-theme-a a{color:#38c;font-weight:700}.ui-page-theme-a a:visited,html .ui-bar-a a:visited,html .ui-body-a a:visited,html body .ui-group-theme-a a:visited{color:#38c}.ui-page-theme-a a:hover,html .ui-bar-a a:hover,html .ui-body-a a:hover,html body .ui-group-theme-a a:hover{color:#059}.ui-page-theme-a a:active,html .ui-bar-a a:active,html .ui-body-a a:active,html body .ui-group-theme-a a:active{color:#059}.ui-page-theme-a .ui-btn,html .ui-bar-a .ui-btn,html .ui-body-a .ui-btn,html body .ui-group-theme-a .ui-btn,html head+body .ui-btn.ui-btn-a,.ui-page-theme-a .ui-btn:visited,html .ui-bar-a .ui-btn:visited,html .ui-body-a .ui-btn:visited,html body .ui-group-theme-a .ui-btn:visited,html head+body .ui-btn.ui-btn-a:visited{background-color:#f6f6f6;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-page-theme-a .ui-btn:hover,html .ui-bar-a .ui-btn:hover,html .ui-body-a .ui-btn:hover,html body .ui-group-theme-a .ui-btn:hover,html head+body .ui-btn.ui-btn-a:hover{background-color:#ededed;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-page-theme-a .ui-btn:active,html .ui-bar-a .ui-btn:active,html .ui-body-a .ui-btn:active,html body .ui-group-theme-a .ui-btn:active,html head+body .ui-btn.ui-btn-a:active{background-color:#e8e8e8;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-page-theme-a .ui-btn.ui-btn-active,html .ui-bar-a .ui-btn.ui-btn-active,html .ui-body-a .ui-btn.ui-btn-active,html body .ui-group-theme-a .ui-btn.ui-btn-active,html head+body .ui-btn.ui-btn-a.ui-btn-active,.ui-page-theme-a .ui-checkbox-on:after,html .ui-bar-a .ui-checkbox-on:after,html .ui-body-a .ui-checkbox-on:after,html body .ui-group-theme-a .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-a:after,.ui-page-theme-a .ui-flipswitch-active,html .ui-bar-a .ui-flipswitch-active,html .ui-body-a .ui-flipswitch-active,html body .ui-group-theme-a .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-a.ui-flipswitch-active,.ui-page-theme-a .ui-slider-track .ui-btn-active,html .ui-bar-a .ui-slider-track .ui-btn-active,html .ui-body-a .ui-slider-track .ui-btn-active,html body .ui-group-theme-a .ui-slider-track .ui-btn-active,html body div.ui-slider-track.ui-body-a .ui-btn-active{background-color:#38c;border-color:#38c;color:#fff;text-shadow:0 1px 0 #059}.ui-page-theme-a .ui-radio-on:after,html .ui-bar-a .ui-radio-on:after,html .ui-body-a .ui-radio-on:after,html body .ui-group-theme-a .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-a:after{border-color:#38c}.ui-page-theme-a .ui-btn:focus,html .ui-bar-a .ui-btn:focus,html .ui-body-a .ui-btn:focus,html body .ui-group-theme-a .ui-btn:focus,html head+body .ui-btn.ui-btn-a:focus,.ui-page-theme-a .ui-focus,html .ui-bar-a .ui-focus,html .ui-body-a .ui-focus,html body .ui-group-theme-a .ui-focus,html head+body .ui-btn-a.ui-focus,html head+body .ui-body-a.ui-focus{-webkit-box-shadow:0 0 12px #38c;-moz-box-shadow:0 0 12px #38c;box-shadow:0 0 12px #38c}.ui-bar-b,.ui-page-theme-b .ui-bar-inherit,html .ui-bar-b .ui-bar-inherit,html .ui-body-b .ui-bar-inherit,html body .ui-group-theme-b .ui-bar-inherit{background-color:#1d1d1d;border-color:#1b1b1b;color:#fff;text-shadow:0 1px 0 #111;font-weight:700}.ui-bar-b{border-width:1px;border-style:solid}.ui-overlay-b,.ui-page-theme-b,.ui-page-theme-b .ui-panel-wrapper{background-color:#252525;border-color:#454545;color:#fff;text-shadow:0 1px 0 #111}.ui-body-b,.ui-page-theme-b .ui-body-inherit,html .ui-bar-b .ui-body-inherit,html .ui-body-b .ui-body-inherit,html body .ui-group-theme-b .ui-body-inherit,html .ui-panel-page-container-b{background-color:#2a2a2a;border-color:#1d1d1d;color:#fff;text-shadow:0 1px 0 #111}.ui-body-b{border-width:1px;border-style:solid}.ui-page-theme-b a,html .ui-bar-b a,html .ui-body-b a,html body .ui-group-theme-b a{color:#2ad;font-weight:700}.ui-page-theme-b a:visited,html .ui-bar-b a:visited,html .ui-body-b a:visited,html body .ui-group-theme-b a:visited{color:#2ad}.ui-page-theme-b a:hover,html .ui-bar-b a:hover,html .ui-body-b a:hover,html body .ui-group-theme-b a:hover{color:#08b}.ui-page-theme-b a:active,html .ui-bar-b a:active,html .ui-body-b a:active,html body .ui-group-theme-b a:active{color:#08b}.ui-page-theme-b .ui-btn,html .ui-bar-b .ui-btn,html .ui-body-b .ui-btn,html body .ui-group-theme-b .ui-btn,html head+body .ui-btn.ui-btn-b,.ui-page-theme-b .ui-btn:visited,html .ui-bar-b .ui-btn:visited,html .ui-body-b .ui-btn:visited,html body .ui-group-theme-b .ui-btn:visited,html head+body .ui-btn.ui-btn-b:visited{background-color:#333;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111}.ui-page-theme-b .ui-btn:hover,html .ui-bar-b .ui-btn:hover,html .ui-body-b .ui-btn:hover,html body .ui-group-theme-b .ui-btn:hover,html head+body .ui-btn.ui-btn-b:hover{background-color:#373737;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111}.ui-page-theme-b .ui-btn:active,html .ui-bar-b .ui-btn:active,html .ui-body-b .ui-btn:active,html body .ui-group-theme-b .ui-btn:active,html head+body .ui-btn.ui-btn-b:active{background-color:#404040;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111}.ui-page-theme-b .ui-btn.ui-btn-active,html .ui-bar-b .ui-btn.ui-btn-active,html .ui-body-b .ui-btn.ui-btn-active,html body .ui-group-theme-b .ui-btn.ui-btn-active,html head+body .ui-btn.ui-btn-b.ui-btn-active,.ui-page-theme-b .ui-checkbox-on:after,html .ui-bar-b .ui-checkbox-on:after,html .ui-body-b .ui-checkbox-on:after,html body .ui-group-theme-b .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-b:after,.ui-page-theme-b .ui-flipswitch-active,html .ui-bar-b .ui-flipswitch-active,html .ui-body-b .ui-flipswitch-active,html body .ui-group-theme-b .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-b.ui-flipswitch-active,.ui-page-theme-b .ui-slider-track .ui-btn-active,html .ui-bar-b .ui-slider-track .ui-btn-active,html .ui-body-b .ui-slider-track .ui-btn-active,html body .ui-group-theme-b .ui-slider-track .ui-btn-active,html body div.ui-slider-track.ui-body-b .ui-btn-active{background-color:#2ad;border-color:#2ad;color:#fff;text-shadow:0 1px 0 #08b}.ui-page-theme-b .ui-radio-on:after,html .ui-bar-b .ui-radio-on:after,html .ui-body-b .ui-radio-on:after,html body .ui-group-theme-b .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-b:after{border-color:#2ad}.ui-page-theme-b .ui-btn:focus,html .ui-bar-b .ui-btn:focus,html .ui-body-b .ui-btn:focus,html body .ui-group-theme-b .ui-btn:focus,html head+body .ui-btn.ui-btn-b:focus,.ui-page-theme-b .ui-focus,html .ui-bar-b .ui-focus,html .ui-body-b .ui-focus,html body .ui-group-theme-b .ui-focus,html head+body .ui-btn-b.ui-focus,html head+body .ui-body-b.ui-focus{-webkit-box-shadow:0 0 12px #2ad;-moz-box-shadow:0 0 12px #2ad;box-shadow:0 0 12px #2ad}.ui-disabled,.ui-state-disabled,button[disabled],.ui-select .ui-btn.ui-state-disabled{filter:Alpha(Opacity=30);opacity:.3;cursor:default!important;pointer-events:none}.ui-btn:focus,.ui-btn.ui-focus{outline:0}.ui-noboxshadow .ui-shadow,.ui-noboxshadow .ui-shadow-inset,.ui-noboxshadow .ui-overlay-shadow,.ui-noboxshadow .ui-shadow-icon.ui-btn:after,.ui-noboxshadow .ui-shadow-icon .ui-btn:after,.ui-noboxshadow .ui-focus,.ui-noboxshadow .ui-btn:focus,.ui-noboxshadow input:focus,.ui-noboxshadow .ui-panel{-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important}.ui-noboxshadow .ui-btn:focus,.ui-noboxshadow .ui-focus{outline-width:1px;outline-style:auto} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/webapp/css/ucoinj/images/search-background-large.jpg b/ucoinj-ui-wicket/src/main/webapp/css/ucoinj/images/search-background-large.jpg deleted file mode 100644 index e6d879206ebed32d8057c99915ae2a54ea06fb20..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/css/ucoinj/images/search-background-large.jpg and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/css/ucoinj/jquery.mobile.override.css b/ucoinj-ui-wicket/src/main/webapp/css/ucoinj/jquery.mobile.override.css deleted file mode 100644 index c08fcf8e3fb5841131e5964c97507261249fbc9b..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/ucoinj/jquery.mobile.override.css +++ /dev/null @@ -1,95 +0,0 @@ -/* - * #%L - * uCoinj :: UI Wicket - * %% - * Copyright (C) 2014 - 2016 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -/*.ui-overlay-a, .ui-page-theme-a, .ui-page-theme-a .ui-panel-wrapper { - background-color: #f9f9f9; - border-color: #bbb; - color: #333; - text-shadow: 0 1px 0 #f3f3f3; -}*/ - -.ui-autocomplete { - max-height: 200px; - overflow-y: auto; - overflow-x: hidden; - padding-right: 20px; -} - -/*.ui-overlay-a, .ui-page-theme-a, .ui-page-theme-a .ui-panel-wrapper { - background-color: #f9f9f9; - border-color: #bbb; - color: #333; - text-shadow: 0 1px 0 #f3f3f3; -}*/ - -.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error { - border: 1px solid red; - background: #fef1ec url("images/ui-bg_diagonals-thick_18_b81900_40x40.png") 50% 50% repeat-x; - color: #ffffff; -} - -div.wicket-aa-container { - color: #333; - text-shadow: 0 1px 0 #f3f3f3; - margin-top: 3px; -} - -div.wicket-aa { - font-size: 1em; - line-height: 1.3; - font-family: sans-serif; - background-color: #f6f6f6; - padding: 2px; - text-align:left; - - color: #333; - text-shadow: 0 1px 0 #f3f3f3; - - border-color: #ddd; - border-width: 1px 0 0; - border-style: solid; - margin: 0; - box-shadow: 0 1px 3px rgba(0,0,0,.15); - background-clip: padding-box; - border-radius: .3125em; -} - -div.wicket-aa ul { - list-style:none; - padding: 0; - margin: 0; -} - -div.wicket-aa li { - - display: block; - position: relative; - overflow: visible; - font-size: 16px; - cursor: pointer; - padding: .7em 1em; -} - -div.wicket-aa ul li.selected { - background-color: #ededed; - margin:0; -} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/webapp/css/ucoinj/ucoinj.css b/ucoinj-ui-wicket/src/main/webapp/css/ucoinj/ucoinj.css deleted file mode 100644 index 267d4179b42f675f752d4f77de379a18faa6e5ae..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/css/ucoinj/ucoinj.css +++ /dev/null @@ -1,92 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -@CHARSET "UTF-8"; -body { - margin: 0; -} -.ui-content { - padding: 0px; -} - -.container { - background-image: url(images/search-background-large.jpg); - background-position: center center; - background-repeat: no-repeat; - padding: 1em; - @media (min-width: 1200px) { - width: 1170px; - min-height: 390px; - } - @media (min-width: 992px){ - width: 970px; - min-height: 330px; - } - @media (min-width: 768px){ - width: 750px; - min-height: 256px; - } -} - -.container h2{ - margin-bottom: 206px; - @media (min-width: 1200px) { - margin-bottom: 206px; - } - @media (min-width: 992px){ - margin-bottom: 165px; - } - @media (min-width: 768px){ - margin-bottom: 128px; - } -} - -.resultContainer { - padding: 1em; -} -.inline-form { -} - -.inline-form .wrapper { - float: left; - width: 100%; -} - -.inline-form .wrapper .content { - margin: 0 120px 0 0; /* 0 RC 0 LC */ -} -.inline-form .right { - float: left; - width: 110px; /* RC */ - margin-left: -110px; /* -RC */ - margin-top: 2px; -} - -.inline-form .footer{ - clear: left; -} - -.ui-autocomplete { - max-height: 200px; - overflow-y: auto; - overflow-x: hidden; - padding-right: 20px; -} diff --git a/ucoinj-ui-wicket/src/main/webapp/favicon.ico b/ucoinj-ui-wicket/src/main/webapp/favicon.ico deleted file mode 100644 index 895fc96a76b68b4924f1c51d022e1b82fa0f461f..0000000000000000000000000000000000000000 Binary files a/ucoinj-ui-wicket/src/main/webapp/favicon.ico and /dev/null differ diff --git a/ucoinj-ui-wicket/src/main/webapp/index.html b/ucoinj-ui-wicket/src/main/webapp/index.html deleted file mode 100644 index 87140a2664a5ec110bddb18a800e6f49777fc590..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/index.html +++ /dev/null @@ -1,34 +0,0 @@ -<!-- - #%L - SIH-Adagio Extractor web UI - %% - Copyright (C) 2012 - 2013 Ifremer - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public - License along with this program. If not, see - <http://www.gnu.org/licenses/gpl-3.0.html>. - #L% - --> -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> - <META HTTP-EQUIV="Refresh" CONTENT="0; URL=./home"> -</head> -<head> -</head> -<html> -<body> - <a href="./home">Redirection to home page...</a> -</body> -</html> diff --git a/ucoinj-ui-wicket/src/main/webapp/js/app.js b/ucoinj-ui-wicket/src/main/webapp/js/app.js deleted file mode 100644 index f3557eba578f369e2088d7bb654d2bd735dbebbc..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/js/app.js +++ /dev/null @@ -1,56 +0,0 @@ -/* - * #%L - * uCoinj :: UI Wicket - * %% - * Copyright (C) 2014 - 2016 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -(function() { - var app = (typeof module !== "undefined" && module !== null ? module.exports : void 0) || (window.app = {}); - - var - ucoinj, - - init = app.init = function() { - ucoinj = uCoinj(document); - }, - - login = app.login = function(event) { - var salt = $('#localSalt').val(); - var password = $('#localPassword').val(); - var challengeMessage = $('#challengeMessage').val(); - - if (salt === "" || password === "" || challengeMessage === "") { - event.preventDefault(); - return; - } - - var challengeMessage = $('#challengeMessage').val(); - ucoinj.connect(salt, password); - var sign = ucoinj.sign(challengeMessage); - - $('#username').val(ucoinj.wallet.pubkey); - $('#password').val(sign + '|' + challengeMessage); - $('#form').submit(); - } - ; - -}).call(this); - -$( document ).ready(function() { - app.init(); -}); diff --git a/ucoinj-ui-wicket/src/main/webapp/js/base58.js b/ucoinj-ui-wicket/src/main/webapp/js/base58.js deleted file mode 100644 index cc9be45841ad86685e5fe422db300be150d720dc..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/js/base58.js +++ /dev/null @@ -1,94 +0,0 @@ -// Generated by CoffeeScript 1.8.0 -(function() { - var Base58 = (typeof module !== "undefined" && module !== null ? module.exports : void 0) || (window.Base58 = {}); - - Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz' - Base58.alphabetMap = {} - - for(var i = 0; i < Base58.alphabet.length; i++) { - Base58.alphabetMap[Base58.alphabet.charAt(i)] = i - } - - Base58.encode = function(buffer) { - var carry, digits, j; - if (buffer.length === 0) { - return ""; - } - i = void 0; - j = void 0; - digits = [0]; - i = 0; - while (i < buffer.length) { - j = 0; - while (j < digits.length) { - digits[j] <<= 8; - j++; - } - digits[0] += buffer[i]; - carry = 0; - j = 0; - while (j < digits.length) { - digits[j] += carry; - carry = (digits[j] / 58) | 0; - digits[j] %= 58; - ++j; - } - while (carry) { - digits.push(carry % 58); - carry = (carry / 58) | 0; - } - i++; - } - i = 0; - while (buffer[i] === 0 && i < buffer.length - 1) { - digits.push(0); - i++; - } - return digits.reverse().map(function(digit) { - return Base58.alphabet[digit]; - }).join(""); - }; - - Base58.decode = function(string) { - var bytes, c, carry, j; - if (string.length === 0) { - return new (typeof Uint8Array !== "undefined" && Uint8Array !== null ? Uint8Array : Buffer)(0); - } - i = void 0; - j = void 0; - bytes = [0]; - i = 0; - while (i < string.length) { - c = string[i]; - if (!(c in Base58.alphabetMap)) { - throw "Base58.decode received unacceptable input. Character '" + c + "' is not in the Base58 alphabet."; - } - j = 0; - while (j < bytes.length) { - bytes[j] *= 58; - j++; - } - bytes[0] += Base58.alphabetMap[c]; - carry = 0; - j = 0; - while (j < bytes.length) { - bytes[j] += carry; - carry = bytes[j] >> 8; - bytes[j] &= 0xff; - ++j; - } - while (carry) { - bytes.push(carry & 0xff); - carry >>= 8; - } - i++; - } - i = 0; - while (string[i] === "1" && i < string.length - 1) { - bytes.push(0); - i++; - } - return new (typeof Uint8Array !== "undefined" && Uint8Array !== null ? Uint8Array : Buffer)(bytes.reverse()); - }; - -}).call(this); diff --git a/ucoinj-ui-wicket/src/main/webapp/js/base64.js b/ucoinj-ui-wicket/src/main/webapp/js/base64.js deleted file mode 100644 index 2d4e8656e37640012bacb72912e45dbd15da0eff..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/js/base64.js +++ /dev/null @@ -1,45 +0,0 @@ -/* - * #%L - * uCoinj :: UI Wicket - * %% - * Copyright (C) 2014 - 2016 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -(function() { - var Base64 = (typeof module !== "undefined" && module !== null ? module.exports : void 0) || (window.Base64 = {}); - - Base64.encode = (function(arr) { - if (typeof btoa === 'undefined') { - return (new Buffer(arr)).toString('base64'); - } else { - var i, s = [], len = arr.length; - for (i = 0; i < len; i++) s.push(String.fromCharCode(arr[i])); - return btoa(s.join('')); - } - }); - - Base64.decode = (function(s) { - if (typeof atob === 'undefined') { - return new Uint8Array(Array.prototype.slice.call(new Buffer(s, 'base64'), 0)); - } else { - var i, d = atob(s), b = new Uint8Array(d.length); - for (i = 0; i < d.length; i++) b[i] = d.charCodeAt(i); - return b; - } - }); - -}).call(this); diff --git a/ucoinj-ui-wicket/src/main/webapp/js/jquery-1.11.2.js b/ucoinj-ui-wicket/src/main/webapp/js/jquery-1.11.2.js deleted file mode 100644 index 1d57de5f937136734f22af9011994a92947ee87b..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/js/jquery-1.11.2.js +++ /dev/null @@ -1,10367 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! - * jQuery JavaScript Library v1.11.2 - * http://jquery.com/ - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * - * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors - * Released under the MIT license - * http://jquery.org/license - * - * Date: 2014-12-17T15:27Z - */ - -(function( global, factory ) { - - if ( typeof module === "object" && typeof module.exports === "object" ) { - // For CommonJS and CommonJS-like environments where a proper window is present, - // execute the factory and get jQuery - // For environments that do not inherently posses a window with a document - // (such as Node.js), expose a jQuery-making factory as module.exports - // This accentuates the need for the creation of a real window - // e.g. var jQuery = require("jquery")(window); - // See ticket #14549 for more info - module.exports = global.document ? - factory( global, true ) : - function( w ) { - if ( !w.document ) { - throw new Error( "jQuery requires a window with a document" ); - } - return factory( w ); - }; - } else { - factory( global ); - } - -// Pass this if window is not defined yet -}(typeof window !== "undefined" ? window : this, function( window, noGlobal ) { - -// Can't do this because several apps including ASP.NET trace -// the stack via arguments.caller.callee and Firefox dies if -// you try to trace through "use strict" call chains. (#13335) -// Support: Firefox 18+ -// - -var deletedIds = []; - -var slice = deletedIds.slice; - -var concat = deletedIds.concat; - -var push = deletedIds.push; - -var indexOf = deletedIds.indexOf; - -var class2type = {}; - -var toString = class2type.toString; - -var hasOwn = class2type.hasOwnProperty; - -var support = {}; - - - -var - version = "1.11.2", - - // Define a local copy of jQuery - jQuery = function( selector, context ) { - // The jQuery object is actually just the init constructor 'enhanced' - // Need init if jQuery is called (just allow error to be thrown if not included) - return new jQuery.fn.init( selector, context ); - }, - - // Support: Android<4.1, IE<9 - // Make sure we trim BOM and NBSP - rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, - - // Matches dashed string for camelizing - rmsPrefix = /^-ms-/, - rdashAlpha = /-([\da-z])/gi, - - // Used by jQuery.camelCase as callback to replace() - fcamelCase = function( all, letter ) { - return letter.toUpperCase(); - }; - -jQuery.fn = jQuery.prototype = { - // The current version of jQuery being used - jquery: version, - - constructor: jQuery, - - // Start with an empty selector - selector: "", - - // The default length of a jQuery object is 0 - length: 0, - - toArray: function() { - return slice.call( this ); - }, - - // Get the Nth element in the matched element set OR - // Get the whole matched element set as a clean array - get: function( num ) { - return num != null ? - - // Return just the one element from the set - ( num < 0 ? this[ num + this.length ] : this[ num ] ) : - - // Return all the elements in a clean array - slice.call( this ); - }, - - // Take an array of elements and push it onto the stack - // (returning the new matched element set) - pushStack: function( elems ) { - - // Build a new jQuery matched element set - var ret = jQuery.merge( this.constructor(), elems ); - - // Add the old object onto the stack (as a reference) - ret.prevObject = this; - ret.context = this.context; - - // Return the newly-formed element set - return ret; - }, - - // Execute a callback for every element in the matched set. - // (You can seed the arguments with an array of args, but this is - // only used internally.) - each: function( callback, args ) { - return jQuery.each( this, callback, args ); - }, - - map: function( callback ) { - return this.pushStack( jQuery.map(this, function( elem, i ) { - return callback.call( elem, i, elem ); - })); - }, - - slice: function() { - return this.pushStack( slice.apply( this, arguments ) ); - }, - - first: function() { - return this.eq( 0 ); - }, - - last: function() { - return this.eq( -1 ); - }, - - eq: function( i ) { - var len = this.length, - j = +i + ( i < 0 ? len : 0 ); - return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] ); - }, - - end: function() { - return this.prevObject || this.constructor(null); - }, - - // For internal use only. - // Behaves like an Array's method, not like a jQuery method. - push: push, - sort: deletedIds.sort, - splice: deletedIds.splice -}; - -jQuery.extend = jQuery.fn.extend = function() { - var src, copyIsArray, copy, name, options, clone, - target = arguments[0] || {}, - i = 1, - length = arguments.length, - deep = false; - - // Handle a deep copy situation - if ( typeof target === "boolean" ) { - deep = target; - - // skip the boolean and the target - target = arguments[ i ] || {}; - i++; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !jQuery.isFunction(target) ) { - target = {}; - } - - // extend jQuery itself if only one argument is passed - if ( i === length ) { - target = this; - i--; - } - - for ( ; i < length; i++ ) { - // Only deal with non-null/undefined values - if ( (options = arguments[ i ]) != null ) { - // Extend the base object - for ( name in options ) { - src = target[ name ]; - copy = options[ name ]; - - // Prevent never-ending loop - if ( target === copy ) { - continue; - } - - // Recurse if we're merging plain objects or arrays - if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { - if ( copyIsArray ) { - copyIsArray = false; - clone = src && jQuery.isArray(src) ? src : []; - - } else { - clone = src && jQuery.isPlainObject(src) ? src : {}; - } - - // Never move original objects, clone them - target[ name ] = jQuery.extend( deep, clone, copy ); - - // Don't bring in undefined values - } else if ( copy !== undefined ) { - target[ name ] = copy; - } - } - } - } - - // Return the modified object - return target; -}; - -jQuery.extend({ - // Unique for each copy of jQuery on the page - expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), - - // Assume jQuery is ready without the ready module - isReady: true, - - error: function( msg ) { - throw new Error( msg ); - }, - - noop: function() {}, - - // See test/unit/core.js for details concerning isFunction. - // Since version 1.3, DOM methods and functions like alert - // aren't supported. They return false on IE (#2968). - isFunction: function( obj ) { - return jQuery.type(obj) === "function"; - }, - - isArray: Array.isArray || function( obj ) { - return jQuery.type(obj) === "array"; - }, - - isWindow: function( obj ) { - /* jshint eqeqeq: false */ - return obj != null && obj == obj.window; - }, - - isNumeric: function( obj ) { - // parseFloat NaNs numeric-cast false positives (null|true|false|"") - // ...but misinterprets leading-number strings, particularly hex literals ("0x...") - // subtraction forces infinities to NaN - // adding 1 corrects loss of precision from parseFloat (#15100) - return !jQuery.isArray( obj ) && (obj - parseFloat( obj ) + 1) >= 0; - }, - - isEmptyObject: function( obj ) { - var name; - for ( name in obj ) { - return false; - } - return true; - }, - - isPlainObject: function( obj ) { - var key; - - // Must be an Object. - // Because of IE, we also have to check the presence of the constructor property. - // Make sure that DOM nodes and window objects don't pass through, as well - if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { - return false; - } - - try { - // Not own constructor property must be Object - if ( obj.constructor && - !hasOwn.call(obj, "constructor") && - !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { - return false; - } - } catch ( e ) { - // IE8,9 Will throw exceptions on certain host objects #9897 - return false; - } - - // Support: IE<9 - // Handle iteration over inherited properties before own properties. - if ( support.ownLast ) { - for ( key in obj ) { - return hasOwn.call( obj, key ); - } - } - - // Own properties are enumerated firstly, so to speed up, - // if last one is own, then all properties are own. - for ( key in obj ) {} - - return key === undefined || hasOwn.call( obj, key ); - }, - - type: function( obj ) { - if ( obj == null ) { - return obj + ""; - } - return typeof obj === "object" || typeof obj === "function" ? - class2type[ toString.call(obj) ] || "object" : - typeof obj; - }, - - // Evaluates a script in a global context - // Workarounds based on findings by Jim Driscoll - // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context - globalEval: function( data ) { - if ( data && jQuery.trim( data ) ) { - // We use execScript on Internet Explorer - // We use an anonymous function so that context is window - // rather than jQuery in Firefox - ( window.execScript || function( data ) { - window[ "eval" ].call( window, data ); - } )( data ); - } - }, - - // Convert dashed to camelCase; used by the css and data modules - // Microsoft forgot to hump their vendor prefix (#9572) - camelCase: function( string ) { - return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); - }, - - nodeName: function( elem, name ) { - return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); - }, - - // args is for internal usage only - each: function( obj, callback, args ) { - var value, - i = 0, - length = obj.length, - isArray = isArraylike( obj ); - - if ( args ) { - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback.apply( obj[ i ], args ); - - if ( value === false ) { - break; - } - } - } else { - for ( i in obj ) { - value = callback.apply( obj[ i ], args ); - - if ( value === false ) { - break; - } - } - } - - // A special, fast, case for the most common use of each - } else { - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback.call( obj[ i ], i, obj[ i ] ); - - if ( value === false ) { - break; - } - } - } else { - for ( i in obj ) { - value = callback.call( obj[ i ], i, obj[ i ] ); - - if ( value === false ) { - break; - } - } - } - } - - return obj; - }, - - // Support: Android<4.1, IE<9 - trim: function( text ) { - return text == null ? - "" : - ( text + "" ).replace( rtrim, "" ); - }, - - // results is for internal usage only - makeArray: function( arr, results ) { - var ret = results || []; - - if ( arr != null ) { - if ( isArraylike( Object(arr) ) ) { - jQuery.merge( ret, - typeof arr === "string" ? - [ arr ] : arr - ); - } else { - push.call( ret, arr ); - } - } - - return ret; - }, - - inArray: function( elem, arr, i ) { - var len; - - if ( arr ) { - if ( indexOf ) { - return indexOf.call( arr, elem, i ); - } - - len = arr.length; - i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0; - - for ( ; i < len; i++ ) { - // Skip accessing in sparse arrays - if ( i in arr && arr[ i ] === elem ) { - return i; - } - } - } - - return -1; - }, - - merge: function( first, second ) { - var len = +second.length, - j = 0, - i = first.length; - - while ( j < len ) { - first[ i++ ] = second[ j++ ]; - } - - // Support: IE<9 - // Workaround casting of .length to NaN on otherwise arraylike objects (e.g., NodeLists) - if ( len !== len ) { - while ( second[j] !== undefined ) { - first[ i++ ] = second[ j++ ]; - } - } - - first.length = i; - - return first; - }, - - grep: function( elems, callback, invert ) { - var callbackInverse, - matches = [], - i = 0, - length = elems.length, - callbackExpect = !invert; - - // Go through the array, only saving the items - // that pass the validator function - for ( ; i < length; i++ ) { - callbackInverse = !callback( elems[ i ], i ); - if ( callbackInverse !== callbackExpect ) { - matches.push( elems[ i ] ); - } - } - - return matches; - }, - - // arg is for internal usage only - map: function( elems, callback, arg ) { - var value, - i = 0, - length = elems.length, - isArray = isArraylike( elems ), - ret = []; - - // Go through the array, translating each of the items to their new values - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - - // Go through every key on the object, - } else { - for ( i in elems ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - } - - // Flatten any nested arrays - return concat.apply( [], ret ); - }, - - // A global GUID counter for objects - guid: 1, - - // Bind a function to a context, optionally partially applying any - // arguments. - proxy: function( fn, context ) { - var args, proxy, tmp; - - if ( typeof context === "string" ) { - tmp = fn[ context ]; - context = fn; - fn = tmp; - } - - // Quick check to determine if target is callable, in the spec - // this throws a TypeError, but we will just return undefined. - if ( !jQuery.isFunction( fn ) ) { - return undefined; - } - - // Simulated bind - args = slice.call( arguments, 2 ); - proxy = function() { - return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); - }; - - // Set the guid of unique handler to the same of original handler, so it can be removed - proxy.guid = fn.guid = fn.guid || jQuery.guid++; - - return proxy; - }, - - now: function() { - return +( new Date() ); - }, - - // jQuery.support is not used in Core but other projects attach their - // properties to it so it needs to exist. - support: support -}); - -// Populate the class2type map -jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) { - class2type[ "[object " + name + "]" ] = name.toLowerCase(); -}); - -function isArraylike( obj ) { - var length = obj.length, - type = jQuery.type( obj ); - - if ( type === "function" || jQuery.isWindow( obj ) ) { - return false; - } - - if ( obj.nodeType === 1 && length ) { - return true; - } - - return type === "array" || length === 0 || - typeof length === "number" && length > 0 && ( length - 1 ) in obj; -} -var Sizzle = -/*! - * Sizzle CSS Selector Engine v2.2.0-pre - * http://sizzlejs.com/ - * - * Copyright 2008, 2014 jQuery Foundation, Inc. and other contributors - * Released under the MIT license - * http://jquery.org/license - * - * Date: 2014-12-16 - */ -(function( window ) { - -var i, - support, - Expr, - getText, - isXML, - tokenize, - compile, - select, - outermostContext, - sortInput, - hasDuplicate, - - // Local document vars - setDocument, - document, - docElem, - documentIsHTML, - rbuggyQSA, - rbuggyMatches, - matches, - contains, - - // Instance-specific data - expando = "sizzle" + 1 * new Date(), - preferredDoc = window.document, - dirruns = 0, - done = 0, - classCache = createCache(), - tokenCache = createCache(), - compilerCache = createCache(), - sortOrder = function( a, b ) { - if ( a === b ) { - hasDuplicate = true; - } - return 0; - }, - - // General-purpose constants - MAX_NEGATIVE = 1 << 31, - - // Instance methods - hasOwn = ({}).hasOwnProperty, - arr = [], - pop = arr.pop, - push_native = arr.push, - push = arr.push, - slice = arr.slice, - // Use a stripped-down indexOf as it's faster than native - // http://jsperf.com/thor-indexof-vs-for/5 - indexOf = function( list, elem ) { - var i = 0, - len = list.length; - for ( ; i < len; i++ ) { - if ( list[i] === elem ) { - return i; - } - } - return -1; - }, - - booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", - - // Regular expressions - - // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace - whitespace = "[\\x20\\t\\r\\n\\f]", - // http://www.w3.org/TR/css3-syntax/#characters - characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", - - // Loosely modeled on CSS identifier characters - // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors - // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier - identifier = characterEncoding.replace( "w", "w#" ), - - // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors - attributes = "\\[" + whitespace + "*(" + characterEncoding + ")(?:" + whitespace + - // Operator (capture 2) - "*([*^$|!~]?=)" + whitespace + - // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" - "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + - "*\\]", - - pseudos = ":(" + characterEncoding + ")(?:\\((" + - // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: - // 1. quoted (capture 3; capture 4 or capture 5) - "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + - // 2. simple (capture 6) - "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + - // 3. anything else (capture 2) - ".*" + - ")\\)|)", - - // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter - rwhitespace = new RegExp( whitespace + "+", "g" ), - rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), - - rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), - rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), - - rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), - - rpseudo = new RegExp( pseudos ), - ridentifier = new RegExp( "^" + identifier + "$" ), - - matchExpr = { - "ID": new RegExp( "^#(" + characterEncoding + ")" ), - "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), - "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), - "ATTR": new RegExp( "^" + attributes ), - "PSEUDO": new RegExp( "^" + pseudos ), - "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + - "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + - "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), - "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), - // For use in libraries implementing .is() - // We use this for POS matching in `select` - "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + - whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) - }, - - rinputs = /^(?:input|select|textarea|button)$/i, - rheader = /^h\d$/i, - - rnative = /^[^{]+\{\s*\[native \w/, - - // Easily-parseable/retrievable ID or TAG or CLASS selectors - rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, - - rsibling = /[+~]/, - rescape = /'|\\/g, - - // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters - runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), - funescape = function( _, escaped, escapedWhitespace ) { - var high = "0x" + escaped - 0x10000; - // NaN means non-codepoint - // Support: Firefox<24 - // Workaround erroneous numeric interpretation of +"0x" - return high !== high || escapedWhitespace ? - escaped : - high < 0 ? - // BMP codepoint - String.fromCharCode( high + 0x10000 ) : - // Supplemental Plane codepoint (surrogate pair) - String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); - }, - - // Used for iframes - // See setDocument() - // Removing the function wrapper causes a "Permission Denied" - // error in IE - unloadHandler = function() { - setDocument(); - }; - -// Optimize for push.apply( _, NodeList ) -try { - push.apply( - (arr = slice.call( preferredDoc.childNodes )), - preferredDoc.childNodes - ); - // Support: Android<4.0 - // Detect silently failing push.apply - arr[ preferredDoc.childNodes.length ].nodeType; -} catch ( e ) { - push = { apply: arr.length ? - - // Leverage slice if possible - function( target, els ) { - push_native.apply( target, slice.call(els) ); - } : - - // Support: IE<9 - // Otherwise append directly - function( target, els ) { - var j = target.length, - i = 0; - // Can't trust NodeList.length - while ( (target[j++] = els[i++]) ) {} - target.length = j - 1; - } - }; -} - -function Sizzle( selector, context, results, seed ) { - var match, elem, m, nodeType, - // QSA vars - i, groups, old, nid, newContext, newSelector; - - if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { - setDocument( context ); - } - - context = context || document; - results = results || []; - nodeType = context.nodeType; - - if ( typeof selector !== "string" || !selector || - nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { - - return results; - } - - if ( !seed && documentIsHTML ) { - - // Try to shortcut find operations when possible (e.g., not under DocumentFragment) - if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { - // Speed-up: Sizzle("#ID") - if ( (m = match[1]) ) { - if ( nodeType === 9 ) { - elem = context.getElementById( m ); - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document (jQuery #6963) - if ( elem && elem.parentNode ) { - // Handle the case where IE, Opera, and Webkit return items - // by name instead of ID - if ( elem.id === m ) { - results.push( elem ); - return results; - } - } else { - return results; - } - } else { - // Context is not a document - if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && - contains( context, elem ) && elem.id === m ) { - results.push( elem ); - return results; - } - } - - // Speed-up: Sizzle("TAG") - } else if ( match[2] ) { - push.apply( results, context.getElementsByTagName( selector ) ); - return results; - - // Speed-up: Sizzle(".CLASS") - } else if ( (m = match[3]) && support.getElementsByClassName ) { - push.apply( results, context.getElementsByClassName( m ) ); - return results; - } - } - - // QSA path - if ( support.qsa && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { - nid = old = expando; - newContext = context; - newSelector = nodeType !== 1 && selector; - - // qSA works strangely on Element-rooted queries - // We can work around this by specifying an extra ID on the root - // and working up from there (Thanks to Andrew Dupont for the technique) - // IE 8 doesn't work on object elements - if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { - groups = tokenize( selector ); - - if ( (old = context.getAttribute("id")) ) { - nid = old.replace( rescape, "\\$&" ); - } else { - context.setAttribute( "id", nid ); - } - nid = "[id='" + nid + "'] "; - - i = groups.length; - while ( i-- ) { - groups[i] = nid + toSelector( groups[i] ); - } - newContext = rsibling.test( selector ) && testContext( context.parentNode ) || context; - newSelector = groups.join(","); - } - - if ( newSelector ) { - try { - push.apply( results, - newContext.querySelectorAll( newSelector ) - ); - return results; - } catch(qsaError) { - } finally { - if ( !old ) { - context.removeAttribute("id"); - } - } - } - } - } - - // All others - return select( selector.replace( rtrim, "$1" ), context, results, seed ); -} - -/** - * Create key-value caches of limited size - * @returns {Function(string, Object)} Returns the Object data after storing it on itself with - * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) - * deleting the oldest entry - */ -function createCache() { - var keys = []; - - function cache( key, value ) { - // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) - if ( keys.push( key + " " ) > Expr.cacheLength ) { - // Only keep the most recent entries - delete cache[ keys.shift() ]; - } - return (cache[ key + " " ] = value); - } - return cache; -} - -/** - * Mark a function for special use by Sizzle - * @param {Function} fn The function to mark - */ -function markFunction( fn ) { - fn[ expando ] = true; - return fn; -} - -/** - * Support testing using an element - * @param {Function} fn Passed the created div and expects a boolean result - */ -function assert( fn ) { - var div = document.createElement("div"); - - try { - return !!fn( div ); - } catch (e) { - return false; - } finally { - // Remove from its parent by default - if ( div.parentNode ) { - div.parentNode.removeChild( div ); - } - // release memory in IE - div = null; - } -} - -/** - * Adds the same handler for all of the specified attrs - * @param {String} attrs Pipe-separated list of attributes - * @param {Function} handler The method that will be applied - */ -function addHandle( attrs, handler ) { - var arr = attrs.split("|"), - i = attrs.length; - - while ( i-- ) { - Expr.attrHandle[ arr[i] ] = handler; - } -} - -/** - * Checks document order of two siblings - * @param {Element} a - * @param {Element} b - * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b - */ -function siblingCheck( a, b ) { - var cur = b && a, - diff = cur && a.nodeType === 1 && b.nodeType === 1 && - ( ~b.sourceIndex || MAX_NEGATIVE ) - - ( ~a.sourceIndex || MAX_NEGATIVE ); - - // Use IE sourceIndex if available on both nodes - if ( diff ) { - return diff; - } - - // Check if b follows a - if ( cur ) { - while ( (cur = cur.nextSibling) ) { - if ( cur === b ) { - return -1; - } - } - } - - return a ? 1 : -1; -} - -/** - * Returns a function to use in pseudos for input types - * @param {String} type - */ -function createInputPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for buttons - * @param {String} type - */ -function createButtonPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return (name === "input" || name === "button") && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for positionals - * @param {Function} fn - */ -function createPositionalPseudo( fn ) { - return markFunction(function( argument ) { - argument = +argument; - return markFunction(function( seed, matches ) { - var j, - matchIndexes = fn( [], seed.length, argument ), - i = matchIndexes.length; - - // Match elements found at the specified indexes - while ( i-- ) { - if ( seed[ (j = matchIndexes[i]) ] ) { - seed[j] = !(matches[j] = seed[j]); - } - } - }); - }); -} - -/** - * Checks a node for validity as a Sizzle context - * @param {Element|Object=} context - * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value - */ -function testContext( context ) { - return context && typeof context.getElementsByTagName !== "undefined" && context; -} - -// Expose support vars for convenience -support = Sizzle.support = {}; - -/** - * Detects XML nodes - * @param {Element|Object} elem An element or a document - * @returns {Boolean} True iff elem is a non-HTML XML node - */ -isXML = Sizzle.isXML = function( elem ) { - // documentElement is verified for cases where it doesn't yet exist - // (such as loading iframes in IE - #4833) - var documentElement = elem && (elem.ownerDocument || elem).documentElement; - return documentElement ? documentElement.nodeName !== "HTML" : false; -}; - -/** - * Sets document-related variables once based on the current document - * @param {Element|Object} [doc] An element or document object to use to set the document - * @returns {Object} Returns the current document - */ -setDocument = Sizzle.setDocument = function( node ) { - var hasCompare, parent, - doc = node ? node.ownerDocument || node : preferredDoc; - - // If no document and documentElement is available, return - if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { - return document; - } - - // Set our document - document = doc; - docElem = doc.documentElement; - parent = doc.defaultView; - - // Support: IE>8 - // If iframe document is assigned to "document" variable and if iframe has been reloaded, - // IE will throw "permission denied" error when accessing "document" variable, see jQuery #13936 - // IE6-8 do not support the defaultView property so parent will be undefined - if ( parent && parent !== parent.top ) { - // IE11 does not have attachEvent, so all must suffer - if ( parent.addEventListener ) { - parent.addEventListener( "unload", unloadHandler, false ); - } else if ( parent.attachEvent ) { - parent.attachEvent( "onunload", unloadHandler ); - } - } - - /* Support tests - ---------------------------------------------------------------------- */ - documentIsHTML = !isXML( doc ); - - /* Attributes - ---------------------------------------------------------------------- */ - - // Support: IE<8 - // Verify that getAttribute really returns attributes and not properties - // (excepting IE8 booleans) - support.attributes = assert(function( div ) { - div.className = "i"; - return !div.getAttribute("className"); - }); - - /* getElement(s)By* - ---------------------------------------------------------------------- */ - - // Check if getElementsByTagName("*") returns only elements - support.getElementsByTagName = assert(function( div ) { - div.appendChild( doc.createComment("") ); - return !div.getElementsByTagName("*").length; - }); - - // Support: IE<9 - support.getElementsByClassName = rnative.test( doc.getElementsByClassName ); - - // Support: IE<10 - // Check if getElementById returns elements by name - // The broken getElementById methods don't pick up programatically-set names, - // so use a roundabout getElementsByName test - support.getById = assert(function( div ) { - docElem.appendChild( div ).id = expando; - return !doc.getElementsByName || !doc.getElementsByName( expando ).length; - }); - - // ID find and filter - if ( support.getById ) { - Expr.find["ID"] = function( id, context ) { - if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { - var m = context.getElementById( id ); - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - return m && m.parentNode ? [ m ] : []; - } - }; - Expr.filter["ID"] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - return elem.getAttribute("id") === attrId; - }; - }; - } else { - // Support: IE6/7 - // getElementById is not reliable as a find shortcut - delete Expr.find["ID"]; - - Expr.filter["ID"] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); - return node && node.value === attrId; - }; - }; - } - - // Tag - Expr.find["TAG"] = support.getElementsByTagName ? - function( tag, context ) { - if ( typeof context.getElementsByTagName !== "undefined" ) { - return context.getElementsByTagName( tag ); - - // DocumentFragment nodes don't have gEBTN - } else if ( support.qsa ) { - return context.querySelectorAll( tag ); - } - } : - - function( tag, context ) { - var elem, - tmp = [], - i = 0, - // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too - results = context.getElementsByTagName( tag ); - - // Filter out possible comments - if ( tag === "*" ) { - while ( (elem = results[i++]) ) { - if ( elem.nodeType === 1 ) { - tmp.push( elem ); - } - } - - return tmp; - } - return results; - }; - - // Class - Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { - if ( documentIsHTML ) { - return context.getElementsByClassName( className ); - } - }; - - /* QSA/matchesSelector - ---------------------------------------------------------------------- */ - - // QSA and matchesSelector support - - // matchesSelector(:active) reports false when true (IE9/Opera 11.5) - rbuggyMatches = []; - - // qSa(:focus) reports false when true (Chrome 21) - // We allow this because of a bug in IE8/9 that throws an error - // whenever `document.activeElement` is accessed on an iframe - // So, we allow :focus to pass through QSA all the time to avoid the IE error - // See http://bugs.jquery.com/ticket/13378 - rbuggyQSA = []; - - if ( (support.qsa = rnative.test( doc.querySelectorAll )) ) { - // Build QSA regex - // Regex strategy adopted from Diego Perini - assert(function( div ) { - // Select is set to empty string on purpose - // This is to test IE's treatment of not explicitly - // setting a boolean content attribute, - // since its presence should be enough - // http://bugs.jquery.com/ticket/12359 - docElem.appendChild( div ).innerHTML = "<a id='" + expando + "'></a>" + - "<select id='" + expando + "-\f]' msallowcapture=''>" + - "<option selected=''></option></select>"; - - // Support: IE8, Opera 11-12.16 - // Nothing should be selected when empty strings follow ^= or $= or *= - // The test attribute must be unknown in Opera but "safe" for WinRT - // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section - if ( div.querySelectorAll("[msallowcapture^='']").length ) { - rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); - } - - // Support: IE8 - // Boolean attributes and "value" are not treated correctly - if ( !div.querySelectorAll("[selected]").length ) { - rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); - } - - // Support: Chrome<29, Android<4.2+, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.7+ - if ( !div.querySelectorAll( "[id~=" + expando + "-]" ).length ) { - rbuggyQSA.push("~="); - } - - // Webkit/Opera - :checked should return selected option elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - // IE8 throws error here and will not see later tests - if ( !div.querySelectorAll(":checked").length ) { - rbuggyQSA.push(":checked"); - } - - // Support: Safari 8+, iOS 8+ - // https://bugs.webkit.org/show_bug.cgi?id=136851 - // In-page `selector#id sibing-combinator selector` fails - if ( !div.querySelectorAll( "a#" + expando + "+*" ).length ) { - rbuggyQSA.push(".#.+[+~]"); - } - }); - - assert(function( div ) { - // Support: Windows 8 Native Apps - // The type and name attributes are restricted during .innerHTML assignment - var input = doc.createElement("input"); - input.setAttribute( "type", "hidden" ); - div.appendChild( input ).setAttribute( "name", "D" ); - - // Support: IE8 - // Enforce case-sensitivity of name attribute - if ( div.querySelectorAll("[name=d]").length ) { - rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); - } - - // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) - // IE8 throws error here and will not see later tests - if ( !div.querySelectorAll(":enabled").length ) { - rbuggyQSA.push( ":enabled", ":disabled" ); - } - - // Opera 10-11 does not throw on post-comma invalid pseudos - div.querySelectorAll("*,:x"); - rbuggyQSA.push(",.*:"); - }); - } - - if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || - docElem.webkitMatchesSelector || - docElem.mozMatchesSelector || - docElem.oMatchesSelector || - docElem.msMatchesSelector) )) ) { - - assert(function( div ) { - // Check to see if it's possible to do matchesSelector - // on a disconnected node (IE 9) - support.disconnectedMatch = matches.call( div, "div" ); - - // This should fail with an exception - // Gecko does not error, returns false instead - matches.call( div, "[s!='']:x" ); - rbuggyMatches.push( "!=", pseudos ); - }); - } - - rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); - rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); - - /* Contains - ---------------------------------------------------------------------- */ - hasCompare = rnative.test( docElem.compareDocumentPosition ); - - // Element contains another - // Purposefully does not implement inclusive descendent - // As in, an element does not contain itself - contains = hasCompare || rnative.test( docElem.contains ) ? - function( a, b ) { - var adown = a.nodeType === 9 ? a.documentElement : a, - bup = b && b.parentNode; - return a === bup || !!( bup && bup.nodeType === 1 && ( - adown.contains ? - adown.contains( bup ) : - a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 - )); - } : - function( a, b ) { - if ( b ) { - while ( (b = b.parentNode) ) { - if ( b === a ) { - return true; - } - } - } - return false; - }; - - /* Sorting - ---------------------------------------------------------------------- */ - - // Document order sorting - sortOrder = hasCompare ? - function( a, b ) { - - // Flag for duplicate removal - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - // Sort on method existence if only one input has compareDocumentPosition - var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; - if ( compare ) { - return compare; - } - - // Calculate position if both inputs belong to the same document - compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? - a.compareDocumentPosition( b ) : - - // Otherwise we know they are disconnected - 1; - - // Disconnected nodes - if ( compare & 1 || - (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { - - // Choose the first element that is related to our preferred document - if ( a === doc || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { - return -1; - } - if ( b === doc || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { - return 1; - } - - // Maintain original order - return sortInput ? - ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : - 0; - } - - return compare & 4 ? -1 : 1; - } : - function( a, b ) { - // Exit early if the nodes are identical - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - var cur, - i = 0, - aup = a.parentNode, - bup = b.parentNode, - ap = [ a ], - bp = [ b ]; - - // Parentless nodes are either documents or disconnected - if ( !aup || !bup ) { - return a === doc ? -1 : - b === doc ? 1 : - aup ? -1 : - bup ? 1 : - sortInput ? - ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : - 0; - - // If the nodes are siblings, we can do a quick check - } else if ( aup === bup ) { - return siblingCheck( a, b ); - } - - // Otherwise we need full lists of their ancestors for comparison - cur = a; - while ( (cur = cur.parentNode) ) { - ap.unshift( cur ); - } - cur = b; - while ( (cur = cur.parentNode) ) { - bp.unshift( cur ); - } - - // Walk down the tree looking for a discrepancy - while ( ap[i] === bp[i] ) { - i++; - } - - return i ? - // Do a sibling check if the nodes have a common ancestor - siblingCheck( ap[i], bp[i] ) : - - // Otherwise nodes in our document sort first - ap[i] === preferredDoc ? -1 : - bp[i] === preferredDoc ? 1 : - 0; - }; - - return doc; -}; - -Sizzle.matches = function( expr, elements ) { - return Sizzle( expr, null, null, elements ); -}; - -Sizzle.matchesSelector = function( elem, expr ) { - // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { - setDocument( elem ); - } - - // Make sure that attribute selectors are quoted - expr = expr.replace( rattributeQuotes, "='$1']" ); - - if ( support.matchesSelector && documentIsHTML && - ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && - ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { - - try { - var ret = matches.call( elem, expr ); - - // IE 9's matchesSelector returns false on disconnected nodes - if ( ret || support.disconnectedMatch || - // As well, disconnected nodes are said to be in a document - // fragment in IE 9 - elem.document && elem.document.nodeType !== 11 ) { - return ret; - } - } catch (e) {} - } - - return Sizzle( expr, document, null, [ elem ] ).length > 0; -}; - -Sizzle.contains = function( context, elem ) { - // Set document vars if needed - if ( ( context.ownerDocument || context ) !== document ) { - setDocument( context ); - } - return contains( context, elem ); -}; - -Sizzle.attr = function( elem, name ) { - // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { - setDocument( elem ); - } - - var fn = Expr.attrHandle[ name.toLowerCase() ], - // Don't get fooled by Object.prototype properties (jQuery #13807) - val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? - fn( elem, name, !documentIsHTML ) : - undefined; - - return val !== undefined ? - val : - support.attributes || !documentIsHTML ? - elem.getAttribute( name ) : - (val = elem.getAttributeNode(name)) && val.specified ? - val.value : - null; -}; - -Sizzle.error = function( msg ) { - throw new Error( "Syntax error, unrecognized expression: " + msg ); -}; - -/** - * Document sorting and removing duplicates - * @param {ArrayLike} results - */ -Sizzle.uniqueSort = function( results ) { - var elem, - duplicates = [], - j = 0, - i = 0; - - // Unless we *know* we can detect duplicates, assume their presence - hasDuplicate = !support.detectDuplicates; - sortInput = !support.sortStable && results.slice( 0 ); - results.sort( sortOrder ); - - if ( hasDuplicate ) { - while ( (elem = results[i++]) ) { - if ( elem === results[ i ] ) { - j = duplicates.push( i ); - } - } - while ( j-- ) { - results.splice( duplicates[ j ], 1 ); - } - } - - // Clear input after sorting to release objects - // See https://github.com/jquery/sizzle/pull/225 - sortInput = null; - - return results; -}; - -/** - * Utility function for retrieving the text value of an array of DOM nodes - * @param {Array|Element} elem - */ -getText = Sizzle.getText = function( elem ) { - var node, - ret = "", - i = 0, - nodeType = elem.nodeType; - - if ( !nodeType ) { - // If no nodeType, this is expected to be an array - while ( (node = elem[i++]) ) { - // Do not traverse comment nodes - ret += getText( node ); - } - } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { - // Use textContent for elements - // innerText usage removed for consistency of new lines (jQuery #11153) - if ( typeof elem.textContent === "string" ) { - return elem.textContent; - } else { - // Traverse its children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - ret += getText( elem ); - } - } - } else if ( nodeType === 3 || nodeType === 4 ) { - return elem.nodeValue; - } - // Do not include comment or processing instruction nodes - - return ret; -}; - -Expr = Sizzle.selectors = { - - // Can be adjusted by the user - cacheLength: 50, - - createPseudo: markFunction, - - match: matchExpr, - - attrHandle: {}, - - find: {}, - - relative: { - ">": { dir: "parentNode", first: true }, - " ": { dir: "parentNode" }, - "+": { dir: "previousSibling", first: true }, - "~": { dir: "previousSibling" } - }, - - preFilter: { - "ATTR": function( match ) { - match[1] = match[1].replace( runescape, funescape ); - - // Move the given value to match[3] whether quoted or unquoted - match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); - - if ( match[2] === "~=" ) { - match[3] = " " + match[3] + " "; - } - - return match.slice( 0, 4 ); - }, - - "CHILD": function( match ) { - /* matches from matchExpr["CHILD"] - 1 type (only|nth|...) - 2 what (child|of-type) - 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) - 4 xn-component of xn+y argument ([+-]?\d*n|) - 5 sign of xn-component - 6 x of xn-component - 7 sign of y-component - 8 y of y-component - */ - match[1] = match[1].toLowerCase(); - - if ( match[1].slice( 0, 3 ) === "nth" ) { - // nth-* requires argument - if ( !match[3] ) { - Sizzle.error( match[0] ); - } - - // numeric x and y parameters for Expr.filter.CHILD - // remember that false/true cast respectively to 0/1 - match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); - match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); - - // other types prohibit arguments - } else if ( match[3] ) { - Sizzle.error( match[0] ); - } - - return match; - }, - - "PSEUDO": function( match ) { - var excess, - unquoted = !match[6] && match[2]; - - if ( matchExpr["CHILD"].test( match[0] ) ) { - return null; - } - - // Accept quoted arguments as-is - if ( match[3] ) { - match[2] = match[4] || match[5] || ""; - - // Strip excess characters from unquoted arguments - } else if ( unquoted && rpseudo.test( unquoted ) && - // Get excess from tokenize (recursively) - (excess = tokenize( unquoted, true )) && - // advance to the next closing parenthesis - (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { - - // excess is a negative index - match[0] = match[0].slice( 0, excess ); - match[2] = unquoted.slice( 0, excess ); - } - - // Return only captures needed by the pseudo filter method (type and argument) - return match.slice( 0, 3 ); - } - }, - - filter: { - - "TAG": function( nodeNameSelector ) { - var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); - return nodeNameSelector === "*" ? - function() { return true; } : - function( elem ) { - return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; - }; - }, - - "CLASS": function( className ) { - var pattern = classCache[ className + " " ]; - - return pattern || - (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && - classCache( className, function( elem ) { - return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); - }); - }, - - "ATTR": function( name, operator, check ) { - return function( elem ) { - var result = Sizzle.attr( elem, name ); - - if ( result == null ) { - return operator === "!="; - } - if ( !operator ) { - return true; - } - - result += ""; - - return operator === "=" ? result === check : - operator === "!=" ? result !== check : - operator === "^=" ? check && result.indexOf( check ) === 0 : - operator === "*=" ? check && result.indexOf( check ) > -1 : - operator === "$=" ? check && result.slice( -check.length ) === check : - operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : - operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : - false; - }; - }, - - "CHILD": function( type, what, argument, first, last ) { - var simple = type.slice( 0, 3 ) !== "nth", - forward = type.slice( -4 ) !== "last", - ofType = what === "of-type"; - - return first === 1 && last === 0 ? - - // Shortcut for :nth-*(n) - function( elem ) { - return !!elem.parentNode; - } : - - function( elem, context, xml ) { - var cache, outerCache, node, diff, nodeIndex, start, - dir = simple !== forward ? "nextSibling" : "previousSibling", - parent = elem.parentNode, - name = ofType && elem.nodeName.toLowerCase(), - useCache = !xml && !ofType; - - if ( parent ) { - - // :(first|last|only)-(child|of-type) - if ( simple ) { - while ( dir ) { - node = elem; - while ( (node = node[ dir ]) ) { - if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { - return false; - } - } - // Reverse direction for :only-* (if we haven't yet done so) - start = dir = type === "only" && !start && "nextSibling"; - } - return true; - } - - start = [ forward ? parent.firstChild : parent.lastChild ]; - - // non-xml :nth-child(...) stores cache data on `parent` - if ( forward && useCache ) { - // Seek `elem` from a previously-cached index - outerCache = parent[ expando ] || (parent[ expando ] = {}); - cache = outerCache[ type ] || []; - nodeIndex = cache[0] === dirruns && cache[1]; - diff = cache[0] === dirruns && cache[2]; - node = nodeIndex && parent.childNodes[ nodeIndex ]; - - while ( (node = ++nodeIndex && node && node[ dir ] || - - // Fallback to seeking `elem` from the start - (diff = nodeIndex = 0) || start.pop()) ) { - - // When found, cache indexes on `parent` and break - if ( node.nodeType === 1 && ++diff && node === elem ) { - outerCache[ type ] = [ dirruns, nodeIndex, diff ]; - break; - } - } - - // Use previously-cached element index if available - } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) { - diff = cache[1]; - - // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...) - } else { - // Use the same loop as above to seek `elem` from the start - while ( (node = ++nodeIndex && node && node[ dir ] || - (diff = nodeIndex = 0) || start.pop()) ) { - - if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) { - // Cache the index of each encountered element - if ( useCache ) { - (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ]; - } - - if ( node === elem ) { - break; - } - } - } - } - - // Incorporate the offset, then check against cycle size - diff -= last; - return diff === first || ( diff % first === 0 && diff / first >= 0 ); - } - }; - }, - - "PSEUDO": function( pseudo, argument ) { - // pseudo-class names are case-insensitive - // http://www.w3.org/TR/selectors/#pseudo-classes - // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters - // Remember that setFilters inherits from pseudos - var args, - fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || - Sizzle.error( "unsupported pseudo: " + pseudo ); - - // The user may use createPseudo to indicate that - // arguments are needed to create the filter function - // just as Sizzle does - if ( fn[ expando ] ) { - return fn( argument ); - } - - // But maintain support for old signatures - if ( fn.length > 1 ) { - args = [ pseudo, pseudo, "", argument ]; - return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? - markFunction(function( seed, matches ) { - var idx, - matched = fn( seed, argument ), - i = matched.length; - while ( i-- ) { - idx = indexOf( seed, matched[i] ); - seed[ idx ] = !( matches[ idx ] = matched[i] ); - } - }) : - function( elem ) { - return fn( elem, 0, args ); - }; - } - - return fn; - } - }, - - pseudos: { - // Potentially complex pseudos - "not": markFunction(function( selector ) { - // Trim the selector passed to compile - // to avoid treating leading and trailing - // spaces as combinators - var input = [], - results = [], - matcher = compile( selector.replace( rtrim, "$1" ) ); - - return matcher[ expando ] ? - markFunction(function( seed, matches, context, xml ) { - var elem, - unmatched = matcher( seed, null, xml, [] ), - i = seed.length; - - // Match elements unmatched by `matcher` - while ( i-- ) { - if ( (elem = unmatched[i]) ) { - seed[i] = !(matches[i] = elem); - } - } - }) : - function( elem, context, xml ) { - input[0] = elem; - matcher( input, null, xml, results ); - // Don't keep the element (issue #299) - input[0] = null; - return !results.pop(); - }; - }), - - "has": markFunction(function( selector ) { - return function( elem ) { - return Sizzle( selector, elem ).length > 0; - }; - }), - - "contains": markFunction(function( text ) { - text = text.replace( runescape, funescape ); - return function( elem ) { - return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; - }; - }), - - // "Whether an element is represented by a :lang() selector - // is based solely on the element's language value - // being equal to the identifier C, - // or beginning with the identifier C immediately followed by "-". - // The matching of C against the element's language value is performed case-insensitively. - // The identifier C does not have to be a valid language name." - // http://www.w3.org/TR/selectors/#lang-pseudo - "lang": markFunction( function( lang ) { - // lang value must be a valid identifier - if ( !ridentifier.test(lang || "") ) { - Sizzle.error( "unsupported lang: " + lang ); - } - lang = lang.replace( runescape, funescape ).toLowerCase(); - return function( elem ) { - var elemLang; - do { - if ( (elemLang = documentIsHTML ? - elem.lang : - elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { - - elemLang = elemLang.toLowerCase(); - return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; - } - } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); - return false; - }; - }), - - // Miscellaneous - "target": function( elem ) { - var hash = window.location && window.location.hash; - return hash && hash.slice( 1 ) === elem.id; - }, - - "root": function( elem ) { - return elem === docElem; - }, - - "focus": function( elem ) { - return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); - }, - - // Boolean properties - "enabled": function( elem ) { - return elem.disabled === false; - }, - - "disabled": function( elem ) { - return elem.disabled === true; - }, - - "checked": function( elem ) { - // In CSS3, :checked should return both checked and selected elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - var nodeName = elem.nodeName.toLowerCase(); - return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); - }, - - "selected": function( elem ) { - // Accessing this property makes selected-by-default - // options in Safari work properly - if ( elem.parentNode ) { - elem.parentNode.selectedIndex; - } - - return elem.selected === true; - }, - - // Contents - "empty": function( elem ) { - // http://www.w3.org/TR/selectors/#empty-pseudo - // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), - // but not by others (comment: 8; processing instruction: 7; etc.) - // nodeType < 6 works because attributes (2) do not appear as children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - if ( elem.nodeType < 6 ) { - return false; - } - } - return true; - }, - - "parent": function( elem ) { - return !Expr.pseudos["empty"]( elem ); - }, - - // Element/input types - "header": function( elem ) { - return rheader.test( elem.nodeName ); - }, - - "input": function( elem ) { - return rinputs.test( elem.nodeName ); - }, - - "button": function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === "button" || name === "button"; - }, - - "text": function( elem ) { - var attr; - return elem.nodeName.toLowerCase() === "input" && - elem.type === "text" && - - // Support: IE<8 - // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" - ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); - }, - - // Position-in-collection - "first": createPositionalPseudo(function() { - return [ 0 ]; - }), - - "last": createPositionalPseudo(function( matchIndexes, length ) { - return [ length - 1 ]; - }), - - "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { - return [ argument < 0 ? argument + length : argument ]; - }), - - "even": createPositionalPseudo(function( matchIndexes, length ) { - var i = 0; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "odd": createPositionalPseudo(function( matchIndexes, length ) { - var i = 1; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; --i >= 0; ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; ++i < length; ) { - matchIndexes.push( i ); - } - return matchIndexes; - }) - } -}; - -Expr.pseudos["nth"] = Expr.pseudos["eq"]; - -// Add button/input type pseudos -for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { - Expr.pseudos[ i ] = createInputPseudo( i ); -} -for ( i in { submit: true, reset: true } ) { - Expr.pseudos[ i ] = createButtonPseudo( i ); -} - -// Easy API for creating new setFilters -function setFilters() {} -setFilters.prototype = Expr.filters = Expr.pseudos; -Expr.setFilters = new setFilters(); - -tokenize = Sizzle.tokenize = function( selector, parseOnly ) { - var matched, match, tokens, type, - soFar, groups, preFilters, - cached = tokenCache[ selector + " " ]; - - if ( cached ) { - return parseOnly ? 0 : cached.slice( 0 ); - } - - soFar = selector; - groups = []; - preFilters = Expr.preFilter; - - while ( soFar ) { - - // Comma and first run - if ( !matched || (match = rcomma.exec( soFar )) ) { - if ( match ) { - // Don't consume trailing commas as valid - soFar = soFar.slice( match[0].length ) || soFar; - } - groups.push( (tokens = []) ); - } - - matched = false; - - // Combinators - if ( (match = rcombinators.exec( soFar )) ) { - matched = match.shift(); - tokens.push({ - value: matched, - // Cast descendant combinators to space - type: match[0].replace( rtrim, " " ) - }); - soFar = soFar.slice( matched.length ); - } - - // Filters - for ( type in Expr.filter ) { - if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || - (match = preFilters[ type ]( match ))) ) { - matched = match.shift(); - tokens.push({ - value: matched, - type: type, - matches: match - }); - soFar = soFar.slice( matched.length ); - } - } - - if ( !matched ) { - break; - } - } - - // Return the length of the invalid excess - // if we're just parsing - // Otherwise, throw an error or return tokens - return parseOnly ? - soFar.length : - soFar ? - Sizzle.error( selector ) : - // Cache the tokens - tokenCache( selector, groups ).slice( 0 ); -}; - -function toSelector( tokens ) { - var i = 0, - len = tokens.length, - selector = ""; - for ( ; i < len; i++ ) { - selector += tokens[i].value; - } - return selector; -} - -function addCombinator( matcher, combinator, base ) { - var dir = combinator.dir, - checkNonElements = base && dir === "parentNode", - doneName = done++; - - return combinator.first ? - // Check against closest ancestor/preceding element - function( elem, context, xml ) { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - return matcher( elem, context, xml ); - } - } - } : - - // Check against all ancestor/preceding elements - function( elem, context, xml ) { - var oldCache, outerCache, - newCache = [ dirruns, doneName ]; - - // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching - if ( xml ) { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - if ( matcher( elem, context, xml ) ) { - return true; - } - } - } - } else { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - outerCache = elem[ expando ] || (elem[ expando ] = {}); - if ( (oldCache = outerCache[ dir ]) && - oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { - - // Assign to newCache so results back-propagate to previous elements - return (newCache[ 2 ] = oldCache[ 2 ]); - } else { - // Reuse newcache so results back-propagate to previous elements - outerCache[ dir ] = newCache; - - // A match means we're done; a fail means we have to keep checking - if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { - return true; - } - } - } - } - } - }; -} - -function elementMatcher( matchers ) { - return matchers.length > 1 ? - function( elem, context, xml ) { - var i = matchers.length; - while ( i-- ) { - if ( !matchers[i]( elem, context, xml ) ) { - return false; - } - } - return true; - } : - matchers[0]; -} - -function multipleContexts( selector, contexts, results ) { - var i = 0, - len = contexts.length; - for ( ; i < len; i++ ) { - Sizzle( selector, contexts[i], results ); - } - return results; -} - -function condense( unmatched, map, filter, context, xml ) { - var elem, - newUnmatched = [], - i = 0, - len = unmatched.length, - mapped = map != null; - - for ( ; i < len; i++ ) { - if ( (elem = unmatched[i]) ) { - if ( !filter || filter( elem, context, xml ) ) { - newUnmatched.push( elem ); - if ( mapped ) { - map.push( i ); - } - } - } - } - - return newUnmatched; -} - -function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { - if ( postFilter && !postFilter[ expando ] ) { - postFilter = setMatcher( postFilter ); - } - if ( postFinder && !postFinder[ expando ] ) { - postFinder = setMatcher( postFinder, postSelector ); - } - return markFunction(function( seed, results, context, xml ) { - var temp, i, elem, - preMap = [], - postMap = [], - preexisting = results.length, - - // Get initial elements from seed or context - elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), - - // Prefilter to get matcher input, preserving a map for seed-results synchronization - matcherIn = preFilter && ( seed || !selector ) ? - condense( elems, preMap, preFilter, context, xml ) : - elems, - - matcherOut = matcher ? - // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, - postFinder || ( seed ? preFilter : preexisting || postFilter ) ? - - // ...intermediate processing is necessary - [] : - - // ...otherwise use results directly - results : - matcherIn; - - // Find primary matches - if ( matcher ) { - matcher( matcherIn, matcherOut, context, xml ); - } - - // Apply postFilter - if ( postFilter ) { - temp = condense( matcherOut, postMap ); - postFilter( temp, [], context, xml ); - - // Un-match failing elements by moving them back to matcherIn - i = temp.length; - while ( i-- ) { - if ( (elem = temp[i]) ) { - matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); - } - } - } - - if ( seed ) { - if ( postFinder || preFilter ) { - if ( postFinder ) { - // Get the final matcherOut by condensing this intermediate into postFinder contexts - temp = []; - i = matcherOut.length; - while ( i-- ) { - if ( (elem = matcherOut[i]) ) { - // Restore matcherIn since elem is not yet a final match - temp.push( (matcherIn[i] = elem) ); - } - } - postFinder( null, (matcherOut = []), temp, xml ); - } - - // Move matched elements from seed to results to keep them synchronized - i = matcherOut.length; - while ( i-- ) { - if ( (elem = matcherOut[i]) && - (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { - - seed[temp] = !(results[temp] = elem); - } - } - } - - // Add elements to results, through postFinder if defined - } else { - matcherOut = condense( - matcherOut === results ? - matcherOut.splice( preexisting, matcherOut.length ) : - matcherOut - ); - if ( postFinder ) { - postFinder( null, results, matcherOut, xml ); - } else { - push.apply( results, matcherOut ); - } - } - }); -} - -function matcherFromTokens( tokens ) { - var checkContext, matcher, j, - len = tokens.length, - leadingRelative = Expr.relative[ tokens[0].type ], - implicitRelative = leadingRelative || Expr.relative[" "], - i = leadingRelative ? 1 : 0, - - // The foundational matcher ensures that elements are reachable from top-level context(s) - matchContext = addCombinator( function( elem ) { - return elem === checkContext; - }, implicitRelative, true ), - matchAnyContext = addCombinator( function( elem ) { - return indexOf( checkContext, elem ) > -1; - }, implicitRelative, true ), - matchers = [ function( elem, context, xml ) { - var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( - (checkContext = context).nodeType ? - matchContext( elem, context, xml ) : - matchAnyContext( elem, context, xml ) ); - // Avoid hanging onto element (issue #299) - checkContext = null; - return ret; - } ]; - - for ( ; i < len; i++ ) { - if ( (matcher = Expr.relative[ tokens[i].type ]) ) { - matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; - } else { - matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); - - // Return special upon seeing a positional matcher - if ( matcher[ expando ] ) { - // Find the next relative operator (if any) for proper handling - j = ++i; - for ( ; j < len; j++ ) { - if ( Expr.relative[ tokens[j].type ] ) { - break; - } - } - return setMatcher( - i > 1 && elementMatcher( matchers ), - i > 1 && toSelector( - // If the preceding token was a descendant combinator, insert an implicit any-element `*` - tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) - ).replace( rtrim, "$1" ), - matcher, - i < j && matcherFromTokens( tokens.slice( i, j ) ), - j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), - j < len && toSelector( tokens ) - ); - } - matchers.push( matcher ); - } - } - - return elementMatcher( matchers ); -} - -function matcherFromGroupMatchers( elementMatchers, setMatchers ) { - var bySet = setMatchers.length > 0, - byElement = elementMatchers.length > 0, - superMatcher = function( seed, context, xml, results, outermost ) { - var elem, j, matcher, - matchedCount = 0, - i = "0", - unmatched = seed && [], - setMatched = [], - contextBackup = outermostContext, - // We must always have either seed elements or outermost context - elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), - // Use integer dirruns iff this is the outermost matcher - dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), - len = elems.length; - - if ( outermost ) { - outermostContext = context !== document && context; - } - - // Add elements passing elementMatchers directly to results - // Keep `i` a string if there are no elements so `matchedCount` will be "00" below - // Support: IE<9, Safari - // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id - for ( ; i !== len && (elem = elems[i]) != null; i++ ) { - if ( byElement && elem ) { - j = 0; - while ( (matcher = elementMatchers[j++]) ) { - if ( matcher( elem, context, xml ) ) { - results.push( elem ); - break; - } - } - if ( outermost ) { - dirruns = dirrunsUnique; - } - } - - // Track unmatched elements for set filters - if ( bySet ) { - // They will have gone through all possible matchers - if ( (elem = !matcher && elem) ) { - matchedCount--; - } - - // Lengthen the array for every element, matched or not - if ( seed ) { - unmatched.push( elem ); - } - } - } - - // Apply set filters to unmatched elements - matchedCount += i; - if ( bySet && i !== matchedCount ) { - j = 0; - while ( (matcher = setMatchers[j++]) ) { - matcher( unmatched, setMatched, context, xml ); - } - - if ( seed ) { - // Reintegrate element matches to eliminate the need for sorting - if ( matchedCount > 0 ) { - while ( i-- ) { - if ( !(unmatched[i] || setMatched[i]) ) { - setMatched[i] = pop.call( results ); - } - } - } - - // Discard index placeholder values to get only actual matches - setMatched = condense( setMatched ); - } - - // Add matches to results - push.apply( results, setMatched ); - - // Seedless set matches succeeding multiple successful matchers stipulate sorting - if ( outermost && !seed && setMatched.length > 0 && - ( matchedCount + setMatchers.length ) > 1 ) { - - Sizzle.uniqueSort( results ); - } - } - - // Override manipulation of globals by nested matchers - if ( outermost ) { - dirruns = dirrunsUnique; - outermostContext = contextBackup; - } - - return unmatched; - }; - - return bySet ? - markFunction( superMatcher ) : - superMatcher; -} - -compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { - var i, - setMatchers = [], - elementMatchers = [], - cached = compilerCache[ selector + " " ]; - - if ( !cached ) { - // Generate a function of recursive functions that can be used to check each element - if ( !match ) { - match = tokenize( selector ); - } - i = match.length; - while ( i-- ) { - cached = matcherFromTokens( match[i] ); - if ( cached[ expando ] ) { - setMatchers.push( cached ); - } else { - elementMatchers.push( cached ); - } - } - - // Cache the compiled function - cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); - - // Save selector and tokenization - cached.selector = selector; - } - return cached; -}; - -/** - * A low-level selection function that works with Sizzle's compiled - * selector functions - * @param {String|Function} selector A selector or a pre-compiled - * selector function built with Sizzle.compile - * @param {Element} context - * @param {Array} [results] - * @param {Array} [seed] A set of elements to match against - */ -select = Sizzle.select = function( selector, context, results, seed ) { - var i, tokens, token, type, find, - compiled = typeof selector === "function" && selector, - match = !seed && tokenize( (selector = compiled.selector || selector) ); - - results = results || []; - - // Try to minimize operations if there is no seed and only one group - if ( match.length === 1 ) { - - // Take a shortcut and set the context if the root selector is an ID - tokens = match[0] = match[0].slice( 0 ); - if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && - support.getById && context.nodeType === 9 && documentIsHTML && - Expr.relative[ tokens[1].type ] ) { - - context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; - if ( !context ) { - return results; - - // Precompiled matchers will still verify ancestry, so step up a level - } else if ( compiled ) { - context = context.parentNode; - } - - selector = selector.slice( tokens.shift().value.length ); - } - - // Fetch a seed set for right-to-left matching - i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; - while ( i-- ) { - token = tokens[i]; - - // Abort if we hit a combinator - if ( Expr.relative[ (type = token.type) ] ) { - break; - } - if ( (find = Expr.find[ type ]) ) { - // Search, expanding context for leading sibling combinators - if ( (seed = find( - token.matches[0].replace( runescape, funescape ), - rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context - )) ) { - - // If seed is empty or no tokens remain, we can return early - tokens.splice( i, 1 ); - selector = seed.length && toSelector( tokens ); - if ( !selector ) { - push.apply( results, seed ); - return results; - } - - break; - } - } - } - } - - // Compile and execute a filtering function if one is not provided - // Provide `match` to avoid retokenization if we modified the selector above - ( compiled || compile( selector, match ) )( - seed, - context, - !documentIsHTML, - results, - rsibling.test( selector ) && testContext( context.parentNode ) || context - ); - return results; -}; - -// One-time assignments - -// Sort stability -support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; - -// Support: Chrome 14-35+ -// Always assume duplicates if they aren't passed to the comparison function -support.detectDuplicates = !!hasDuplicate; - -// Initialize against the default document -setDocument(); - -// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) -// Detached nodes confoundingly follow *each other* -support.sortDetached = assert(function( div1 ) { - // Should return 1, but returns 4 (following) - return div1.compareDocumentPosition( document.createElement("div") ) & 1; -}); - -// Support: IE<8 -// Prevent attribute/property "interpolation" -// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx -if ( !assert(function( div ) { - div.innerHTML = "<a href='#'></a>"; - return div.firstChild.getAttribute("href") === "#" ; -}) ) { - addHandle( "type|href|height|width", function( elem, name, isXML ) { - if ( !isXML ) { - return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); - } - }); -} - -// Support: IE<9 -// Use defaultValue in place of getAttribute("value") -if ( !support.attributes || !assert(function( div ) { - div.innerHTML = "<input/>"; - div.firstChild.setAttribute( "value", "" ); - return div.firstChild.getAttribute( "value" ) === ""; -}) ) { - addHandle( "value", function( elem, name, isXML ) { - if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { - return elem.defaultValue; - } - }); -} - -// Support: IE<9 -// Use getAttributeNode to fetch booleans when getAttribute lies -if ( !assert(function( div ) { - return div.getAttribute("disabled") == null; -}) ) { - addHandle( booleans, function( elem, name, isXML ) { - var val; - if ( !isXML ) { - return elem[ name ] === true ? name.toLowerCase() : - (val = elem.getAttributeNode( name )) && val.specified ? - val.value : - null; - } - }); -} - -return Sizzle; - -})( window ); - - - -jQuery.find = Sizzle; -jQuery.expr = Sizzle.selectors; -jQuery.expr[":"] = jQuery.expr.pseudos; -jQuery.unique = Sizzle.uniqueSort; -jQuery.text = Sizzle.getText; -jQuery.isXMLDoc = Sizzle.isXML; -jQuery.contains = Sizzle.contains; - - - -var rneedsContext = jQuery.expr.match.needsContext; - -var rsingleTag = (/^<(\w+)\s*\/?>(?:<\/\1>|)$/); - - - -var risSimple = /^.[^:#\[\.,]*$/; - -// Implement the identical functionality for filter and not -function winnow( elements, qualifier, not ) { - if ( jQuery.isFunction( qualifier ) ) { - return jQuery.grep( elements, function( elem, i ) { - /* jshint -W018 */ - return !!qualifier.call( elem, i, elem ) !== not; - }); - - } - - if ( qualifier.nodeType ) { - return jQuery.grep( elements, function( elem ) { - return ( elem === qualifier ) !== not; - }); - - } - - if ( typeof qualifier === "string" ) { - if ( risSimple.test( qualifier ) ) { - return jQuery.filter( qualifier, elements, not ); - } - - qualifier = jQuery.filter( qualifier, elements ); - } - - return jQuery.grep( elements, function( elem ) { - return ( jQuery.inArray( elem, qualifier ) >= 0 ) !== not; - }); -} - -jQuery.filter = function( expr, elems, not ) { - var elem = elems[ 0 ]; - - if ( not ) { - expr = ":not(" + expr + ")"; - } - - return elems.length === 1 && elem.nodeType === 1 ? - jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : - jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { - return elem.nodeType === 1; - })); -}; - -jQuery.fn.extend({ - find: function( selector ) { - var i, - ret = [], - self = this, - len = self.length; - - if ( typeof selector !== "string" ) { - return this.pushStack( jQuery( selector ).filter(function() { - for ( i = 0; i < len; i++ ) { - if ( jQuery.contains( self[ i ], this ) ) { - return true; - } - } - }) ); - } - - for ( i = 0; i < len; i++ ) { - jQuery.find( selector, self[ i ], ret ); - } - - // Needed because $( selector, context ) becomes $( context ).find( selector ) - ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret ); - ret.selector = this.selector ? this.selector + " " + selector : selector; - return ret; - }, - filter: function( selector ) { - return this.pushStack( winnow(this, selector || [], false) ); - }, - not: function( selector ) { - return this.pushStack( winnow(this, selector || [], true) ); - }, - is: function( selector ) { - return !!winnow( - this, - - // If this is a positional/relative selector, check membership in the returned set - // so $("p:first").is("p:last") won't return true for a doc with two "p". - typeof selector === "string" && rneedsContext.test( selector ) ? - jQuery( selector ) : - selector || [], - false - ).length; - } -}); - - -// Initialize a jQuery object - - -// A central reference to the root jQuery(document) -var rootjQuery, - - // Use the correct document accordingly with window argument (sandbox) - document = window.document, - - // A simple way to check for HTML strings - // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) - // Strict HTML recognition (#11290: must start with <) - rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, - - init = jQuery.fn.init = function( selector, context ) { - var match, elem; - - // HANDLE: $(""), $(null), $(undefined), $(false) - if ( !selector ) { - return this; - } - - // Handle HTML strings - if ( typeof selector === "string" ) { - if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { - // Assume that strings that start and end with <> are HTML and skip the regex check - match = [ null, selector, null ]; - - } else { - match = rquickExpr.exec( selector ); - } - - // Match html or make sure no context is specified for #id - if ( match && (match[1] || !context) ) { - - // HANDLE: $(html) -> $(array) - if ( match[1] ) { - context = context instanceof jQuery ? context[0] : context; - - // scripts is true for back-compat - // Intentionally let the error be thrown if parseHTML is not present - jQuery.merge( this, jQuery.parseHTML( - match[1], - context && context.nodeType ? context.ownerDocument || context : document, - true - ) ); - - // HANDLE: $(html, props) - if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) { - for ( match in context ) { - // Properties of context are called as methods if possible - if ( jQuery.isFunction( this[ match ] ) ) { - this[ match ]( context[ match ] ); - - // ...and otherwise set as attributes - } else { - this.attr( match, context[ match ] ); - } - } - } - - return this; - - // HANDLE: $(#id) - } else { - elem = document.getElementById( match[2] ); - - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - if ( elem && elem.parentNode ) { - // Handle the case where IE and Opera return items - // by name instead of ID - if ( elem.id !== match[2] ) { - return rootjQuery.find( selector ); - } - - // Otherwise, we inject the element directly into the jQuery object - this.length = 1; - this[0] = elem; - } - - this.context = document; - this.selector = selector; - return this; - } - - // HANDLE: $(expr, $(...)) - } else if ( !context || context.jquery ) { - return ( context || rootjQuery ).find( selector ); - - // HANDLE: $(expr, context) - // (which is just equivalent to: $(context).find(expr) - } else { - return this.constructor( context ).find( selector ); - } - - // HANDLE: $(DOMElement) - } else if ( selector.nodeType ) { - this.context = this[0] = selector; - this.length = 1; - return this; - - // HANDLE: $(function) - // Shortcut for document ready - } else if ( jQuery.isFunction( selector ) ) { - return typeof rootjQuery.ready !== "undefined" ? - rootjQuery.ready( selector ) : - // Execute immediately if ready is not present - selector( jQuery ); - } - - if ( selector.selector !== undefined ) { - this.selector = selector.selector; - this.context = selector.context; - } - - return jQuery.makeArray( selector, this ); - }; - -// Give the init function the jQuery prototype for later instantiation -init.prototype = jQuery.fn; - -// Initialize central reference -rootjQuery = jQuery( document ); - - -var rparentsprev = /^(?:parents|prev(?:Until|All))/, - // methods guaranteed to produce a unique set when starting from a unique set - guaranteedUnique = { - children: true, - contents: true, - next: true, - prev: true - }; - -jQuery.extend({ - dir: function( elem, dir, until ) { - var matched = [], - cur = elem[ dir ]; - - while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { - if ( cur.nodeType === 1 ) { - matched.push( cur ); - } - cur = cur[dir]; - } - return matched; - }, - - sibling: function( n, elem ) { - var r = []; - - for ( ; n; n = n.nextSibling ) { - if ( n.nodeType === 1 && n !== elem ) { - r.push( n ); - } - } - - return r; - } -}); - -jQuery.fn.extend({ - has: function( target ) { - var i, - targets = jQuery( target, this ), - len = targets.length; - - return this.filter(function() { - for ( i = 0; i < len; i++ ) { - if ( jQuery.contains( this, targets[i] ) ) { - return true; - } - } - }); - }, - - closest: function( selectors, context ) { - var cur, - i = 0, - l = this.length, - matched = [], - pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? - jQuery( selectors, context || this.context ) : - 0; - - for ( ; i < l; i++ ) { - for ( cur = this[i]; cur && cur !== context; cur = cur.parentNode ) { - // Always skip document fragments - if ( cur.nodeType < 11 && (pos ? - pos.index(cur) > -1 : - - // Don't pass non-elements to Sizzle - cur.nodeType === 1 && - jQuery.find.matchesSelector(cur, selectors)) ) { - - matched.push( cur ); - break; - } - } - } - - return this.pushStack( matched.length > 1 ? jQuery.unique( matched ) : matched ); - }, - - // Determine the position of an element within - // the matched set of elements - index: function( elem ) { - - // No argument, return index in parent - if ( !elem ) { - return ( this[0] && this[0].parentNode ) ? this.first().prevAll().length : -1; - } - - // index in selector - if ( typeof elem === "string" ) { - return jQuery.inArray( this[0], jQuery( elem ) ); - } - - // Locate the position of the desired element - return jQuery.inArray( - // If it receives a jQuery object, the first element is used - elem.jquery ? elem[0] : elem, this ); - }, - - add: function( selector, context ) { - return this.pushStack( - jQuery.unique( - jQuery.merge( this.get(), jQuery( selector, context ) ) - ) - ); - }, - - addBack: function( selector ) { - return this.add( selector == null ? - this.prevObject : this.prevObject.filter(selector) - ); - } -}); - -function sibling( cur, dir ) { - do { - cur = cur[ dir ]; - } while ( cur && cur.nodeType !== 1 ); - - return cur; -} - -jQuery.each({ - parent: function( elem ) { - var parent = elem.parentNode; - return parent && parent.nodeType !== 11 ? parent : null; - }, - parents: function( elem ) { - return jQuery.dir( elem, "parentNode" ); - }, - parentsUntil: function( elem, i, until ) { - return jQuery.dir( elem, "parentNode", until ); - }, - next: function( elem ) { - return sibling( elem, "nextSibling" ); - }, - prev: function( elem ) { - return sibling( elem, "previousSibling" ); - }, - nextAll: function( elem ) { - return jQuery.dir( elem, "nextSibling" ); - }, - prevAll: function( elem ) { - return jQuery.dir( elem, "previousSibling" ); - }, - nextUntil: function( elem, i, until ) { - return jQuery.dir( elem, "nextSibling", until ); - }, - prevUntil: function( elem, i, until ) { - return jQuery.dir( elem, "previousSibling", until ); - }, - siblings: function( elem ) { - return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem ); - }, - children: function( elem ) { - return jQuery.sibling( elem.firstChild ); - }, - contents: function( elem ) { - return jQuery.nodeName( elem, "iframe" ) ? - elem.contentDocument || elem.contentWindow.document : - jQuery.merge( [], elem.childNodes ); - } -}, function( name, fn ) { - jQuery.fn[ name ] = function( until, selector ) { - var ret = jQuery.map( this, fn, until ); - - if ( name.slice( -5 ) !== "Until" ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - ret = jQuery.filter( selector, ret ); - } - - if ( this.length > 1 ) { - // Remove duplicates - if ( !guaranteedUnique[ name ] ) { - ret = jQuery.unique( ret ); - } - - // Reverse order for parents* and prev-derivatives - if ( rparentsprev.test( name ) ) { - ret = ret.reverse(); - } - } - - return this.pushStack( ret ); - }; -}); -var rnotwhite = (/\S+/g); - - - -// String to Object options format cache -var optionsCache = {}; - -// Convert String-formatted options into Object-formatted ones and store in cache -function createOptions( options ) { - var object = optionsCache[ options ] = {}; - jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) { - object[ flag ] = true; - }); - return object; -} - -/* - * Create a callback list using the following parameters: - * - * options: an optional list of space-separated options that will change how - * the callback list behaves or a more traditional option object - * - * By default a callback list will act like an event callback list and can be - * "fired" multiple times. - * - * Possible options: - * - * once: will ensure the callback list can only be fired once (like a Deferred) - * - * memory: will keep track of previous values and will call any callback added - * after the list has been fired right away with the latest "memorized" - * values (like a Deferred) - * - * unique: will ensure a callback can only be added once (no duplicate in the list) - * - * stopOnFalse: interrupt callings when a callback returns false - * - */ -jQuery.Callbacks = function( options ) { - - // Convert options from String-formatted to Object-formatted if needed - // (we check in cache first) - options = typeof options === "string" ? - ( optionsCache[ options ] || createOptions( options ) ) : - jQuery.extend( {}, options ); - - var // Flag to know if list is currently firing - firing, - // Last fire value (for non-forgettable lists) - memory, - // Flag to know if list was already fired - fired, - // End of the loop when firing - firingLength, - // Index of currently firing callback (modified by remove if needed) - firingIndex, - // First callback to fire (used internally by add and fireWith) - firingStart, - // Actual callback list - list = [], - // Stack of fire calls for repeatable lists - stack = !options.once && [], - // Fire callbacks - fire = function( data ) { - memory = options.memory && data; - fired = true; - firingIndex = firingStart || 0; - firingStart = 0; - firingLength = list.length; - firing = true; - for ( ; list && firingIndex < firingLength; firingIndex++ ) { - if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) { - memory = false; // To prevent further calls using add - break; - } - } - firing = false; - if ( list ) { - if ( stack ) { - if ( stack.length ) { - fire( stack.shift() ); - } - } else if ( memory ) { - list = []; - } else { - self.disable(); - } - } - }, - // Actual Callbacks object - self = { - // Add a callback or a collection of callbacks to the list - add: function() { - if ( list ) { - // First, we save the current length - var start = list.length; - (function add( args ) { - jQuery.each( args, function( _, arg ) { - var type = jQuery.type( arg ); - if ( type === "function" ) { - if ( !options.unique || !self.has( arg ) ) { - list.push( arg ); - } - } else if ( arg && arg.length && type !== "string" ) { - // Inspect recursively - add( arg ); - } - }); - })( arguments ); - // Do we need to add the callbacks to the - // current firing batch? - if ( firing ) { - firingLength = list.length; - // With memory, if we're not firing then - // we should call right away - } else if ( memory ) { - firingStart = start; - fire( memory ); - } - } - return this; - }, - // Remove a callback from the list - remove: function() { - if ( list ) { - jQuery.each( arguments, function( _, arg ) { - var index; - while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { - list.splice( index, 1 ); - // Handle firing indexes - if ( firing ) { - if ( index <= firingLength ) { - firingLength--; - } - if ( index <= firingIndex ) { - firingIndex--; - } - } - } - }); - } - return this; - }, - // Check if a given callback is in the list. - // If no argument is given, return whether or not list has callbacks attached. - has: function( fn ) { - return fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length ); - }, - // Remove all callbacks from the list - empty: function() { - list = []; - firingLength = 0; - return this; - }, - // Have the list do nothing anymore - disable: function() { - list = stack = memory = undefined; - return this; - }, - // Is it disabled? - disabled: function() { - return !list; - }, - // Lock the list in its current state - lock: function() { - stack = undefined; - if ( !memory ) { - self.disable(); - } - return this; - }, - // Is it locked? - locked: function() { - return !stack; - }, - // Call all callbacks with the given context and arguments - fireWith: function( context, args ) { - if ( list && ( !fired || stack ) ) { - args = args || []; - args = [ context, args.slice ? args.slice() : args ]; - if ( firing ) { - stack.push( args ); - } else { - fire( args ); - } - } - return this; - }, - // Call all the callbacks with the given arguments - fire: function() { - self.fireWith( this, arguments ); - return this; - }, - // To know if the callbacks have already been called at least once - fired: function() { - return !!fired; - } - }; - - return self; -}; - - -jQuery.extend({ - - Deferred: function( func ) { - var tuples = [ - // action, add listener, listener list, final state - [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ], - [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ], - [ "notify", "progress", jQuery.Callbacks("memory") ] - ], - state = "pending", - promise = { - state: function() { - return state; - }, - always: function() { - deferred.done( arguments ).fail( arguments ); - return this; - }, - then: function( /* fnDone, fnFail, fnProgress */ ) { - var fns = arguments; - return jQuery.Deferred(function( newDefer ) { - jQuery.each( tuples, function( i, tuple ) { - var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; - // deferred[ done | fail | progress ] for forwarding actions to newDefer - deferred[ tuple[1] ](function() { - var returned = fn && fn.apply( this, arguments ); - if ( returned && jQuery.isFunction( returned.promise ) ) { - returned.promise() - .done( newDefer.resolve ) - .fail( newDefer.reject ) - .progress( newDefer.notify ); - } else { - newDefer[ tuple[ 0 ] + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments ); - } - }); - }); - fns = null; - }).promise(); - }, - // Get a promise for this deferred - // If obj is provided, the promise aspect is added to the object - promise: function( obj ) { - return obj != null ? jQuery.extend( obj, promise ) : promise; - } - }, - deferred = {}; - - // Keep pipe for back-compat - promise.pipe = promise.then; - - // Add list-specific methods - jQuery.each( tuples, function( i, tuple ) { - var list = tuple[ 2 ], - stateString = tuple[ 3 ]; - - // promise[ done | fail | progress ] = list.add - promise[ tuple[1] ] = list.add; - - // Handle state - if ( stateString ) { - list.add(function() { - // state = [ resolved | rejected ] - state = stateString; - - // [ reject_list | resolve_list ].disable; progress_list.lock - }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); - } - - // deferred[ resolve | reject | notify ] - deferred[ tuple[0] ] = function() { - deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments ); - return this; - }; - deferred[ tuple[0] + "With" ] = list.fireWith; - }); - - // Make the deferred a promise - promise.promise( deferred ); - - // Call given func if any - if ( func ) { - func.call( deferred, deferred ); - } - - // All done! - return deferred; - }, - - // Deferred helper - when: function( subordinate /* , ..., subordinateN */ ) { - var i = 0, - resolveValues = slice.call( arguments ), - length = resolveValues.length, - - // the count of uncompleted subordinates - remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, - - // the master Deferred. If resolveValues consist of only a single Deferred, just use that. - deferred = remaining === 1 ? subordinate : jQuery.Deferred(), - - // Update function for both resolve and progress values - updateFunc = function( i, contexts, values ) { - return function( value ) { - contexts[ i ] = this; - values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; - if ( values === progressValues ) { - deferred.notifyWith( contexts, values ); - - } else if ( !(--remaining) ) { - deferred.resolveWith( contexts, values ); - } - }; - }, - - progressValues, progressContexts, resolveContexts; - - // add listeners to Deferred subordinates; treat others as resolved - if ( length > 1 ) { - progressValues = new Array( length ); - progressContexts = new Array( length ); - resolveContexts = new Array( length ); - for ( ; i < length; i++ ) { - if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { - resolveValues[ i ].promise() - .done( updateFunc( i, resolveContexts, resolveValues ) ) - .fail( deferred.reject ) - .progress( updateFunc( i, progressContexts, progressValues ) ); - } else { - --remaining; - } - } - } - - // if we're not waiting on anything, resolve the master - if ( !remaining ) { - deferred.resolveWith( resolveContexts, resolveValues ); - } - - return deferred.promise(); - } -}); - - -// The deferred used on DOM ready -var readyList; - -jQuery.fn.ready = function( fn ) { - // Add the callback - jQuery.ready.promise().done( fn ); - - return this; -}; - -jQuery.extend({ - // Is the DOM ready to be used? Set to true once it occurs. - isReady: false, - - // A counter to track how many items to wait for before - // the ready event fires. See #6781 - readyWait: 1, - - // Hold (or release) the ready event - holdReady: function( hold ) { - if ( hold ) { - jQuery.readyWait++; - } else { - jQuery.ready( true ); - } - }, - - // Handle when the DOM is ready - ready: function( wait ) { - - // Abort if there are pending holds or we're already ready - if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { - return; - } - - // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). - if ( !document.body ) { - return setTimeout( jQuery.ready ); - } - - // Remember that the DOM is ready - jQuery.isReady = true; - - // If a normal DOM Ready event fired, decrement, and wait if need be - if ( wait !== true && --jQuery.readyWait > 0 ) { - return; - } - - // If there are functions bound, to execute - readyList.resolveWith( document, [ jQuery ] ); - - // Trigger any bound ready events - if ( jQuery.fn.triggerHandler ) { - jQuery( document ).triggerHandler( "ready" ); - jQuery( document ).off( "ready" ); - } - } -}); - -/** - * Clean-up method for dom ready events - */ -function detach() { - if ( document.addEventListener ) { - document.removeEventListener( "DOMContentLoaded", completed, false ); - window.removeEventListener( "load", completed, false ); - - } else { - document.detachEvent( "onreadystatechange", completed ); - window.detachEvent( "onload", completed ); - } -} - -/** - * The ready event handler and self cleanup method - */ -function completed() { - // readyState === "complete" is good enough for us to call the dom ready in oldIE - if ( document.addEventListener || event.type === "load" || document.readyState === "complete" ) { - detach(); - jQuery.ready(); - } -} - -jQuery.ready.promise = function( obj ) { - if ( !readyList ) { - - readyList = jQuery.Deferred(); - - // Catch cases where $(document).ready() is called after the browser event has already occurred. - // we once tried to use readyState "interactive" here, but it caused issues like the one - // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15 - if ( document.readyState === "complete" ) { - // Handle it asynchronously to allow scripts the opportunity to delay ready - setTimeout( jQuery.ready ); - - // Standards-based browsers support DOMContentLoaded - } else if ( document.addEventListener ) { - // Use the handy event callback - document.addEventListener( "DOMContentLoaded", completed, false ); - - // A fallback to window.onload, that will always work - window.addEventListener( "load", completed, false ); - - // If IE event model is used - } else { - // Ensure firing before onload, maybe late but safe also for iframes - document.attachEvent( "onreadystatechange", completed ); - - // A fallback to window.onload, that will always work - window.attachEvent( "onload", completed ); - - // If IE and not a frame - // continually check to see if the document is ready - var top = false; - - try { - top = window.frameElement == null && document.documentElement; - } catch(e) {} - - if ( top && top.doScroll ) { - (function doScrollCheck() { - if ( !jQuery.isReady ) { - - try { - // Use the trick by Diego Perini - // http://javascript.nwbox.com/IEContentLoaded/ - top.doScroll("left"); - } catch(e) { - return setTimeout( doScrollCheck, 50 ); - } - - // detach all dom ready events - detach(); - - // and execute any waiting functions - jQuery.ready(); - } - })(); - } - } - } - return readyList.promise( obj ); -}; - - -var strundefined = typeof undefined; - - - -// Support: IE<9 -// Iteration over object's inherited properties before its own -var i; -for ( i in jQuery( support ) ) { - break; -} -support.ownLast = i !== "0"; - -// Note: most support tests are defined in their respective modules. -// false until the test is run -support.inlineBlockNeedsLayout = false; - -// Execute ASAP in case we need to set body.style.zoom -jQuery(function() { - // Minified: var a,b,c,d - var val, div, body, container; - - body = document.getElementsByTagName( "body" )[ 0 ]; - if ( !body || !body.style ) { - // Return for frameset docs that don't have a body - return; - } - - // Setup - div = document.createElement( "div" ); - container = document.createElement( "div" ); - container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px"; - body.appendChild( container ).appendChild( div ); - - if ( typeof div.style.zoom !== strundefined ) { - // Support: IE<8 - // Check if natively block-level elements act like inline-block - // elements when setting their display to 'inline' and giving - // them layout - div.style.cssText = "display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1"; - - support.inlineBlockNeedsLayout = val = div.offsetWidth === 3; - if ( val ) { - // Prevent IE 6 from affecting layout for positioned elements #11048 - // Prevent IE from shrinking the body in IE 7 mode #12869 - // Support: IE<8 - body.style.zoom = 1; - } - } - - body.removeChild( container ); -}); - - - - -(function() { - var div = document.createElement( "div" ); - - // Execute the test only if not already executed in another module. - if (support.deleteExpando == null) { - // Support: IE<9 - support.deleteExpando = true; - try { - delete div.test; - } catch( e ) { - support.deleteExpando = false; - } - } - - // Null elements to avoid leaks in IE. - div = null; -})(); - - -/** - * Determines whether an object can have data - */ -jQuery.acceptData = function( elem ) { - var noData = jQuery.noData[ (elem.nodeName + " ").toLowerCase() ], - nodeType = +elem.nodeType || 1; - - // Do not set data on non-element DOM nodes because it will not be cleared (#8335). - return nodeType !== 1 && nodeType !== 9 ? - false : - - // Nodes accept data unless otherwise specified; rejection can be conditional - !noData || noData !== true && elem.getAttribute("classid") === noData; -}; - - -var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, - rmultiDash = /([A-Z])/g; - -function dataAttr( elem, key, data ) { - // If nothing was found internally, try to fetch any - // data from the HTML5 data-* attribute - if ( data === undefined && elem.nodeType === 1 ) { - - var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); - - data = elem.getAttribute( name ); - - if ( typeof data === "string" ) { - try { - data = data === "true" ? true : - data === "false" ? false : - data === "null" ? null : - // Only convert to a number if it doesn't change the string - +data + "" === data ? +data : - rbrace.test( data ) ? jQuery.parseJSON( data ) : - data; - } catch( e ) {} - - // Make sure we set the data so it isn't changed later - jQuery.data( elem, key, data ); - - } else { - data = undefined; - } - } - - return data; -} - -// checks a cache object for emptiness -function isEmptyDataObject( obj ) { - var name; - for ( name in obj ) { - - // if the public data object is empty, the private is still empty - if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) { - continue; - } - if ( name !== "toJSON" ) { - return false; - } - } - - return true; -} - -function internalData( elem, name, data, pvt /* Internal Use Only */ ) { - if ( !jQuery.acceptData( elem ) ) { - return; - } - - var ret, thisCache, - internalKey = jQuery.expando, - - // We have to handle DOM nodes and JS objects differently because IE6-7 - // can't GC object references properly across the DOM-JS boundary - isNode = elem.nodeType, - - // Only DOM nodes need the global jQuery cache; JS object data is - // attached directly to the object so GC can occur automatically - cache = isNode ? jQuery.cache : elem, - - // Only defining an ID for JS objects if its cache already exists allows - // the code to shortcut on the same path as a DOM node with no cache - id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey; - - // Avoid doing any more work than we need to when trying to get data on an - // object that has no data at all - if ( (!id || !cache[id] || (!pvt && !cache[id].data)) && data === undefined && typeof name === "string" ) { - return; - } - - if ( !id ) { - // Only DOM nodes need a new unique ID for each element since their data - // ends up in the global cache - if ( isNode ) { - id = elem[ internalKey ] = deletedIds.pop() || jQuery.guid++; - } else { - id = internalKey; - } - } - - if ( !cache[ id ] ) { - // Avoid exposing jQuery metadata on plain JS objects when the object - // is serialized using JSON.stringify - cache[ id ] = isNode ? {} : { toJSON: jQuery.noop }; - } - - // An object can be passed to jQuery.data instead of a key/value pair; this gets - // shallow copied over onto the existing cache - if ( typeof name === "object" || typeof name === "function" ) { - if ( pvt ) { - cache[ id ] = jQuery.extend( cache[ id ], name ); - } else { - cache[ id ].data = jQuery.extend( cache[ id ].data, name ); - } - } - - thisCache = cache[ id ]; - - // jQuery data() is stored in a separate object inside the object's internal data - // cache in order to avoid key collisions between internal data and user-defined - // data. - if ( !pvt ) { - if ( !thisCache.data ) { - thisCache.data = {}; - } - - thisCache = thisCache.data; - } - - if ( data !== undefined ) { - thisCache[ jQuery.camelCase( name ) ] = data; - } - - // Check for both converted-to-camel and non-converted data property names - // If a data property was specified - if ( typeof name === "string" ) { - - // First Try to find as-is property data - ret = thisCache[ name ]; - - // Test for null|undefined property data - if ( ret == null ) { - - // Try to find the camelCased property - ret = thisCache[ jQuery.camelCase( name ) ]; - } - } else { - ret = thisCache; - } - - return ret; -} - -function internalRemoveData( elem, name, pvt ) { - if ( !jQuery.acceptData( elem ) ) { - return; - } - - var thisCache, i, - isNode = elem.nodeType, - - // See jQuery.data for more information - cache = isNode ? jQuery.cache : elem, - id = isNode ? elem[ jQuery.expando ] : jQuery.expando; - - // If there is already no cache entry for this object, there is no - // purpose in continuing - if ( !cache[ id ] ) { - return; - } - - if ( name ) { - - thisCache = pvt ? cache[ id ] : cache[ id ].data; - - if ( thisCache ) { - - // Support array or space separated string names for data keys - if ( !jQuery.isArray( name ) ) { - - // try the string as a key before any manipulation - if ( name in thisCache ) { - name = [ name ]; - } else { - - // split the camel cased version by spaces unless a key with the spaces exists - name = jQuery.camelCase( name ); - if ( name in thisCache ) { - name = [ name ]; - } else { - name = name.split(" "); - } - } - } else { - // If "name" is an array of keys... - // When data is initially created, via ("key", "val") signature, - // keys will be converted to camelCase. - // Since there is no way to tell _how_ a key was added, remove - // both plain key and camelCase key. #12786 - // This will only penalize the array argument path. - name = name.concat( jQuery.map( name, jQuery.camelCase ) ); - } - - i = name.length; - while ( i-- ) { - delete thisCache[ name[i] ]; - } - - // If there is no data left in the cache, we want to continue - // and let the cache object itself get destroyed - if ( pvt ? !isEmptyDataObject(thisCache) : !jQuery.isEmptyObject(thisCache) ) { - return; - } - } - } - - // See jQuery.data for more information - if ( !pvt ) { - delete cache[ id ].data; - - // Don't destroy the parent cache unless the internal data object - // had been the only thing left in it - if ( !isEmptyDataObject( cache[ id ] ) ) { - return; - } - } - - // Destroy the cache - if ( isNode ) { - jQuery.cleanData( [ elem ], true ); - - // Use delete when supported for expandos or `cache` is not a window per isWindow (#10080) - /* jshint eqeqeq: false */ - } else if ( support.deleteExpando || cache != cache.window ) { - /* jshint eqeqeq: true */ - delete cache[ id ]; - - // When all else fails, null - } else { - cache[ id ] = null; - } -} - -jQuery.extend({ - cache: {}, - - // The following elements (space-suffixed to avoid Object.prototype collisions) - // throw uncatchable exceptions if you attempt to set expando properties - noData: { - "applet ": true, - "embed ": true, - // ...but Flash objects (which have this classid) *can* handle expandos - "object ": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" - }, - - hasData: function( elem ) { - elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; - return !!elem && !isEmptyDataObject( elem ); - }, - - data: function( elem, name, data ) { - return internalData( elem, name, data ); - }, - - removeData: function( elem, name ) { - return internalRemoveData( elem, name ); - }, - - // For internal use only. - _data: function( elem, name, data ) { - return internalData( elem, name, data, true ); - }, - - _removeData: function( elem, name ) { - return internalRemoveData( elem, name, true ); - } -}); - -jQuery.fn.extend({ - data: function( key, value ) { - var i, name, data, - elem = this[0], - attrs = elem && elem.attributes; - - // Special expections of .data basically thwart jQuery.access, - // so implement the relevant behavior ourselves - - // Gets all values - if ( key === undefined ) { - if ( this.length ) { - data = jQuery.data( elem ); - - if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) { - i = attrs.length; - while ( i-- ) { - - // Support: IE11+ - // The attrs elements can be null (#14894) - if ( attrs[ i ] ) { - name = attrs[ i ].name; - if ( name.indexOf( "data-" ) === 0 ) { - name = jQuery.camelCase( name.slice(5) ); - dataAttr( elem, name, data[ name ] ); - } - } - } - jQuery._data( elem, "parsedAttrs", true ); - } - } - - return data; - } - - // Sets multiple values - if ( typeof key === "object" ) { - return this.each(function() { - jQuery.data( this, key ); - }); - } - - return arguments.length > 1 ? - - // Sets one value - this.each(function() { - jQuery.data( this, key, value ); - }) : - - // Gets one value - // Try to fetch any internally stored data first - elem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : undefined; - }, - - removeData: function( key ) { - return this.each(function() { - jQuery.removeData( this, key ); - }); - } -}); - - -jQuery.extend({ - queue: function( elem, type, data ) { - var queue; - - if ( elem ) { - type = ( type || "fx" ) + "queue"; - queue = jQuery._data( elem, type ); - - // Speed up dequeue by getting out quickly if this is just a lookup - if ( data ) { - if ( !queue || jQuery.isArray(data) ) { - queue = jQuery._data( elem, type, jQuery.makeArray(data) ); - } else { - queue.push( data ); - } - } - return queue || []; - } - }, - - dequeue: function( elem, type ) { - type = type || "fx"; - - var queue = jQuery.queue( elem, type ), - startLength = queue.length, - fn = queue.shift(), - hooks = jQuery._queueHooks( elem, type ), - next = function() { - jQuery.dequeue( elem, type ); - }; - - // If the fx queue is dequeued, always remove the progress sentinel - if ( fn === "inprogress" ) { - fn = queue.shift(); - startLength--; - } - - if ( fn ) { - - // Add a progress sentinel to prevent the fx queue from being - // automatically dequeued - if ( type === "fx" ) { - queue.unshift( "inprogress" ); - } - - // clear up the last queue stop function - delete hooks.stop; - fn.call( elem, next, hooks ); - } - - if ( !startLength && hooks ) { - hooks.empty.fire(); - } - }, - - // not intended for public consumption - generates a queueHooks object, or returns the current one - _queueHooks: function( elem, type ) { - var key = type + "queueHooks"; - return jQuery._data( elem, key ) || jQuery._data( elem, key, { - empty: jQuery.Callbacks("once memory").add(function() { - jQuery._removeData( elem, type + "queue" ); - jQuery._removeData( elem, key ); - }) - }); - } -}); - -jQuery.fn.extend({ - queue: function( type, data ) { - var setter = 2; - - if ( typeof type !== "string" ) { - data = type; - type = "fx"; - setter--; - } - - if ( arguments.length < setter ) { - return jQuery.queue( this[0], type ); - } - - return data === undefined ? - this : - this.each(function() { - var queue = jQuery.queue( this, type, data ); - - // ensure a hooks for this queue - jQuery._queueHooks( this, type ); - - if ( type === "fx" && queue[0] !== "inprogress" ) { - jQuery.dequeue( this, type ); - } - }); - }, - dequeue: function( type ) { - return this.each(function() { - jQuery.dequeue( this, type ); - }); - }, - clearQueue: function( type ) { - return this.queue( type || "fx", [] ); - }, - // Get a promise resolved when queues of a certain type - // are emptied (fx is the type by default) - promise: function( type, obj ) { - var tmp, - count = 1, - defer = jQuery.Deferred(), - elements = this, - i = this.length, - resolve = function() { - if ( !( --count ) ) { - defer.resolveWith( elements, [ elements ] ); - } - }; - - if ( typeof type !== "string" ) { - obj = type; - type = undefined; - } - type = type || "fx"; - - while ( i-- ) { - tmp = jQuery._data( elements[ i ], type + "queueHooks" ); - if ( tmp && tmp.empty ) { - count++; - tmp.empty.add( resolve ); - } - } - resolve(); - return defer.promise( obj ); - } -}); -var pnum = (/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source; - -var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; - -var isHidden = function( elem, el ) { - // isHidden might be called from jQuery#filter function; - // in that case, element will be second argument - elem = el || elem; - return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem ); - }; - - - -// Multifunctional method to get and set values of a collection -// The value/s can optionally be executed if it's a function -var access = jQuery.access = function( elems, fn, key, value, chainable, emptyGet, raw ) { - var i = 0, - length = elems.length, - bulk = key == null; - - // Sets many values - if ( jQuery.type( key ) === "object" ) { - chainable = true; - for ( i in key ) { - jQuery.access( elems, fn, i, key[i], true, emptyGet, raw ); - } - - // Sets one value - } else if ( value !== undefined ) { - chainable = true; - - if ( !jQuery.isFunction( value ) ) { - raw = true; - } - - if ( bulk ) { - // Bulk operations run against the entire set - if ( raw ) { - fn.call( elems, value ); - fn = null; - - // ...except when executing function values - } else { - bulk = fn; - fn = function( elem, key, value ) { - return bulk.call( jQuery( elem ), value ); - }; - } - } - - if ( fn ) { - for ( ; i < length; i++ ) { - fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) ); - } - } - } - - return chainable ? - elems : - - // Gets - bulk ? - fn.call( elems ) : - length ? fn( elems[0], key ) : emptyGet; -}; -var rcheckableType = (/^(?:checkbox|radio)$/i); - - - -(function() { - // Minified: var a,b,c - var input = document.createElement( "input" ), - div = document.createElement( "div" ), - fragment = document.createDocumentFragment(); - - // Setup - div.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>"; - - // IE strips leading whitespace when .innerHTML is used - support.leadingWhitespace = div.firstChild.nodeType === 3; - - // Make sure that tbody elements aren't automatically inserted - // IE will insert them into empty tables - support.tbody = !div.getElementsByTagName( "tbody" ).length; - - // Make sure that link elements get serialized correctly by innerHTML - // This requires a wrapper element in IE - support.htmlSerialize = !!div.getElementsByTagName( "link" ).length; - - // Makes sure cloning an html5 element does not cause problems - // Where outerHTML is undefined, this still works - support.html5Clone = - document.createElement( "nav" ).cloneNode( true ).outerHTML !== "<:nav></:nav>"; - - // Check if a disconnected checkbox will retain its checked - // value of true after appended to the DOM (IE6/7) - input.type = "checkbox"; - input.checked = true; - fragment.appendChild( input ); - support.appendChecked = input.checked; - - // Make sure textarea (and checkbox) defaultValue is properly cloned - // Support: IE6-IE11+ - div.innerHTML = "<textarea>x</textarea>"; - support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; - - // #11217 - WebKit loses check when the name is after the checked attribute - fragment.appendChild( div ); - div.innerHTML = "<input type='radio' checked='checked' name='t'/>"; - - // Support: Safari 5.1, iOS 5.1, Android 4.x, Android 2.3 - // old WebKit doesn't clone checked state correctly in fragments - support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; - - // Support: IE<9 - // Opera does not clone events (and typeof div.attachEvent === undefined). - // IE9-10 clones events bound via attachEvent, but they don't trigger with .click() - support.noCloneEvent = true; - if ( div.attachEvent ) { - div.attachEvent( "onclick", function() { - support.noCloneEvent = false; - }); - - div.cloneNode( true ).click(); - } - - // Execute the test only if not already executed in another module. - if (support.deleteExpando == null) { - // Support: IE<9 - support.deleteExpando = true; - try { - delete div.test; - } catch( e ) { - support.deleteExpando = false; - } - } -})(); - - -(function() { - var i, eventName, - div = document.createElement( "div" ); - - // Support: IE<9 (lack submit/change bubble), Firefox 23+ (lack focusin event) - for ( i in { submit: true, change: true, focusin: true }) { - eventName = "on" + i; - - if ( !(support[ i + "Bubbles" ] = eventName in window) ) { - // Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP) - div.setAttribute( eventName, "t" ); - support[ i + "Bubbles" ] = div.attributes[ eventName ].expando === false; - } - } - - // Null elements to avoid leaks in IE. - div = null; -})(); - - -var rformElems = /^(?:input|select|textarea)$/i, - rkeyEvent = /^key/, - rmouseEvent = /^(?:mouse|pointer|contextmenu)|click/, - rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, - rtypenamespace = /^([^.]*)(?:\.(.+)|)$/; - -function returnTrue() { - return true; -} - -function returnFalse() { - return false; -} - -function safeActiveElement() { - try { - return document.activeElement; - } catch ( err ) { } -} - -/* - * Helper functions for managing events -- not part of the public interface. - * Props to Dean Edwards' addEvent library for many of the ideas. - */ -jQuery.event = { - - global: {}, - - add: function( elem, types, handler, data, selector ) { - var tmp, events, t, handleObjIn, - special, eventHandle, handleObj, - handlers, type, namespaces, origType, - elemData = jQuery._data( elem ); - - // Don't attach events to noData or text/comment nodes (but allow plain objects) - if ( !elemData ) { - return; - } - - // Caller can pass in an object of custom data in lieu of the handler - if ( handler.handler ) { - handleObjIn = handler; - handler = handleObjIn.handler; - selector = handleObjIn.selector; - } - - // Make sure that the handler has a unique ID, used to find/remove it later - if ( !handler.guid ) { - handler.guid = jQuery.guid++; - } - - // Init the element's event structure and main handler, if this is the first - if ( !(events = elemData.events) ) { - events = elemData.events = {}; - } - if ( !(eventHandle = elemData.handle) ) { - eventHandle = elemData.handle = function( e ) { - // Discard the second event of a jQuery.event.trigger() and - // when an event is called after a page has unloaded - return typeof jQuery !== strundefined && (!e || jQuery.event.triggered !== e.type) ? - jQuery.event.dispatch.apply( eventHandle.elem, arguments ) : - undefined; - }; - // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events - eventHandle.elem = elem; - } - - // Handle multiple events separated by a space - types = ( types || "" ).match( rnotwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[t] ) || []; - type = origType = tmp[1]; - namespaces = ( tmp[2] || "" ).split( "." ).sort(); - - // There *must* be a type, no attaching namespace-only handlers - if ( !type ) { - continue; - } - - // If event changes its type, use the special event handlers for the changed type - special = jQuery.event.special[ type ] || {}; - - // If selector defined, determine special event api type, otherwise given type - type = ( selector ? special.delegateType : special.bindType ) || type; - - // Update special based on newly reset type - special = jQuery.event.special[ type ] || {}; - - // handleObj is passed to all event handlers - handleObj = jQuery.extend({ - type: type, - origType: origType, - data: data, - handler: handler, - guid: handler.guid, - selector: selector, - needsContext: selector && jQuery.expr.match.needsContext.test( selector ), - namespace: namespaces.join(".") - }, handleObjIn ); - - // Init the event handler queue if we're the first - if ( !(handlers = events[ type ]) ) { - handlers = events[ type ] = []; - handlers.delegateCount = 0; - - // Only use addEventListener/attachEvent if the special events handler returns false - if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { - // Bind the global event handler to the element - if ( elem.addEventListener ) { - elem.addEventListener( type, eventHandle, false ); - - } else if ( elem.attachEvent ) { - elem.attachEvent( "on" + type, eventHandle ); - } - } - } - - if ( special.add ) { - special.add.call( elem, handleObj ); - - if ( !handleObj.handler.guid ) { - handleObj.handler.guid = handler.guid; - } - } - - // Add to the element's handler list, delegates in front - if ( selector ) { - handlers.splice( handlers.delegateCount++, 0, handleObj ); - } else { - handlers.push( handleObj ); - } - - // Keep track of which events have ever been used, for event optimization - jQuery.event.global[ type ] = true; - } - - // Nullify elem to prevent memory leaks in IE - elem = null; - }, - - // Detach an event or set of events from an element - remove: function( elem, types, handler, selector, mappedTypes ) { - var j, handleObj, tmp, - origCount, t, events, - special, handlers, type, - namespaces, origType, - elemData = jQuery.hasData( elem ) && jQuery._data( elem ); - - if ( !elemData || !(events = elemData.events) ) { - return; - } - - // Once for each type.namespace in types; type may be omitted - types = ( types || "" ).match( rnotwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[t] ) || []; - type = origType = tmp[1]; - namespaces = ( tmp[2] || "" ).split( "." ).sort(); - - // Unbind all events (on this namespace, if provided) for the element - if ( !type ) { - for ( type in events ) { - jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); - } - continue; - } - - special = jQuery.event.special[ type ] || {}; - type = ( selector ? special.delegateType : special.bindType ) || type; - handlers = events[ type ] || []; - tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ); - - // Remove matching events - origCount = j = handlers.length; - while ( j-- ) { - handleObj = handlers[ j ]; - - if ( ( mappedTypes || origType === handleObj.origType ) && - ( !handler || handler.guid === handleObj.guid ) && - ( !tmp || tmp.test( handleObj.namespace ) ) && - ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { - handlers.splice( j, 1 ); - - if ( handleObj.selector ) { - handlers.delegateCount--; - } - if ( special.remove ) { - special.remove.call( elem, handleObj ); - } - } - } - - // Remove generic event handler if we removed something and no more handlers exist - // (avoids potential for endless recursion during removal of special event handlers) - if ( origCount && !handlers.length ) { - if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) { - jQuery.removeEvent( elem, type, elemData.handle ); - } - - delete events[ type ]; - } - } - - // Remove the expando if it's no longer used - if ( jQuery.isEmptyObject( events ) ) { - delete elemData.handle; - - // removeData also checks for emptiness and clears the expando if empty - // so use it instead of delete - jQuery._removeData( elem, "events" ); - } - }, - - trigger: function( event, data, elem, onlyHandlers ) { - var handle, ontype, cur, - bubbleType, special, tmp, i, - eventPath = [ elem || document ], - type = hasOwn.call( event, "type" ) ? event.type : event, - namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : []; - - cur = tmp = elem = elem || document; - - // Don't do events on text and comment nodes - if ( elem.nodeType === 3 || elem.nodeType === 8 ) { - return; - } - - // focus/blur morphs to focusin/out; ensure we're not firing them right now - if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { - return; - } - - if ( type.indexOf(".") >= 0 ) { - // Namespaced trigger; create a regexp to match event type in handle() - namespaces = type.split("."); - type = namespaces.shift(); - namespaces.sort(); - } - ontype = type.indexOf(":") < 0 && "on" + type; - - // Caller can pass in a jQuery.Event object, Object, or just an event type string - event = event[ jQuery.expando ] ? - event : - new jQuery.Event( type, typeof event === "object" && event ); - - // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) - event.isTrigger = onlyHandlers ? 2 : 3; - event.namespace = namespaces.join("."); - event.namespace_re = event.namespace ? - new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) : - null; - - // Clean up the event in case it is being reused - event.result = undefined; - if ( !event.target ) { - event.target = elem; - } - - // Clone any incoming data and prepend the event, creating the handler arg list - data = data == null ? - [ event ] : - jQuery.makeArray( data, [ event ] ); - - // Allow special events to draw outside the lines - special = jQuery.event.special[ type ] || {}; - if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { - return; - } - - // Determine event propagation path in advance, per W3C events spec (#9951) - // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) - if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { - - bubbleType = special.delegateType || type; - if ( !rfocusMorph.test( bubbleType + type ) ) { - cur = cur.parentNode; - } - for ( ; cur; cur = cur.parentNode ) { - eventPath.push( cur ); - tmp = cur; - } - - // Only add window if we got to document (e.g., not plain obj or detached DOM) - if ( tmp === (elem.ownerDocument || document) ) { - eventPath.push( tmp.defaultView || tmp.parentWindow || window ); - } - } - - // Fire handlers on the event path - i = 0; - while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) { - - event.type = i > 1 ? - bubbleType : - special.bindType || type; - - // jQuery handler - handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" ); - if ( handle ) { - handle.apply( cur, data ); - } - - // Native handler - handle = ontype && cur[ ontype ]; - if ( handle && handle.apply && jQuery.acceptData( cur ) ) { - event.result = handle.apply( cur, data ); - if ( event.result === false ) { - event.preventDefault(); - } - } - } - event.type = type; - - // If nobody prevented the default action, do it now - if ( !onlyHandlers && !event.isDefaultPrevented() ) { - - if ( (!special._default || special._default.apply( eventPath.pop(), data ) === false) && - jQuery.acceptData( elem ) ) { - - // Call a native DOM method on the target with the same name name as the event. - // Can't use an .isFunction() check here because IE6/7 fails that test. - // Don't do default actions on window, that's where global variables be (#6170) - if ( ontype && elem[ type ] && !jQuery.isWindow( elem ) ) { - - // Don't re-trigger an onFOO event when we call its FOO() method - tmp = elem[ ontype ]; - - if ( tmp ) { - elem[ ontype ] = null; - } - - // Prevent re-triggering of the same event, since we already bubbled it above - jQuery.event.triggered = type; - try { - elem[ type ](); - } catch ( e ) { - // IE<9 dies on focus/blur to hidden element (#1486,#12518) - // only reproducible on winXP IE8 native, not IE9 in IE8 mode - } - jQuery.event.triggered = undefined; - - if ( tmp ) { - elem[ ontype ] = tmp; - } - } - } - } - - return event.result; - }, - - dispatch: function( event ) { - - // Make a writable jQuery.Event from the native event object - event = jQuery.event.fix( event ); - - var i, ret, handleObj, matched, j, - handlerQueue = [], - args = slice.call( arguments ), - handlers = ( jQuery._data( this, "events" ) || {} )[ event.type ] || [], - special = jQuery.event.special[ event.type ] || {}; - - // Use the fix-ed jQuery.Event rather than the (read-only) native event - args[0] = event; - event.delegateTarget = this; - - // Call the preDispatch hook for the mapped type, and let it bail if desired - if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { - return; - } - - // Determine handlers - handlerQueue = jQuery.event.handlers.call( this, event, handlers ); - - // Run delegates first; they may want to stop propagation beneath us - i = 0; - while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) { - event.currentTarget = matched.elem; - - j = 0; - while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) { - - // Triggered event must either 1) have no namespace, or - // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace). - if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) { - - event.handleObj = handleObj; - event.data = handleObj.data; - - ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler ) - .apply( matched.elem, args ); - - if ( ret !== undefined ) { - if ( (event.result = ret) === false ) { - event.preventDefault(); - event.stopPropagation(); - } - } - } - } - } - - // Call the postDispatch hook for the mapped type - if ( special.postDispatch ) { - special.postDispatch.call( this, event ); - } - - return event.result; - }, - - handlers: function( event, handlers ) { - var sel, handleObj, matches, i, - handlerQueue = [], - delegateCount = handlers.delegateCount, - cur = event.target; - - // Find delegate handlers - // Black-hole SVG <use> instance trees (#13180) - // Avoid non-left-click bubbling in Firefox (#3861) - if ( delegateCount && cur.nodeType && (!event.button || event.type !== "click") ) { - - /* jshint eqeqeq: false */ - for ( ; cur != this; cur = cur.parentNode || this ) { - /* jshint eqeqeq: true */ - - // Don't check non-elements (#13208) - // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) - if ( cur.nodeType === 1 && (cur.disabled !== true || event.type !== "click") ) { - matches = []; - for ( i = 0; i < delegateCount; i++ ) { - handleObj = handlers[ i ]; - - // Don't conflict with Object.prototype properties (#13203) - sel = handleObj.selector + " "; - - if ( matches[ sel ] === undefined ) { - matches[ sel ] = handleObj.needsContext ? - jQuery( sel, this ).index( cur ) >= 0 : - jQuery.find( sel, this, null, [ cur ] ).length; - } - if ( matches[ sel ] ) { - matches.push( handleObj ); - } - } - if ( matches.length ) { - handlerQueue.push({ elem: cur, handlers: matches }); - } - } - } - } - - // Add the remaining (directly-bound) handlers - if ( delegateCount < handlers.length ) { - handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) }); - } - - return handlerQueue; - }, - - fix: function( event ) { - if ( event[ jQuery.expando ] ) { - return event; - } - - // Create a writable copy of the event object and normalize some properties - var i, prop, copy, - type = event.type, - originalEvent = event, - fixHook = this.fixHooks[ type ]; - - if ( !fixHook ) { - this.fixHooks[ type ] = fixHook = - rmouseEvent.test( type ) ? this.mouseHooks : - rkeyEvent.test( type ) ? this.keyHooks : - {}; - } - copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; - - event = new jQuery.Event( originalEvent ); - - i = copy.length; - while ( i-- ) { - prop = copy[ i ]; - event[ prop ] = originalEvent[ prop ]; - } - - // Support: IE<9 - // Fix target property (#1925) - if ( !event.target ) { - event.target = originalEvent.srcElement || document; - } - - // Support: Chrome 23+, Safari? - // Target should not be a text node (#504, #13143) - if ( event.target.nodeType === 3 ) { - event.target = event.target.parentNode; - } - - // Support: IE<9 - // For mouse/key events, metaKey==false if it's undefined (#3368, #11328) - event.metaKey = !!event.metaKey; - - return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; - }, - - // Includes some event props shared by KeyEvent and MouseEvent - props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), - - fixHooks: {}, - - keyHooks: { - props: "char charCode key keyCode".split(" "), - filter: function( event, original ) { - - // Add which for key events - if ( event.which == null ) { - event.which = original.charCode != null ? original.charCode : original.keyCode; - } - - return event; - } - }, - - mouseHooks: { - props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), - filter: function( event, original ) { - var body, eventDoc, doc, - button = original.button, - fromElement = original.fromElement; - - // Calculate pageX/Y if missing and clientX/Y available - if ( event.pageX == null && original.clientX != null ) { - eventDoc = event.target.ownerDocument || document; - doc = eventDoc.documentElement; - body = eventDoc.body; - - event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); - event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); - } - - // Add relatedTarget, if necessary - if ( !event.relatedTarget && fromElement ) { - event.relatedTarget = fromElement === event.target ? original.toElement : fromElement; - } - - // Add which for click: 1 === left; 2 === middle; 3 === right - // Note: button is not normalized, so don't use it - if ( !event.which && button !== undefined ) { - event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); - } - - return event; - } - }, - - special: { - load: { - // Prevent triggered image.load events from bubbling to window.load - noBubble: true - }, - focus: { - // Fire native event if possible so blur/focus sequence is correct - trigger: function() { - if ( this !== safeActiveElement() && this.focus ) { - try { - this.focus(); - return false; - } catch ( e ) { - // Support: IE<9 - // If we error on focus to hidden element (#1486, #12518), - // let .trigger() run the handlers - } - } - }, - delegateType: "focusin" - }, - blur: { - trigger: function() { - if ( this === safeActiveElement() && this.blur ) { - this.blur(); - return false; - } - }, - delegateType: "focusout" - }, - click: { - // For checkbox, fire native event so checked state will be right - trigger: function() { - if ( jQuery.nodeName( this, "input" ) && this.type === "checkbox" && this.click ) { - this.click(); - return false; - } - }, - - // For cross-browser consistency, don't fire native .click() on links - _default: function( event ) { - return jQuery.nodeName( event.target, "a" ); - } - }, - - beforeunload: { - postDispatch: function( event ) { - - // Support: Firefox 20+ - // Firefox doesn't alert if the returnValue field is not set. - if ( event.result !== undefined && event.originalEvent ) { - event.originalEvent.returnValue = event.result; - } - } - } - }, - - simulate: function( type, elem, event, bubble ) { - // Piggyback on a donor event to simulate a different one. - // Fake originalEvent to avoid donor's stopPropagation, but if the - // simulated event prevents default then we do the same on the donor. - var e = jQuery.extend( - new jQuery.Event(), - event, - { - type: type, - isSimulated: true, - originalEvent: {} - } - ); - if ( bubble ) { - jQuery.event.trigger( e, null, elem ); - } else { - jQuery.event.dispatch.call( elem, e ); - } - if ( e.isDefaultPrevented() ) { - event.preventDefault(); - } - } -}; - -jQuery.removeEvent = document.removeEventListener ? - function( elem, type, handle ) { - if ( elem.removeEventListener ) { - elem.removeEventListener( type, handle, false ); - } - } : - function( elem, type, handle ) { - var name = "on" + type; - - if ( elem.detachEvent ) { - - // #8545, #7054, preventing memory leaks for custom events in IE6-8 - // detachEvent needed property on element, by name of that event, to properly expose it to GC - if ( typeof elem[ name ] === strundefined ) { - elem[ name ] = null; - } - - elem.detachEvent( name, handle ); - } - }; - -jQuery.Event = function( src, props ) { - // Allow instantiation without the 'new' keyword - if ( !(this instanceof jQuery.Event) ) { - return new jQuery.Event( src, props ); - } - - // Event object - if ( src && src.type ) { - this.originalEvent = src; - this.type = src.type; - - // Events bubbling up the document may have been marked as prevented - // by a handler lower down the tree; reflect the correct value. - this.isDefaultPrevented = src.defaultPrevented || - src.defaultPrevented === undefined && - // Support: IE < 9, Android < 4.0 - src.returnValue === false ? - returnTrue : - returnFalse; - - // Event type - } else { - this.type = src; - } - - // Put explicitly provided properties onto the event object - if ( props ) { - jQuery.extend( this, props ); - } - - // Create a timestamp if incoming event doesn't have one - this.timeStamp = src && src.timeStamp || jQuery.now(); - - // Mark it as fixed - this[ jQuery.expando ] = true; -}; - -// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding -// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html -jQuery.Event.prototype = { - isDefaultPrevented: returnFalse, - isPropagationStopped: returnFalse, - isImmediatePropagationStopped: returnFalse, - - preventDefault: function() { - var e = this.originalEvent; - - this.isDefaultPrevented = returnTrue; - if ( !e ) { - return; - } - - // If preventDefault exists, run it on the original event - if ( e.preventDefault ) { - e.preventDefault(); - - // Support: IE - // Otherwise set the returnValue property of the original event to false - } else { - e.returnValue = false; - } - }, - stopPropagation: function() { - var e = this.originalEvent; - - this.isPropagationStopped = returnTrue; - if ( !e ) { - return; - } - // If stopPropagation exists, run it on the original event - if ( e.stopPropagation ) { - e.stopPropagation(); - } - - // Support: IE - // Set the cancelBubble property of the original event to true - e.cancelBubble = true; - }, - stopImmediatePropagation: function() { - var e = this.originalEvent; - - this.isImmediatePropagationStopped = returnTrue; - - if ( e && e.stopImmediatePropagation ) { - e.stopImmediatePropagation(); - } - - this.stopPropagation(); - } -}; - -// Create mouseenter/leave events using mouseover/out and event-time checks -jQuery.each({ - mouseenter: "mouseover", - mouseleave: "mouseout", - pointerenter: "pointerover", - pointerleave: "pointerout" -}, function( orig, fix ) { - jQuery.event.special[ orig ] = { - delegateType: fix, - bindType: fix, - - handle: function( event ) { - var ret, - target = this, - related = event.relatedTarget, - handleObj = event.handleObj; - - // For mousenter/leave call the handler if related is outside the target. - // NB: No relatedTarget if the mouse left/entered the browser window - if ( !related || (related !== target && !jQuery.contains( target, related )) ) { - event.type = handleObj.origType; - ret = handleObj.handler.apply( this, arguments ); - event.type = fix; - } - return ret; - } - }; -}); - -// IE submit delegation -if ( !support.submitBubbles ) { - - jQuery.event.special.submit = { - setup: function() { - // Only need this for delegated form submit events - if ( jQuery.nodeName( this, "form" ) ) { - return false; - } - - // Lazy-add a submit handler when a descendant form may potentially be submitted - jQuery.event.add( this, "click._submit keypress._submit", function( e ) { - // Node name check avoids a VML-related crash in IE (#9807) - var elem = e.target, - form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined; - if ( form && !jQuery._data( form, "submitBubbles" ) ) { - jQuery.event.add( form, "submit._submit", function( event ) { - event._submit_bubble = true; - }); - jQuery._data( form, "submitBubbles", true ); - } - }); - // return undefined since we don't need an event listener - }, - - postDispatch: function( event ) { - // If form was submitted by the user, bubble the event up the tree - if ( event._submit_bubble ) { - delete event._submit_bubble; - if ( this.parentNode && !event.isTrigger ) { - jQuery.event.simulate( "submit", this.parentNode, event, true ); - } - } - }, - - teardown: function() { - // Only need this for delegated form submit events - if ( jQuery.nodeName( this, "form" ) ) { - return false; - } - - // Remove delegated handlers; cleanData eventually reaps submit handlers attached above - jQuery.event.remove( this, "._submit" ); - } - }; -} - -// IE change delegation and checkbox/radio fix -if ( !support.changeBubbles ) { - - jQuery.event.special.change = { - - setup: function() { - - if ( rformElems.test( this.nodeName ) ) { - // IE doesn't fire change on a check/radio until blur; trigger it on click - // after a propertychange. Eat the blur-change in special.change.handle. - // This still fires onchange a second time for check/radio after blur. - if ( this.type === "checkbox" || this.type === "radio" ) { - jQuery.event.add( this, "propertychange._change", function( event ) { - if ( event.originalEvent.propertyName === "checked" ) { - this._just_changed = true; - } - }); - jQuery.event.add( this, "click._change", function( event ) { - if ( this._just_changed && !event.isTrigger ) { - this._just_changed = false; - } - // Allow triggered, simulated change events (#11500) - jQuery.event.simulate( "change", this, event, true ); - }); - } - return false; - } - // Delegated event; lazy-add a change handler on descendant inputs - jQuery.event.add( this, "beforeactivate._change", function( e ) { - var elem = e.target; - - if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "changeBubbles" ) ) { - jQuery.event.add( elem, "change._change", function( event ) { - if ( this.parentNode && !event.isSimulated && !event.isTrigger ) { - jQuery.event.simulate( "change", this.parentNode, event, true ); - } - }); - jQuery._data( elem, "changeBubbles", true ); - } - }); - }, - - handle: function( event ) { - var elem = event.target; - - // Swallow native change events from checkbox/radio, we already triggered them above - if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) { - return event.handleObj.handler.apply( this, arguments ); - } - }, - - teardown: function() { - jQuery.event.remove( this, "._change" ); - - return !rformElems.test( this.nodeName ); - } - }; -} - -// Create "bubbling" focus and blur events -if ( !support.focusinBubbles ) { - jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { - - // Attach a single capturing handler on the document while someone wants focusin/focusout - var handler = function( event ) { - jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); - }; - - jQuery.event.special[ fix ] = { - setup: function() { - var doc = this.ownerDocument || this, - attaches = jQuery._data( doc, fix ); - - if ( !attaches ) { - doc.addEventListener( orig, handler, true ); - } - jQuery._data( doc, fix, ( attaches || 0 ) + 1 ); - }, - teardown: function() { - var doc = this.ownerDocument || this, - attaches = jQuery._data( doc, fix ) - 1; - - if ( !attaches ) { - doc.removeEventListener( orig, handler, true ); - jQuery._removeData( doc, fix ); - } else { - jQuery._data( doc, fix, attaches ); - } - } - }; - }); -} - -jQuery.fn.extend({ - - on: function( types, selector, data, fn, /*INTERNAL*/ one ) { - var type, origFn; - - // Types can be a map of types/handlers - if ( typeof types === "object" ) { - // ( types-Object, selector, data ) - if ( typeof selector !== "string" ) { - // ( types-Object, data ) - data = data || selector; - selector = undefined; - } - for ( type in types ) { - this.on( type, selector, data, types[ type ], one ); - } - return this; - } - - if ( data == null && fn == null ) { - // ( types, fn ) - fn = selector; - data = selector = undefined; - } else if ( fn == null ) { - if ( typeof selector === "string" ) { - // ( types, selector, fn ) - fn = data; - data = undefined; - } else { - // ( types, data, fn ) - fn = data; - data = selector; - selector = undefined; - } - } - if ( fn === false ) { - fn = returnFalse; - } else if ( !fn ) { - return this; - } - - if ( one === 1 ) { - origFn = fn; - fn = function( event ) { - // Can use an empty set, since event contains the info - jQuery().off( event ); - return origFn.apply( this, arguments ); - }; - // Use same guid so caller can remove using origFn - fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); - } - return this.each( function() { - jQuery.event.add( this, types, fn, data, selector ); - }); - }, - one: function( types, selector, data, fn ) { - return this.on( types, selector, data, fn, 1 ); - }, - off: function( types, selector, fn ) { - var handleObj, type; - if ( types && types.preventDefault && types.handleObj ) { - // ( event ) dispatched jQuery.Event - handleObj = types.handleObj; - jQuery( types.delegateTarget ).off( - handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, - handleObj.selector, - handleObj.handler - ); - return this; - } - if ( typeof types === "object" ) { - // ( types-object [, selector] ) - for ( type in types ) { - this.off( type, selector, types[ type ] ); - } - return this; - } - if ( selector === false || typeof selector === "function" ) { - // ( types [, fn] ) - fn = selector; - selector = undefined; - } - if ( fn === false ) { - fn = returnFalse; - } - return this.each(function() { - jQuery.event.remove( this, types, fn, selector ); - }); - }, - - trigger: function( type, data ) { - return this.each(function() { - jQuery.event.trigger( type, data, this ); - }); - }, - triggerHandler: function( type, data ) { - var elem = this[0]; - if ( elem ) { - return jQuery.event.trigger( type, data, elem, true ); - } - } -}); - - -function createSafeFragment( document ) { - var list = nodeNames.split( "|" ), - safeFrag = document.createDocumentFragment(); - - if ( safeFrag.createElement ) { - while ( list.length ) { - safeFrag.createElement( - list.pop() - ); - } - } - return safeFrag; -} - -var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" + - "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", - rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g, - rnoshimcache = new RegExp("<(?:" + nodeNames + ")[\\s/>]", "i"), - rleadingWhitespace = /^\s+/, - rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, - rtagName = /<([\w:]+)/, - rtbody = /<tbody/i, - rhtml = /<|&#?\w+;/, - rnoInnerhtml = /<(?:script|style|link)/i, - // checked="checked" or checked - rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, - rscriptType = /^$|\/(?:java|ecma)script/i, - rscriptTypeMasked = /^true\/(.*)/, - rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g, - - // We have to close these tags to support XHTML (#13200) - wrapMap = { - option: [ 1, "<select multiple='multiple'>", "</select>" ], - legend: [ 1, "<fieldset>", "</fieldset>" ], - area: [ 1, "<map>", "</map>" ], - param: [ 1, "<object>", "</object>" ], - thead: [ 1, "<table>", "</table>" ], - tr: [ 2, "<table><tbody>", "</tbody></table>" ], - col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ], - td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], - - // IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags, - // unless wrapped in a div with non-breaking characters in front of it. - _default: support.htmlSerialize ? [ 0, "", "" ] : [ 1, "X<div>", "</div>" ] - }, - safeFragment = createSafeFragment( document ), - fragmentDiv = safeFragment.appendChild( document.createElement("div") ); - -wrapMap.optgroup = wrapMap.option; -wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; -wrapMap.th = wrapMap.td; - -function getAll( context, tag ) { - var elems, elem, - i = 0, - found = typeof context.getElementsByTagName !== strundefined ? context.getElementsByTagName( tag || "*" ) : - typeof context.querySelectorAll !== strundefined ? context.querySelectorAll( tag || "*" ) : - undefined; - - if ( !found ) { - for ( found = [], elems = context.childNodes || context; (elem = elems[i]) != null; i++ ) { - if ( !tag || jQuery.nodeName( elem, tag ) ) { - found.push( elem ); - } else { - jQuery.merge( found, getAll( elem, tag ) ); - } - } - } - - return tag === undefined || tag && jQuery.nodeName( context, tag ) ? - jQuery.merge( [ context ], found ) : - found; -} - -// Used in buildFragment, fixes the defaultChecked property -function fixDefaultChecked( elem ) { - if ( rcheckableType.test( elem.type ) ) { - elem.defaultChecked = elem.checked; - } -} - -// Support: IE<8 -// Manipulating tables requires a tbody -function manipulationTarget( elem, content ) { - return jQuery.nodeName( elem, "table" ) && - jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ? - - elem.getElementsByTagName("tbody")[0] || - elem.appendChild( elem.ownerDocument.createElement("tbody") ) : - elem; -} - -// Replace/restore the type attribute of script elements for safe DOM manipulation -function disableScript( elem ) { - elem.type = (jQuery.find.attr( elem, "type" ) !== null) + "/" + elem.type; - return elem; -} -function restoreScript( elem ) { - var match = rscriptTypeMasked.exec( elem.type ); - if ( match ) { - elem.type = match[1]; - } else { - elem.removeAttribute("type"); - } - return elem; -} - -// Mark scripts as having already been evaluated -function setGlobalEval( elems, refElements ) { - var elem, - i = 0; - for ( ; (elem = elems[i]) != null; i++ ) { - jQuery._data( elem, "globalEval", !refElements || jQuery._data( refElements[i], "globalEval" ) ); - } -} - -function cloneCopyEvent( src, dest ) { - - if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) { - return; - } - - var type, i, l, - oldData = jQuery._data( src ), - curData = jQuery._data( dest, oldData ), - events = oldData.events; - - if ( events ) { - delete curData.handle; - curData.events = {}; - - for ( type in events ) { - for ( i = 0, l = events[ type ].length; i < l; i++ ) { - jQuery.event.add( dest, type, events[ type ][ i ] ); - } - } - } - - // make the cloned public data object a copy from the original - if ( curData.data ) { - curData.data = jQuery.extend( {}, curData.data ); - } -} - -function fixCloneNodeIssues( src, dest ) { - var nodeName, e, data; - - // We do not need to do anything for non-Elements - if ( dest.nodeType !== 1 ) { - return; - } - - nodeName = dest.nodeName.toLowerCase(); - - // IE6-8 copies events bound via attachEvent when using cloneNode. - if ( !support.noCloneEvent && dest[ jQuery.expando ] ) { - data = jQuery._data( dest ); - - for ( e in data.events ) { - jQuery.removeEvent( dest, e, data.handle ); - } - - // Event data gets referenced instead of copied if the expando gets copied too - dest.removeAttribute( jQuery.expando ); - } - - // IE blanks contents when cloning scripts, and tries to evaluate newly-set text - if ( nodeName === "script" && dest.text !== src.text ) { - disableScript( dest ).text = src.text; - restoreScript( dest ); - - // IE6-10 improperly clones children of object elements using classid. - // IE10 throws NoModificationAllowedError if parent is null, #12132. - } else if ( nodeName === "object" ) { - if ( dest.parentNode ) { - dest.outerHTML = src.outerHTML; - } - - // This path appears unavoidable for IE9. When cloning an object - // element in IE9, the outerHTML strategy above is not sufficient. - // If the src has innerHTML and the destination does not, - // copy the src.innerHTML into the dest.innerHTML. #10324 - if ( support.html5Clone && ( src.innerHTML && !jQuery.trim(dest.innerHTML) ) ) { - dest.innerHTML = src.innerHTML; - } - - } else if ( nodeName === "input" && rcheckableType.test( src.type ) ) { - // IE6-8 fails to persist the checked state of a cloned checkbox - // or radio button. Worse, IE6-7 fail to give the cloned element - // a checked appearance if the defaultChecked value isn't also set - - dest.defaultChecked = dest.checked = src.checked; - - // IE6-7 get confused and end up setting the value of a cloned - // checkbox/radio button to an empty string instead of "on" - if ( dest.value !== src.value ) { - dest.value = src.value; - } - - // IE6-8 fails to return the selected option to the default selected - // state when cloning options - } else if ( nodeName === "option" ) { - dest.defaultSelected = dest.selected = src.defaultSelected; - - // IE6-8 fails to set the defaultValue to the correct value when - // cloning other types of input fields - } else if ( nodeName === "input" || nodeName === "textarea" ) { - dest.defaultValue = src.defaultValue; - } -} - -jQuery.extend({ - clone: function( elem, dataAndEvents, deepDataAndEvents ) { - var destElements, node, clone, i, srcElements, - inPage = jQuery.contains( elem.ownerDocument, elem ); - - if ( support.html5Clone || jQuery.isXMLDoc(elem) || !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) { - clone = elem.cloneNode( true ); - - // IE<=8 does not properly clone detached, unknown element nodes - } else { - fragmentDiv.innerHTML = elem.outerHTML; - fragmentDiv.removeChild( clone = fragmentDiv.firstChild ); - } - - if ( (!support.noCloneEvent || !support.noCloneChecked) && - (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) { - - // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 - destElements = getAll( clone ); - srcElements = getAll( elem ); - - // Fix all IE cloning issues - for ( i = 0; (node = srcElements[i]) != null; ++i ) { - // Ensure that the destination node is not null; Fixes #9587 - if ( destElements[i] ) { - fixCloneNodeIssues( node, destElements[i] ); - } - } - } - - // Copy the events from the original to the clone - if ( dataAndEvents ) { - if ( deepDataAndEvents ) { - srcElements = srcElements || getAll( elem ); - destElements = destElements || getAll( clone ); - - for ( i = 0; (node = srcElements[i]) != null; i++ ) { - cloneCopyEvent( node, destElements[i] ); - } - } else { - cloneCopyEvent( elem, clone ); - } - } - - // Preserve script evaluation history - destElements = getAll( clone, "script" ); - if ( destElements.length > 0 ) { - setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); - } - - destElements = srcElements = node = null; - - // Return the cloned set - return clone; - }, - - buildFragment: function( elems, context, scripts, selection ) { - var j, elem, contains, - tmp, tag, tbody, wrap, - l = elems.length, - - // Ensure a safe fragment - safe = createSafeFragment( context ), - - nodes = [], - i = 0; - - for ( ; i < l; i++ ) { - elem = elems[ i ]; - - if ( elem || elem === 0 ) { - - // Add nodes directly - if ( jQuery.type( elem ) === "object" ) { - jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); - - // Convert non-html into a text node - } else if ( !rhtml.test( elem ) ) { - nodes.push( context.createTextNode( elem ) ); - - // Convert html into DOM nodes - } else { - tmp = tmp || safe.appendChild( context.createElement("div") ); - - // Deserialize a standard representation - tag = (rtagName.exec( elem ) || [ "", "" ])[ 1 ].toLowerCase(); - wrap = wrapMap[ tag ] || wrapMap._default; - - tmp.innerHTML = wrap[1] + elem.replace( rxhtmlTag, "<$1></$2>" ) + wrap[2]; - - // Descend through wrappers to the right content - j = wrap[0]; - while ( j-- ) { - tmp = tmp.lastChild; - } - - // Manually add leading whitespace removed by IE - if ( !support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { - nodes.push( context.createTextNode( rleadingWhitespace.exec( elem )[0] ) ); - } - - // Remove IE's autoinserted <tbody> from table fragments - if ( !support.tbody ) { - - // String was a <table>, *may* have spurious <tbody> - elem = tag === "table" && !rtbody.test( elem ) ? - tmp.firstChild : - - // String was a bare <thead> or <tfoot> - wrap[1] === "<table>" && !rtbody.test( elem ) ? - tmp : - 0; - - j = elem && elem.childNodes.length; - while ( j-- ) { - if ( jQuery.nodeName( (tbody = elem.childNodes[j]), "tbody" ) && !tbody.childNodes.length ) { - elem.removeChild( tbody ); - } - } - } - - jQuery.merge( nodes, tmp.childNodes ); - - // Fix #12392 for WebKit and IE > 9 - tmp.textContent = ""; - - // Fix #12392 for oldIE - while ( tmp.firstChild ) { - tmp.removeChild( tmp.firstChild ); - } - - // Remember the top-level container for proper cleanup - tmp = safe.lastChild; - } - } - } - - // Fix #11356: Clear elements from fragment - if ( tmp ) { - safe.removeChild( tmp ); - } - - // Reset defaultChecked for any radios and checkboxes - // about to be appended to the DOM in IE 6/7 (#8060) - if ( !support.appendChecked ) { - jQuery.grep( getAll( nodes, "input" ), fixDefaultChecked ); - } - - i = 0; - while ( (elem = nodes[ i++ ]) ) { - - // #4087 - If origin and destination elements are the same, and this is - // that element, do not do anything - if ( selection && jQuery.inArray( elem, selection ) !== -1 ) { - continue; - } - - contains = jQuery.contains( elem.ownerDocument, elem ); - - // Append to fragment - tmp = getAll( safe.appendChild( elem ), "script" ); - - // Preserve script evaluation history - if ( contains ) { - setGlobalEval( tmp ); - } - - // Capture executables - if ( scripts ) { - j = 0; - while ( (elem = tmp[ j++ ]) ) { - if ( rscriptType.test( elem.type || "" ) ) { - scripts.push( elem ); - } - } - } - } - - tmp = null; - - return safe; - }, - - cleanData: function( elems, /* internal */ acceptData ) { - var elem, type, id, data, - i = 0, - internalKey = jQuery.expando, - cache = jQuery.cache, - deleteExpando = support.deleteExpando, - special = jQuery.event.special; - - for ( ; (elem = elems[i]) != null; i++ ) { - if ( acceptData || jQuery.acceptData( elem ) ) { - - id = elem[ internalKey ]; - data = id && cache[ id ]; - - if ( data ) { - if ( data.events ) { - for ( type in data.events ) { - if ( special[ type ] ) { - jQuery.event.remove( elem, type ); - - // This is a shortcut to avoid jQuery.event.remove's overhead - } else { - jQuery.removeEvent( elem, type, data.handle ); - } - } - } - - // Remove cache only if it was not already removed by jQuery.event.remove - if ( cache[ id ] ) { - - delete cache[ id ]; - - // IE does not allow us to delete expando properties from nodes, - // nor does it have a removeAttribute function on Document nodes; - // we must handle all of these cases - if ( deleteExpando ) { - delete elem[ internalKey ]; - - } else if ( typeof elem.removeAttribute !== strundefined ) { - elem.removeAttribute( internalKey ); - - } else { - elem[ internalKey ] = null; - } - - deletedIds.push( id ); - } - } - } - } - } -}); - -jQuery.fn.extend({ - text: function( value ) { - return access( this, function( value ) { - return value === undefined ? - jQuery.text( this ) : - this.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) ); - }, null, value, arguments.length ); - }, - - append: function() { - return this.domManip( arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.appendChild( elem ); - } - }); - }, - - prepend: function() { - return this.domManip( arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.insertBefore( elem, target.firstChild ); - } - }); - }, - - before: function() { - return this.domManip( arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this ); - } - }); - }, - - after: function() { - return this.domManip( arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this.nextSibling ); - } - }); - }, - - remove: function( selector, keepData /* Internal Use Only */ ) { - var elem, - elems = selector ? jQuery.filter( selector, this ) : this, - i = 0; - - for ( ; (elem = elems[i]) != null; i++ ) { - - if ( !keepData && elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem ) ); - } - - if ( elem.parentNode ) { - if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) { - setGlobalEval( getAll( elem, "script" ) ); - } - elem.parentNode.removeChild( elem ); - } - } - - return this; - }, - - empty: function() { - var elem, - i = 0; - - for ( ; (elem = this[i]) != null; i++ ) { - // Remove element nodes and prevent memory leaks - if ( elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem, false ) ); - } - - // Remove any remaining nodes - while ( elem.firstChild ) { - elem.removeChild( elem.firstChild ); - } - - // If this is a select, ensure that it displays empty (#12336) - // Support: IE<9 - if ( elem.options && jQuery.nodeName( elem, "select" ) ) { - elem.options.length = 0; - } - } - - return this; - }, - - clone: function( dataAndEvents, deepDataAndEvents ) { - dataAndEvents = dataAndEvents == null ? false : dataAndEvents; - deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; - - return this.map(function() { - return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); - }); - }, - - html: function( value ) { - return access( this, function( value ) { - var elem = this[ 0 ] || {}, - i = 0, - l = this.length; - - if ( value === undefined ) { - return elem.nodeType === 1 ? - elem.innerHTML.replace( rinlinejQuery, "" ) : - undefined; - } - - // See if we can take a shortcut and just use innerHTML - if ( typeof value === "string" && !rnoInnerhtml.test( value ) && - ( support.htmlSerialize || !rnoshimcache.test( value ) ) && - ( support.leadingWhitespace || !rleadingWhitespace.test( value ) ) && - !wrapMap[ (rtagName.exec( value ) || [ "", "" ])[ 1 ].toLowerCase() ] ) { - - value = value.replace( rxhtmlTag, "<$1></$2>" ); - - try { - for (; i < l; i++ ) { - // Remove element nodes and prevent memory leaks - elem = this[i] || {}; - if ( elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem, false ) ); - elem.innerHTML = value; - } - } - - elem = 0; - - // If using innerHTML throws an exception, use the fallback method - } catch(e) {} - } - - if ( elem ) { - this.empty().append( value ); - } - }, null, value, arguments.length ); - }, - - replaceWith: function() { - var arg = arguments[ 0 ]; - - // Make the changes, replacing each context element with the new content - this.domManip( arguments, function( elem ) { - arg = this.parentNode; - - jQuery.cleanData( getAll( this ) ); - - if ( arg ) { - arg.replaceChild( elem, this ); - } - }); - - // Force removal if there was no new content (e.g., from empty arguments) - return arg && (arg.length || arg.nodeType) ? this : this.remove(); - }, - - detach: function( selector ) { - return this.remove( selector, true ); - }, - - domManip: function( args, callback ) { - - // Flatten any nested arrays - args = concat.apply( [], args ); - - var first, node, hasScripts, - scripts, doc, fragment, - i = 0, - l = this.length, - set = this, - iNoClone = l - 1, - value = args[0], - isFunction = jQuery.isFunction( value ); - - // We can't cloneNode fragments that contain checked, in WebKit - if ( isFunction || - ( l > 1 && typeof value === "string" && - !support.checkClone && rchecked.test( value ) ) ) { - return this.each(function( index ) { - var self = set.eq( index ); - if ( isFunction ) { - args[0] = value.call( this, index, self.html() ); - } - self.domManip( args, callback ); - }); - } - - if ( l ) { - fragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, this ); - first = fragment.firstChild; - - if ( fragment.childNodes.length === 1 ) { - fragment = first; - } - - if ( first ) { - scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); - hasScripts = scripts.length; - - // Use the original fragment for the last item instead of the first because it can end up - // being emptied incorrectly in certain situations (#8070). - for ( ; i < l; i++ ) { - node = fragment; - - if ( i !== iNoClone ) { - node = jQuery.clone( node, true, true ); - - // Keep references to cloned scripts for later restoration - if ( hasScripts ) { - jQuery.merge( scripts, getAll( node, "script" ) ); - } - } - - callback.call( this[i], node, i ); - } - - if ( hasScripts ) { - doc = scripts[ scripts.length - 1 ].ownerDocument; - - // Reenable scripts - jQuery.map( scripts, restoreScript ); - - // Evaluate executable scripts on first document insertion - for ( i = 0; i < hasScripts; i++ ) { - node = scripts[ i ]; - if ( rscriptType.test( node.type || "" ) && - !jQuery._data( node, "globalEval" ) && jQuery.contains( doc, node ) ) { - - if ( node.src ) { - // Optional AJAX dependency, but won't run scripts if not present - if ( jQuery._evalUrl ) { - jQuery._evalUrl( node.src ); - } - } else { - jQuery.globalEval( ( node.text || node.textContent || node.innerHTML || "" ).replace( rcleanScript, "" ) ); - } - } - } - } - - // Fix #11809: Avoid leaking memory - fragment = first = null; - } - } - - return this; - } -}); - -jQuery.each({ - appendTo: "append", - prependTo: "prepend", - insertBefore: "before", - insertAfter: "after", - replaceAll: "replaceWith" -}, function( name, original ) { - jQuery.fn[ name ] = function( selector ) { - var elems, - i = 0, - ret = [], - insert = jQuery( selector ), - last = insert.length - 1; - - for ( ; i <= last; i++ ) { - elems = i === last ? this : this.clone(true); - jQuery( insert[i] )[ original ]( elems ); - - // Modern browsers can apply jQuery collections as arrays, but oldIE needs a .get() - push.apply( ret, elems.get() ); - } - - return this.pushStack( ret ); - }; -}); - - -var iframe, - elemdisplay = {}; - -/** - * Retrieve the actual display of a element - * @param {String} name nodeName of the element - * @param {Object} doc Document object - */ -// Called only from within defaultDisplay -function actualDisplay( name, doc ) { - var style, - elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), - - // getDefaultComputedStyle might be reliably used only on attached element - display = window.getDefaultComputedStyle && ( style = window.getDefaultComputedStyle( elem[ 0 ] ) ) ? - - // Use of this method is a temporary fix (more like optmization) until something better comes along, - // since it was removed from specification and supported only in FF - style.display : jQuery.css( elem[ 0 ], "display" ); - - // We don't have any data stored on the element, - // so use "detach" method as fast way to get rid of the element - elem.detach(); - - return display; -} - -/** - * Try to determine the default display value of an element - * @param {String} nodeName - */ -function defaultDisplay( nodeName ) { - var doc = document, - display = elemdisplay[ nodeName ]; - - if ( !display ) { - display = actualDisplay( nodeName, doc ); - - // If the simple way fails, read from inside an iframe - if ( display === "none" || !display ) { - - // Use the already-created iframe if possible - iframe = (iframe || jQuery( "<iframe frameborder='0' width='0' height='0'/>" )).appendTo( doc.documentElement ); - - // Always write a new HTML skeleton so Webkit and Firefox don't choke on reuse - doc = ( iframe[ 0 ].contentWindow || iframe[ 0 ].contentDocument ).document; - - // Support: IE - doc.write(); - doc.close(); - - display = actualDisplay( nodeName, doc ); - iframe.detach(); - } - - // Store the correct default display - elemdisplay[ nodeName ] = display; - } - - return display; -} - - -(function() { - var shrinkWrapBlocksVal; - - support.shrinkWrapBlocks = function() { - if ( shrinkWrapBlocksVal != null ) { - return shrinkWrapBlocksVal; - } - - // Will be changed later if needed. - shrinkWrapBlocksVal = false; - - // Minified: var b,c,d - var div, body, container; - - body = document.getElementsByTagName( "body" )[ 0 ]; - if ( !body || !body.style ) { - // Test fired too early or in an unsupported environment, exit. - return; - } - - // Setup - div = document.createElement( "div" ); - container = document.createElement( "div" ); - container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px"; - body.appendChild( container ).appendChild( div ); - - // Support: IE6 - // Check if elements with layout shrink-wrap their children - if ( typeof div.style.zoom !== strundefined ) { - // Reset CSS: box-sizing; display; margin; border - div.style.cssText = - // Support: Firefox<29, Android 2.3 - // Vendor-prefix box-sizing - "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;" + - "box-sizing:content-box;display:block;margin:0;border:0;" + - "padding:1px;width:1px;zoom:1"; - div.appendChild( document.createElement( "div" ) ).style.width = "5px"; - shrinkWrapBlocksVal = div.offsetWidth !== 3; - } - - body.removeChild( container ); - - return shrinkWrapBlocksVal; - }; - -})(); -var rmargin = (/^margin/); - -var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); - - - -var getStyles, curCSS, - rposition = /^(top|right|bottom|left)$/; - -if ( window.getComputedStyle ) { - getStyles = function( elem ) { - // Support: IE<=11+, Firefox<=30+ (#15098, #14150) - // IE throws on elements created in popups - // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" - if ( elem.ownerDocument.defaultView.opener ) { - return elem.ownerDocument.defaultView.getComputedStyle( elem, null ); - } - - return window.getComputedStyle( elem, null ); - }; - - curCSS = function( elem, name, computed ) { - var width, minWidth, maxWidth, ret, - style = elem.style; - - computed = computed || getStyles( elem ); - - // getPropertyValue is only needed for .css('filter') in IE9, see #12537 - ret = computed ? computed.getPropertyValue( name ) || computed[ name ] : undefined; - - if ( computed ) { - - if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { - ret = jQuery.style( elem, name ); - } - - // A tribute to the "awesome hack by Dean Edwards" - // Chrome < 17 and Safari 5.0 uses "computed value" instead of "used value" for margin-right - // Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels - // this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values - if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) { - - // Remember the original values - width = style.width; - minWidth = style.minWidth; - maxWidth = style.maxWidth; - - // Put in the new values to get a computed value out - style.minWidth = style.maxWidth = style.width = ret; - ret = computed.width; - - // Revert the changed values - style.width = width; - style.minWidth = minWidth; - style.maxWidth = maxWidth; - } - } - - // Support: IE - // IE returns zIndex value as an integer. - return ret === undefined ? - ret : - ret + ""; - }; -} else if ( document.documentElement.currentStyle ) { - getStyles = function( elem ) { - return elem.currentStyle; - }; - - curCSS = function( elem, name, computed ) { - var left, rs, rsLeft, ret, - style = elem.style; - - computed = computed || getStyles( elem ); - ret = computed ? computed[ name ] : undefined; - - // Avoid setting ret to empty string here - // so we don't default to auto - if ( ret == null && style && style[ name ] ) { - ret = style[ name ]; - } - - // From the awesome hack by Dean Edwards - // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 - - // If we're not dealing with a regular pixel number - // but a number that has a weird ending, we need to convert it to pixels - // but not position css attributes, as those are proportional to the parent element instead - // and we can't measure the parent instead because it might trigger a "stacking dolls" problem - if ( rnumnonpx.test( ret ) && !rposition.test( name ) ) { - - // Remember the original values - left = style.left; - rs = elem.runtimeStyle; - rsLeft = rs && rs.left; - - // Put in the new values to get a computed value out - if ( rsLeft ) { - rs.left = elem.currentStyle.left; - } - style.left = name === "fontSize" ? "1em" : ret; - ret = style.pixelLeft + "px"; - - // Revert the changed values - style.left = left; - if ( rsLeft ) { - rs.left = rsLeft; - } - } - - // Support: IE - // IE returns zIndex value as an integer. - return ret === undefined ? - ret : - ret + "" || "auto"; - }; -} - - - - -function addGetHookIf( conditionFn, hookFn ) { - // Define the hook, we'll check on the first run if it's really needed. - return { - get: function() { - var condition = conditionFn(); - - if ( condition == null ) { - // The test was not ready at this point; screw the hook this time - // but check again when needed next time. - return; - } - - if ( condition ) { - // Hook not needed (or it's not possible to use it due to missing dependency), - // remove it. - // Since there are no other hooks for marginRight, remove the whole object. - delete this.get; - return; - } - - // Hook needed; redefine it so that the support test is not executed again. - - return (this.get = hookFn).apply( this, arguments ); - } - }; -} - - -(function() { - // Minified: var b,c,d,e,f,g, h,i - var div, style, a, pixelPositionVal, boxSizingReliableVal, - reliableHiddenOffsetsVal, reliableMarginRightVal; - - // Setup - div = document.createElement( "div" ); - div.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>"; - a = div.getElementsByTagName( "a" )[ 0 ]; - style = a && a.style; - - // Finish early in limited (non-browser) environments - if ( !style ) { - return; - } - - style.cssText = "float:left;opacity:.5"; - - // Support: IE<9 - // Make sure that element opacity exists (as opposed to filter) - support.opacity = style.opacity === "0.5"; - - // Verify style float existence - // (IE uses styleFloat instead of cssFloat) - support.cssFloat = !!style.cssFloat; - - div.style.backgroundClip = "content-box"; - div.cloneNode( true ).style.backgroundClip = ""; - support.clearCloneStyle = div.style.backgroundClip === "content-box"; - - // Support: Firefox<29, Android 2.3 - // Vendor-prefix box-sizing - support.boxSizing = style.boxSizing === "" || style.MozBoxSizing === "" || - style.WebkitBoxSizing === ""; - - jQuery.extend(support, { - reliableHiddenOffsets: function() { - if ( reliableHiddenOffsetsVal == null ) { - computeStyleTests(); - } - return reliableHiddenOffsetsVal; - }, - - boxSizingReliable: function() { - if ( boxSizingReliableVal == null ) { - computeStyleTests(); - } - return boxSizingReliableVal; - }, - - pixelPosition: function() { - if ( pixelPositionVal == null ) { - computeStyleTests(); - } - return pixelPositionVal; - }, - - // Support: Android 2.3 - reliableMarginRight: function() { - if ( reliableMarginRightVal == null ) { - computeStyleTests(); - } - return reliableMarginRightVal; - } - }); - - function computeStyleTests() { - // Minified: var b,c,d,j - var div, body, container, contents; - - body = document.getElementsByTagName( "body" )[ 0 ]; - if ( !body || !body.style ) { - // Test fired too early or in an unsupported environment, exit. - return; - } - - // Setup - div = document.createElement( "div" ); - container = document.createElement( "div" ); - container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px"; - body.appendChild( container ).appendChild( div ); - - div.style.cssText = - // Support: Firefox<29, Android 2.3 - // Vendor-prefix box-sizing - "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;" + - "box-sizing:border-box;display:block;margin-top:1%;top:1%;" + - "border:1px;padding:1px;width:4px;position:absolute"; - - // Support: IE<9 - // Assume reasonable values in the absence of getComputedStyle - pixelPositionVal = boxSizingReliableVal = false; - reliableMarginRightVal = true; - - // Check for getComputedStyle so that this code is not run in IE<9. - if ( window.getComputedStyle ) { - pixelPositionVal = ( window.getComputedStyle( div, null ) || {} ).top !== "1%"; - boxSizingReliableVal = - ( window.getComputedStyle( div, null ) || { width: "4px" } ).width === "4px"; - - // Support: Android 2.3 - // Div with explicit width and no margin-right incorrectly - // gets computed margin-right based on width of container (#3333) - // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right - contents = div.appendChild( document.createElement( "div" ) ); - - // Reset CSS: box-sizing; display; margin; border; padding - contents.style.cssText = div.style.cssText = - // Support: Firefox<29, Android 2.3 - // Vendor-prefix box-sizing - "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;" + - "box-sizing:content-box;display:block;margin:0;border:0;padding:0"; - contents.style.marginRight = contents.style.width = "0"; - div.style.width = "1px"; - - reliableMarginRightVal = - !parseFloat( ( window.getComputedStyle( contents, null ) || {} ).marginRight ); - - div.removeChild( contents ); - } - - // Support: IE8 - // Check if table cells still have offsetWidth/Height when they are set - // to display:none and there are still other visible table cells in a - // table row; if so, offsetWidth/Height are not reliable for use when - // determining if an element has been hidden directly using - // display:none (it is still safe to use offsets if a parent element is - // hidden; don safety goggles and see bug #4512 for more information). - div.innerHTML = "<table><tr><td></td><td>t</td></tr></table>"; - contents = div.getElementsByTagName( "td" ); - contents[ 0 ].style.cssText = "margin:0;border:0;padding:0;display:none"; - reliableHiddenOffsetsVal = contents[ 0 ].offsetHeight === 0; - if ( reliableHiddenOffsetsVal ) { - contents[ 0 ].style.display = ""; - contents[ 1 ].style.display = "none"; - reliableHiddenOffsetsVal = contents[ 0 ].offsetHeight === 0; - } - - body.removeChild( container ); - } - -})(); - - -// A method for quickly swapping in/out CSS properties to get correct calculations. -jQuery.swap = function( elem, options, callback, args ) { - var ret, name, - old = {}; - - // Remember the old values, and insert the new ones - for ( name in options ) { - old[ name ] = elem.style[ name ]; - elem.style[ name ] = options[ name ]; - } - - ret = callback.apply( elem, args || [] ); - - // Revert the old values - for ( name in options ) { - elem.style[ name ] = old[ name ]; - } - - return ret; -}; - - -var - ralpha = /alpha\([^)]*\)/i, - ropacity = /opacity\s*=\s*([^)]*)/, - - // swappable if display is none or starts with table except "table", "table-cell", or "table-caption" - // see here for display values: https://developer.mozilla.org/en-US/docs/CSS/display - rdisplayswap = /^(none|table(?!-c[ea]).+)/, - rnumsplit = new RegExp( "^(" + pnum + ")(.*)$", "i" ), - rrelNum = new RegExp( "^([+-])=(" + pnum + ")", "i" ), - - cssShow = { position: "absolute", visibility: "hidden", display: "block" }, - cssNormalTransform = { - letterSpacing: "0", - fontWeight: "400" - }, - - cssPrefixes = [ "Webkit", "O", "Moz", "ms" ]; - - -// return a css property mapped to a potentially vendor prefixed property -function vendorPropName( style, name ) { - - // shortcut for names that are not vendor prefixed - if ( name in style ) { - return name; - } - - // check for vendor prefixed names - var capName = name.charAt(0).toUpperCase() + name.slice(1), - origName = name, - i = cssPrefixes.length; - - while ( i-- ) { - name = cssPrefixes[ i ] + capName; - if ( name in style ) { - return name; - } - } - - return origName; -} - -function showHide( elements, show ) { - var display, elem, hidden, - values = [], - index = 0, - length = elements.length; - - for ( ; index < length; index++ ) { - elem = elements[ index ]; - if ( !elem.style ) { - continue; - } - - values[ index ] = jQuery._data( elem, "olddisplay" ); - display = elem.style.display; - if ( show ) { - // Reset the inline display of this element to learn if it is - // being hidden by cascaded rules or not - if ( !values[ index ] && display === "none" ) { - elem.style.display = ""; - } - - // Set elements which have been overridden with display: none - // in a stylesheet to whatever the default browser style is - // for such an element - if ( elem.style.display === "" && isHidden( elem ) ) { - values[ index ] = jQuery._data( elem, "olddisplay", defaultDisplay(elem.nodeName) ); - } - } else { - hidden = isHidden( elem ); - - if ( display && display !== "none" || !hidden ) { - jQuery._data( elem, "olddisplay", hidden ? display : jQuery.css( elem, "display" ) ); - } - } - } - - // Set the display of most of the elements in a second loop - // to avoid the constant reflow - for ( index = 0; index < length; index++ ) { - elem = elements[ index ]; - if ( !elem.style ) { - continue; - } - if ( !show || elem.style.display === "none" || elem.style.display === "" ) { - elem.style.display = show ? values[ index ] || "" : "none"; - } - } - - return elements; -} - -function setPositiveNumber( elem, value, subtract ) { - var matches = rnumsplit.exec( value ); - return matches ? - // Guard against undefined "subtract", e.g., when used as in cssHooks - Math.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || "px" ) : - value; -} - -function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) { - var i = extra === ( isBorderBox ? "border" : "content" ) ? - // If we already have the right measurement, avoid augmentation - 4 : - // Otherwise initialize for horizontal or vertical properties - name === "width" ? 1 : 0, - - val = 0; - - for ( ; i < 4; i += 2 ) { - // both box models exclude margin, so add it if we want it - if ( extra === "margin" ) { - val += jQuery.css( elem, extra + cssExpand[ i ], true, styles ); - } - - if ( isBorderBox ) { - // border-box includes padding, so remove it if we want content - if ( extra === "content" ) { - val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); - } - - // at this point, extra isn't border nor margin, so remove border - if ( extra !== "margin" ) { - val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - } - } else { - // at this point, extra isn't content, so add padding - val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); - - // at this point, extra isn't content nor padding, so add border - if ( extra !== "padding" ) { - val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - } - } - } - - return val; -} - -function getWidthOrHeight( elem, name, extra ) { - - // Start with offset property, which is equivalent to the border-box value - var valueIsBorderBox = true, - val = name === "width" ? elem.offsetWidth : elem.offsetHeight, - styles = getStyles( elem ), - isBorderBox = support.boxSizing && jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; - - // some non-html elements return undefined for offsetWidth, so check for null/undefined - // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 - // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 - if ( val <= 0 || val == null ) { - // Fall back to computed then uncomputed css if necessary - val = curCSS( elem, name, styles ); - if ( val < 0 || val == null ) { - val = elem.style[ name ]; - } - - // Computed unit is not pixels. Stop here and return. - if ( rnumnonpx.test(val) ) { - return val; - } - - // we need the check for style in case a browser which returns unreliable values - // for getComputedStyle silently falls back to the reliable elem.style - valueIsBorderBox = isBorderBox && ( support.boxSizingReliable() || val === elem.style[ name ] ); - - // Normalize "", auto, and prepare for extra - val = parseFloat( val ) || 0; - } - - // use the active box-sizing model to add/subtract irrelevant styles - return ( val + - augmentWidthOrHeight( - elem, - name, - extra || ( isBorderBox ? "border" : "content" ), - valueIsBorderBox, - styles - ) - ) + "px"; -} - -jQuery.extend({ - // Add in style property hooks for overriding the default - // behavior of getting and setting a style property - cssHooks: { - opacity: { - get: function( elem, computed ) { - if ( computed ) { - // We should always get a number back from opacity - var ret = curCSS( elem, "opacity" ); - return ret === "" ? "1" : ret; - } - } - } - }, - - // Don't automatically add "px" to these possibly-unitless properties - cssNumber: { - "columnCount": true, - "fillOpacity": true, - "flexGrow": true, - "flexShrink": true, - "fontWeight": true, - "lineHeight": true, - "opacity": true, - "order": true, - "orphans": true, - "widows": true, - "zIndex": true, - "zoom": true - }, - - // Add in properties whose names you wish to fix before - // setting or getting the value - cssProps: { - // normalize float css property - "float": support.cssFloat ? "cssFloat" : "styleFloat" - }, - - // Get and set the style property on a DOM Node - style: function( elem, name, value, extra ) { - // Don't set styles on text and comment nodes - if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { - return; - } - - // Make sure that we're working with the right name - var ret, type, hooks, - origName = jQuery.camelCase( name ), - style = elem.style; - - name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( style, origName ) ); - - // gets hook for the prefixed version - // followed by the unprefixed version - hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; - - // Check if we're setting a value - if ( value !== undefined ) { - type = typeof value; - - // convert relative number strings (+= or -=) to relative numbers. #7345 - if ( type === "string" && (ret = rrelNum.exec( value )) ) { - value = ( ret[1] + 1 ) * ret[2] + parseFloat( jQuery.css( elem, name ) ); - // Fixes bug #9237 - type = "number"; - } - - // Make sure that null and NaN values aren't set. See: #7116 - if ( value == null || value !== value ) { - return; - } - - // If a number was passed in, add 'px' to the (except for certain CSS properties) - if ( type === "number" && !jQuery.cssNumber[ origName ] ) { - value += "px"; - } - - // Fixes #8908, it can be done more correctly by specifing setters in cssHooks, - // but it would mean to define eight (for every problematic property) identical functions - if ( !support.clearCloneStyle && value === "" && name.indexOf("background") === 0 ) { - style[ name ] = "inherit"; - } - - // If a hook was provided, use that value, otherwise just set the specified value - if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) { - - // Support: IE - // Swallow errors from 'invalid' CSS values (#5509) - try { - style[ name ] = value; - } catch(e) {} - } - - } else { - // If a hook was provided get the non-computed value from there - if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) { - return ret; - } - - // Otherwise just get the value from the style object - return style[ name ]; - } - }, - - css: function( elem, name, extra, styles ) { - var num, val, hooks, - origName = jQuery.camelCase( name ); - - // Make sure that we're working with the right name - name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( elem.style, origName ) ); - - // gets hook for the prefixed version - // followed by the unprefixed version - hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; - - // If a hook was provided get the computed value from there - if ( hooks && "get" in hooks ) { - val = hooks.get( elem, true, extra ); - } - - // Otherwise, if a way to get the computed value exists, use that - if ( val === undefined ) { - val = curCSS( elem, name, styles ); - } - - //convert "normal" to computed value - if ( val === "normal" && name in cssNormalTransform ) { - val = cssNormalTransform[ name ]; - } - - // Return, converting to number if forced or a qualifier was provided and val looks numeric - if ( extra === "" || extra ) { - num = parseFloat( val ); - return extra === true || jQuery.isNumeric( num ) ? num || 0 : val; - } - return val; - } -}); - -jQuery.each([ "height", "width" ], function( i, name ) { - jQuery.cssHooks[ name ] = { - get: function( elem, computed, extra ) { - if ( computed ) { - // certain elements can have dimension info if we invisibly show them - // however, it must have a current display style that would benefit from this - return rdisplayswap.test( jQuery.css( elem, "display" ) ) && elem.offsetWidth === 0 ? - jQuery.swap( elem, cssShow, function() { - return getWidthOrHeight( elem, name, extra ); - }) : - getWidthOrHeight( elem, name, extra ); - } - }, - - set: function( elem, value, extra ) { - var styles = extra && getStyles( elem ); - return setPositiveNumber( elem, value, extra ? - augmentWidthOrHeight( - elem, - name, - extra, - support.boxSizing && jQuery.css( elem, "boxSizing", false, styles ) === "border-box", - styles - ) : 0 - ); - } - }; -}); - -if ( !support.opacity ) { - jQuery.cssHooks.opacity = { - get: function( elem, computed ) { - // IE uses filters for opacity - return ropacity.test( (computed && elem.currentStyle ? elem.currentStyle.filter : elem.style.filter) || "" ) ? - ( 0.01 * parseFloat( RegExp.$1 ) ) + "" : - computed ? "1" : ""; - }, - - set: function( elem, value ) { - var style = elem.style, - currentStyle = elem.currentStyle, - opacity = jQuery.isNumeric( value ) ? "alpha(opacity=" + value * 100 + ")" : "", - filter = currentStyle && currentStyle.filter || style.filter || ""; - - // IE has trouble with opacity if it does not have layout - // Force it by setting the zoom level - style.zoom = 1; - - // if setting opacity to 1, and no other filters exist - attempt to remove filter attribute #6652 - // if value === "", then remove inline opacity #12685 - if ( ( value >= 1 || value === "" ) && - jQuery.trim( filter.replace( ralpha, "" ) ) === "" && - style.removeAttribute ) { - - // Setting style.filter to null, "" & " " still leave "filter:" in the cssText - // if "filter:" is present at all, clearType is disabled, we want to avoid this - // style.removeAttribute is IE Only, but so apparently is this code path... - style.removeAttribute( "filter" ); - - // if there is no filter style applied in a css rule or unset inline opacity, we are done - if ( value === "" || currentStyle && !currentStyle.filter ) { - return; - } - } - - // otherwise, set new filter values - style.filter = ralpha.test( filter ) ? - filter.replace( ralpha, opacity ) : - filter + " " + opacity; - } - }; -} - -jQuery.cssHooks.marginRight = addGetHookIf( support.reliableMarginRight, - function( elem, computed ) { - if ( computed ) { - // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right - // Work around by temporarily setting element display to inline-block - return jQuery.swap( elem, { "display": "inline-block" }, - curCSS, [ elem, "marginRight" ] ); - } - } -); - -// These hooks are used by animate to expand properties -jQuery.each({ - margin: "", - padding: "", - border: "Width" -}, function( prefix, suffix ) { - jQuery.cssHooks[ prefix + suffix ] = { - expand: function( value ) { - var i = 0, - expanded = {}, - - // assumes a single number if not a string - parts = typeof value === "string" ? value.split(" ") : [ value ]; - - for ( ; i < 4; i++ ) { - expanded[ prefix + cssExpand[ i ] + suffix ] = - parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; - } - - return expanded; - } - }; - - if ( !rmargin.test( prefix ) ) { - jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; - } -}); - -jQuery.fn.extend({ - css: function( name, value ) { - return access( this, function( elem, name, value ) { - var styles, len, - map = {}, - i = 0; - - if ( jQuery.isArray( name ) ) { - styles = getStyles( elem ); - len = name.length; - - for ( ; i < len; i++ ) { - map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); - } - - return map; - } - - return value !== undefined ? - jQuery.style( elem, name, value ) : - jQuery.css( elem, name ); - }, name, value, arguments.length > 1 ); - }, - show: function() { - return showHide( this, true ); - }, - hide: function() { - return showHide( this ); - }, - toggle: function( state ) { - if ( typeof state === "boolean" ) { - return state ? this.show() : this.hide(); - } - - return this.each(function() { - if ( isHidden( this ) ) { - jQuery( this ).show(); - } else { - jQuery( this ).hide(); - } - }); - } -}); - - -function Tween( elem, options, prop, end, easing ) { - return new Tween.prototype.init( elem, options, prop, end, easing ); -} -jQuery.Tween = Tween; - -Tween.prototype = { - constructor: Tween, - init: function( elem, options, prop, end, easing, unit ) { - this.elem = elem; - this.prop = prop; - this.easing = easing || "swing"; - this.options = options; - this.start = this.now = this.cur(); - this.end = end; - this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); - }, - cur: function() { - var hooks = Tween.propHooks[ this.prop ]; - - return hooks && hooks.get ? - hooks.get( this ) : - Tween.propHooks._default.get( this ); - }, - run: function( percent ) { - var eased, - hooks = Tween.propHooks[ this.prop ]; - - if ( this.options.duration ) { - this.pos = eased = jQuery.easing[ this.easing ]( - percent, this.options.duration * percent, 0, 1, this.options.duration - ); - } else { - this.pos = eased = percent; - } - this.now = ( this.end - this.start ) * eased + this.start; - - if ( this.options.step ) { - this.options.step.call( this.elem, this.now, this ); - } - - if ( hooks && hooks.set ) { - hooks.set( this ); - } else { - Tween.propHooks._default.set( this ); - } - return this; - } -}; - -Tween.prototype.init.prototype = Tween.prototype; - -Tween.propHooks = { - _default: { - get: function( tween ) { - var result; - - if ( tween.elem[ tween.prop ] != null && - (!tween.elem.style || tween.elem.style[ tween.prop ] == null) ) { - return tween.elem[ tween.prop ]; - } - - // passing an empty string as a 3rd parameter to .css will automatically - // attempt a parseFloat and fallback to a string if the parse fails - // so, simple values such as "10px" are parsed to Float. - // complex values such as "rotate(1rad)" are returned as is. - result = jQuery.css( tween.elem, tween.prop, "" ); - // Empty strings, null, undefined and "auto" are converted to 0. - return !result || result === "auto" ? 0 : result; - }, - set: function( tween ) { - // use step hook for back compat - use cssHook if its there - use .style if its - // available and use plain properties where available - if ( jQuery.fx.step[ tween.prop ] ) { - jQuery.fx.step[ tween.prop ]( tween ); - } else if ( tween.elem.style && ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || jQuery.cssHooks[ tween.prop ] ) ) { - jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); - } else { - tween.elem[ tween.prop ] = tween.now; - } - } - } -}; - -// Support: IE <=9 -// Panic based approach to setting things on disconnected nodes - -Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { - set: function( tween ) { - if ( tween.elem.nodeType && tween.elem.parentNode ) { - tween.elem[ tween.prop ] = tween.now; - } - } -}; - -jQuery.easing = { - linear: function( p ) { - return p; - }, - swing: function( p ) { - return 0.5 - Math.cos( p * Math.PI ) / 2; - } -}; - -jQuery.fx = Tween.prototype.init; - -// Back Compat <1.8 extension point -jQuery.fx.step = {}; - - - - -var - fxNow, timerId, - rfxtypes = /^(?:toggle|show|hide)$/, - rfxnum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ), - rrun = /queueHooks$/, - animationPrefilters = [ defaultPrefilter ], - tweeners = { - "*": [ function( prop, value ) { - var tween = this.createTween( prop, value ), - target = tween.cur(), - parts = rfxnum.exec( value ), - unit = parts && parts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), - - // Starting value computation is required for potential unit mismatches - start = ( jQuery.cssNumber[ prop ] || unit !== "px" && +target ) && - rfxnum.exec( jQuery.css( tween.elem, prop ) ), - scale = 1, - maxIterations = 20; - - if ( start && start[ 3 ] !== unit ) { - // Trust units reported by jQuery.css - unit = unit || start[ 3 ]; - - // Make sure we update the tween properties later on - parts = parts || []; - - // Iteratively approximate from a nonzero starting point - start = +target || 1; - - do { - // If previous iteration zeroed out, double until we get *something* - // Use a string for doubling factor so we don't accidentally see scale as unchanged below - scale = scale || ".5"; - - // Adjust and apply - start = start / scale; - jQuery.style( tween.elem, prop, start + unit ); - - // Update scale, tolerating zero or NaN from tween.cur() - // And breaking the loop if scale is unchanged or perfect, or if we've just had enough - } while ( scale !== (scale = tween.cur() / target) && scale !== 1 && --maxIterations ); - } - - // Update tween properties - if ( parts ) { - start = tween.start = +start || +target || 0; - tween.unit = unit; - // If a +=/-= token was provided, we're doing a relative animation - tween.end = parts[ 1 ] ? - start + ( parts[ 1 ] + 1 ) * parts[ 2 ] : - +parts[ 2 ]; - } - - return tween; - } ] - }; - -// Animations created synchronously will run synchronously -function createFxNow() { - setTimeout(function() { - fxNow = undefined; - }); - return ( fxNow = jQuery.now() ); -} - -// Generate parameters to create a standard animation -function genFx( type, includeWidth ) { - var which, - attrs = { height: type }, - i = 0; - - // if we include width, step value is 1 to do all cssExpand values, - // if we don't include width, step value is 2 to skip over Left and Right - includeWidth = includeWidth ? 1 : 0; - for ( ; i < 4 ; i += 2 - includeWidth ) { - which = cssExpand[ i ]; - attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; - } - - if ( includeWidth ) { - attrs.opacity = attrs.width = type; - } - - return attrs; -} - -function createTween( value, prop, animation ) { - var tween, - collection = ( tweeners[ prop ] || [] ).concat( tweeners[ "*" ] ), - index = 0, - length = collection.length; - for ( ; index < length; index++ ) { - if ( (tween = collection[ index ].call( animation, prop, value )) ) { - - // we're done with this property - return tween; - } - } -} - -function defaultPrefilter( elem, props, opts ) { - /* jshint validthis: true */ - var prop, value, toggle, tween, hooks, oldfire, display, checkDisplay, - anim = this, - orig = {}, - style = elem.style, - hidden = elem.nodeType && isHidden( elem ), - dataShow = jQuery._data( elem, "fxshow" ); - - // handle queue: false promises - if ( !opts.queue ) { - hooks = jQuery._queueHooks( elem, "fx" ); - if ( hooks.unqueued == null ) { - hooks.unqueued = 0; - oldfire = hooks.empty.fire; - hooks.empty.fire = function() { - if ( !hooks.unqueued ) { - oldfire(); - } - }; - } - hooks.unqueued++; - - anim.always(function() { - // doing this makes sure that the complete handler will be called - // before this completes - anim.always(function() { - hooks.unqueued--; - if ( !jQuery.queue( elem, "fx" ).length ) { - hooks.empty.fire(); - } - }); - }); - } - - // height/width overflow pass - if ( elem.nodeType === 1 && ( "height" in props || "width" in props ) ) { - // Make sure that nothing sneaks out - // Record all 3 overflow attributes because IE does not - // change the overflow attribute when overflowX and - // overflowY are set to the same value - opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; - - // Set display property to inline-block for height/width - // animations on inline elements that are having width/height animated - display = jQuery.css( elem, "display" ); - - // Test default display if display is currently "none" - checkDisplay = display === "none" ? - jQuery._data( elem, "olddisplay" ) || defaultDisplay( elem.nodeName ) : display; - - if ( checkDisplay === "inline" && jQuery.css( elem, "float" ) === "none" ) { - - // inline-level elements accept inline-block; - // block-level elements need to be inline with layout - if ( !support.inlineBlockNeedsLayout || defaultDisplay( elem.nodeName ) === "inline" ) { - style.display = "inline-block"; - } else { - style.zoom = 1; - } - } - } - - if ( opts.overflow ) { - style.overflow = "hidden"; - if ( !support.shrinkWrapBlocks() ) { - anim.always(function() { - style.overflow = opts.overflow[ 0 ]; - style.overflowX = opts.overflow[ 1 ]; - style.overflowY = opts.overflow[ 2 ]; - }); - } - } - - // show/hide pass - for ( prop in props ) { - value = props[ prop ]; - if ( rfxtypes.exec( value ) ) { - delete props[ prop ]; - toggle = toggle || value === "toggle"; - if ( value === ( hidden ? "hide" : "show" ) ) { - - // If there is dataShow left over from a stopped hide or show and we are going to proceed with show, we should pretend to be hidden - if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { - hidden = true; - } else { - continue; - } - } - orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); - - // Any non-fx value stops us from restoring the original display value - } else { - display = undefined; - } - } - - if ( !jQuery.isEmptyObject( orig ) ) { - if ( dataShow ) { - if ( "hidden" in dataShow ) { - hidden = dataShow.hidden; - } - } else { - dataShow = jQuery._data( elem, "fxshow", {} ); - } - - // store state if its toggle - enables .stop().toggle() to "reverse" - if ( toggle ) { - dataShow.hidden = !hidden; - } - if ( hidden ) { - jQuery( elem ).show(); - } else { - anim.done(function() { - jQuery( elem ).hide(); - }); - } - anim.done(function() { - var prop; - jQuery._removeData( elem, "fxshow" ); - for ( prop in orig ) { - jQuery.style( elem, prop, orig[ prop ] ); - } - }); - for ( prop in orig ) { - tween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); - - if ( !( prop in dataShow ) ) { - dataShow[ prop ] = tween.start; - if ( hidden ) { - tween.end = tween.start; - tween.start = prop === "width" || prop === "height" ? 1 : 0; - } - } - } - - // If this is a noop like .hide().hide(), restore an overwritten display value - } else if ( (display === "none" ? defaultDisplay( elem.nodeName ) : display) === "inline" ) { - style.display = display; - } -} - -function propFilter( props, specialEasing ) { - var index, name, easing, value, hooks; - - // camelCase, specialEasing and expand cssHook pass - for ( index in props ) { - name = jQuery.camelCase( index ); - easing = specialEasing[ name ]; - value = props[ index ]; - if ( jQuery.isArray( value ) ) { - easing = value[ 1 ]; - value = props[ index ] = value[ 0 ]; - } - - if ( index !== name ) { - props[ name ] = value; - delete props[ index ]; - } - - hooks = jQuery.cssHooks[ name ]; - if ( hooks && "expand" in hooks ) { - value = hooks.expand( value ); - delete props[ name ]; - - // not quite $.extend, this wont overwrite keys already present. - // also - reusing 'index' from above because we have the correct "name" - for ( index in value ) { - if ( !( index in props ) ) { - props[ index ] = value[ index ]; - specialEasing[ index ] = easing; - } - } - } else { - specialEasing[ name ] = easing; - } - } -} - -function Animation( elem, properties, options ) { - var result, - stopped, - index = 0, - length = animationPrefilters.length, - deferred = jQuery.Deferred().always( function() { - // don't match elem in the :animated selector - delete tick.elem; - }), - tick = function() { - if ( stopped ) { - return false; - } - var currentTime = fxNow || createFxNow(), - remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), - // archaic crash bug won't allow us to use 1 - ( 0.5 || 0 ) (#12497) - temp = remaining / animation.duration || 0, - percent = 1 - temp, - index = 0, - length = animation.tweens.length; - - for ( ; index < length ; index++ ) { - animation.tweens[ index ].run( percent ); - } - - deferred.notifyWith( elem, [ animation, percent, remaining ]); - - if ( percent < 1 && length ) { - return remaining; - } else { - deferred.resolveWith( elem, [ animation ] ); - return false; - } - }, - animation = deferred.promise({ - elem: elem, - props: jQuery.extend( {}, properties ), - opts: jQuery.extend( true, { specialEasing: {} }, options ), - originalProperties: properties, - originalOptions: options, - startTime: fxNow || createFxNow(), - duration: options.duration, - tweens: [], - createTween: function( prop, end ) { - var tween = jQuery.Tween( elem, animation.opts, prop, end, - animation.opts.specialEasing[ prop ] || animation.opts.easing ); - animation.tweens.push( tween ); - return tween; - }, - stop: function( gotoEnd ) { - var index = 0, - // if we are going to the end, we want to run all the tweens - // otherwise we skip this part - length = gotoEnd ? animation.tweens.length : 0; - if ( stopped ) { - return this; - } - stopped = true; - for ( ; index < length ; index++ ) { - animation.tweens[ index ].run( 1 ); - } - - // resolve when we played the last frame - // otherwise, reject - if ( gotoEnd ) { - deferred.resolveWith( elem, [ animation, gotoEnd ] ); - } else { - deferred.rejectWith( elem, [ animation, gotoEnd ] ); - } - return this; - } - }), - props = animation.props; - - propFilter( props, animation.opts.specialEasing ); - - for ( ; index < length ; index++ ) { - result = animationPrefilters[ index ].call( animation, elem, props, animation.opts ); - if ( result ) { - return result; - } - } - - jQuery.map( props, createTween, animation ); - - if ( jQuery.isFunction( animation.opts.start ) ) { - animation.opts.start.call( elem, animation ); - } - - jQuery.fx.timer( - jQuery.extend( tick, { - elem: elem, - anim: animation, - queue: animation.opts.queue - }) - ); - - // attach callbacks from options - return animation.progress( animation.opts.progress ) - .done( animation.opts.done, animation.opts.complete ) - .fail( animation.opts.fail ) - .always( animation.opts.always ); -} - -jQuery.Animation = jQuery.extend( Animation, { - tweener: function( props, callback ) { - if ( jQuery.isFunction( props ) ) { - callback = props; - props = [ "*" ]; - } else { - props = props.split(" "); - } - - var prop, - index = 0, - length = props.length; - - for ( ; index < length ; index++ ) { - prop = props[ index ]; - tweeners[ prop ] = tweeners[ prop ] || []; - tweeners[ prop ].unshift( callback ); - } - }, - - prefilter: function( callback, prepend ) { - if ( prepend ) { - animationPrefilters.unshift( callback ); - } else { - animationPrefilters.push( callback ); - } - } -}); - -jQuery.speed = function( speed, easing, fn ) { - var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { - complete: fn || !fn && easing || - jQuery.isFunction( speed ) && speed, - duration: speed, - easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing - }; - - opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration : - opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default; - - // normalize opt.queue - true/undefined/null -> "fx" - if ( opt.queue == null || opt.queue === true ) { - opt.queue = "fx"; - } - - // Queueing - opt.old = opt.complete; - - opt.complete = function() { - if ( jQuery.isFunction( opt.old ) ) { - opt.old.call( this ); - } - - if ( opt.queue ) { - jQuery.dequeue( this, opt.queue ); - } - }; - - return opt; -}; - -jQuery.fn.extend({ - fadeTo: function( speed, to, easing, callback ) { - - // show any hidden elements after setting opacity to 0 - return this.filter( isHidden ).css( "opacity", 0 ).show() - - // animate to the value specified - .end().animate({ opacity: to }, speed, easing, callback ); - }, - animate: function( prop, speed, easing, callback ) { - var empty = jQuery.isEmptyObject( prop ), - optall = jQuery.speed( speed, easing, callback ), - doAnimation = function() { - // Operate on a copy of prop so per-property easing won't be lost - var anim = Animation( this, jQuery.extend( {}, prop ), optall ); - - // Empty animations, or finishing resolves immediately - if ( empty || jQuery._data( this, "finish" ) ) { - anim.stop( true ); - } - }; - doAnimation.finish = doAnimation; - - return empty || optall.queue === false ? - this.each( doAnimation ) : - this.queue( optall.queue, doAnimation ); - }, - stop: function( type, clearQueue, gotoEnd ) { - var stopQueue = function( hooks ) { - var stop = hooks.stop; - delete hooks.stop; - stop( gotoEnd ); - }; - - if ( typeof type !== "string" ) { - gotoEnd = clearQueue; - clearQueue = type; - type = undefined; - } - if ( clearQueue && type !== false ) { - this.queue( type || "fx", [] ); - } - - return this.each(function() { - var dequeue = true, - index = type != null && type + "queueHooks", - timers = jQuery.timers, - data = jQuery._data( this ); - - if ( index ) { - if ( data[ index ] && data[ index ].stop ) { - stopQueue( data[ index ] ); - } - } else { - for ( index in data ) { - if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { - stopQueue( data[ index ] ); - } - } - } - - for ( index = timers.length; index--; ) { - if ( timers[ index ].elem === this && (type == null || timers[ index ].queue === type) ) { - timers[ index ].anim.stop( gotoEnd ); - dequeue = false; - timers.splice( index, 1 ); - } - } - - // start the next in the queue if the last step wasn't forced - // timers currently will call their complete callbacks, which will dequeue - // but only if they were gotoEnd - if ( dequeue || !gotoEnd ) { - jQuery.dequeue( this, type ); - } - }); - }, - finish: function( type ) { - if ( type !== false ) { - type = type || "fx"; - } - return this.each(function() { - var index, - data = jQuery._data( this ), - queue = data[ type + "queue" ], - hooks = data[ type + "queueHooks" ], - timers = jQuery.timers, - length = queue ? queue.length : 0; - - // enable finishing flag on private data - data.finish = true; - - // empty the queue first - jQuery.queue( this, type, [] ); - - if ( hooks && hooks.stop ) { - hooks.stop.call( this, true ); - } - - // look for any active animations, and finish them - for ( index = timers.length; index--; ) { - if ( timers[ index ].elem === this && timers[ index ].queue === type ) { - timers[ index ].anim.stop( true ); - timers.splice( index, 1 ); - } - } - - // look for any animations in the old queue and finish them - for ( index = 0; index < length; index++ ) { - if ( queue[ index ] && queue[ index ].finish ) { - queue[ index ].finish.call( this ); - } - } - - // turn off finishing flag - delete data.finish; - }); - } -}); - -jQuery.each([ "toggle", "show", "hide" ], function( i, name ) { - var cssFn = jQuery.fn[ name ]; - jQuery.fn[ name ] = function( speed, easing, callback ) { - return speed == null || typeof speed === "boolean" ? - cssFn.apply( this, arguments ) : - this.animate( genFx( name, true ), speed, easing, callback ); - }; -}); - -// Generate shortcuts for custom animations -jQuery.each({ - slideDown: genFx("show"), - slideUp: genFx("hide"), - slideToggle: genFx("toggle"), - fadeIn: { opacity: "show" }, - fadeOut: { opacity: "hide" }, - fadeToggle: { opacity: "toggle" } -}, function( name, props ) { - jQuery.fn[ name ] = function( speed, easing, callback ) { - return this.animate( props, speed, easing, callback ); - }; -}); - -jQuery.timers = []; -jQuery.fx.tick = function() { - var timer, - timers = jQuery.timers, - i = 0; - - fxNow = jQuery.now(); - - for ( ; i < timers.length; i++ ) { - timer = timers[ i ]; - // Checks the timer has not already been removed - if ( !timer() && timers[ i ] === timer ) { - timers.splice( i--, 1 ); - } - } - - if ( !timers.length ) { - jQuery.fx.stop(); - } - fxNow = undefined; -}; - -jQuery.fx.timer = function( timer ) { - jQuery.timers.push( timer ); - if ( timer() ) { - jQuery.fx.start(); - } else { - jQuery.timers.pop(); - } -}; - -jQuery.fx.interval = 13; - -jQuery.fx.start = function() { - if ( !timerId ) { - timerId = setInterval( jQuery.fx.tick, jQuery.fx.interval ); - } -}; - -jQuery.fx.stop = function() { - clearInterval( timerId ); - timerId = null; -}; - -jQuery.fx.speeds = { - slow: 600, - fast: 200, - // Default speed - _default: 400 -}; - - -// Based off of the plugin by Clint Helfers, with permission. -// http://blindsignals.com/index.php/2009/07/jquery-delay/ -jQuery.fn.delay = function( time, type ) { - time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; - type = type || "fx"; - - return this.queue( type, function( next, hooks ) { - var timeout = setTimeout( next, time ); - hooks.stop = function() { - clearTimeout( timeout ); - }; - }); -}; - - -(function() { - // Minified: var a,b,c,d,e - var input, div, select, a, opt; - - // Setup - div = document.createElement( "div" ); - div.setAttribute( "className", "t" ); - div.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>"; - a = div.getElementsByTagName("a")[ 0 ]; - - // First batch of tests. - select = document.createElement("select"); - opt = select.appendChild( document.createElement("option") ); - input = div.getElementsByTagName("input")[ 0 ]; - - a.style.cssText = "top:1px"; - - // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7) - support.getSetAttribute = div.className !== "t"; - - // Get the style information from getAttribute - // (IE uses .cssText instead) - support.style = /top/.test( a.getAttribute("style") ); - - // Make sure that URLs aren't manipulated - // (IE normalizes it by default) - support.hrefNormalized = a.getAttribute("href") === "/a"; - - // Check the default checkbox/radio value ("" on WebKit; "on" elsewhere) - support.checkOn = !!input.value; - - // Make sure that a selected-by-default option has a working selected property. - // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) - support.optSelected = opt.selected; - - // Tests for enctype support on a form (#6743) - support.enctype = !!document.createElement("form").enctype; - - // Make sure that the options inside disabled selects aren't marked as disabled - // (WebKit marks them as disabled) - select.disabled = true; - support.optDisabled = !opt.disabled; - - // Support: IE8 only - // Check if we can trust getAttribute("value") - input = document.createElement( "input" ); - input.setAttribute( "value", "" ); - support.input = input.getAttribute( "value" ) === ""; - - // Check if an input maintains its value after becoming a radio - input.value = "t"; - input.setAttribute( "type", "radio" ); - support.radioValue = input.value === "t"; -})(); - - -var rreturn = /\r/g; - -jQuery.fn.extend({ - val: function( value ) { - var hooks, ret, isFunction, - elem = this[0]; - - if ( !arguments.length ) { - if ( elem ) { - hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ]; - - if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) { - return ret; - } - - ret = elem.value; - - return typeof ret === "string" ? - // handle most common string cases - ret.replace(rreturn, "") : - // handle cases where value is null/undef or number - ret == null ? "" : ret; - } - - return; - } - - isFunction = jQuery.isFunction( value ); - - return this.each(function( i ) { - var val; - - if ( this.nodeType !== 1 ) { - return; - } - - if ( isFunction ) { - val = value.call( this, i, jQuery( this ).val() ); - } else { - val = value; - } - - // Treat null/undefined as ""; convert numbers to string - if ( val == null ) { - val = ""; - } else if ( typeof val === "number" ) { - val += ""; - } else if ( jQuery.isArray( val ) ) { - val = jQuery.map( val, function( value ) { - return value == null ? "" : value + ""; - }); - } - - hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; - - // If set returns undefined, fall back to normal setting - if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) { - this.value = val; - } - }); - } -}); - -jQuery.extend({ - valHooks: { - option: { - get: function( elem ) { - var val = jQuery.find.attr( elem, "value" ); - return val != null ? - val : - // Support: IE10-11+ - // option.text throws exceptions (#14686, #14858) - jQuery.trim( jQuery.text( elem ) ); - } - }, - select: { - get: function( elem ) { - var value, option, - options = elem.options, - index = elem.selectedIndex, - one = elem.type === "select-one" || index < 0, - values = one ? null : [], - max = one ? index + 1 : options.length, - i = index < 0 ? - max : - one ? index : 0; - - // Loop through all the selected options - for ( ; i < max; i++ ) { - option = options[ i ]; - - // oldIE doesn't update selected after form reset (#2551) - if ( ( option.selected || i === index ) && - // Don't return options that are disabled or in a disabled optgroup - ( support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null ) && - ( !option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) { - - // Get the specific value for the option - value = jQuery( option ).val(); - - // We don't need an array for one selects - if ( one ) { - return value; - } - - // Multi-Selects return an array - values.push( value ); - } - } - - return values; - }, - - set: function( elem, value ) { - var optionSet, option, - options = elem.options, - values = jQuery.makeArray( value ), - i = options.length; - - while ( i-- ) { - option = options[ i ]; - - if ( jQuery.inArray( jQuery.valHooks.option.get( option ), values ) >= 0 ) { - - // Support: IE6 - // When new option element is added to select box we need to - // force reflow of newly added node in order to workaround delay - // of initialization properties - try { - option.selected = optionSet = true; - - } catch ( _ ) { - - // Will be executed only in IE6 - option.scrollHeight; - } - - } else { - option.selected = false; - } - } - - // Force browsers to behave consistently when non-matching value is set - if ( !optionSet ) { - elem.selectedIndex = -1; - } - - return options; - } - } - } -}); - -// Radios and checkboxes getter/setter -jQuery.each([ "radio", "checkbox" ], function() { - jQuery.valHooks[ this ] = { - set: function( elem, value ) { - if ( jQuery.isArray( value ) ) { - return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 ); - } - } - }; - if ( !support.checkOn ) { - jQuery.valHooks[ this ].get = function( elem ) { - // Support: Webkit - // "" is returned instead of "on" if a value isn't specified - return elem.getAttribute("value") === null ? "on" : elem.value; - }; - } -}); - - - - -var nodeHook, boolHook, - attrHandle = jQuery.expr.attrHandle, - ruseDefault = /^(?:checked|selected)$/i, - getSetAttribute = support.getSetAttribute, - getSetInput = support.input; - -jQuery.fn.extend({ - attr: function( name, value ) { - return access( this, jQuery.attr, name, value, arguments.length > 1 ); - }, - - removeAttr: function( name ) { - return this.each(function() { - jQuery.removeAttr( this, name ); - }); - } -}); - -jQuery.extend({ - attr: function( elem, name, value ) { - var hooks, ret, - nType = elem.nodeType; - - // don't get/set attributes on text, comment and attribute nodes - if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { - return; - } - - // Fallback to prop when attributes are not supported - if ( typeof elem.getAttribute === strundefined ) { - return jQuery.prop( elem, name, value ); - } - - // All attributes are lowercase - // Grab necessary hook if one is defined - if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { - name = name.toLowerCase(); - hooks = jQuery.attrHooks[ name ] || - ( jQuery.expr.match.bool.test( name ) ? boolHook : nodeHook ); - } - - if ( value !== undefined ) { - - if ( value === null ) { - jQuery.removeAttr( elem, name ); - - } else if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { - return ret; - - } else { - elem.setAttribute( name, value + "" ); - return value; - } - - } else if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { - return ret; - - } else { - ret = jQuery.find.attr( elem, name ); - - // Non-existent attributes return null, we normalize to undefined - return ret == null ? - undefined : - ret; - } - }, - - removeAttr: function( elem, value ) { - var name, propName, - i = 0, - attrNames = value && value.match( rnotwhite ); - - if ( attrNames && elem.nodeType === 1 ) { - while ( (name = attrNames[i++]) ) { - propName = jQuery.propFix[ name ] || name; - - // Boolean attributes get special treatment (#10870) - if ( jQuery.expr.match.bool.test( name ) ) { - // Set corresponding property to false - if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) { - elem[ propName ] = false; - // Support: IE<9 - // Also clear defaultChecked/defaultSelected (if appropriate) - } else { - elem[ jQuery.camelCase( "default-" + name ) ] = - elem[ propName ] = false; - } - - // See #9699 for explanation of this approach (setting first, then removal) - } else { - jQuery.attr( elem, name, "" ); - } - - elem.removeAttribute( getSetAttribute ? name : propName ); - } - } - }, - - attrHooks: { - type: { - set: function( elem, value ) { - if ( !support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) { - // Setting the type on a radio button after the value resets the value in IE6-9 - // Reset value to default in case type is set after value during creation - var val = elem.value; - elem.setAttribute( "type", value ); - if ( val ) { - elem.value = val; - } - return value; - } - } - } - } -}); - -// Hook for boolean attributes -boolHook = { - set: function( elem, value, name ) { - if ( value === false ) { - // Remove boolean attributes when set to false - jQuery.removeAttr( elem, name ); - } else if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) { - // IE<8 needs the *property* name - elem.setAttribute( !getSetAttribute && jQuery.propFix[ name ] || name, name ); - - // Use defaultChecked and defaultSelected for oldIE - } else { - elem[ jQuery.camelCase( "default-" + name ) ] = elem[ name ] = true; - } - - return name; - } -}; - -// Retrieve booleans specially -jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { - - var getter = attrHandle[ name ] || jQuery.find.attr; - - attrHandle[ name ] = getSetInput && getSetAttribute || !ruseDefault.test( name ) ? - function( elem, name, isXML ) { - var ret, handle; - if ( !isXML ) { - // Avoid an infinite loop by temporarily removing this function from the getter - handle = attrHandle[ name ]; - attrHandle[ name ] = ret; - ret = getter( elem, name, isXML ) != null ? - name.toLowerCase() : - null; - attrHandle[ name ] = handle; - } - return ret; - } : - function( elem, name, isXML ) { - if ( !isXML ) { - return elem[ jQuery.camelCase( "default-" + name ) ] ? - name.toLowerCase() : - null; - } - }; -}); - -// fix oldIE attroperties -if ( !getSetInput || !getSetAttribute ) { - jQuery.attrHooks.value = { - set: function( elem, value, name ) { - if ( jQuery.nodeName( elem, "input" ) ) { - // Does not return so that setAttribute is also used - elem.defaultValue = value; - } else { - // Use nodeHook if defined (#1954); otherwise setAttribute is fine - return nodeHook && nodeHook.set( elem, value, name ); - } - } - }; -} - -// IE6/7 do not support getting/setting some attributes with get/setAttribute -if ( !getSetAttribute ) { - - // Use this for any attribute in IE6/7 - // This fixes almost every IE6/7 issue - nodeHook = { - set: function( elem, value, name ) { - // Set the existing or create a new attribute node - var ret = elem.getAttributeNode( name ); - if ( !ret ) { - elem.setAttributeNode( - (ret = elem.ownerDocument.createAttribute( name )) - ); - } - - ret.value = value += ""; - - // Break association with cloned elements by also using setAttribute (#9646) - if ( name === "value" || value === elem.getAttribute( name ) ) { - return value; - } - } - }; - - // Some attributes are constructed with empty-string values when not defined - attrHandle.id = attrHandle.name = attrHandle.coords = - function( elem, name, isXML ) { - var ret; - if ( !isXML ) { - return (ret = elem.getAttributeNode( name )) && ret.value !== "" ? - ret.value : - null; - } - }; - - // Fixing value retrieval on a button requires this module - jQuery.valHooks.button = { - get: function( elem, name ) { - var ret = elem.getAttributeNode( name ); - if ( ret && ret.specified ) { - return ret.value; - } - }, - set: nodeHook.set - }; - - // Set contenteditable to false on removals(#10429) - // Setting to empty string throws an error as an invalid value - jQuery.attrHooks.contenteditable = { - set: function( elem, value, name ) { - nodeHook.set( elem, value === "" ? false : value, name ); - } - }; - - // Set width and height to auto instead of 0 on empty string( Bug #8150 ) - // This is for removals - jQuery.each([ "width", "height" ], function( i, name ) { - jQuery.attrHooks[ name ] = { - set: function( elem, value ) { - if ( value === "" ) { - elem.setAttribute( name, "auto" ); - return value; - } - } - }; - }); -} - -if ( !support.style ) { - jQuery.attrHooks.style = { - get: function( elem ) { - // Return undefined in the case of empty string - // Note: IE uppercases css property names, but if we were to .toLowerCase() - // .cssText, that would destroy case senstitivity in URL's, like in "background" - return elem.style.cssText || undefined; - }, - set: function( elem, value ) { - return ( elem.style.cssText = value + "" ); - } - }; -} - - - - -var rfocusable = /^(?:input|select|textarea|button|object)$/i, - rclickable = /^(?:a|area)$/i; - -jQuery.fn.extend({ - prop: function( name, value ) { - return access( this, jQuery.prop, name, value, arguments.length > 1 ); - }, - - removeProp: function( name ) { - name = jQuery.propFix[ name ] || name; - return this.each(function() { - // try/catch handles cases where IE balks (such as removing a property on window) - try { - this[ name ] = undefined; - delete this[ name ]; - } catch( e ) {} - }); - } -}); - -jQuery.extend({ - propFix: { - "for": "htmlFor", - "class": "className" - }, - - prop: function( elem, name, value ) { - var ret, hooks, notxml, - nType = elem.nodeType; - - // don't get/set properties on text, comment and attribute nodes - if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { - return; - } - - notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); - - if ( notxml ) { - // Fix name and attach hooks - name = jQuery.propFix[ name ] || name; - hooks = jQuery.propHooks[ name ]; - } - - if ( value !== undefined ) { - return hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ? - ret : - ( elem[ name ] = value ); - - } else { - return hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ? - ret : - elem[ name ]; - } - }, - - propHooks: { - tabIndex: { - get: function( elem ) { - // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set - // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ - // Use proper attribute retrieval(#12072) - var tabindex = jQuery.find.attr( elem, "tabindex" ); - - return tabindex ? - parseInt( tabindex, 10 ) : - rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? - 0 : - -1; - } - } - } -}); - -// Some attributes require a special call on IE -// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx -if ( !support.hrefNormalized ) { - // href/src property should get the full normalized URL (#10299/#12915) - jQuery.each([ "href", "src" ], function( i, name ) { - jQuery.propHooks[ name ] = { - get: function( elem ) { - return elem.getAttribute( name, 4 ); - } - }; - }); -} - -// Support: Safari, IE9+ -// mis-reports the default selected property of an option -// Accessing the parent's selectedIndex property fixes it -if ( !support.optSelected ) { - jQuery.propHooks.selected = { - get: function( elem ) { - var parent = elem.parentNode; - - if ( parent ) { - parent.selectedIndex; - - // Make sure that it also works with optgroups, see #5701 - if ( parent.parentNode ) { - parent.parentNode.selectedIndex; - } - } - return null; - } - }; -} - -jQuery.each([ - "tabIndex", - "readOnly", - "maxLength", - "cellSpacing", - "cellPadding", - "rowSpan", - "colSpan", - "useMap", - "frameBorder", - "contentEditable" -], function() { - jQuery.propFix[ this.toLowerCase() ] = this; -}); - -// IE6/7 call enctype encoding -if ( !support.enctype ) { - jQuery.propFix.enctype = "encoding"; -} - - - - -var rclass = /[\t\r\n\f]/g; - -jQuery.fn.extend({ - addClass: function( value ) { - var classes, elem, cur, clazz, j, finalValue, - i = 0, - len = this.length, - proceed = typeof value === "string" && value; - - if ( jQuery.isFunction( value ) ) { - return this.each(function( j ) { - jQuery( this ).addClass( value.call( this, j, this.className ) ); - }); - } - - if ( proceed ) { - // The disjunction here is for better compressibility (see removeClass) - classes = ( value || "" ).match( rnotwhite ) || []; - - for ( ; i < len; i++ ) { - elem = this[ i ]; - cur = elem.nodeType === 1 && ( elem.className ? - ( " " + elem.className + " " ).replace( rclass, " " ) : - " " - ); - - if ( cur ) { - j = 0; - while ( (clazz = classes[j++]) ) { - if ( cur.indexOf( " " + clazz + " " ) < 0 ) { - cur += clazz + " "; - } - } - - // only assign if different to avoid unneeded rendering. - finalValue = jQuery.trim( cur ); - if ( elem.className !== finalValue ) { - elem.className = finalValue; - } - } - } - } - - return this; - }, - - removeClass: function( value ) { - var classes, elem, cur, clazz, j, finalValue, - i = 0, - len = this.length, - proceed = arguments.length === 0 || typeof value === "string" && value; - - if ( jQuery.isFunction( value ) ) { - return this.each(function( j ) { - jQuery( this ).removeClass( value.call( this, j, this.className ) ); - }); - } - if ( proceed ) { - classes = ( value || "" ).match( rnotwhite ) || []; - - for ( ; i < len; i++ ) { - elem = this[ i ]; - // This expression is here for better compressibility (see addClass) - cur = elem.nodeType === 1 && ( elem.className ? - ( " " + elem.className + " " ).replace( rclass, " " ) : - "" - ); - - if ( cur ) { - j = 0; - while ( (clazz = classes[j++]) ) { - // Remove *all* instances - while ( cur.indexOf( " " + clazz + " " ) >= 0 ) { - cur = cur.replace( " " + clazz + " ", " " ); - } - } - - // only assign if different to avoid unneeded rendering. - finalValue = value ? jQuery.trim( cur ) : ""; - if ( elem.className !== finalValue ) { - elem.className = finalValue; - } - } - } - } - - return this; - }, - - toggleClass: function( value, stateVal ) { - var type = typeof value; - - if ( typeof stateVal === "boolean" && type === "string" ) { - return stateVal ? this.addClass( value ) : this.removeClass( value ); - } - - if ( jQuery.isFunction( value ) ) { - return this.each(function( i ) { - jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal ); - }); - } - - return this.each(function() { - if ( type === "string" ) { - // toggle individual class names - var className, - i = 0, - self = jQuery( this ), - classNames = value.match( rnotwhite ) || []; - - while ( (className = classNames[ i++ ]) ) { - // check each className given, space separated list - if ( self.hasClass( className ) ) { - self.removeClass( className ); - } else { - self.addClass( className ); - } - } - - // Toggle whole class name - } else if ( type === strundefined || type === "boolean" ) { - if ( this.className ) { - // store className if set - jQuery._data( this, "__className__", this.className ); - } - - // If the element has a class name or if we're passed "false", - // then remove the whole classname (if there was one, the above saved it). - // Otherwise bring back whatever was previously saved (if anything), - // falling back to the empty string if nothing was stored. - this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || ""; - } - }); - }, - - hasClass: function( selector ) { - var className = " " + selector + " ", - i = 0, - l = this.length; - for ( ; i < l; i++ ) { - if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) >= 0 ) { - return true; - } - } - - return false; - } -}); - - - - -// Return jQuery for attributes-only inclusion - - -jQuery.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( i, name ) { - - // Handle event binding - jQuery.fn[ name ] = function( data, fn ) { - return arguments.length > 0 ? - this.on( name, null, data, fn ) : - this.trigger( name ); - }; -}); - -jQuery.fn.extend({ - hover: function( fnOver, fnOut ) { - return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); - }, - - bind: function( types, data, fn ) { - return this.on( types, null, data, fn ); - }, - unbind: function( types, fn ) { - return this.off( types, null, fn ); - }, - - delegate: function( selector, types, data, fn ) { - return this.on( types, selector, data, fn ); - }, - undelegate: function( selector, types, fn ) { - // ( namespace ) or ( selector, types [, fn] ) - return arguments.length === 1 ? this.off( selector, "**" ) : this.off( types, selector || "**", fn ); - } -}); - - -var nonce = jQuery.now(); - -var rquery = (/\?/); - - - -var rvalidtokens = /(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g; - -jQuery.parseJSON = function( data ) { - // Attempt to parse using the native JSON parser first - if ( window.JSON && window.JSON.parse ) { - // Support: Android 2.3 - // Workaround failure to string-cast null input - return window.JSON.parse( data + "" ); - } - - var requireNonComma, - depth = null, - str = jQuery.trim( data + "" ); - - // Guard against invalid (and possibly dangerous) input by ensuring that nothing remains - // after removing valid tokens - return str && !jQuery.trim( str.replace( rvalidtokens, function( token, comma, open, close ) { - - // Force termination if we see a misplaced comma - if ( requireNonComma && comma ) { - depth = 0; - } - - // Perform no more replacements after returning to outermost depth - if ( depth === 0 ) { - return token; - } - - // Commas must not follow "[", "{", or "," - requireNonComma = open || comma; - - // Determine new depth - // array/object open ("[" or "{"): depth += true - false (increment) - // array/object close ("]" or "}"): depth += false - true (decrement) - // other cases ("," or primitive): depth += true - true (numeric cast) - depth += !close - !open; - - // Remove this token - return ""; - }) ) ? - ( Function( "return " + str ) )() : - jQuery.error( "Invalid JSON: " + data ); -}; - - -// Cross-browser xml parsing -jQuery.parseXML = function( data ) { - var xml, tmp; - if ( !data || typeof data !== "string" ) { - return null; - } - try { - if ( window.DOMParser ) { // Standard - tmp = new DOMParser(); - xml = tmp.parseFromString( data, "text/xml" ); - } else { // IE - xml = new ActiveXObject( "Microsoft.XMLDOM" ); - xml.async = "false"; - xml.loadXML( data ); - } - } catch( e ) { - xml = undefined; - } - if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) { - jQuery.error( "Invalid XML: " + data ); - } - return xml; -}; - - -var - // Document location - ajaxLocParts, - ajaxLocation, - - rhash = /#.*$/, - rts = /([?&])_=[^&]*/, - rheaders = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, // IE leaves an \r character at EOL - // #7653, #8125, #8152: local protocol detection - rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, - rnoContent = /^(?:GET|HEAD)$/, - rprotocol = /^\/\//, - rurl = /^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/, - - /* Prefilters - * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) - * 2) These are called: - * - BEFORE asking for a transport - * - AFTER param serialization (s.data is a string if s.processData is true) - * 3) key is the dataType - * 4) the catchall symbol "*" can be used - * 5) execution will start with transport dataType and THEN continue down to "*" if needed - */ - prefilters = {}, - - /* Transports bindings - * 1) key is the dataType - * 2) the catchall symbol "*" can be used - * 3) selection will start with transport dataType and THEN go to "*" if needed - */ - transports = {}, - - // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression - allTypes = "*/".concat("*"); - -// #8138, IE may throw an exception when accessing -// a field from window.location if document.domain has been set -try { - ajaxLocation = location.href; -} catch( e ) { - // Use the href attribute of an A element - // since IE will modify it given document.location - ajaxLocation = document.createElement( "a" ); - ajaxLocation.href = ""; - ajaxLocation = ajaxLocation.href; -} - -// Segment location into parts -ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || []; - -// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport -function addToPrefiltersOrTransports( structure ) { - - // dataTypeExpression is optional and defaults to "*" - return function( dataTypeExpression, func ) { - - if ( typeof dataTypeExpression !== "string" ) { - func = dataTypeExpression; - dataTypeExpression = "*"; - } - - var dataType, - i = 0, - dataTypes = dataTypeExpression.toLowerCase().match( rnotwhite ) || []; - - if ( jQuery.isFunction( func ) ) { - // For each dataType in the dataTypeExpression - while ( (dataType = dataTypes[i++]) ) { - // Prepend if requested - if ( dataType.charAt( 0 ) === "+" ) { - dataType = dataType.slice( 1 ) || "*"; - (structure[ dataType ] = structure[ dataType ] || []).unshift( func ); - - // Otherwise append - } else { - (structure[ dataType ] = structure[ dataType ] || []).push( func ); - } - } - } - }; -} - -// Base inspection function for prefilters and transports -function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { - - var inspected = {}, - seekingTransport = ( structure === transports ); - - function inspect( dataType ) { - var selected; - inspected[ dataType ] = true; - jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { - var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); - if ( typeof dataTypeOrTransport === "string" && !seekingTransport && !inspected[ dataTypeOrTransport ] ) { - options.dataTypes.unshift( dataTypeOrTransport ); - inspect( dataTypeOrTransport ); - return false; - } else if ( seekingTransport ) { - return !( selected = dataTypeOrTransport ); - } - }); - return selected; - } - - return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); -} - -// A special extend for ajax options -// that takes "flat" options (not to be deep extended) -// Fixes #9887 -function ajaxExtend( target, src ) { - var deep, key, - flatOptions = jQuery.ajaxSettings.flatOptions || {}; - - for ( key in src ) { - if ( src[ key ] !== undefined ) { - ( flatOptions[ key ] ? target : ( deep || (deep = {}) ) )[ key ] = src[ key ]; - } - } - if ( deep ) { - jQuery.extend( true, target, deep ); - } - - return target; -} - -/* Handles responses to an ajax request: - * - finds the right dataType (mediates between content-type and expected dataType) - * - returns the corresponding response - */ -function ajaxHandleResponses( s, jqXHR, responses ) { - var firstDataType, ct, finalDataType, type, - contents = s.contents, - dataTypes = s.dataTypes; - - // Remove auto dataType and get content-type in the process - while ( dataTypes[ 0 ] === "*" ) { - dataTypes.shift(); - if ( ct === undefined ) { - ct = s.mimeType || jqXHR.getResponseHeader("Content-Type"); - } - } - - // Check if we're dealing with a known content-type - if ( ct ) { - for ( type in contents ) { - if ( contents[ type ] && contents[ type ].test( ct ) ) { - dataTypes.unshift( type ); - break; - } - } - } - - // Check to see if we have a response for the expected dataType - if ( dataTypes[ 0 ] in responses ) { - finalDataType = dataTypes[ 0 ]; - } else { - // Try convertible dataTypes - for ( type in responses ) { - if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[0] ] ) { - finalDataType = type; - break; - } - if ( !firstDataType ) { - firstDataType = type; - } - } - // Or just use first one - finalDataType = finalDataType || firstDataType; - } - - // If we found a dataType - // We add the dataType to the list if needed - // and return the corresponding response - if ( finalDataType ) { - if ( finalDataType !== dataTypes[ 0 ] ) { - dataTypes.unshift( finalDataType ); - } - return responses[ finalDataType ]; - } -} - -/* Chain conversions given the request and the original response - * Also sets the responseXXX fields on the jqXHR instance - */ -function ajaxConvert( s, response, jqXHR, isSuccess ) { - var conv2, current, conv, tmp, prev, - converters = {}, - // Work with a copy of dataTypes in case we need to modify it for conversion - dataTypes = s.dataTypes.slice(); - - // Create converters map with lowercased keys - if ( dataTypes[ 1 ] ) { - for ( conv in s.converters ) { - converters[ conv.toLowerCase() ] = s.converters[ conv ]; - } - } - - current = dataTypes.shift(); - - // Convert to each sequential dataType - while ( current ) { - - if ( s.responseFields[ current ] ) { - jqXHR[ s.responseFields[ current ] ] = response; - } - - // Apply the dataFilter if provided - if ( !prev && isSuccess && s.dataFilter ) { - response = s.dataFilter( response, s.dataType ); - } - - prev = current; - current = dataTypes.shift(); - - if ( current ) { - - // There's only work to do if current dataType is non-auto - if ( current === "*" ) { - - current = prev; - - // Convert response if prev dataType is non-auto and differs from current - } else if ( prev !== "*" && prev !== current ) { - - // Seek a direct converter - conv = converters[ prev + " " + current ] || converters[ "* " + current ]; - - // If none found, seek a pair - if ( !conv ) { - for ( conv2 in converters ) { - - // If conv2 outputs current - tmp = conv2.split( " " ); - if ( tmp[ 1 ] === current ) { - - // If prev can be converted to accepted input - conv = converters[ prev + " " + tmp[ 0 ] ] || - converters[ "* " + tmp[ 0 ] ]; - if ( conv ) { - // Condense equivalence converters - if ( conv === true ) { - conv = converters[ conv2 ]; - - // Otherwise, insert the intermediate dataType - } else if ( converters[ conv2 ] !== true ) { - current = tmp[ 0 ]; - dataTypes.unshift( tmp[ 1 ] ); - } - break; - } - } - } - } - - // Apply converter (if not an equivalence) - if ( conv !== true ) { - - // Unless errors are allowed to bubble, catch and return them - if ( conv && s[ "throws" ] ) { - response = conv( response ); - } else { - try { - response = conv( response ); - } catch ( e ) { - return { state: "parsererror", error: conv ? e : "No conversion from " + prev + " to " + current }; - } - } - } - } - } - } - - return { state: "success", data: response }; -} - -jQuery.extend({ - - // Counter for holding the number of active queries - active: 0, - - // Last-Modified header cache for next request - lastModified: {}, - etag: {}, - - ajaxSettings: { - url: ajaxLocation, - type: "GET", - isLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ), - global: true, - processData: true, - async: true, - contentType: "application/x-www-form-urlencoded; charset=UTF-8", - /* - timeout: 0, - data: null, - dataType: null, - username: null, - password: null, - cache: null, - throws: false, - traditional: false, - headers: {}, - */ - - accepts: { - "*": allTypes, - text: "text/plain", - html: "text/html", - xml: "application/xml, text/xml", - json: "application/json, text/javascript" - }, - - contents: { - xml: /xml/, - html: /html/, - json: /json/ - }, - - responseFields: { - xml: "responseXML", - text: "responseText", - json: "responseJSON" - }, - - // Data converters - // Keys separate source (or catchall "*") and destination types with a single space - converters: { - - // Convert anything to text - "* text": String, - - // Text to html (true = no transformation) - "text html": true, - - // Evaluate text as a json expression - "text json": jQuery.parseJSON, - - // Parse text as xml - "text xml": jQuery.parseXML - }, - - // For options that shouldn't be deep extended: - // you can add your own custom options here if - // and when you create one that shouldn't be - // deep extended (see ajaxExtend) - flatOptions: { - url: true, - context: true - } - }, - - // Creates a full fledged settings object into target - // with both ajaxSettings and settings fields. - // If target is omitted, writes into ajaxSettings. - ajaxSetup: function( target, settings ) { - return settings ? - - // Building a settings object - ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : - - // Extending ajaxSettings - ajaxExtend( jQuery.ajaxSettings, target ); - }, - - ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), - ajaxTransport: addToPrefiltersOrTransports( transports ), - - // Main method - ajax: function( url, options ) { - - // If url is an object, simulate pre-1.5 signature - if ( typeof url === "object" ) { - options = url; - url = undefined; - } - - // Force options to be an object - options = options || {}; - - var // Cross-domain detection vars - parts, - // Loop variable - i, - // URL without anti-cache param - cacheURL, - // Response headers as string - responseHeadersString, - // timeout handle - timeoutTimer, - - // To know if global events are to be dispatched - fireGlobals, - - transport, - // Response headers - responseHeaders, - // Create the final options object - s = jQuery.ajaxSetup( {}, options ), - // Callbacks context - callbackContext = s.context || s, - // Context for global events is callbackContext if it is a DOM node or jQuery collection - globalEventContext = s.context && ( callbackContext.nodeType || callbackContext.jquery ) ? - jQuery( callbackContext ) : - jQuery.event, - // Deferreds - deferred = jQuery.Deferred(), - completeDeferred = jQuery.Callbacks("once memory"), - // Status-dependent callbacks - statusCode = s.statusCode || {}, - // Headers (they are sent all at once) - requestHeaders = {}, - requestHeadersNames = {}, - // The jqXHR state - state = 0, - // Default abort message - strAbort = "canceled", - // Fake xhr - jqXHR = { - readyState: 0, - - // Builds headers hashtable if needed - getResponseHeader: function( key ) { - var match; - if ( state === 2 ) { - if ( !responseHeaders ) { - responseHeaders = {}; - while ( (match = rheaders.exec( responseHeadersString )) ) { - responseHeaders[ match[1].toLowerCase() ] = match[ 2 ]; - } - } - match = responseHeaders[ key.toLowerCase() ]; - } - return match == null ? null : match; - }, - - // Raw string - getAllResponseHeaders: function() { - return state === 2 ? responseHeadersString : null; - }, - - // Caches the header - setRequestHeader: function( name, value ) { - var lname = name.toLowerCase(); - if ( !state ) { - name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name; - requestHeaders[ name ] = value; - } - return this; - }, - - // Overrides response content-type header - overrideMimeType: function( type ) { - if ( !state ) { - s.mimeType = type; - } - return this; - }, - - // Status-dependent callbacks - statusCode: function( map ) { - var code; - if ( map ) { - if ( state < 2 ) { - for ( code in map ) { - // Lazy-add the new callback in a way that preserves old ones - statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; - } - } else { - // Execute the appropriate callbacks - jqXHR.always( map[ jqXHR.status ] ); - } - } - return this; - }, - - // Cancel the request - abort: function( statusText ) { - var finalText = statusText || strAbort; - if ( transport ) { - transport.abort( finalText ); - } - done( 0, finalText ); - return this; - } - }; - - // Attach deferreds - deferred.promise( jqXHR ).complete = completeDeferred.add; - jqXHR.success = jqXHR.done; - jqXHR.error = jqXHR.fail; - - // Remove hash character (#7531: and string promotion) - // Add protocol if not provided (#5866: IE7 issue with protocol-less urls) - // Handle falsy url in the settings object (#10093: consistency with old signature) - // We also use the url parameter if available - s.url = ( ( url || s.url || ajaxLocation ) + "" ).replace( rhash, "" ).replace( rprotocol, ajaxLocParts[ 1 ] + "//" ); - - // Alias method option to type as per ticket #12004 - s.type = options.method || options.type || s.method || s.type; - - // Extract dataTypes list - s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().match( rnotwhite ) || [ "" ]; - - // A cross-domain request is in order when we have a protocol:host:port mismatch - if ( s.crossDomain == null ) { - parts = rurl.exec( s.url.toLowerCase() ); - s.crossDomain = !!( parts && - ( parts[ 1 ] !== ajaxLocParts[ 1 ] || parts[ 2 ] !== ajaxLocParts[ 2 ] || - ( parts[ 3 ] || ( parts[ 1 ] === "http:" ? "80" : "443" ) ) !== - ( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? "80" : "443" ) ) ) - ); - } - - // Convert data if not already a string - if ( s.data && s.processData && typeof s.data !== "string" ) { - s.data = jQuery.param( s.data, s.traditional ); - } - - // Apply prefilters - inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); - - // If request was aborted inside a prefilter, stop there - if ( state === 2 ) { - return jqXHR; - } - - // We can fire global events as of now if asked to - // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) - fireGlobals = jQuery.event && s.global; - - // Watch for a new set of requests - if ( fireGlobals && jQuery.active++ === 0 ) { - jQuery.event.trigger("ajaxStart"); - } - - // Uppercase the type - s.type = s.type.toUpperCase(); - - // Determine if request has content - s.hasContent = !rnoContent.test( s.type ); - - // Save the URL in case we're toying with the If-Modified-Since - // and/or If-None-Match header later on - cacheURL = s.url; - - // More options handling for requests with no content - if ( !s.hasContent ) { - - // If data is available, append data to url - if ( s.data ) { - cacheURL = ( s.url += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data ); - // #9682: remove data so that it's not used in an eventual retry - delete s.data; - } - - // Add anti-cache in url if needed - if ( s.cache === false ) { - s.url = rts.test( cacheURL ) ? - - // If there is already a '_' parameter, set its value - cacheURL.replace( rts, "$1_=" + nonce++ ) : - - // Otherwise add one to the end - cacheURL + ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + nonce++; - } - } - - // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. - if ( s.ifModified ) { - if ( jQuery.lastModified[ cacheURL ] ) { - jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); - } - if ( jQuery.etag[ cacheURL ] ) { - jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); - } - } - - // Set the correct header, if data is being sent - if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { - jqXHR.setRequestHeader( "Content-Type", s.contentType ); - } - - // Set the Accepts header for the server, depending on the dataType - jqXHR.setRequestHeader( - "Accept", - s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ? - s.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : - s.accepts[ "*" ] - ); - - // Check for headers option - for ( i in s.headers ) { - jqXHR.setRequestHeader( i, s.headers[ i ] ); - } - - // Allow custom headers/mimetypes and early abort - if ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) { - // Abort if not done already and return - return jqXHR.abort(); - } - - // aborting is no longer a cancellation - strAbort = "abort"; - - // Install callbacks on deferreds - for ( i in { success: 1, error: 1, complete: 1 } ) { - jqXHR[ i ]( s[ i ] ); - } - - // Get transport - transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); - - // If no transport, we auto-abort - if ( !transport ) { - done( -1, "No Transport" ); - } else { - jqXHR.readyState = 1; - - // Send global event - if ( fireGlobals ) { - globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); - } - // Timeout - if ( s.async && s.timeout > 0 ) { - timeoutTimer = setTimeout(function() { - jqXHR.abort("timeout"); - }, s.timeout ); - } - - try { - state = 1; - transport.send( requestHeaders, done ); - } catch ( e ) { - // Propagate exception as error if not done - if ( state < 2 ) { - done( -1, e ); - // Simply rethrow otherwise - } else { - throw e; - } - } - } - - // Callback for when everything is done - function done( status, nativeStatusText, responses, headers ) { - var isSuccess, success, error, response, modified, - statusText = nativeStatusText; - - // Called once - if ( state === 2 ) { - return; - } - - // State is "done" now - state = 2; - - // Clear timeout if it exists - if ( timeoutTimer ) { - clearTimeout( timeoutTimer ); - } - - // Dereference transport for early garbage collection - // (no matter how long the jqXHR object will be used) - transport = undefined; - - // Cache response headers - responseHeadersString = headers || ""; - - // Set readyState - jqXHR.readyState = status > 0 ? 4 : 0; - - // Determine if successful - isSuccess = status >= 200 && status < 300 || status === 304; - - // Get response data - if ( responses ) { - response = ajaxHandleResponses( s, jqXHR, responses ); - } - - // Convert no matter what (that way responseXXX fields are always set) - response = ajaxConvert( s, response, jqXHR, isSuccess ); - - // If successful, handle type chaining - if ( isSuccess ) { - - // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. - if ( s.ifModified ) { - modified = jqXHR.getResponseHeader("Last-Modified"); - if ( modified ) { - jQuery.lastModified[ cacheURL ] = modified; - } - modified = jqXHR.getResponseHeader("etag"); - if ( modified ) { - jQuery.etag[ cacheURL ] = modified; - } - } - - // if no content - if ( status === 204 || s.type === "HEAD" ) { - statusText = "nocontent"; - - // if not modified - } else if ( status === 304 ) { - statusText = "notmodified"; - - // If we have data, let's convert it - } else { - statusText = response.state; - success = response.data; - error = response.error; - isSuccess = !error; - } - } else { - // We extract error from statusText - // then normalize statusText and status for non-aborts - error = statusText; - if ( status || !statusText ) { - statusText = "error"; - if ( status < 0 ) { - status = 0; - } - } - } - - // Set data for the fake xhr object - jqXHR.status = status; - jqXHR.statusText = ( nativeStatusText || statusText ) + ""; - - // Success/Error - if ( isSuccess ) { - deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); - } else { - deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); - } - - // Status-dependent callbacks - jqXHR.statusCode( statusCode ); - statusCode = undefined; - - if ( fireGlobals ) { - globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", - [ jqXHR, s, isSuccess ? success : error ] ); - } - - // Complete - completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); - - if ( fireGlobals ) { - globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); - // Handle the global AJAX counter - if ( !( --jQuery.active ) ) { - jQuery.event.trigger("ajaxStop"); - } - } - } - - return jqXHR; - }, - - getJSON: function( url, data, callback ) { - return jQuery.get( url, data, callback, "json" ); - }, - - getScript: function( url, callback ) { - return jQuery.get( url, undefined, callback, "script" ); - } -}); - -jQuery.each( [ "get", "post" ], function( i, method ) { - jQuery[ method ] = function( url, data, callback, type ) { - // shift arguments if data argument was omitted - if ( jQuery.isFunction( data ) ) { - type = type || callback; - callback = data; - data = undefined; - } - - return jQuery.ajax({ - url: url, - type: method, - dataType: type, - data: data, - success: callback - }); - }; -}); - - -jQuery._evalUrl = function( url ) { - return jQuery.ajax({ - url: url, - type: "GET", - dataType: "script", - async: false, - global: false, - "throws": true - }); -}; - - -jQuery.fn.extend({ - wrapAll: function( html ) { - if ( jQuery.isFunction( html ) ) { - return this.each(function(i) { - jQuery(this).wrapAll( html.call(this, i) ); - }); - } - - if ( this[0] ) { - // The elements to wrap the target around - var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true); - - if ( this[0].parentNode ) { - wrap.insertBefore( this[0] ); - } - - wrap.map(function() { - var elem = this; - - while ( elem.firstChild && elem.firstChild.nodeType === 1 ) { - elem = elem.firstChild; - } - - return elem; - }).append( this ); - } - - return this; - }, - - wrapInner: function( html ) { - if ( jQuery.isFunction( html ) ) { - return this.each(function(i) { - jQuery(this).wrapInner( html.call(this, i) ); - }); - } - - return this.each(function() { - var self = jQuery( this ), - contents = self.contents(); - - if ( contents.length ) { - contents.wrapAll( html ); - - } else { - self.append( html ); - } - }); - }, - - wrap: function( html ) { - var isFunction = jQuery.isFunction( html ); - - return this.each(function(i) { - jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html ); - }); - }, - - unwrap: function() { - return this.parent().each(function() { - if ( !jQuery.nodeName( this, "body" ) ) { - jQuery( this ).replaceWith( this.childNodes ); - } - }).end(); - } -}); - - -jQuery.expr.filters.hidden = function( elem ) { - // Support: Opera <= 12.12 - // Opera reports offsetWidths and offsetHeights less than zero on some elements - return elem.offsetWidth <= 0 && elem.offsetHeight <= 0 || - (!support.reliableHiddenOffsets() && - ((elem.style && elem.style.display) || jQuery.css( elem, "display" )) === "none"); -}; - -jQuery.expr.filters.visible = function( elem ) { - return !jQuery.expr.filters.hidden( elem ); -}; - - - - -var r20 = /%20/g, - rbracket = /\[\]$/, - rCRLF = /\r?\n/g, - rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, - rsubmittable = /^(?:input|select|textarea|keygen)/i; - -function buildParams( prefix, obj, traditional, add ) { - var name; - - if ( jQuery.isArray( obj ) ) { - // Serialize array item. - jQuery.each( obj, function( i, v ) { - if ( traditional || rbracket.test( prefix ) ) { - // Treat each array item as a scalar. - add( prefix, v ); - - } else { - // Item is non-scalar (array or object), encode its numeric index. - buildParams( prefix + "[" + ( typeof v === "object" ? i : "" ) + "]", v, traditional, add ); - } - }); - - } else if ( !traditional && jQuery.type( obj ) === "object" ) { - // Serialize object item. - for ( name in obj ) { - buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); - } - - } else { - // Serialize scalar item. - add( prefix, obj ); - } -} - -// Serialize an array of form elements or a set of -// key/values into a query string -jQuery.param = function( a, traditional ) { - var prefix, - s = [], - add = function( key, value ) { - // If value is a function, invoke it and return its value - value = jQuery.isFunction( value ) ? value() : ( value == null ? "" : value ); - s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value ); - }; - - // Set traditional to true for jQuery <= 1.3.2 behavior. - if ( traditional === undefined ) { - traditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional; - } - - // If an array was passed in, assume that it is an array of form elements. - if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { - // Serialize the form elements - jQuery.each( a, function() { - add( this.name, this.value ); - }); - - } else { - // If traditional, encode the "old" way (the way 1.3.2 or older - // did it), otherwise encode params recursively. - for ( prefix in a ) { - buildParams( prefix, a[ prefix ], traditional, add ); - } - } - - // Return the resulting serialization - return s.join( "&" ).replace( r20, "+" ); -}; - -jQuery.fn.extend({ - serialize: function() { - return jQuery.param( this.serializeArray() ); - }, - serializeArray: function() { - return this.map(function() { - // Can add propHook for "elements" to filter or add form elements - var elements = jQuery.prop( this, "elements" ); - return elements ? jQuery.makeArray( elements ) : this; - }) - .filter(function() { - var type = this.type; - // Use .is(":disabled") so that fieldset[disabled] works - return this.name && !jQuery( this ).is( ":disabled" ) && - rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && - ( this.checked || !rcheckableType.test( type ) ); - }) - .map(function( i, elem ) { - var val = jQuery( this ).val(); - - return val == null ? - null : - jQuery.isArray( val ) ? - jQuery.map( val, function( val ) { - return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; - }) : - { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; - }).get(); - } -}); - - -// Create the request object -// (This is still attached to ajaxSettings for backward compatibility) -jQuery.ajaxSettings.xhr = window.ActiveXObject !== undefined ? - // Support: IE6+ - function() { - - // XHR cannot access local files, always use ActiveX for that case - return !this.isLocal && - - // Support: IE7-8 - // oldIE XHR does not support non-RFC2616 methods (#13240) - // See http://msdn.microsoft.com/en-us/library/ie/ms536648(v=vs.85).aspx - // and http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9 - // Although this check for six methods instead of eight - // since IE also does not support "trace" and "connect" - /^(get|post|head|put|delete|options)$/i.test( this.type ) && - - createStandardXHR() || createActiveXHR(); - } : - // For all other browsers, use the standard XMLHttpRequest object - createStandardXHR; - -var xhrId = 0, - xhrCallbacks = {}, - xhrSupported = jQuery.ajaxSettings.xhr(); - -// Support: IE<10 -// Open requests must be manually aborted on unload (#5280) -// See https://support.microsoft.com/kb/2856746 for more info -if ( window.attachEvent ) { - window.attachEvent( "onunload", function() { - for ( var key in xhrCallbacks ) { - xhrCallbacks[ key ]( undefined, true ); - } - }); -} - -// Determine support properties -support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); -xhrSupported = support.ajax = !!xhrSupported; - -// Create transport if the browser can provide an xhr -if ( xhrSupported ) { - - jQuery.ajaxTransport(function( options ) { - // Cross domain only allowed if supported through XMLHttpRequest - if ( !options.crossDomain || support.cors ) { - - var callback; - - return { - send: function( headers, complete ) { - var i, - xhr = options.xhr(), - id = ++xhrId; - - // Open the socket - xhr.open( options.type, options.url, options.async, options.username, options.password ); - - // Apply custom fields if provided - if ( options.xhrFields ) { - for ( i in options.xhrFields ) { - xhr[ i ] = options.xhrFields[ i ]; - } - } - - // Override mime type if needed - if ( options.mimeType && xhr.overrideMimeType ) { - xhr.overrideMimeType( options.mimeType ); - } - - // X-Requested-With header - // For cross-domain requests, seeing as conditions for a preflight are - // akin to a jigsaw puzzle, we simply never set it to be sure. - // (it can always be set on a per-request basis or even using ajaxSetup) - // For same-domain requests, won't change header if already provided. - if ( !options.crossDomain && !headers["X-Requested-With"] ) { - headers["X-Requested-With"] = "XMLHttpRequest"; - } - - // Set headers - for ( i in headers ) { - // Support: IE<9 - // IE's ActiveXObject throws a 'Type Mismatch' exception when setting - // request header to a null-value. - // - // To keep consistent with other XHR implementations, cast the value - // to string and ignore `undefined`. - if ( headers[ i ] !== undefined ) { - xhr.setRequestHeader( i, headers[ i ] + "" ); - } - } - - // Do send the request - // This may raise an exception which is actually - // handled in jQuery.ajax (so no try/catch here) - xhr.send( ( options.hasContent && options.data ) || null ); - - // Listener - callback = function( _, isAbort ) { - var status, statusText, responses; - - // Was never called and is aborted or complete - if ( callback && ( isAbort || xhr.readyState === 4 ) ) { - // Clean up - delete xhrCallbacks[ id ]; - callback = undefined; - xhr.onreadystatechange = jQuery.noop; - - // Abort manually if needed - if ( isAbort ) { - if ( xhr.readyState !== 4 ) { - xhr.abort(); - } - } else { - responses = {}; - status = xhr.status; - - // Support: IE<10 - // Accessing binary-data responseText throws an exception - // (#11426) - if ( typeof xhr.responseText === "string" ) { - responses.text = xhr.responseText; - } - - // Firefox throws an exception when accessing - // statusText for faulty cross-domain requests - try { - statusText = xhr.statusText; - } catch( e ) { - // We normalize with Webkit giving an empty statusText - statusText = ""; - } - - // Filter status for non standard behaviors - - // If the request is local and we have data: assume a success - // (success with no data won't get notified, that's the best we - // can do given current implementations) - if ( !status && options.isLocal && !options.crossDomain ) { - status = responses.text ? 200 : 404; - // IE - #1450: sometimes returns 1223 when it should be 204 - } else if ( status === 1223 ) { - status = 204; - } - } - } - - // Call complete if needed - if ( responses ) { - complete( status, statusText, responses, xhr.getAllResponseHeaders() ); - } - }; - - if ( !options.async ) { - // if we're in sync mode we fire the callback - callback(); - } else if ( xhr.readyState === 4 ) { - // (IE6 & IE7) if it's in cache and has been - // retrieved directly we need to fire the callback - setTimeout( callback ); - } else { - // Add to the list of active xhr callbacks - xhr.onreadystatechange = xhrCallbacks[ id ] = callback; - } - }, - - abort: function() { - if ( callback ) { - callback( undefined, true ); - } - } - }; - } - }); -} - -// Functions to create xhrs -function createStandardXHR() { - try { - return new window.XMLHttpRequest(); - } catch( e ) {} -} - -function createActiveXHR() { - try { - return new window.ActiveXObject( "Microsoft.XMLHTTP" ); - } catch( e ) {} -} - - - - -// Install script dataType -jQuery.ajaxSetup({ - accepts: { - script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" - }, - contents: { - script: /(?:java|ecma)script/ - }, - converters: { - "text script": function( text ) { - jQuery.globalEval( text ); - return text; - } - } -}); - -// Handle cache's special case and global -jQuery.ajaxPrefilter( "script", function( s ) { - if ( s.cache === undefined ) { - s.cache = false; - } - if ( s.crossDomain ) { - s.type = "GET"; - s.global = false; - } -}); - -// Bind script tag hack transport -jQuery.ajaxTransport( "script", function(s) { - - // This transport only deals with cross domain requests - if ( s.crossDomain ) { - - var script, - head = document.head || jQuery("head")[0] || document.documentElement; - - return { - - send: function( _, callback ) { - - script = document.createElement("script"); - - script.async = true; - - if ( s.scriptCharset ) { - script.charset = s.scriptCharset; - } - - script.src = s.url; - - // Attach handlers for all browsers - script.onload = script.onreadystatechange = function( _, isAbort ) { - - if ( isAbort || !script.readyState || /loaded|complete/.test( script.readyState ) ) { - - // Handle memory leak in IE - script.onload = script.onreadystatechange = null; - - // Remove the script - if ( script.parentNode ) { - script.parentNode.removeChild( script ); - } - - // Dereference the script - script = null; - - // Callback if not abort - if ( !isAbort ) { - callback( 200, "success" ); - } - } - }; - - // Circumvent IE6 bugs with base elements (#2709 and #4378) by prepending - // Use native DOM manipulation to avoid our domManip AJAX trickery - head.insertBefore( script, head.firstChild ); - }, - - abort: function() { - if ( script ) { - script.onload( undefined, true ); - } - } - }; - } -}); - - - - -var oldCallbacks = [], - rjsonp = /(=)\?(?=&|$)|\?\?/; - -// Default jsonp settings -jQuery.ajaxSetup({ - jsonp: "callback", - jsonpCallback: function() { - var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) ); - this[ callback ] = true; - return callback; - } -}); - -// Detect, normalize options and install callbacks for jsonp requests -jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { - - var callbackName, overwritten, responseContainer, - jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ? - "url" : - typeof s.data === "string" && !( s.contentType || "" ).indexOf("application/x-www-form-urlencoded") && rjsonp.test( s.data ) && "data" - ); - - // Handle iff the expected data type is "jsonp" or we have a parameter to set - if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) { - - // Get callback name, remembering preexisting value associated with it - callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ? - s.jsonpCallback() : - s.jsonpCallback; - - // Insert callback into url or form data - if ( jsonProp ) { - s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName ); - } else if ( s.jsonp !== false ) { - s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; - } - - // Use data converter to retrieve json after script execution - s.converters["script json"] = function() { - if ( !responseContainer ) { - jQuery.error( callbackName + " was not called" ); - } - return responseContainer[ 0 ]; - }; - - // force json dataType - s.dataTypes[ 0 ] = "json"; - - // Install callback - overwritten = window[ callbackName ]; - window[ callbackName ] = function() { - responseContainer = arguments; - }; - - // Clean-up function (fires after converters) - jqXHR.always(function() { - // Restore preexisting value - window[ callbackName ] = overwritten; - - // Save back as free - if ( s[ callbackName ] ) { - // make sure that re-using the options doesn't screw things around - s.jsonpCallback = originalSettings.jsonpCallback; - - // save the callback name for future use - oldCallbacks.push( callbackName ); - } - - // Call if it was a function and we have a response - if ( responseContainer && jQuery.isFunction( overwritten ) ) { - overwritten( responseContainer[ 0 ] ); - } - - responseContainer = overwritten = undefined; - }); - - // Delegate to script - return "script"; - } -}); - - - - -// data: string of html -// context (optional): If specified, the fragment will be created in this context, defaults to document -// keepScripts (optional): If true, will include scripts passed in the html string -jQuery.parseHTML = function( data, context, keepScripts ) { - if ( !data || typeof data !== "string" ) { - return null; - } - if ( typeof context === "boolean" ) { - keepScripts = context; - context = false; - } - context = context || document; - - var parsed = rsingleTag.exec( data ), - scripts = !keepScripts && []; - - // Single tag - if ( parsed ) { - return [ context.createElement( parsed[1] ) ]; - } - - parsed = jQuery.buildFragment( [ data ], context, scripts ); - - if ( scripts && scripts.length ) { - jQuery( scripts ).remove(); - } - - return jQuery.merge( [], parsed.childNodes ); -}; - - -// Keep a copy of the old load method -var _load = jQuery.fn.load; - -/** - * Load a url into a page - */ -jQuery.fn.load = function( url, params, callback ) { - if ( typeof url !== "string" && _load ) { - return _load.apply( this, arguments ); - } - - var selector, response, type, - self = this, - off = url.indexOf(" "); - - if ( off >= 0 ) { - selector = jQuery.trim( url.slice( off, url.length ) ); - url = url.slice( 0, off ); - } - - // If it's a function - if ( jQuery.isFunction( params ) ) { - - // We assume that it's the callback - callback = params; - params = undefined; - - // Otherwise, build a param string - } else if ( params && typeof params === "object" ) { - type = "POST"; - } - - // If we have elements to modify, make the request - if ( self.length > 0 ) { - jQuery.ajax({ - url: url, - - // if "type" variable is undefined, then "GET" method will be used - type: type, - dataType: "html", - data: params - }).done(function( responseText ) { - - // Save response for use in complete callback - response = arguments; - - self.html( selector ? - - // If a selector was specified, locate the right elements in a dummy div - // Exclude scripts to avoid IE 'Permission Denied' errors - jQuery("<div>").append( jQuery.parseHTML( responseText ) ).find( selector ) : - - // Otherwise use the full result - responseText ); - - }).complete( callback && function( jqXHR, status ) { - self.each( callback, response || [ jqXHR.responseText, status, jqXHR ] ); - }); - } - - return this; -}; - - - - -// Attach a bunch of functions for handling common AJAX events -jQuery.each( [ "ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend" ], function( i, type ) { - jQuery.fn[ type ] = function( fn ) { - return this.on( type, fn ); - }; -}); - - - - -jQuery.expr.filters.animated = function( elem ) { - return jQuery.grep(jQuery.timers, function( fn ) { - return elem === fn.elem; - }).length; -}; - - - - - -var docElem = window.document.documentElement; - -/** - * Gets a window from an element - */ -function getWindow( elem ) { - return jQuery.isWindow( elem ) ? - elem : - elem.nodeType === 9 ? - elem.defaultView || elem.parentWindow : - false; -} - -jQuery.offset = { - setOffset: function( elem, options, i ) { - var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition, - position = jQuery.css( elem, "position" ), - curElem = jQuery( elem ), - props = {}; - - // set position first, in-case top/left are set even on static elem - if ( position === "static" ) { - elem.style.position = "relative"; - } - - curOffset = curElem.offset(); - curCSSTop = jQuery.css( elem, "top" ); - curCSSLeft = jQuery.css( elem, "left" ); - calculatePosition = ( position === "absolute" || position === "fixed" ) && - jQuery.inArray("auto", [ curCSSTop, curCSSLeft ] ) > -1; - - // need to be able to calculate position if either top or left is auto and position is either absolute or fixed - if ( calculatePosition ) { - curPosition = curElem.position(); - curTop = curPosition.top; - curLeft = curPosition.left; - } else { - curTop = parseFloat( curCSSTop ) || 0; - curLeft = parseFloat( curCSSLeft ) || 0; - } - - if ( jQuery.isFunction( options ) ) { - options = options.call( elem, i, curOffset ); - } - - if ( options.top != null ) { - props.top = ( options.top - curOffset.top ) + curTop; - } - if ( options.left != null ) { - props.left = ( options.left - curOffset.left ) + curLeft; - } - - if ( "using" in options ) { - options.using.call( elem, props ); - } else { - curElem.css( props ); - } - } -}; - -jQuery.fn.extend({ - offset: function( options ) { - if ( arguments.length ) { - return options === undefined ? - this : - this.each(function( i ) { - jQuery.offset.setOffset( this, options, i ); - }); - } - - var docElem, win, - box = { top: 0, left: 0 }, - elem = this[ 0 ], - doc = elem && elem.ownerDocument; - - if ( !doc ) { - return; - } - - docElem = doc.documentElement; - - // Make sure it's not a disconnected DOM node - if ( !jQuery.contains( docElem, elem ) ) { - return box; - } - - // If we don't have gBCR, just use 0,0 rather than error - // BlackBerry 5, iOS 3 (original iPhone) - if ( typeof elem.getBoundingClientRect !== strundefined ) { - box = elem.getBoundingClientRect(); - } - win = getWindow( doc ); - return { - top: box.top + ( win.pageYOffset || docElem.scrollTop ) - ( docElem.clientTop || 0 ), - left: box.left + ( win.pageXOffset || docElem.scrollLeft ) - ( docElem.clientLeft || 0 ) - }; - }, - - position: function() { - if ( !this[ 0 ] ) { - return; - } - - var offsetParent, offset, - parentOffset = { top: 0, left: 0 }, - elem = this[ 0 ]; - - // fixed elements are offset from window (parentOffset = {top:0, left: 0}, because it is its only offset parent - if ( jQuery.css( elem, "position" ) === "fixed" ) { - // we assume that getBoundingClientRect is available when computed position is fixed - offset = elem.getBoundingClientRect(); - } else { - // Get *real* offsetParent - offsetParent = this.offsetParent(); - - // Get correct offsets - offset = this.offset(); - if ( !jQuery.nodeName( offsetParent[ 0 ], "html" ) ) { - parentOffset = offsetParent.offset(); - } - - // Add offsetParent borders - parentOffset.top += jQuery.css( offsetParent[ 0 ], "borderTopWidth", true ); - parentOffset.left += jQuery.css( offsetParent[ 0 ], "borderLeftWidth", true ); - } - - // Subtract parent offsets and element margins - // note: when an element has margin: auto the offsetLeft and marginLeft - // are the same in Safari causing offset.left to incorrectly be 0 - return { - top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ), - left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true) - }; - }, - - offsetParent: function() { - return this.map(function() { - var offsetParent = this.offsetParent || docElem; - - while ( offsetParent && ( !jQuery.nodeName( offsetParent, "html" ) && jQuery.css( offsetParent, "position" ) === "static" ) ) { - offsetParent = offsetParent.offsetParent; - } - return offsetParent || docElem; - }); - } -}); - -// Create scrollLeft and scrollTop methods -jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) { - var top = /Y/.test( prop ); - - jQuery.fn[ method ] = function( val ) { - return access( this, function( elem, method, val ) { - var win = getWindow( elem ); - - if ( val === undefined ) { - return win ? (prop in win) ? win[ prop ] : - win.document.documentElement[ method ] : - elem[ method ]; - } - - if ( win ) { - win.scrollTo( - !top ? val : jQuery( win ).scrollLeft(), - top ? val : jQuery( win ).scrollTop() - ); - - } else { - elem[ method ] = val; - } - }, method, val, arguments.length, null ); - }; -}); - -// Add the top/left cssHooks using jQuery.fn.position -// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 -// getComputedStyle returns percent when specified for top/left/bottom/right -// rather than make the css module depend on the offset module, we just check for it here -jQuery.each( [ "top", "left" ], function( i, prop ) { - jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition, - function( elem, computed ) { - if ( computed ) { - computed = curCSS( elem, prop ); - // if curCSS returns percentage, fallback to offset - return rnumnonpx.test( computed ) ? - jQuery( elem ).position()[ prop ] + "px" : - computed; - } - } - ); -}); - - -// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods -jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { - jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, function( defaultExtra, funcName ) { - // margin is only for outerHeight, outerWidth - jQuery.fn[ funcName ] = function( margin, value ) { - var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), - extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); - - return access( this, function( elem, type, value ) { - var doc; - - if ( jQuery.isWindow( elem ) ) { - // As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there - // isn't a whole lot we can do. See pull request at this URL for discussion: - // https://github.com/jquery/jquery/pull/764 - return elem.document.documentElement[ "client" + name ]; - } - - // Get document width or height - if ( elem.nodeType === 9 ) { - doc = elem.documentElement; - - // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], whichever is greatest - // unfortunately, this causes bug #3838 in IE6/8 only, but there is currently no good, small way to fix it. - return Math.max( - elem.body[ "scroll" + name ], doc[ "scroll" + name ], - elem.body[ "offset" + name ], doc[ "offset" + name ], - doc[ "client" + name ] - ); - } - - return value === undefined ? - // Get width or height on the element, requesting but not forcing parseFloat - jQuery.css( elem, type, extra ) : - - // Set width or height on the element - jQuery.style( elem, type, value, extra ); - }, type, chainable ? margin : undefined, chainable, null ); - }; - }); -}); - - -// The number of elements contained in the matched element set -jQuery.fn.size = function() { - return this.length; -}; - -jQuery.fn.andSelf = jQuery.fn.addBack; - - - - -// Register as a named AMD module, since jQuery can be concatenated with other -// files that may use define, but not via a proper concatenation script that -// understands anonymous AMD modules. A named AMD is safest and most robust -// way to register. Lowercase jquery is used because AMD module names are -// derived from file names, and jQuery is normally delivered in a lowercase -// file name. Do this after creating the global so that if an AMD module wants -// to call noConflict to hide this version of jQuery, it will work. - -// Note that for maximum portability, libraries that are not jQuery should -// declare themselves as anonymous modules, and avoid setting a global if an -// AMD loader is present. jQuery is a special case. For more information, see -// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon - -if ( typeof define === "function" && define.amd ) { - define( "jquery", [], function() { - return jQuery; - }); -} - - - - -var - // Map over jQuery in case of overwrite - _jQuery = window.jQuery, - - // Map over the $ in case of overwrite - _$ = window.$; - -jQuery.noConflict = function( deep ) { - if ( window.$ === jQuery ) { - window.$ = _$; - } - - if ( deep && window.jQuery === jQuery ) { - window.jQuery = _jQuery; - } - - return jQuery; -}; - -// Expose jQuery and $ identifiers, even in -// AMD (#7102#comment:10, https://github.com/jquery/jquery/pull/557) -// and CommonJS for browser emulators (#13566) -if ( typeof noGlobal === strundefined ) { - window.jQuery = window.$ = jQuery; -} - - - - -return jQuery; - -})); diff --git a/ucoinj-ui-wicket/src/main/webapp/js/jquery-1.11.2.min.js b/ucoinj-ui-wicket/src/main/webapp/js/jquery-1.11.2.min.js deleted file mode 100644 index 62d57eaa25ccd0a841ae308bda7727a818a1827a..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/js/jquery-1.11.2.min.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! jQuery v1.11.2 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ -!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.2",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=hb(),z=hb(),A=hb(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},eb=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fb){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function gb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+rb(o[l]);w=ab.test(a)&&pb(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function hb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ib(a){return a[u]=!0,a}function jb(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function kb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function lb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function nb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function ob(a){return ib(function(b){return b=+b,ib(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pb(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=gb.support={},f=gb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=gb.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",eb,!1):e.attachEvent&&e.attachEvent("onunload",eb)),p=!f(g),c.attributes=jb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=jb(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=jb(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(jb(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\f]' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),jb(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&jb(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return lb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?lb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},gb.matches=function(a,b){return gb(a,null,null,b)},gb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return gb(b,n,null,[a]).length>0},gb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},gb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},gb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},gb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=gb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=gb.selectors={cacheLength:50,createPseudo:ib,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||gb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&gb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=gb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||gb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ib(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ib(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ib(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ib(function(a){return function(b){return gb(a,b).length>0}}),contains:ib(function(a){return a=a.replace(cb,db),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ib(function(a){return W.test(a||"")||gb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:ob(function(){return[0]}),last:ob(function(a,b){return[b-1]}),eq:ob(function(a,b,c){return[0>c?c+b:c]}),even:ob(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:ob(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:ob(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:ob(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=mb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=nb(b);function qb(){}qb.prototype=d.filters=d.pseudos,d.setFilters=new qb,g=gb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?gb.error(a):z(a,i).slice(0)};function rb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function sb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function tb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ub(a,b,c){for(var d=0,e=b.length;e>d;d++)gb(a,b[d],c);return c}function vb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wb(a,b,c,d,e,f){return d&&!d[u]&&(d=wb(d)),e&&!e[u]&&(e=wb(e,f)),ib(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ub(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:vb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=vb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=vb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sb(function(a){return a===b},h,!0),l=sb(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sb(tb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wb(i>1&&tb(m),i>1&&rb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xb(a.slice(i,e)),f>e&&xb(a=a.slice(e)),f>e&&rb(a))}m.push(c)}return tb(m)}function yb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=vb(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&gb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ib(f):f}return h=gb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,yb(e,d)),f.selector=a}return f},i=gb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&pb(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&rb(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&pb(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=jb(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),jb(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||kb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&jb(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||kb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),jb(function(a){return null==a.getAttribute("disabled")})||kb(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),gb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1; -return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?m.queue(this[0],a):void 0===b?this:this.each(function(){var c=m.queue(this,a,b);m._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&m.dequeue(this,a)})},dequeue:function(a){return this.each(function(){m.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=m.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=m._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=["Top","Right","Bottom","Left"],U=function(a,b){return a=b||a,"none"===m.css(a,"display")||!m.contains(a.ownerDocument,a)},V=m.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===m.type(c)){e=!0;for(h in c)m.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,m.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(m(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav></:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[m.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=Z.test(e)?this.mouseHooks:Y.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new m.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||y),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||y,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==cb()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===cb()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return m.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return m.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=m.extend(new m.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?m.event.trigger(e,null,b):m.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},m.removeEvent=y.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===K&&(a[d]=null),a.detachEvent(d,c))},m.Event=function(a,b){return this instanceof m.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ab:bb):this.type=a,b&&m.extend(this,b),this.timeStamp=a&&a.timeStamp||m.now(),void(this[m.expando]=!0)):new m.Event(a,b)},m.Event.prototype={isDefaultPrevented:bb,isPropagationStopped:bb,isImmediatePropagationStopped:bb,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ab,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ab,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ab,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){m.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!m.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.submitBubbles||(m.event.special.submit={setup:function(){return m.nodeName(this,"form")?!1:void m.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=m.nodeName(b,"input")||m.nodeName(b,"button")?b.form:void 0;c&&!m._data(c,"submitBubbles")&&(m.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),m._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&m.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return m.nodeName(this,"form")?!1:void m.event.remove(this,"._submit")}}),k.changeBubbles||(m.event.special.change={setup:function(){return X.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(m.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),m.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),m.event.simulate("change",this,a,!0)})),!1):void m.event.add(this,"beforeactivate._change",function(a){var b=a.target;X.test(b.nodeName)&&!m._data(b,"changeBubbles")&&(m.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||m.event.simulate("change",this.parentNode,a,!0)}),m._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return m.event.remove(this,"._change"),!X.test(this.nodeName)}}),k.focusinBubbles||m.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){m.event.simulate(b,a.target,m.event.fix(a),!0)};m.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=m._data(d,b);e||d.addEventListener(a,c,!0),m._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=m._data(d,b)-1;e?m._data(d,b,e):(d.removeEventListener(a,c,!0),m._removeData(d,b))}}}),m.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=bb;else if(!d)return this;return 1===e&&(g=d,d=function(a){return m().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=m.guid++)),this.each(function(){m.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,m(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=bb),this.each(function(){m.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){m.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?m.event.trigger(a,b,c,!0):void 0}});function db(a){var b=eb.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var eb="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",fb=/ jQuery\d+="(?:null|\d+)"/g,gb=new RegExp("<(?:"+eb+")[\\s/>]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/<tbody/i,lb=/<|&#?\w+;/,mb=/<(?:script|style|link)/i,nb=/checked\s*(?:[^=]|=\s*.checked.)/i,ob=/^$|\/(?:java|ecma)script/i,pb=/^true\/(.*)/,qb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,rb={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:k.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1></$2>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?"<table>"!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Cb[0].contentWindow||Cb[0].contentDocument).document,b.write(),b.close(),c=Eb(a,b),Cb.detach()),Db[a]=c),c}!function(){var a;k.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,d;return c=y.getElementsByTagName("body")[0],c&&c.style?(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(y.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var Gb=/^margin/,Hb=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ib,Jb,Kb=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ib=function(b){return b.ownerDocument.defaultView.opener?b.ownerDocument.defaultView.getComputedStyle(b,null):a.getComputedStyle(b,null)},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||m.contains(a.ownerDocument,a)||(g=m.style(a,b)),Hb.test(g)&&Gb.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):y.documentElement.currentStyle&&(Ib=function(a){return a.currentStyle},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Hb.test(g)&&!Kb.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Lb(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h;if(b=y.createElement("div"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=d&&d.style){c.cssText="float:left;opacity:.5",k.opacity="0.5"===c.opacity,k.cssFloat=!!c.cssFloat,b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===b.style.backgroundClip,k.boxSizing=""===c.boxSizing||""===c.MozBoxSizing||""===c.WebkitBoxSizing,m.extend(k,{reliableHiddenOffsets:function(){return null==g&&i(),g},boxSizingReliable:function(){return null==f&&i(),f},pixelPosition:function(){return null==e&&i(),e},reliableMarginRight:function(){return null==h&&i(),h}});function i(){var b,c,d,i;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",e=f=!1,h=!0,a.getComputedStyle&&(e="1%"!==(a.getComputedStyle(b,null)||{}).top,f="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,i=b.appendChild(y.createElement("div")),i.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",b.style.width="1px",h=!parseFloat((a.getComputedStyle(i,null)||{}).marginRight),b.removeChild(i)),b.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=b.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",g=0===i[0].offsetHeight,g&&(i[0].style.display="",i[1].style.display="none",g=0===i[0].offsetHeight),c.removeChild(d))}}}(),m.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Mb=/alpha\([^)]*\)/i,Nb=/opacity\s*=\s*([^)]*)/,Ob=/^(none|table(?!-c[ea]).+)/,Pb=new RegExp("^("+S+")(.*)$","i"),Qb=new RegExp("^([+-])=("+S+")","i"),Rb={position:"absolute",visibility:"hidden",display:"block"},Sb={letterSpacing:"0",fontWeight:"400"},Tb=["Webkit","O","Moz","ms"];function Ub(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Tb.length;while(e--)if(b=Tb[e]+c,b in a)return b;return d}function Vb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=m._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&U(d)&&(f[g]=m._data(d,"olddisplay",Fb(d.nodeName)))):(e=U(d),(c&&"none"!==c||!e)&&m._data(d,"olddisplay",e?c:m.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Wb(a,b,c){var d=Pb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Xb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=m.css(a,c+T[f],!0,e)),d?("content"===c&&(g-=m.css(a,"padding"+T[f],!0,e)),"margin"!==c&&(g-=m.css(a,"border"+T[f]+"Width",!0,e))):(g+=m.css(a,"padding"+T[f],!0,e),"padding"!==c&&(g+=m.css(a,"border"+T[f]+"Width",!0,e)));return g}function Yb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ib(a),g=k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Jb(a,b,f),(0>e||null==e)&&(e=a.style[b]),Hb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Xb(a,b,c||(g?"border":"content"),d,f)+"px"}m.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Jb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":k.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=m.camelCase(b),i=a.style;if(b=m.cssProps[h]||(m.cssProps[h]=Ub(i,h)),g=m.cssHooks[b]||m.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Qb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(m.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||m.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=m.camelCase(b);return b=m.cssProps[h]||(m.cssProps[h]=Ub(a.style,h)),g=m.cssHooks[b]||m.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Jb(a,b,d)),"normal"===f&&b in Sb&&(f=Sb[b]),""===c||c?(e=parseFloat(f),c===!0||m.isNumeric(e)?e||0:f):f}}),m.each(["height","width"],function(a,b){m.cssHooks[b]={get:function(a,c,d){return c?Ob.test(m.css(a,"display"))&&0===a.offsetWidth?m.swap(a,Rb,function(){return Yb(a,b,d)}):Yb(a,b,d):void 0},set:function(a,c,d){var e=d&&Ib(a);return Wb(a,c,d?Xb(a,b,d,k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,e),e):0)}}}),k.opacity||(m.cssHooks.opacity={get:function(a,b){return Nb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=m.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===m.trim(f.replace(Mb,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Mb.test(f)?f.replace(Mb,e):f+" "+e)}}),m.cssHooks.marginRight=Lb(k.reliableMarginRight,function(a,b){return b?m.swap(a,{display:"inline-block"},Jb,[a,"marginRight"]):void 0}),m.each({margin:"",padding:"",border:"Width"},function(a,b){m.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+T[d]+b]=f[d]||f[d-2]||f[0];return e}},Gb.test(a)||(m.cssHooks[a+b].set=Wb)}),m.fn.extend({css:function(a,b){return V(this,function(a,b,c){var d,e,f={},g=0;if(m.isArray(b)){for(d=Ib(a),e=b.length;e>g;g++)f[b[g]]=m.css(a,b[g],!1,d);return f}return void 0!==c?m.style(a,b,c):m.css(a,b)},a,b,arguments.length>1)},show:function(){return Vb(this,!0)},hide:function(){return Vb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){U(this)?m(this).show():m(this).hide()})}});function Zb(a,b,c,d,e){return new Zb.prototype.init(a,b,c,d,e) -}m.Tween=Zb,Zb.prototype={constructor:Zb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px")},cur:function(){var a=Zb.propHooks[this.prop];return a&&a.get?a.get(this):Zb.propHooks._default.get(this)},run:function(a){var b,c=Zb.propHooks[this.prop];return this.pos=b=this.options.duration?m.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Zb.propHooks._default.set(this),this}},Zb.prototype.init.prototype=Zb.prototype,Zb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Zb.propHooks.scrollTop=Zb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},m.fx=Zb.prototype.init,m.fx.step={};var $b,_b,ac=/^(?:toggle|show|hide)$/,bc=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cc=/queueHooks$/,dc=[ic],ec={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bc.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bc.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,m.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function fc(){return setTimeout(function(){$b=void 0}),$b=m.now()}function gc(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=T[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function hc(a,b,c){for(var d,e=(ec[b]||[]).concat(ec["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ic(a,b,c){var d,e,f,g,h,i,j,l,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),l="none"===j?m._data(a,"olddisplay")||Fb(a.nodeName):j,"inline"===l&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fb(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ac.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||m.style(a,d)}else j=void 0;if(m.isEmptyObject(o))"inline"===("none"===j?Fb(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o)m.style(a,b,o[b])});for(d in o)g=hc(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function jc(a,b){var c,d,e,f,g;for(c in a)if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=m.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kc(a,b,c){var d,e,f=0,g=dc.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$b||fc(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$b||fc(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jc(k,j.opts.specialEasing);g>f;f++)if(d=dc[f].call(j,a,k,j.opts))return d;return m.map(k,hc,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}m.Animation=m.extend(kc,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],ec[c]=ec[c]||[],ec[c].unshift(b)},prefilter:function(a,b){b?dc.unshift(a):dc.push(a)}}),m.speed=function(a,b,c){var d=a&&"object"==typeof a?m.extend({},a):{complete:c||!c&&b||m.isFunction(a)&&a,duration:a,easing:c&&b||b&&!m.isFunction(b)&&b};return d.duration=m.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in m.fx.speeds?m.fx.speeds[d.duration]:m.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){m.isFunction(d.old)&&d.old.call(this),d.queue&&m.dequeue(this,d.queue)},d},m.fn.extend({fadeTo:function(a,b,c,d){return this.filter(U).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=m.isEmptyObject(a),f=m.speed(b,c,d),g=function(){var b=kc(this,m.extend({},a),f);(e||m._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=m.timers,g=m._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&cc.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&m.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=m._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=m.timers,g=d?d.length:0;for(c.finish=!0,m.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),m.each(["toggle","show","hide"],function(a,b){var c=m.fn[b];m.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gc(b,!0),a,d,e)}}),m.each({slideDown:gc("show"),slideUp:gc("hide"),slideToggle:gc("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){m.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),m.timers=[],m.fx.tick=function(){var a,b=m.timers,c=0;for($b=m.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||m.fx.stop(),$b=void 0},m.fx.timer=function(a){m.timers.push(a),a()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){_b||(_b=setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){clearInterval(_b),_b=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(a,b){return a=m.fx?m.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e;b=y.createElement("div"),b.setAttribute("className","t"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=y.createElement("select"),e=c.appendChild(y.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",k.getSetAttribute="t"!==b.className,k.style=/top/.test(d.getAttribute("style")),k.hrefNormalized="/a"===d.getAttribute("href"),k.checkOn=!!a.value,k.optSelected=e.selected,k.enctype=!!y.createElement("form").enctype,c.disabled=!0,k.optDisabled=!e.disabled,a=y.createElement("input"),a.setAttribute("value",""),k.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),k.radioValue="t"===a.value}();var lc=/\r/g;m.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=m.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,m(this).val()):a,null==e?e="":"number"==typeof e?e+="":m.isArray(e)&&(e=m.map(e,function(a){return null==a?"":a+""})),b=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=m.valHooks[e.type]||m.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(lc,""):null==c?"":c)}}}),m.extend({valHooks:{option:{get:function(a){var b=m.find.attr(a,"value");return null!=b?b:m.trim(m.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&m.nodeName(c.parentNode,"optgroup"))){if(b=m(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=m.makeArray(b),g=e.length;while(g--)if(d=e[g],m.inArray(m.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(a,b){return m.isArray(b)?a.checked=m.inArray(m(a).val(),b)>=0:void 0}},k.checkOn||(m.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var mc,nc,oc=m.expr.attrHandle,pc=/^(?:checked|selected)$/i,qc=k.getSetAttribute,rc=k.input;m.fn.extend({attr:function(a,b){return V(this,m.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){m.removeAttr(this,a)})}}),m.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===K?m.prop(a,b,c):(1===f&&m.isXMLDoc(a)||(b=b.toLowerCase(),d=m.attrHooks[b]||(m.expr.match.bool.test(b)?nc:mc)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=m.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void m.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=m.propFix[c]||c,m.expr.match.bool.test(c)?rc&&qc||!pc.test(c)?a[d]=!1:a[m.camelCase("default-"+c)]=a[d]=!1:m.attr(a,c,""),a.removeAttribute(qc?c:d)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&m.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),nc={set:function(a,b,c){return b===!1?m.removeAttr(a,c):rc&&qc||!pc.test(c)?a.setAttribute(!qc&&m.propFix[c]||c,c):a[m.camelCase("default-"+c)]=a[c]=!0,c}},m.each(m.expr.match.bool.source.match(/\w+/g),function(a,b){var c=oc[b]||m.find.attr;oc[b]=rc&&qc||!pc.test(b)?function(a,b,d){var e,f;return d||(f=oc[b],oc[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,oc[b]=f),e}:function(a,b,c){return c?void 0:a[m.camelCase("default-"+b)]?b.toLowerCase():null}}),rc&&qc||(m.attrHooks.value={set:function(a,b,c){return m.nodeName(a,"input")?void(a.defaultValue=b):mc&&mc.set(a,b,c)}}),qc||(mc={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},oc.id=oc.name=oc.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},m.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:mc.set},m.attrHooks.contenteditable={set:function(a,b,c){mc.set(a,""===b?!1:b,c)}},m.each(["width","height"],function(a,b){m.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),k.style||(m.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var sc=/^(?:input|select|textarea|button|object)$/i,tc=/^(?:a|area)$/i;m.fn.extend({prop:function(a,b){return V(this,m.prop,a,b,arguments.length>1)},removeProp:function(a){return a=m.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),m.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!m.isXMLDoc(a),f&&(b=m.propFix[b]||b,e=m.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=m.find.attr(a,"tabindex");return b?parseInt(b,10):sc.test(a.nodeName)||tc.test(a.nodeName)&&a.href?0:-1}}}}),k.hrefNormalized||m.each(["href","src"],function(a,b){m.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),k.optSelected||(m.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this}),k.enctype||(m.propFix.enctype="encoding");var uc=/[\t\r\n\f]/g;m.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=m.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?m.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(m.isFunction(a)?function(c){m(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=m(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===K||"boolean"===c)&&(this.className&&m._data(this,"__className__",this.className),this.className=this.className||a===!1?"":m._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(uc," ").indexOf(b)>=0)return!0;return!1}}),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(a,b){m.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),m.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var vc=m.now(),wc=/\?/,xc=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;m.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=m.trim(b+"");return e&&!m.trim(e.replace(xc,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():m.error("Invalid JSON: "+b)},m.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+b),c};var yc,zc,Ac=/#.*$/,Bc=/([?&])_=[^&]*/,Cc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Dc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ec=/^(?:GET|HEAD)$/,Fc=/^\/\//,Gc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hc={},Ic={},Jc="*/".concat("*");try{zc=location.href}catch(Kc){zc=y.createElement("a"),zc.href="",zc=zc.href}yc=Gc.exec(zc.toLowerCase())||[];function Lc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(m.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Mc(a,b,c,d){var e={},f=a===Ic;function g(h){var i;return e[h]=!0,m.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Nc(a,b){var c,d,e=m.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&m.extend(!0,a,c),a}function Oc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Pc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zc,type:"GET",isLocal:Dc.test(yc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Jc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Nc(Nc(a,m.ajaxSettings),b):Nc(m.ajaxSettings,a)},ajaxPrefilter:Lc(Hc),ajaxTransport:Lc(Ic),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=m.ajaxSetup({},b),l=k.context||k,n=k.context&&(l.nodeType||l.jquery)?m(l):m.event,o=m.Deferred(),p=m.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Cc.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||zc)+"").replace(Ac,"").replace(Fc,yc[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=m.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(c=Gc.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===yc[1]&&c[2]===yc[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(yc[3]||("http:"===yc[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=m.param(k.data,k.traditional)),Mc(Hc,k,b,v),2===t)return v;h=m.event&&k.global,h&&0===m.active++&&m.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Ec.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(wc.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Bc.test(e)?e.replace(Bc,"$1_="+vc++):e+(wc.test(e)?"&":"?")+"_="+vc++)),k.ifModified&&(m.lastModified[e]&&v.setRequestHeader("If-Modified-Since",m.lastModified[e]),m.etag[e]&&v.setRequestHeader("If-None-Match",m.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Jc+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Mc(Ic,k,b,v)){v.readyState=1,h&&n.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Oc(k,v,c)),u=Pc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(m.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(m.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&n.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(n.trigger("ajaxComplete",[v,k]),--m.active||m.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return m.get(a,b,c,"json")},getScript:function(a,b){return m.get(a,void 0,b,"script")}}),m.each(["get","post"],function(a,b){m[b]=function(a,c,d,e){return m.isFunction(c)&&(e=e||d,d=c,c=void 0),m.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),m._evalUrl=function(a){return m.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},m.fn.extend({wrapAll:function(a){if(m.isFunction(a))return this.each(function(b){m(this).wrapAll(a.call(this,b))});if(this[0]){var b=m(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(m.isFunction(a)?function(b){m(this).wrapInner(a.call(this,b))}:function(){var b=m(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=m.isFunction(a);return this.each(function(c){m(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!k.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||m.css(a,"display"))},m.expr.filters.visible=function(a){return!m.expr.filters.hidden(a)};var Qc=/%20/g,Rc=/\[\]$/,Sc=/\r?\n/g,Tc=/^(?:submit|button|image|reset|file)$/i,Uc=/^(?:input|select|textarea|keygen)/i;function Vc(a,b,c,d){var e;if(m.isArray(b))m.each(b,function(b,e){c||Rc.test(a)?d(a,e):Vc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==m.type(b))d(a,b);else for(e in b)Vc(a+"["+e+"]",b[e],c,d)}m.param=function(a,b){var c,d=[],e=function(a,b){b=m.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(a)||a.jquery&&!m.isPlainObject(a))m.each(a,function(){e(this.name,this.value)});else for(c in a)Vc(c,a[c],b,e);return d.join("&").replace(Qc,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=m.prop(this,"elements");return a?m.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!m(this).is(":disabled")&&Uc.test(this.nodeName)&&!Tc.test(a)&&(this.checked||!W.test(a))}).map(function(a,b){var c=m(this).val();return null==c?null:m.isArray(c)?m.map(c,function(a){return{name:b.name,value:a.replace(Sc,"\r\n")}}):{name:b.name,value:c.replace(Sc,"\r\n")}}).get()}}),m.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zc()||$c()}:Zc;var Wc=0,Xc={},Yc=m.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in Xc)Xc[a](void 0,!0)}),k.cors=!!Yc&&"withCredentials"in Yc,Yc=k.ajax=!!Yc,Yc&&m.ajaxTransport(function(a){if(!a.crossDomain||k.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Wc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Xc[g],b=void 0,f.onreadystatechange=m.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Xc[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function Zc(){try{return new a.XMLHttpRequest}catch(b){}}function $c(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return m.globalEval(a),a}}}),m.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),m.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=y.head||m("head")[0]||y.documentElement;return{send:function(d,e){b=y.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var _c=[],ad=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=_c.pop()||m.expando+"_"+vc++;return this[a]=!0,a}}),m.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(ad.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&ad.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=m.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(ad,"$1"+e):b.jsonp!==!1&&(b.url+=(wc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||m.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,_c.push(e)),g&&m.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),m.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||y;var d=u.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m.buildFragment([a],b,e),e&&e.length&&m(e).remove(),m.merge([],d.childNodes))};var bd=m.fn.load;m.fn.load=function(a,b,c){if("string"!=typeof a&&bd)return bd.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=m.trim(a.slice(h,a.length)),a=a.slice(0,h)),m.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&m.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?m("<div>").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cd=a.document.documentElement;function dd(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dd(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cd;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position"))a=a.offsetParent;return a||cd})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dd(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=Lb(k.pixelPosition,function(a,c){return c?(c=Jb(a,b),Hb.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ed=a.jQuery,fd=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fd),b&&a.jQuery===m&&(a.jQuery=ed),m},typeof b===K&&(a.jQuery=a.$=m),m}); diff --git a/ucoinj-ui-wicket/src/main/webapp/js/jquery-1.11.2.min.map b/ucoinj-ui-wicket/src/main/webapp/js/jquery-1.11.2.min.map deleted file mode 100644 index 837de0b541282ce2acb49f6020ce30f73f18c1bb..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/js/jquery-1.11.2.min.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"jquery-1.11.2.min.js","sources":["jquery-1.11.2.js"],"names":["global","factory","module","exports","document","w","Error","window","this","noGlobal","deletedIds","slice","concat","push","indexOf","class2type","toString","hasOwn","hasOwnProperty","support","version","jQuery","selector","context","fn","init","rtrim","rmsPrefix","rdashAlpha","fcamelCase","all","letter","toUpperCase","prototype","jquery","constructor","length","toArray","call","get","num","pushStack","elems","ret","merge","prevObject","each","callback","args","map","elem","i","apply","arguments","first","eq","last","len","j","end","sort","splice","extend","src","copyIsArray","copy","name","options","clone","target","deep","isFunction","isPlainObject","isArray","undefined","expando","Math","random","replace","isReady","error","msg","noop","obj","type","Array","isWindow","isNumeric","parseFloat","isEmptyObject","key","nodeType","e","ownLast","globalEval","data","trim","execScript","camelCase","string","nodeName","toLowerCase","value","isArraylike","text","makeArray","arr","results","Object","inArray","max","second","grep","invert","callbackInverse","matches","callbackExpect","arg","guid","proxy","tmp","now","Date","split","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","sortOrder","a","b","MAX_NEGATIVE","pop","push_native","list","booleans","whitespace","characterEncoding","identifier","attributes","pseudos","rwhitespace","RegExp","rcomma","rcombinators","rattributeQuotes","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","rquickExpr","rsibling","rescape","runescape","funescape","_","escaped","escapedWhitespace","high","String","fromCharCode","unloadHandler","childNodes","els","seed","match","m","groups","old","nid","newContext","newSelector","ownerDocument","exec","getElementById","parentNode","id","getElementsByTagName","getElementsByClassName","qsa","test","getAttribute","setAttribute","toSelector","testContext","join","querySelectorAll","qsaError","removeAttribute","keys","cache","cacheLength","shift","markFunction","assert","div","createElement","removeChild","addHandle","attrs","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createPositionalPseudo","argument","matchIndexes","documentElement","node","hasCompare","parent","doc","defaultView","top","addEventListener","attachEvent","className","appendChild","createComment","getById","getElementsByName","find","filter","attrId","getAttributeNode","tag","innerHTML","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","attr","val","specified","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","firstChild","nodeValue","selectors","createPseudo","relative",">","dir"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","simple","forward","ofType","xml","outerCache","nodeIndex","start","useCache","lastChild","pseudo","setFilters","idx","matched","not","matcher","unmatched","has","innerText","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","disabled","checked","selected","selectedIndex","empty","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","filters","parseOnly","tokens","soFar","preFilters","cached","addCombinator","combinator","base","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","multipleContexts","contexts","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","div1","defaultValue","unique","isXMLDoc","rneedsContext","rsingleTag","risSimple","winnow","qualifier","self","is","rootjQuery","charAt","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","next","prev","until","sibling","n","r","targets","closest","l","pos","index","prevAll","add","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","siblings","contentDocument","contentWindow","reverse","rnotwhite","optionsCache","createOptions","object","flag","Callbacks","firing","memory","fired","firingLength","firingIndex","firingStart","stack","once","fire","stopOnFalse","disable","remove","lock","locked","fireWith","Deferred","func","tuples","state","promise","always","deferred","fail","then","fns","newDefer","tuple","returned","resolve","reject","progress","notify","pipe","stateString","when","subordinate","resolveValues","remaining","updateFunc","values","progressValues","notifyWith","resolveWith","progressContexts","resolveContexts","readyList","readyWait","holdReady","hold","wait","body","setTimeout","triggerHandler","off","detach","removeEventListener","completed","detachEvent","event","readyState","frameElement","doScroll","doScrollCheck","strundefined","inlineBlockNeedsLayout","container","style","cssText","zoom","offsetWidth","deleteExpando","acceptData","noData","rbrace","rmultiDash","dataAttr","parseJSON","isEmptyDataObject","internalData","pvt","thisCache","internalKey","isNode","toJSON","internalRemoveData","cleanData","applet ","embed ","object ","hasData","removeData","_data","_removeData","queue","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","cssExpand","isHidden","el","css","access","chainable","emptyGet","raw","bulk","rcheckableType","fragment","createDocumentFragment","leadingWhitespace","tbody","htmlSerialize","html5Clone","cloneNode","outerHTML","appendChecked","noCloneChecked","checkClone","noCloneEvent","click","eventName","change","focusin","rformElems","rkeyEvent","rmouseEvent","rfocusMorph","rtypenamespace","returnTrue","returnFalse","safeActiveElement","err","types","events","t","handleObjIn","special","eventHandle","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","delegateType","bindType","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","trigger","onlyHandlers","ontype","bubbleType","eventPath","Event","isTrigger","namespace_re","noBubble","parentWindow","isPropagationStopped","preventDefault","isDefaultPrevented","_default","fix","handlerQueue","delegateTarget","preDispatch","currentTarget","isImmediatePropagationStopped","stopPropagation","postDispatch","sel","prop","originalEvent","fixHook","fixHooks","mouseHooks","keyHooks","props","srcElement","metaKey","original","which","charCode","keyCode","eventDoc","fromElement","pageX","clientX","scrollLeft","clientLeft","pageY","clientY","scrollTop","clientTop","relatedTarget","toElement","load","blur","beforeunload","returnValue","simulate","bubble","isSimulated","defaultPrevented","timeStamp","cancelBubble","stopImmediatePropagation","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","submitBubbles","form","_submit_bubble","changeBubbles","propertyName","_just_changed","focusinBubbles","attaches","on","one","origFn","createSafeFragment","nodeNames","safeFrag","rinlinejQuery","rnoshimcache","rleadingWhitespace","rxhtmlTag","rtagName","rtbody","rhtml","rnoInnerhtml","rchecked","rscriptType","rscriptTypeMasked","rcleanScript","wrapMap","option","legend","area","param","thead","tr","col","td","safeFragment","fragmentDiv","optgroup","tfoot","colgroup","caption","th","getAll","found","fixDefaultChecked","defaultChecked","manipulationTarget","content","disableScript","restoreScript","setGlobalEval","refElements","cloneCopyEvent","dest","oldData","curData","fixCloneNodeIssues","defaultSelected","dataAndEvents","deepDataAndEvents","destElements","srcElements","inPage","buildFragment","scripts","selection","wrap","safe","nodes","createTextNode","append","domManip","prepend","insertBefore","before","after","keepData","html","replaceWith","replaceChild","hasScripts","set","iNoClone","_evalUrl","appendTo","prependTo","insertAfter","replaceAll","insert","iframe","elemdisplay","actualDisplay","display","getDefaultComputedStyle","defaultDisplay","write","close","shrinkWrapBlocksVal","shrinkWrapBlocks","width","rmargin","rnumnonpx","getStyles","curCSS","rposition","getComputedStyle","opener","computed","minWidth","maxWidth","getPropertyValue","currentStyle","left","rs","rsLeft","runtimeStyle","pixelLeft","addGetHookIf","conditionFn","hookFn","condition","pixelPositionVal","boxSizingReliableVal","reliableHiddenOffsetsVal","reliableMarginRightVal","opacity","cssFloat","backgroundClip","clearCloneStyle","boxSizing","MozBoxSizing","WebkitBoxSizing","reliableHiddenOffsets","computeStyleTests","boxSizingReliable","pixelPosition","reliableMarginRight","marginRight","offsetHeight","swap","ralpha","ropacity","rdisplayswap","rnumsplit","rrelNum","cssShow","position","visibility","cssNormalTransform","letterSpacing","fontWeight","cssPrefixes","vendorPropName","capName","origName","showHide","show","hidden","setPositiveNumber","subtract","augmentWidthOrHeight","extra","isBorderBox","styles","getWidthOrHeight","valueIsBorderBox","cssHooks","cssNumber","columnCount","fillOpacity","flexGrow","flexShrink","lineHeight","order","orphans","widows","zIndex","cssProps","float","$1","margin","padding","border","prefix","suffix","expand","expanded","parts","hide","toggle","Tween","easing","unit","propHooks","run","percent","eased","duration","step","tween","fx","linear","p","swing","cos","PI","fxNow","timerId","rfxtypes","rfxnum","rrun","animationPrefilters","defaultPrefilter","tweeners","*","createTween","scale","maxIterations","createFxNow","genFx","includeWidth","height","animation","collection","opts","oldfire","checkDisplay","anim","dataShow","unqueued","overflow","overflowX","overflowY","propFilter","specialEasing","Animation","properties","stopped","tick","currentTime","startTime","tweens","originalProperties","originalOptions","gotoEnd","rejectWith","timer","complete","tweener","prefilter","speed","opt","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","interval","setInterval","clearInterval","slow","fast","delay","time","timeout","clearTimeout","getSetAttribute","hrefNormalized","checkOn","optSelected","enctype","optDisabled","radioValue","rreturn","valHooks","optionSet","scrollHeight","nodeHook","boolHook","ruseDefault","getSetInput","removeAttr","nType","attrHooks","propName","attrNames","propFix","getter","setAttributeNode","createAttribute","coords","contenteditable","rfocusable","rclickable","removeProp","for","class","notxml","tabindex","parseInt","rclass","addClass","classes","clazz","finalValue","proceed","removeClass","toggleClass","stateVal","classNames","hasClass","hover","fnOver","fnOut","bind","unbind","delegate","undelegate","nonce","rquery","rvalidtokens","JSON","parse","requireNonComma","depth","str","comma","open","Function","parseXML","DOMParser","parseFromString","ActiveXObject","async","loadXML","ajaxLocParts","ajaxLocation","rhash","rts","rheaders","rlocalProtocol","rnoContent","rprotocol","rurl","prefilters","transports","allTypes","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","ajaxHandleResponses","s","responses","firstDataType","ct","finalDataType","mimeType","getResponseHeader","converters","ajaxConvert","response","isSuccess","conv2","current","conv","responseFields","dataFilter","active","lastModified","etag","url","isLocal","processData","contentType","accepts","json","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","cacheURL","responseHeadersString","timeoutTimer","fireGlobals","transport","responseHeaders","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getAllResponseHeaders","setRequestHeader","lname","overrideMimeType","code","status","abort","statusText","finalText","success","method","crossDomain","traditional","hasContent","ifModified","headers","beforeSend","send","nativeStatusText","modified","getJSON","getScript","throws","wrapAll","wrapInner","unwrap","visible","r20","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","v","encodeURIComponent","serialize","serializeArray","xhr","createStandardXHR","createActiveXHR","xhrId","xhrCallbacks","xhrSupported","cors","username","xhrFields","isAbort","onreadystatechange","responseText","XMLHttpRequest","script","text script","head","scriptCharset","charset","onload","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","keepScripts","parsed","_load","params","animated","getWindow","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","using","win","box","getBoundingClientRect","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","defaultExtra","funcName","size","andSelf","define","amd","_jQuery","_$","$","noConflict"],"mappings":"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"} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/webapp/js/jquery-2.1.4.js b/ucoinj-ui-wicket/src/main/webapp/js/jquery-2.1.4.js deleted file mode 100644 index f35a741f144e339859b0573302ae25aefe72f008..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/js/jquery-2.1.4.js +++ /dev/null @@ -1,9231 +0,0 @@ -/* - * #%L - * uCoinj :: UI Wicket - * %% - * Copyright (C) 2014 - 2016 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! - * jQuery JavaScript Library v2.1.4 - * http://jquery.com/ - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * - * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors - * Released under the MIT license - * http://jquery.org/license - * - * Date: 2015-04-28T16:01Z - */ - -(function( global, factory ) { - - if ( typeof module === "object" && typeof module.exports === "object" ) { - // For CommonJS and CommonJS-like environments where a proper `window` - // is present, execute the factory and get jQuery. - // For environments that do not have a `window` with a `document` - // (such as Node.js), expose a factory as module.exports. - // This accentuates the need for the creation of a real `window`. - // e.g. var jQuery = require("jquery")(window); - // See ticket #14549 for more info. - module.exports = global.document ? - factory( global, true ) : - function( w ) { - if ( !w.document ) { - throw new Error( "jQuery requires a window with a document" ); - } - return factory( w ); - }; - } else { - factory( global ); - } - -// Pass this if window is not defined yet -}(typeof window !== "undefined" ? window : this, function( window, noGlobal ) { - -// Support: Firefox 18+ -// Can't be in strict mode, several libs including ASP.NET trace -// the stack via arguments.caller.callee and Firefox dies if -// you try to trace through "use strict" call chains. (#13335) -// - -var arr = []; - -var slice = arr.slice; - -var concat = arr.concat; - -var push = arr.push; - -var indexOf = arr.indexOf; - -var class2type = {}; - -var toString = class2type.toString; - -var hasOwn = class2type.hasOwnProperty; - -var support = {}; - - - -var - // Use the correct document accordingly with window argument (sandbox) - document = window.document, - - version = "2.1.4", - - // Define a local copy of jQuery - jQuery = function( selector, context ) { - // The jQuery object is actually just the init constructor 'enhanced' - // Need init if jQuery is called (just allow error to be thrown if not included) - return new jQuery.fn.init( selector, context ); - }, - - // Support: Android<4.1 - // Make sure we trim BOM and NBSP - rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, - - // Matches dashed string for camelizing - rmsPrefix = /^-ms-/, - rdashAlpha = /-([\da-z])/gi, - - // Used by jQuery.camelCase as callback to replace() - fcamelCase = function( all, letter ) { - return letter.toUpperCase(); - }; - -jQuery.fn = jQuery.prototype = { - // The current version of jQuery being used - jquery: version, - - constructor: jQuery, - - // Start with an empty selector - selector: "", - - // The default length of a jQuery object is 0 - length: 0, - - toArray: function() { - return slice.call( this ); - }, - - // Get the Nth element in the matched element set OR - // Get the whole matched element set as a clean array - get: function( num ) { - return num != null ? - - // Return just the one element from the set - ( num < 0 ? this[ num + this.length ] : this[ num ] ) : - - // Return all the elements in a clean array - slice.call( this ); - }, - - // Take an array of elements and push it onto the stack - // (returning the new matched element set) - pushStack: function( elems ) { - - // Build a new jQuery matched element set - var ret = jQuery.merge( this.constructor(), elems ); - - // Add the old object onto the stack (as a reference) - ret.prevObject = this; - ret.context = this.context; - - // Return the newly-formed element set - return ret; - }, - - // Execute a callback for every element in the matched set. - // (You can seed the arguments with an array of args, but this is - // only used internally.) - each: function( callback, args ) { - return jQuery.each( this, callback, args ); - }, - - map: function( callback ) { - return this.pushStack( jQuery.map(this, function( elem, i ) { - return callback.call( elem, i, elem ); - })); - }, - - slice: function() { - return this.pushStack( slice.apply( this, arguments ) ); - }, - - first: function() { - return this.eq( 0 ); - }, - - last: function() { - return this.eq( -1 ); - }, - - eq: function( i ) { - var len = this.length, - j = +i + ( i < 0 ? len : 0 ); - return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] ); - }, - - end: function() { - return this.prevObject || this.constructor(null); - }, - - // For internal use only. - // Behaves like an Array's method, not like a jQuery method. - push: push, - sort: arr.sort, - splice: arr.splice -}; - -jQuery.extend = jQuery.fn.extend = function() { - var options, name, src, copy, copyIsArray, clone, - target = arguments[0] || {}, - i = 1, - length = arguments.length, - deep = false; - - // Handle a deep copy situation - if ( typeof target === "boolean" ) { - deep = target; - - // Skip the boolean and the target - target = arguments[ i ] || {}; - i++; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !jQuery.isFunction(target) ) { - target = {}; - } - - // Extend jQuery itself if only one argument is passed - if ( i === length ) { - target = this; - i--; - } - - for ( ; i < length; i++ ) { - // Only deal with non-null/undefined values - if ( (options = arguments[ i ]) != null ) { - // Extend the base object - for ( name in options ) { - src = target[ name ]; - copy = options[ name ]; - - // Prevent never-ending loop - if ( target === copy ) { - continue; - } - - // Recurse if we're merging plain objects or arrays - if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { - if ( copyIsArray ) { - copyIsArray = false; - clone = src && jQuery.isArray(src) ? src : []; - - } else { - clone = src && jQuery.isPlainObject(src) ? src : {}; - } - - // Never move original objects, clone them - target[ name ] = jQuery.extend( deep, clone, copy ); - - // Don't bring in undefined values - } else if ( copy !== undefined ) { - target[ name ] = copy; - } - } - } - } - - // Return the modified object - return target; -}; - -jQuery.extend({ - // Unique for each copy of jQuery on the page - expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), - - // Assume jQuery is ready without the ready module - isReady: true, - - error: function( msg ) { - throw new Error( msg ); - }, - - noop: function() {}, - - isFunction: function( obj ) { - return jQuery.type(obj) === "function"; - }, - - isArray: Array.isArray, - - isWindow: function( obj ) { - return obj != null && obj === obj.window; - }, - - isNumeric: function( obj ) { - // parseFloat NaNs numeric-cast false positives (null|true|false|"") - // ...but misinterprets leading-number strings, particularly hex literals ("0x...") - // subtraction forces infinities to NaN - // adding 1 corrects loss of precision from parseFloat (#15100) - return !jQuery.isArray( obj ) && (obj - parseFloat( obj ) + 1) >= 0; - }, - - isPlainObject: function( obj ) { - // Not plain objects: - // - Any object or value whose internal [[Class]] property is not "[object Object]" - // - DOM nodes - // - window - if ( jQuery.type( obj ) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { - return false; - } - - if ( obj.constructor && - !hasOwn.call( obj.constructor.prototype, "isPrototypeOf" ) ) { - return false; - } - - // If the function hasn't returned already, we're confident that - // |obj| is a plain object, created by {} or constructed with new Object - return true; - }, - - isEmptyObject: function( obj ) { - var name; - for ( name in obj ) { - return false; - } - return true; - }, - - type: function( obj ) { - if ( obj == null ) { - return obj + ""; - } - // Support: Android<4.0, iOS<6 (functionish RegExp) - return typeof obj === "object" || typeof obj === "function" ? - class2type[ toString.call(obj) ] || "object" : - typeof obj; - }, - - // Evaluates a script in a global context - globalEval: function( code ) { - var script, - indirect = eval; - - code = jQuery.trim( code ); - - if ( code ) { - // If the code includes a valid, prologue position - // strict mode pragma, execute code by injecting a - // script tag into the document. - if ( code.indexOf("use strict") === 1 ) { - script = document.createElement("script"); - script.text = code; - document.head.appendChild( script ).parentNode.removeChild( script ); - } else { - // Otherwise, avoid the DOM node creation, insertion - // and removal by using an indirect global eval - indirect( code ); - } - } - }, - - // Convert dashed to camelCase; used by the css and data modules - // Support: IE9-11+ - // Microsoft forgot to hump their vendor prefix (#9572) - camelCase: function( string ) { - return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); - }, - - nodeName: function( elem, name ) { - return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); - }, - - // args is for internal usage only - each: function( obj, callback, args ) { - var value, - i = 0, - length = obj.length, - isArray = isArraylike( obj ); - - if ( args ) { - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback.apply( obj[ i ], args ); - - if ( value === false ) { - break; - } - } - } else { - for ( i in obj ) { - value = callback.apply( obj[ i ], args ); - - if ( value === false ) { - break; - } - } - } - - // A special, fast, case for the most common use of each - } else { - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback.call( obj[ i ], i, obj[ i ] ); - - if ( value === false ) { - break; - } - } - } else { - for ( i in obj ) { - value = callback.call( obj[ i ], i, obj[ i ] ); - - if ( value === false ) { - break; - } - } - } - } - - return obj; - }, - - // Support: Android<4.1 - trim: function( text ) { - return text == null ? - "" : - ( text + "" ).replace( rtrim, "" ); - }, - - // results is for internal usage only - makeArray: function( arr, results ) { - var ret = results || []; - - if ( arr != null ) { - if ( isArraylike( Object(arr) ) ) { - jQuery.merge( ret, - typeof arr === "string" ? - [ arr ] : arr - ); - } else { - push.call( ret, arr ); - } - } - - return ret; - }, - - inArray: function( elem, arr, i ) { - return arr == null ? -1 : indexOf.call( arr, elem, i ); - }, - - merge: function( first, second ) { - var len = +second.length, - j = 0, - i = first.length; - - for ( ; j < len; j++ ) { - first[ i++ ] = second[ j ]; - } - - first.length = i; - - return first; - }, - - grep: function( elems, callback, invert ) { - var callbackInverse, - matches = [], - i = 0, - length = elems.length, - callbackExpect = !invert; - - // Go through the array, only saving the items - // that pass the validator function - for ( ; i < length; i++ ) { - callbackInverse = !callback( elems[ i ], i ); - if ( callbackInverse !== callbackExpect ) { - matches.push( elems[ i ] ); - } - } - - return matches; - }, - - // arg is for internal usage only - map: function( elems, callback, arg ) { - var value, - i = 0, - length = elems.length, - isArray = isArraylike( elems ), - ret = []; - - // Go through the array, translating each of the items to their new values - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - - // Go through every key on the object, - } else { - for ( i in elems ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - } - - // Flatten any nested arrays - return concat.apply( [], ret ); - }, - - // A global GUID counter for objects - guid: 1, - - // Bind a function to a context, optionally partially applying any - // arguments. - proxy: function( fn, context ) { - var tmp, args, proxy; - - if ( typeof context === "string" ) { - tmp = fn[ context ]; - context = fn; - fn = tmp; - } - - // Quick check to determine if target is callable, in the spec - // this throws a TypeError, but we will just return undefined. - if ( !jQuery.isFunction( fn ) ) { - return undefined; - } - - // Simulated bind - args = slice.call( arguments, 2 ); - proxy = function() { - return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); - }; - - // Set the guid of unique handler to the same of original handler, so it can be removed - proxy.guid = fn.guid = fn.guid || jQuery.guid++; - - return proxy; - }, - - now: Date.now, - - // jQuery.support is not used in Core but other projects attach their - // properties to it so it needs to exist. - support: support -}); - -// Populate the class2type map -jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) { - class2type[ "[object " + name + "]" ] = name.toLowerCase(); -}); - -function isArraylike( obj ) { - - // Support: iOS 8.2 (not reproducible in simulator) - // `in` check used to prevent JIT error (gh-2145) - // hasOwn isn't used here due to false negatives - // regarding Nodelist length in IE - var length = "length" in obj && obj.length, - type = jQuery.type( obj ); - - if ( type === "function" || jQuery.isWindow( obj ) ) { - return false; - } - - if ( obj.nodeType === 1 && length ) { - return true; - } - - return type === "array" || length === 0 || - typeof length === "number" && length > 0 && ( length - 1 ) in obj; -} -var Sizzle = -/*! - * Sizzle CSS Selector Engine v2.2.0-pre - * http://sizzlejs.com/ - * - * Copyright 2008, 2014 jQuery Foundation, Inc. and other contributors - * Released under the MIT license - * http://jquery.org/license - * - * Date: 2014-12-16 - */ -(function( window ) { - -var i, - support, - Expr, - getText, - isXML, - tokenize, - compile, - select, - outermostContext, - sortInput, - hasDuplicate, - - // Local document vars - setDocument, - document, - docElem, - documentIsHTML, - rbuggyQSA, - rbuggyMatches, - matches, - contains, - - // Instance-specific data - expando = "sizzle" + 1 * new Date(), - preferredDoc = window.document, - dirruns = 0, - done = 0, - classCache = createCache(), - tokenCache = createCache(), - compilerCache = createCache(), - sortOrder = function( a, b ) { - if ( a === b ) { - hasDuplicate = true; - } - return 0; - }, - - // General-purpose constants - MAX_NEGATIVE = 1 << 31, - - // Instance methods - hasOwn = ({}).hasOwnProperty, - arr = [], - pop = arr.pop, - push_native = arr.push, - push = arr.push, - slice = arr.slice, - // Use a stripped-down indexOf as it's faster than native - // http://jsperf.com/thor-indexof-vs-for/5 - indexOf = function( list, elem ) { - var i = 0, - len = list.length; - for ( ; i < len; i++ ) { - if ( list[i] === elem ) { - return i; - } - } - return -1; - }, - - booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", - - // Regular expressions - - // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace - whitespace = "[\\x20\\t\\r\\n\\f]", - // http://www.w3.org/TR/css3-syntax/#characters - characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", - - // Loosely modeled on CSS identifier characters - // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors - // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier - identifier = characterEncoding.replace( "w", "w#" ), - - // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors - attributes = "\\[" + whitespace + "*(" + characterEncoding + ")(?:" + whitespace + - // Operator (capture 2) - "*([*^$|!~]?=)" + whitespace + - // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" - "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + - "*\\]", - - pseudos = ":(" + characterEncoding + ")(?:\\((" + - // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: - // 1. quoted (capture 3; capture 4 or capture 5) - "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + - // 2. simple (capture 6) - "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + - // 3. anything else (capture 2) - ".*" + - ")\\)|)", - - // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter - rwhitespace = new RegExp( whitespace + "+", "g" ), - rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), - - rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), - rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), - - rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), - - rpseudo = new RegExp( pseudos ), - ridentifier = new RegExp( "^" + identifier + "$" ), - - matchExpr = { - "ID": new RegExp( "^#(" + characterEncoding + ")" ), - "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), - "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), - "ATTR": new RegExp( "^" + attributes ), - "PSEUDO": new RegExp( "^" + pseudos ), - "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + - "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + - "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), - "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), - // For use in libraries implementing .is() - // We use this for POS matching in `select` - "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + - whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) - }, - - rinputs = /^(?:input|select|textarea|button)$/i, - rheader = /^h\d$/i, - - rnative = /^[^{]+\{\s*\[native \w/, - - // Easily-parseable/retrievable ID or TAG or CLASS selectors - rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, - - rsibling = /[+~]/, - rescape = /'|\\/g, - - // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters - runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), - funescape = function( _, escaped, escapedWhitespace ) { - var high = "0x" + escaped - 0x10000; - // NaN means non-codepoint - // Support: Firefox<24 - // Workaround erroneous numeric interpretation of +"0x" - return high !== high || escapedWhitespace ? - escaped : - high < 0 ? - // BMP codepoint - String.fromCharCode( high + 0x10000 ) : - // Supplemental Plane codepoint (surrogate pair) - String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); - }, - - // Used for iframes - // See setDocument() - // Removing the function wrapper causes a "Permission Denied" - // error in IE - unloadHandler = function() { - setDocument(); - }; - -// Optimize for push.apply( _, NodeList ) -try { - push.apply( - (arr = slice.call( preferredDoc.childNodes )), - preferredDoc.childNodes - ); - // Support: Android<4.0 - // Detect silently failing push.apply - arr[ preferredDoc.childNodes.length ].nodeType; -} catch ( e ) { - push = { apply: arr.length ? - - // Leverage slice if possible - function( target, els ) { - push_native.apply( target, slice.call(els) ); - } : - - // Support: IE<9 - // Otherwise append directly - function( target, els ) { - var j = target.length, - i = 0; - // Can't trust NodeList.length - while ( (target[j++] = els[i++]) ) {} - target.length = j - 1; - } - }; -} - -function Sizzle( selector, context, results, seed ) { - var match, elem, m, nodeType, - // QSA vars - i, groups, old, nid, newContext, newSelector; - - if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { - setDocument( context ); - } - - context = context || document; - results = results || []; - nodeType = context.nodeType; - - if ( typeof selector !== "string" || !selector || - nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { - - return results; - } - - if ( !seed && documentIsHTML ) { - - // Try to shortcut find operations when possible (e.g., not under DocumentFragment) - if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { - // Speed-up: Sizzle("#ID") - if ( (m = match[1]) ) { - if ( nodeType === 9 ) { - elem = context.getElementById( m ); - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document (jQuery #6963) - if ( elem && elem.parentNode ) { - // Handle the case where IE, Opera, and Webkit return items - // by name instead of ID - if ( elem.id === m ) { - results.push( elem ); - return results; - } - } else { - return results; - } - } else { - // Context is not a document - if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && - contains( context, elem ) && elem.id === m ) { - results.push( elem ); - return results; - } - } - - // Speed-up: Sizzle("TAG") - } else if ( match[2] ) { - push.apply( results, context.getElementsByTagName( selector ) ); - return results; - - // Speed-up: Sizzle(".CLASS") - } else if ( (m = match[3]) && support.getElementsByClassName ) { - push.apply( results, context.getElementsByClassName( m ) ); - return results; - } - } - - // QSA path - if ( support.qsa && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { - nid = old = expando; - newContext = context; - newSelector = nodeType !== 1 && selector; - - // qSA works strangely on Element-rooted queries - // We can work around this by specifying an extra ID on the root - // and working up from there (Thanks to Andrew Dupont for the technique) - // IE 8 doesn't work on object elements - if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { - groups = tokenize( selector ); - - if ( (old = context.getAttribute("id")) ) { - nid = old.replace( rescape, "\\$&" ); - } else { - context.setAttribute( "id", nid ); - } - nid = "[id='" + nid + "'] "; - - i = groups.length; - while ( i-- ) { - groups[i] = nid + toSelector( groups[i] ); - } - newContext = rsibling.test( selector ) && testContext( context.parentNode ) || context; - newSelector = groups.join(","); - } - - if ( newSelector ) { - try { - push.apply( results, - newContext.querySelectorAll( newSelector ) - ); - return results; - } catch(qsaError) { - } finally { - if ( !old ) { - context.removeAttribute("id"); - } - } - } - } - } - - // All others - return select( selector.replace( rtrim, "$1" ), context, results, seed ); -} - -/** - * Create key-value caches of limited size - * @returns {Function(string, Object)} Returns the Object data after storing it on itself with - * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) - * deleting the oldest entry - */ -function createCache() { - var keys = []; - - function cache( key, value ) { - // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) - if ( keys.push( key + " " ) > Expr.cacheLength ) { - // Only keep the most recent entries - delete cache[ keys.shift() ]; - } - return (cache[ key + " " ] = value); - } - return cache; -} - -/** - * Mark a function for special use by Sizzle - * @param {Function} fn The function to mark - */ -function markFunction( fn ) { - fn[ expando ] = true; - return fn; -} - -/** - * Support testing using an element - * @param {Function} fn Passed the created div and expects a boolean result - */ -function assert( fn ) { - var div = document.createElement("div"); - - try { - return !!fn( div ); - } catch (e) { - return false; - } finally { - // Remove from its parent by default - if ( div.parentNode ) { - div.parentNode.removeChild( div ); - } - // release memory in IE - div = null; - } -} - -/** - * Adds the same handler for all of the specified attrs - * @param {String} attrs Pipe-separated list of attributes - * @param {Function} handler The method that will be applied - */ -function addHandle( attrs, handler ) { - var arr = attrs.split("|"), - i = attrs.length; - - while ( i-- ) { - Expr.attrHandle[ arr[i] ] = handler; - } -} - -/** - * Checks document order of two siblings - * @param {Element} a - * @param {Element} b - * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b - */ -function siblingCheck( a, b ) { - var cur = b && a, - diff = cur && a.nodeType === 1 && b.nodeType === 1 && - ( ~b.sourceIndex || MAX_NEGATIVE ) - - ( ~a.sourceIndex || MAX_NEGATIVE ); - - // Use IE sourceIndex if available on both nodes - if ( diff ) { - return diff; - } - - // Check if b follows a - if ( cur ) { - while ( (cur = cur.nextSibling) ) { - if ( cur === b ) { - return -1; - } - } - } - - return a ? 1 : -1; -} - -/** - * Returns a function to use in pseudos for input types - * @param {String} type - */ -function createInputPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for buttons - * @param {String} type - */ -function createButtonPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return (name === "input" || name === "button") && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for positionals - * @param {Function} fn - */ -function createPositionalPseudo( fn ) { - return markFunction(function( argument ) { - argument = +argument; - return markFunction(function( seed, matches ) { - var j, - matchIndexes = fn( [], seed.length, argument ), - i = matchIndexes.length; - - // Match elements found at the specified indexes - while ( i-- ) { - if ( seed[ (j = matchIndexes[i]) ] ) { - seed[j] = !(matches[j] = seed[j]); - } - } - }); - }); -} - -/** - * Checks a node for validity as a Sizzle context - * @param {Element|Object=} context - * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value - */ -function testContext( context ) { - return context && typeof context.getElementsByTagName !== "undefined" && context; -} - -// Expose support vars for convenience -support = Sizzle.support = {}; - -/** - * Detects XML nodes - * @param {Element|Object} elem An element or a document - * @returns {Boolean} True iff elem is a non-HTML XML node - */ -isXML = Sizzle.isXML = function( elem ) { - // documentElement is verified for cases where it doesn't yet exist - // (such as loading iframes in IE - #4833) - var documentElement = elem && (elem.ownerDocument || elem).documentElement; - return documentElement ? documentElement.nodeName !== "HTML" : false; -}; - -/** - * Sets document-related variables once based on the current document - * @param {Element|Object} [doc] An element or document object to use to set the document - * @returns {Object} Returns the current document - */ -setDocument = Sizzle.setDocument = function( node ) { - var hasCompare, parent, - doc = node ? node.ownerDocument || node : preferredDoc; - - // If no document and documentElement is available, return - if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { - return document; - } - - // Set our document - document = doc; - docElem = doc.documentElement; - parent = doc.defaultView; - - // Support: IE>8 - // If iframe document is assigned to "document" variable and if iframe has been reloaded, - // IE will throw "permission denied" error when accessing "document" variable, see jQuery #13936 - // IE6-8 do not support the defaultView property so parent will be undefined - if ( parent && parent !== parent.top ) { - // IE11 does not have attachEvent, so all must suffer - if ( parent.addEventListener ) { - parent.addEventListener( "unload", unloadHandler, false ); - } else if ( parent.attachEvent ) { - parent.attachEvent( "onunload", unloadHandler ); - } - } - - /* Support tests - ---------------------------------------------------------------------- */ - documentIsHTML = !isXML( doc ); - - /* Attributes - ---------------------------------------------------------------------- */ - - // Support: IE<8 - // Verify that getAttribute really returns attributes and not properties - // (excepting IE8 booleans) - support.attributes = assert(function( div ) { - div.className = "i"; - return !div.getAttribute("className"); - }); - - /* getElement(s)By* - ---------------------------------------------------------------------- */ - - // Check if getElementsByTagName("*") returns only elements - support.getElementsByTagName = assert(function( div ) { - div.appendChild( doc.createComment("") ); - return !div.getElementsByTagName("*").length; - }); - - // Support: IE<9 - support.getElementsByClassName = rnative.test( doc.getElementsByClassName ); - - // Support: IE<10 - // Check if getElementById returns elements by name - // The broken getElementById methods don't pick up programatically-set names, - // so use a roundabout getElementsByName test - support.getById = assert(function( div ) { - docElem.appendChild( div ).id = expando; - return !doc.getElementsByName || !doc.getElementsByName( expando ).length; - }); - - // ID find and filter - if ( support.getById ) { - Expr.find["ID"] = function( id, context ) { - if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { - var m = context.getElementById( id ); - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - return m && m.parentNode ? [ m ] : []; - } - }; - Expr.filter["ID"] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - return elem.getAttribute("id") === attrId; - }; - }; - } else { - // Support: IE6/7 - // getElementById is not reliable as a find shortcut - delete Expr.find["ID"]; - - Expr.filter["ID"] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); - return node && node.value === attrId; - }; - }; - } - - // Tag - Expr.find["TAG"] = support.getElementsByTagName ? - function( tag, context ) { - if ( typeof context.getElementsByTagName !== "undefined" ) { - return context.getElementsByTagName( tag ); - - // DocumentFragment nodes don't have gEBTN - } else if ( support.qsa ) { - return context.querySelectorAll( tag ); - } - } : - - function( tag, context ) { - var elem, - tmp = [], - i = 0, - // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too - results = context.getElementsByTagName( tag ); - - // Filter out possible comments - if ( tag === "*" ) { - while ( (elem = results[i++]) ) { - if ( elem.nodeType === 1 ) { - tmp.push( elem ); - } - } - - return tmp; - } - return results; - }; - - // Class - Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { - if ( documentIsHTML ) { - return context.getElementsByClassName( className ); - } - }; - - /* QSA/matchesSelector - ---------------------------------------------------------------------- */ - - // QSA and matchesSelector support - - // matchesSelector(:active) reports false when true (IE9/Opera 11.5) - rbuggyMatches = []; - - // qSa(:focus) reports false when true (Chrome 21) - // We allow this because of a bug in IE8/9 that throws an error - // whenever `document.activeElement` is accessed on an iframe - // So, we allow :focus to pass through QSA all the time to avoid the IE error - // See http://bugs.jquery.com/ticket/13378 - rbuggyQSA = []; - - if ( (support.qsa = rnative.test( doc.querySelectorAll )) ) { - // Build QSA regex - // Regex strategy adopted from Diego Perini - assert(function( div ) { - // Select is set to empty string on purpose - // This is to test IE's treatment of not explicitly - // setting a boolean content attribute, - // since its presence should be enough - // http://bugs.jquery.com/ticket/12359 - docElem.appendChild( div ).innerHTML = "<a id='" + expando + "'></a>" + - "<select id='" + expando + "-\f]' msallowcapture=''>" + - "<option selected=''></option></select>"; - - // Support: IE8, Opera 11-12.16 - // Nothing should be selected when empty strings follow ^= or $= or *= - // The test attribute must be unknown in Opera but "safe" for WinRT - // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section - if ( div.querySelectorAll("[msallowcapture^='']").length ) { - rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); - } - - // Support: IE8 - // Boolean attributes and "value" are not treated correctly - if ( !div.querySelectorAll("[selected]").length ) { - rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); - } - - // Support: Chrome<29, Android<4.2+, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.7+ - if ( !div.querySelectorAll( "[id~=" + expando + "-]" ).length ) { - rbuggyQSA.push("~="); - } - - // Webkit/Opera - :checked should return selected option elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - // IE8 throws error here and will not see later tests - if ( !div.querySelectorAll(":checked").length ) { - rbuggyQSA.push(":checked"); - } - - // Support: Safari 8+, iOS 8+ - // https://bugs.webkit.org/show_bug.cgi?id=136851 - // In-page `selector#id sibing-combinator selector` fails - if ( !div.querySelectorAll( "a#" + expando + "+*" ).length ) { - rbuggyQSA.push(".#.+[+~]"); - } - }); - - assert(function( div ) { - // Support: Windows 8 Native Apps - // The type and name attributes are restricted during .innerHTML assignment - var input = doc.createElement("input"); - input.setAttribute( "type", "hidden" ); - div.appendChild( input ).setAttribute( "name", "D" ); - - // Support: IE8 - // Enforce case-sensitivity of name attribute - if ( div.querySelectorAll("[name=d]").length ) { - rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); - } - - // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) - // IE8 throws error here and will not see later tests - if ( !div.querySelectorAll(":enabled").length ) { - rbuggyQSA.push( ":enabled", ":disabled" ); - } - - // Opera 10-11 does not throw on post-comma invalid pseudos - div.querySelectorAll("*,:x"); - rbuggyQSA.push(",.*:"); - }); - } - - if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || - docElem.webkitMatchesSelector || - docElem.mozMatchesSelector || - docElem.oMatchesSelector || - docElem.msMatchesSelector) )) ) { - - assert(function( div ) { - // Check to see if it's possible to do matchesSelector - // on a disconnected node (IE 9) - support.disconnectedMatch = matches.call( div, "div" ); - - // This should fail with an exception - // Gecko does not error, returns false instead - matches.call( div, "[s!='']:x" ); - rbuggyMatches.push( "!=", pseudos ); - }); - } - - rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); - rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); - - /* Contains - ---------------------------------------------------------------------- */ - hasCompare = rnative.test( docElem.compareDocumentPosition ); - - // Element contains another - // Purposefully does not implement inclusive descendent - // As in, an element does not contain itself - contains = hasCompare || rnative.test( docElem.contains ) ? - function( a, b ) { - var adown = a.nodeType === 9 ? a.documentElement : a, - bup = b && b.parentNode; - return a === bup || !!( bup && bup.nodeType === 1 && ( - adown.contains ? - adown.contains( bup ) : - a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 - )); - } : - function( a, b ) { - if ( b ) { - while ( (b = b.parentNode) ) { - if ( b === a ) { - return true; - } - } - } - return false; - }; - - /* Sorting - ---------------------------------------------------------------------- */ - - // Document order sorting - sortOrder = hasCompare ? - function( a, b ) { - - // Flag for duplicate removal - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - // Sort on method existence if only one input has compareDocumentPosition - var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; - if ( compare ) { - return compare; - } - - // Calculate position if both inputs belong to the same document - compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? - a.compareDocumentPosition( b ) : - - // Otherwise we know they are disconnected - 1; - - // Disconnected nodes - if ( compare & 1 || - (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { - - // Choose the first element that is related to our preferred document - if ( a === doc || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { - return -1; - } - if ( b === doc || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { - return 1; - } - - // Maintain original order - return sortInput ? - ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : - 0; - } - - return compare & 4 ? -1 : 1; - } : - function( a, b ) { - // Exit early if the nodes are identical - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - var cur, - i = 0, - aup = a.parentNode, - bup = b.parentNode, - ap = [ a ], - bp = [ b ]; - - // Parentless nodes are either documents or disconnected - if ( !aup || !bup ) { - return a === doc ? -1 : - b === doc ? 1 : - aup ? -1 : - bup ? 1 : - sortInput ? - ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : - 0; - - // If the nodes are siblings, we can do a quick check - } else if ( aup === bup ) { - return siblingCheck( a, b ); - } - - // Otherwise we need full lists of their ancestors for comparison - cur = a; - while ( (cur = cur.parentNode) ) { - ap.unshift( cur ); - } - cur = b; - while ( (cur = cur.parentNode) ) { - bp.unshift( cur ); - } - - // Walk down the tree looking for a discrepancy - while ( ap[i] === bp[i] ) { - i++; - } - - return i ? - // Do a sibling check if the nodes have a common ancestor - siblingCheck( ap[i], bp[i] ) : - - // Otherwise nodes in our document sort first - ap[i] === preferredDoc ? -1 : - bp[i] === preferredDoc ? 1 : - 0; - }; - - return doc; -}; - -Sizzle.matches = function( expr, elements ) { - return Sizzle( expr, null, null, elements ); -}; - -Sizzle.matchesSelector = function( elem, expr ) { - // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { - setDocument( elem ); - } - - // Make sure that attribute selectors are quoted - expr = expr.replace( rattributeQuotes, "='$1']" ); - - if ( support.matchesSelector && documentIsHTML && - ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && - ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { - - try { - var ret = matches.call( elem, expr ); - - // IE 9's matchesSelector returns false on disconnected nodes - if ( ret || support.disconnectedMatch || - // As well, disconnected nodes are said to be in a document - // fragment in IE 9 - elem.document && elem.document.nodeType !== 11 ) { - return ret; - } - } catch (e) {} - } - - return Sizzle( expr, document, null, [ elem ] ).length > 0; -}; - -Sizzle.contains = function( context, elem ) { - // Set document vars if needed - if ( ( context.ownerDocument || context ) !== document ) { - setDocument( context ); - } - return contains( context, elem ); -}; - -Sizzle.attr = function( elem, name ) { - // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { - setDocument( elem ); - } - - var fn = Expr.attrHandle[ name.toLowerCase() ], - // Don't get fooled by Object.prototype properties (jQuery #13807) - val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? - fn( elem, name, !documentIsHTML ) : - undefined; - - return val !== undefined ? - val : - support.attributes || !documentIsHTML ? - elem.getAttribute( name ) : - (val = elem.getAttributeNode(name)) && val.specified ? - val.value : - null; -}; - -Sizzle.error = function( msg ) { - throw new Error( "Syntax error, unrecognized expression: " + msg ); -}; - -/** - * Document sorting and removing duplicates - * @param {ArrayLike} results - */ -Sizzle.uniqueSort = function( results ) { - var elem, - duplicates = [], - j = 0, - i = 0; - - // Unless we *know* we can detect duplicates, assume their presence - hasDuplicate = !support.detectDuplicates; - sortInput = !support.sortStable && results.slice( 0 ); - results.sort( sortOrder ); - - if ( hasDuplicate ) { - while ( (elem = results[i++]) ) { - if ( elem === results[ i ] ) { - j = duplicates.push( i ); - } - } - while ( j-- ) { - results.splice( duplicates[ j ], 1 ); - } - } - - // Clear input after sorting to release objects - // See https://github.com/jquery/sizzle/pull/225 - sortInput = null; - - return results; -}; - -/** - * Utility function for retrieving the text value of an array of DOM nodes - * @param {Array|Element} elem - */ -getText = Sizzle.getText = function( elem ) { - var node, - ret = "", - i = 0, - nodeType = elem.nodeType; - - if ( !nodeType ) { - // If no nodeType, this is expected to be an array - while ( (node = elem[i++]) ) { - // Do not traverse comment nodes - ret += getText( node ); - } - } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { - // Use textContent for elements - // innerText usage removed for consistency of new lines (jQuery #11153) - if ( typeof elem.textContent === "string" ) { - return elem.textContent; - } else { - // Traverse its children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - ret += getText( elem ); - } - } - } else if ( nodeType === 3 || nodeType === 4 ) { - return elem.nodeValue; - } - // Do not include comment or processing instruction nodes - - return ret; -}; - -Expr = Sizzle.selectors = { - - // Can be adjusted by the user - cacheLength: 50, - - createPseudo: markFunction, - - match: matchExpr, - - attrHandle: {}, - - find: {}, - - relative: { - ">": { dir: "parentNode", first: true }, - " ": { dir: "parentNode" }, - "+": { dir: "previousSibling", first: true }, - "~": { dir: "previousSibling" } - }, - - preFilter: { - "ATTR": function( match ) { - match[1] = match[1].replace( runescape, funescape ); - - // Move the given value to match[3] whether quoted or unquoted - match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); - - if ( match[2] === "~=" ) { - match[3] = " " + match[3] + " "; - } - - return match.slice( 0, 4 ); - }, - - "CHILD": function( match ) { - /* matches from matchExpr["CHILD"] - 1 type (only|nth|...) - 2 what (child|of-type) - 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) - 4 xn-component of xn+y argument ([+-]?\d*n|) - 5 sign of xn-component - 6 x of xn-component - 7 sign of y-component - 8 y of y-component - */ - match[1] = match[1].toLowerCase(); - - if ( match[1].slice( 0, 3 ) === "nth" ) { - // nth-* requires argument - if ( !match[3] ) { - Sizzle.error( match[0] ); - } - - // numeric x and y parameters for Expr.filter.CHILD - // remember that false/true cast respectively to 0/1 - match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); - match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); - - // other types prohibit arguments - } else if ( match[3] ) { - Sizzle.error( match[0] ); - } - - return match; - }, - - "PSEUDO": function( match ) { - var excess, - unquoted = !match[6] && match[2]; - - if ( matchExpr["CHILD"].test( match[0] ) ) { - return null; - } - - // Accept quoted arguments as-is - if ( match[3] ) { - match[2] = match[4] || match[5] || ""; - - // Strip excess characters from unquoted arguments - } else if ( unquoted && rpseudo.test( unquoted ) && - // Get excess from tokenize (recursively) - (excess = tokenize( unquoted, true )) && - // advance to the next closing parenthesis - (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { - - // excess is a negative index - match[0] = match[0].slice( 0, excess ); - match[2] = unquoted.slice( 0, excess ); - } - - // Return only captures needed by the pseudo filter method (type and argument) - return match.slice( 0, 3 ); - } - }, - - filter: { - - "TAG": function( nodeNameSelector ) { - var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); - return nodeNameSelector === "*" ? - function() { return true; } : - function( elem ) { - return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; - }; - }, - - "CLASS": function( className ) { - var pattern = classCache[ className + " " ]; - - return pattern || - (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && - classCache( className, function( elem ) { - return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); - }); - }, - - "ATTR": function( name, operator, check ) { - return function( elem ) { - var result = Sizzle.attr( elem, name ); - - if ( result == null ) { - return operator === "!="; - } - if ( !operator ) { - return true; - } - - result += ""; - - return operator === "=" ? result === check : - operator === "!=" ? result !== check : - operator === "^=" ? check && result.indexOf( check ) === 0 : - operator === "*=" ? check && result.indexOf( check ) > -1 : - operator === "$=" ? check && result.slice( -check.length ) === check : - operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : - operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : - false; - }; - }, - - "CHILD": function( type, what, argument, first, last ) { - var simple = type.slice( 0, 3 ) !== "nth", - forward = type.slice( -4 ) !== "last", - ofType = what === "of-type"; - - return first === 1 && last === 0 ? - - // Shortcut for :nth-*(n) - function( elem ) { - return !!elem.parentNode; - } : - - function( elem, context, xml ) { - var cache, outerCache, node, diff, nodeIndex, start, - dir = simple !== forward ? "nextSibling" : "previousSibling", - parent = elem.parentNode, - name = ofType && elem.nodeName.toLowerCase(), - useCache = !xml && !ofType; - - if ( parent ) { - - // :(first|last|only)-(child|of-type) - if ( simple ) { - while ( dir ) { - node = elem; - while ( (node = node[ dir ]) ) { - if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { - return false; - } - } - // Reverse direction for :only-* (if we haven't yet done so) - start = dir = type === "only" && !start && "nextSibling"; - } - return true; - } - - start = [ forward ? parent.firstChild : parent.lastChild ]; - - // non-xml :nth-child(...) stores cache data on `parent` - if ( forward && useCache ) { - // Seek `elem` from a previously-cached index - outerCache = parent[ expando ] || (parent[ expando ] = {}); - cache = outerCache[ type ] || []; - nodeIndex = cache[0] === dirruns && cache[1]; - diff = cache[0] === dirruns && cache[2]; - node = nodeIndex && parent.childNodes[ nodeIndex ]; - - while ( (node = ++nodeIndex && node && node[ dir ] || - - // Fallback to seeking `elem` from the start - (diff = nodeIndex = 0) || start.pop()) ) { - - // When found, cache indexes on `parent` and break - if ( node.nodeType === 1 && ++diff && node === elem ) { - outerCache[ type ] = [ dirruns, nodeIndex, diff ]; - break; - } - } - - // Use previously-cached element index if available - } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) { - diff = cache[1]; - - // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...) - } else { - // Use the same loop as above to seek `elem` from the start - while ( (node = ++nodeIndex && node && node[ dir ] || - (diff = nodeIndex = 0) || start.pop()) ) { - - if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) { - // Cache the index of each encountered element - if ( useCache ) { - (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ]; - } - - if ( node === elem ) { - break; - } - } - } - } - - // Incorporate the offset, then check against cycle size - diff -= last; - return diff === first || ( diff % first === 0 && diff / first >= 0 ); - } - }; - }, - - "PSEUDO": function( pseudo, argument ) { - // pseudo-class names are case-insensitive - // http://www.w3.org/TR/selectors/#pseudo-classes - // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters - // Remember that setFilters inherits from pseudos - var args, - fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || - Sizzle.error( "unsupported pseudo: " + pseudo ); - - // The user may use createPseudo to indicate that - // arguments are needed to create the filter function - // just as Sizzle does - if ( fn[ expando ] ) { - return fn( argument ); - } - - // But maintain support for old signatures - if ( fn.length > 1 ) { - args = [ pseudo, pseudo, "", argument ]; - return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? - markFunction(function( seed, matches ) { - var idx, - matched = fn( seed, argument ), - i = matched.length; - while ( i-- ) { - idx = indexOf( seed, matched[i] ); - seed[ idx ] = !( matches[ idx ] = matched[i] ); - } - }) : - function( elem ) { - return fn( elem, 0, args ); - }; - } - - return fn; - } - }, - - pseudos: { - // Potentially complex pseudos - "not": markFunction(function( selector ) { - // Trim the selector passed to compile - // to avoid treating leading and trailing - // spaces as combinators - var input = [], - results = [], - matcher = compile( selector.replace( rtrim, "$1" ) ); - - return matcher[ expando ] ? - markFunction(function( seed, matches, context, xml ) { - var elem, - unmatched = matcher( seed, null, xml, [] ), - i = seed.length; - - // Match elements unmatched by `matcher` - while ( i-- ) { - if ( (elem = unmatched[i]) ) { - seed[i] = !(matches[i] = elem); - } - } - }) : - function( elem, context, xml ) { - input[0] = elem; - matcher( input, null, xml, results ); - // Don't keep the element (issue #299) - input[0] = null; - return !results.pop(); - }; - }), - - "has": markFunction(function( selector ) { - return function( elem ) { - return Sizzle( selector, elem ).length > 0; - }; - }), - - "contains": markFunction(function( text ) { - text = text.replace( runescape, funescape ); - return function( elem ) { - return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; - }; - }), - - // "Whether an element is represented by a :lang() selector - // is based solely on the element's language value - // being equal to the identifier C, - // or beginning with the identifier C immediately followed by "-". - // The matching of C against the element's language value is performed case-insensitively. - // The identifier C does not have to be a valid language name." - // http://www.w3.org/TR/selectors/#lang-pseudo - "lang": markFunction( function( lang ) { - // lang value must be a valid identifier - if ( !ridentifier.test(lang || "") ) { - Sizzle.error( "unsupported lang: " + lang ); - } - lang = lang.replace( runescape, funescape ).toLowerCase(); - return function( elem ) { - var elemLang; - do { - if ( (elemLang = documentIsHTML ? - elem.lang : - elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { - - elemLang = elemLang.toLowerCase(); - return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; - } - } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); - return false; - }; - }), - - // Miscellaneous - "target": function( elem ) { - var hash = window.location && window.location.hash; - return hash && hash.slice( 1 ) === elem.id; - }, - - "root": function( elem ) { - return elem === docElem; - }, - - "focus": function( elem ) { - return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); - }, - - // Boolean properties - "enabled": function( elem ) { - return elem.disabled === false; - }, - - "disabled": function( elem ) { - return elem.disabled === true; - }, - - "checked": function( elem ) { - // In CSS3, :checked should return both checked and selected elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - var nodeName = elem.nodeName.toLowerCase(); - return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); - }, - - "selected": function( elem ) { - // Accessing this property makes selected-by-default - // options in Safari work properly - if ( elem.parentNode ) { - elem.parentNode.selectedIndex; - } - - return elem.selected === true; - }, - - // Contents - "empty": function( elem ) { - // http://www.w3.org/TR/selectors/#empty-pseudo - // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), - // but not by others (comment: 8; processing instruction: 7; etc.) - // nodeType < 6 works because attributes (2) do not appear as children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - if ( elem.nodeType < 6 ) { - return false; - } - } - return true; - }, - - "parent": function( elem ) { - return !Expr.pseudos["empty"]( elem ); - }, - - // Element/input types - "header": function( elem ) { - return rheader.test( elem.nodeName ); - }, - - "input": function( elem ) { - return rinputs.test( elem.nodeName ); - }, - - "button": function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === "button" || name === "button"; - }, - - "text": function( elem ) { - var attr; - return elem.nodeName.toLowerCase() === "input" && - elem.type === "text" && - - // Support: IE<8 - // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" - ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); - }, - - // Position-in-collection - "first": createPositionalPseudo(function() { - return [ 0 ]; - }), - - "last": createPositionalPseudo(function( matchIndexes, length ) { - return [ length - 1 ]; - }), - - "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { - return [ argument < 0 ? argument + length : argument ]; - }), - - "even": createPositionalPseudo(function( matchIndexes, length ) { - var i = 0; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "odd": createPositionalPseudo(function( matchIndexes, length ) { - var i = 1; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; --i >= 0; ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; ++i < length; ) { - matchIndexes.push( i ); - } - return matchIndexes; - }) - } -}; - -Expr.pseudos["nth"] = Expr.pseudos["eq"]; - -// Add button/input type pseudos -for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { - Expr.pseudos[ i ] = createInputPseudo( i ); -} -for ( i in { submit: true, reset: true } ) { - Expr.pseudos[ i ] = createButtonPseudo( i ); -} - -// Easy API for creating new setFilters -function setFilters() {} -setFilters.prototype = Expr.filters = Expr.pseudos; -Expr.setFilters = new setFilters(); - -tokenize = Sizzle.tokenize = function( selector, parseOnly ) { - var matched, match, tokens, type, - soFar, groups, preFilters, - cached = tokenCache[ selector + " " ]; - - if ( cached ) { - return parseOnly ? 0 : cached.slice( 0 ); - } - - soFar = selector; - groups = []; - preFilters = Expr.preFilter; - - while ( soFar ) { - - // Comma and first run - if ( !matched || (match = rcomma.exec( soFar )) ) { - if ( match ) { - // Don't consume trailing commas as valid - soFar = soFar.slice( match[0].length ) || soFar; - } - groups.push( (tokens = []) ); - } - - matched = false; - - // Combinators - if ( (match = rcombinators.exec( soFar )) ) { - matched = match.shift(); - tokens.push({ - value: matched, - // Cast descendant combinators to space - type: match[0].replace( rtrim, " " ) - }); - soFar = soFar.slice( matched.length ); - } - - // Filters - for ( type in Expr.filter ) { - if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || - (match = preFilters[ type ]( match ))) ) { - matched = match.shift(); - tokens.push({ - value: matched, - type: type, - matches: match - }); - soFar = soFar.slice( matched.length ); - } - } - - if ( !matched ) { - break; - } - } - - // Return the length of the invalid excess - // if we're just parsing - // Otherwise, throw an error or return tokens - return parseOnly ? - soFar.length : - soFar ? - Sizzle.error( selector ) : - // Cache the tokens - tokenCache( selector, groups ).slice( 0 ); -}; - -function toSelector( tokens ) { - var i = 0, - len = tokens.length, - selector = ""; - for ( ; i < len; i++ ) { - selector += tokens[i].value; - } - return selector; -} - -function addCombinator( matcher, combinator, base ) { - var dir = combinator.dir, - checkNonElements = base && dir === "parentNode", - doneName = done++; - - return combinator.first ? - // Check against closest ancestor/preceding element - function( elem, context, xml ) { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - return matcher( elem, context, xml ); - } - } - } : - - // Check against all ancestor/preceding elements - function( elem, context, xml ) { - var oldCache, outerCache, - newCache = [ dirruns, doneName ]; - - // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching - if ( xml ) { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - if ( matcher( elem, context, xml ) ) { - return true; - } - } - } - } else { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - outerCache = elem[ expando ] || (elem[ expando ] = {}); - if ( (oldCache = outerCache[ dir ]) && - oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { - - // Assign to newCache so results back-propagate to previous elements - return (newCache[ 2 ] = oldCache[ 2 ]); - } else { - // Reuse newcache so results back-propagate to previous elements - outerCache[ dir ] = newCache; - - // A match means we're done; a fail means we have to keep checking - if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { - return true; - } - } - } - } - } - }; -} - -function elementMatcher( matchers ) { - return matchers.length > 1 ? - function( elem, context, xml ) { - var i = matchers.length; - while ( i-- ) { - if ( !matchers[i]( elem, context, xml ) ) { - return false; - } - } - return true; - } : - matchers[0]; -} - -function multipleContexts( selector, contexts, results ) { - var i = 0, - len = contexts.length; - for ( ; i < len; i++ ) { - Sizzle( selector, contexts[i], results ); - } - return results; -} - -function condense( unmatched, map, filter, context, xml ) { - var elem, - newUnmatched = [], - i = 0, - len = unmatched.length, - mapped = map != null; - - for ( ; i < len; i++ ) { - if ( (elem = unmatched[i]) ) { - if ( !filter || filter( elem, context, xml ) ) { - newUnmatched.push( elem ); - if ( mapped ) { - map.push( i ); - } - } - } - } - - return newUnmatched; -} - -function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { - if ( postFilter && !postFilter[ expando ] ) { - postFilter = setMatcher( postFilter ); - } - if ( postFinder && !postFinder[ expando ] ) { - postFinder = setMatcher( postFinder, postSelector ); - } - return markFunction(function( seed, results, context, xml ) { - var temp, i, elem, - preMap = [], - postMap = [], - preexisting = results.length, - - // Get initial elements from seed or context - elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), - - // Prefilter to get matcher input, preserving a map for seed-results synchronization - matcherIn = preFilter && ( seed || !selector ) ? - condense( elems, preMap, preFilter, context, xml ) : - elems, - - matcherOut = matcher ? - // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, - postFinder || ( seed ? preFilter : preexisting || postFilter ) ? - - // ...intermediate processing is necessary - [] : - - // ...otherwise use results directly - results : - matcherIn; - - // Find primary matches - if ( matcher ) { - matcher( matcherIn, matcherOut, context, xml ); - } - - // Apply postFilter - if ( postFilter ) { - temp = condense( matcherOut, postMap ); - postFilter( temp, [], context, xml ); - - // Un-match failing elements by moving them back to matcherIn - i = temp.length; - while ( i-- ) { - if ( (elem = temp[i]) ) { - matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); - } - } - } - - if ( seed ) { - if ( postFinder || preFilter ) { - if ( postFinder ) { - // Get the final matcherOut by condensing this intermediate into postFinder contexts - temp = []; - i = matcherOut.length; - while ( i-- ) { - if ( (elem = matcherOut[i]) ) { - // Restore matcherIn since elem is not yet a final match - temp.push( (matcherIn[i] = elem) ); - } - } - postFinder( null, (matcherOut = []), temp, xml ); - } - - // Move matched elements from seed to results to keep them synchronized - i = matcherOut.length; - while ( i-- ) { - if ( (elem = matcherOut[i]) && - (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { - - seed[temp] = !(results[temp] = elem); - } - } - } - - // Add elements to results, through postFinder if defined - } else { - matcherOut = condense( - matcherOut === results ? - matcherOut.splice( preexisting, matcherOut.length ) : - matcherOut - ); - if ( postFinder ) { - postFinder( null, results, matcherOut, xml ); - } else { - push.apply( results, matcherOut ); - } - } - }); -} - -function matcherFromTokens( tokens ) { - var checkContext, matcher, j, - len = tokens.length, - leadingRelative = Expr.relative[ tokens[0].type ], - implicitRelative = leadingRelative || Expr.relative[" "], - i = leadingRelative ? 1 : 0, - - // The foundational matcher ensures that elements are reachable from top-level context(s) - matchContext = addCombinator( function( elem ) { - return elem === checkContext; - }, implicitRelative, true ), - matchAnyContext = addCombinator( function( elem ) { - return indexOf( checkContext, elem ) > -1; - }, implicitRelative, true ), - matchers = [ function( elem, context, xml ) { - var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( - (checkContext = context).nodeType ? - matchContext( elem, context, xml ) : - matchAnyContext( elem, context, xml ) ); - // Avoid hanging onto element (issue #299) - checkContext = null; - return ret; - } ]; - - for ( ; i < len; i++ ) { - if ( (matcher = Expr.relative[ tokens[i].type ]) ) { - matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; - } else { - matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); - - // Return special upon seeing a positional matcher - if ( matcher[ expando ] ) { - // Find the next relative operator (if any) for proper handling - j = ++i; - for ( ; j < len; j++ ) { - if ( Expr.relative[ tokens[j].type ] ) { - break; - } - } - return setMatcher( - i > 1 && elementMatcher( matchers ), - i > 1 && toSelector( - // If the preceding token was a descendant combinator, insert an implicit any-element `*` - tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) - ).replace( rtrim, "$1" ), - matcher, - i < j && matcherFromTokens( tokens.slice( i, j ) ), - j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), - j < len && toSelector( tokens ) - ); - } - matchers.push( matcher ); - } - } - - return elementMatcher( matchers ); -} - -function matcherFromGroupMatchers( elementMatchers, setMatchers ) { - var bySet = setMatchers.length > 0, - byElement = elementMatchers.length > 0, - superMatcher = function( seed, context, xml, results, outermost ) { - var elem, j, matcher, - matchedCount = 0, - i = "0", - unmatched = seed && [], - setMatched = [], - contextBackup = outermostContext, - // We must always have either seed elements or outermost context - elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), - // Use integer dirruns iff this is the outermost matcher - dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), - len = elems.length; - - if ( outermost ) { - outermostContext = context !== document && context; - } - - // Add elements passing elementMatchers directly to results - // Keep `i` a string if there are no elements so `matchedCount` will be "00" below - // Support: IE<9, Safari - // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id - for ( ; i !== len && (elem = elems[i]) != null; i++ ) { - if ( byElement && elem ) { - j = 0; - while ( (matcher = elementMatchers[j++]) ) { - if ( matcher( elem, context, xml ) ) { - results.push( elem ); - break; - } - } - if ( outermost ) { - dirruns = dirrunsUnique; - } - } - - // Track unmatched elements for set filters - if ( bySet ) { - // They will have gone through all possible matchers - if ( (elem = !matcher && elem) ) { - matchedCount--; - } - - // Lengthen the array for every element, matched or not - if ( seed ) { - unmatched.push( elem ); - } - } - } - - // Apply set filters to unmatched elements - matchedCount += i; - if ( bySet && i !== matchedCount ) { - j = 0; - while ( (matcher = setMatchers[j++]) ) { - matcher( unmatched, setMatched, context, xml ); - } - - if ( seed ) { - // Reintegrate element matches to eliminate the need for sorting - if ( matchedCount > 0 ) { - while ( i-- ) { - if ( !(unmatched[i] || setMatched[i]) ) { - setMatched[i] = pop.call( results ); - } - } - } - - // Discard index placeholder values to get only actual matches - setMatched = condense( setMatched ); - } - - // Add matches to results - push.apply( results, setMatched ); - - // Seedless set matches succeeding multiple successful matchers stipulate sorting - if ( outermost && !seed && setMatched.length > 0 && - ( matchedCount + setMatchers.length ) > 1 ) { - - Sizzle.uniqueSort( results ); - } - } - - // Override manipulation of globals by nested matchers - if ( outermost ) { - dirruns = dirrunsUnique; - outermostContext = contextBackup; - } - - return unmatched; - }; - - return bySet ? - markFunction( superMatcher ) : - superMatcher; -} - -compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { - var i, - setMatchers = [], - elementMatchers = [], - cached = compilerCache[ selector + " " ]; - - if ( !cached ) { - // Generate a function of recursive functions that can be used to check each element - if ( !match ) { - match = tokenize( selector ); - } - i = match.length; - while ( i-- ) { - cached = matcherFromTokens( match[i] ); - if ( cached[ expando ] ) { - setMatchers.push( cached ); - } else { - elementMatchers.push( cached ); - } - } - - // Cache the compiled function - cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); - - // Save selector and tokenization - cached.selector = selector; - } - return cached; -}; - -/** - * A low-level selection function that works with Sizzle's compiled - * selector functions - * @param {String|Function} selector A selector or a pre-compiled - * selector function built with Sizzle.compile - * @param {Element} context - * @param {Array} [results] - * @param {Array} [seed] A set of elements to match against - */ -select = Sizzle.select = function( selector, context, results, seed ) { - var i, tokens, token, type, find, - compiled = typeof selector === "function" && selector, - match = !seed && tokenize( (selector = compiled.selector || selector) ); - - results = results || []; - - // Try to minimize operations if there is no seed and only one group - if ( match.length === 1 ) { - - // Take a shortcut and set the context if the root selector is an ID - tokens = match[0] = match[0].slice( 0 ); - if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && - support.getById && context.nodeType === 9 && documentIsHTML && - Expr.relative[ tokens[1].type ] ) { - - context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; - if ( !context ) { - return results; - - // Precompiled matchers will still verify ancestry, so step up a level - } else if ( compiled ) { - context = context.parentNode; - } - - selector = selector.slice( tokens.shift().value.length ); - } - - // Fetch a seed set for right-to-left matching - i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; - while ( i-- ) { - token = tokens[i]; - - // Abort if we hit a combinator - if ( Expr.relative[ (type = token.type) ] ) { - break; - } - if ( (find = Expr.find[ type ]) ) { - // Search, expanding context for leading sibling combinators - if ( (seed = find( - token.matches[0].replace( runescape, funescape ), - rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context - )) ) { - - // If seed is empty or no tokens remain, we can return early - tokens.splice( i, 1 ); - selector = seed.length && toSelector( tokens ); - if ( !selector ) { - push.apply( results, seed ); - return results; - } - - break; - } - } - } - } - - // Compile and execute a filtering function if one is not provided - // Provide `match` to avoid retokenization if we modified the selector above - ( compiled || compile( selector, match ) )( - seed, - context, - !documentIsHTML, - results, - rsibling.test( selector ) && testContext( context.parentNode ) || context - ); - return results; -}; - -// One-time assignments - -// Sort stability -support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; - -// Support: Chrome 14-35+ -// Always assume duplicates if they aren't passed to the comparison function -support.detectDuplicates = !!hasDuplicate; - -// Initialize against the default document -setDocument(); - -// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) -// Detached nodes confoundingly follow *each other* -support.sortDetached = assert(function( div1 ) { - // Should return 1, but returns 4 (following) - return div1.compareDocumentPosition( document.createElement("div") ) & 1; -}); - -// Support: IE<8 -// Prevent attribute/property "interpolation" -// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx -if ( !assert(function( div ) { - div.innerHTML = "<a href='#'></a>"; - return div.firstChild.getAttribute("href") === "#" ; -}) ) { - addHandle( "type|href|height|width", function( elem, name, isXML ) { - if ( !isXML ) { - return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); - } - }); -} - -// Support: IE<9 -// Use defaultValue in place of getAttribute("value") -if ( !support.attributes || !assert(function( div ) { - div.innerHTML = "<input/>"; - div.firstChild.setAttribute( "value", "" ); - return div.firstChild.getAttribute( "value" ) === ""; -}) ) { - addHandle( "value", function( elem, name, isXML ) { - if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { - return elem.defaultValue; - } - }); -} - -// Support: IE<9 -// Use getAttributeNode to fetch booleans when getAttribute lies -if ( !assert(function( div ) { - return div.getAttribute("disabled") == null; -}) ) { - addHandle( booleans, function( elem, name, isXML ) { - var val; - if ( !isXML ) { - return elem[ name ] === true ? name.toLowerCase() : - (val = elem.getAttributeNode( name )) && val.specified ? - val.value : - null; - } - }); -} - -return Sizzle; - -})( window ); - - - -jQuery.find = Sizzle; -jQuery.expr = Sizzle.selectors; -jQuery.expr[":"] = jQuery.expr.pseudos; -jQuery.unique = Sizzle.uniqueSort; -jQuery.text = Sizzle.getText; -jQuery.isXMLDoc = Sizzle.isXML; -jQuery.contains = Sizzle.contains; - - - -var rneedsContext = jQuery.expr.match.needsContext; - -var rsingleTag = (/^<(\w+)\s*\/?>(?:<\/\1>|)$/); - - - -var risSimple = /^.[^:#\[\.,]*$/; - -// Implement the identical functionality for filter and not -function winnow( elements, qualifier, not ) { - if ( jQuery.isFunction( qualifier ) ) { - return jQuery.grep( elements, function( elem, i ) { - /* jshint -W018 */ - return !!qualifier.call( elem, i, elem ) !== not; - }); - - } - - if ( qualifier.nodeType ) { - return jQuery.grep( elements, function( elem ) { - return ( elem === qualifier ) !== not; - }); - - } - - if ( typeof qualifier === "string" ) { - if ( risSimple.test( qualifier ) ) { - return jQuery.filter( qualifier, elements, not ); - } - - qualifier = jQuery.filter( qualifier, elements ); - } - - return jQuery.grep( elements, function( elem ) { - return ( indexOf.call( qualifier, elem ) >= 0 ) !== not; - }); -} - -jQuery.filter = function( expr, elems, not ) { - var elem = elems[ 0 ]; - - if ( not ) { - expr = ":not(" + expr + ")"; - } - - return elems.length === 1 && elem.nodeType === 1 ? - jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : - jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { - return elem.nodeType === 1; - })); -}; - -jQuery.fn.extend({ - find: function( selector ) { - var i, - len = this.length, - ret = [], - self = this; - - if ( typeof selector !== "string" ) { - return this.pushStack( jQuery( selector ).filter(function() { - for ( i = 0; i < len; i++ ) { - if ( jQuery.contains( self[ i ], this ) ) { - return true; - } - } - }) ); - } - - for ( i = 0; i < len; i++ ) { - jQuery.find( selector, self[ i ], ret ); - } - - // Needed because $( selector, context ) becomes $( context ).find( selector ) - ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret ); - ret.selector = this.selector ? this.selector + " " + selector : selector; - return ret; - }, - filter: function( selector ) { - return this.pushStack( winnow(this, selector || [], false) ); - }, - not: function( selector ) { - return this.pushStack( winnow(this, selector || [], true) ); - }, - is: function( selector ) { - return !!winnow( - this, - - // If this is a positional/relative selector, check membership in the returned set - // so $("p:first").is("p:last") won't return true for a doc with two "p". - typeof selector === "string" && rneedsContext.test( selector ) ? - jQuery( selector ) : - selector || [], - false - ).length; - } -}); - - -// Initialize a jQuery object - - -// A central reference to the root jQuery(document) -var rootjQuery, - - // A simple way to check for HTML strings - // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) - // Strict HTML recognition (#11290: must start with <) - rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, - - init = jQuery.fn.init = function( selector, context ) { - var match, elem; - - // HANDLE: $(""), $(null), $(undefined), $(false) - if ( !selector ) { - return this; - } - - // Handle HTML strings - if ( typeof selector === "string" ) { - if ( selector[0] === "<" && selector[ selector.length - 1 ] === ">" && selector.length >= 3 ) { - // Assume that strings that start and end with <> are HTML and skip the regex check - match = [ null, selector, null ]; - - } else { - match = rquickExpr.exec( selector ); - } - - // Match html or make sure no context is specified for #id - if ( match && (match[1] || !context) ) { - - // HANDLE: $(html) -> $(array) - if ( match[1] ) { - context = context instanceof jQuery ? context[0] : context; - - // Option to run scripts is true for back-compat - // Intentionally let the error be thrown if parseHTML is not present - jQuery.merge( this, jQuery.parseHTML( - match[1], - context && context.nodeType ? context.ownerDocument || context : document, - true - ) ); - - // HANDLE: $(html, props) - if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) { - for ( match in context ) { - // Properties of context are called as methods if possible - if ( jQuery.isFunction( this[ match ] ) ) { - this[ match ]( context[ match ] ); - - // ...and otherwise set as attributes - } else { - this.attr( match, context[ match ] ); - } - } - } - - return this; - - // HANDLE: $(#id) - } else { - elem = document.getElementById( match[2] ); - - // Support: Blackberry 4.6 - // gEBID returns nodes no longer in the document (#6963) - if ( elem && elem.parentNode ) { - // Inject the element directly into the jQuery object - this.length = 1; - this[0] = elem; - } - - this.context = document; - this.selector = selector; - return this; - } - - // HANDLE: $(expr, $(...)) - } else if ( !context || context.jquery ) { - return ( context || rootjQuery ).find( selector ); - - // HANDLE: $(expr, context) - // (which is just equivalent to: $(context).find(expr) - } else { - return this.constructor( context ).find( selector ); - } - - // HANDLE: $(DOMElement) - } else if ( selector.nodeType ) { - this.context = this[0] = selector; - this.length = 1; - return this; - - // HANDLE: $(function) - // Shortcut for document ready - } else if ( jQuery.isFunction( selector ) ) { - return typeof rootjQuery.ready !== "undefined" ? - rootjQuery.ready( selector ) : - // Execute immediately if ready is not present - selector( jQuery ); - } - - if ( selector.selector !== undefined ) { - this.selector = selector.selector; - this.context = selector.context; - } - - return jQuery.makeArray( selector, this ); - }; - -// Give the init function the jQuery prototype for later instantiation -init.prototype = jQuery.fn; - -// Initialize central reference -rootjQuery = jQuery( document ); - - -var rparentsprev = /^(?:parents|prev(?:Until|All))/, - // Methods guaranteed to produce a unique set when starting from a unique set - guaranteedUnique = { - children: true, - contents: true, - next: true, - prev: true - }; - -jQuery.extend({ - dir: function( elem, dir, until ) { - var matched = [], - truncate = until !== undefined; - - while ( (elem = elem[ dir ]) && elem.nodeType !== 9 ) { - if ( elem.nodeType === 1 ) { - if ( truncate && jQuery( elem ).is( until ) ) { - break; - } - matched.push( elem ); - } - } - return matched; - }, - - sibling: function( n, elem ) { - var matched = []; - - for ( ; n; n = n.nextSibling ) { - if ( n.nodeType === 1 && n !== elem ) { - matched.push( n ); - } - } - - return matched; - } -}); - -jQuery.fn.extend({ - has: function( target ) { - var targets = jQuery( target, this ), - l = targets.length; - - return this.filter(function() { - var i = 0; - for ( ; i < l; i++ ) { - if ( jQuery.contains( this, targets[i] ) ) { - return true; - } - } - }); - }, - - closest: function( selectors, context ) { - var cur, - i = 0, - l = this.length, - matched = [], - pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? - jQuery( selectors, context || this.context ) : - 0; - - for ( ; i < l; i++ ) { - for ( cur = this[i]; cur && cur !== context; cur = cur.parentNode ) { - // Always skip document fragments - if ( cur.nodeType < 11 && (pos ? - pos.index(cur) > -1 : - - // Don't pass non-elements to Sizzle - cur.nodeType === 1 && - jQuery.find.matchesSelector(cur, selectors)) ) { - - matched.push( cur ); - break; - } - } - } - - return this.pushStack( matched.length > 1 ? jQuery.unique( matched ) : matched ); - }, - - // Determine the position of an element within the set - index: function( elem ) { - - // No argument, return index in parent - if ( !elem ) { - return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; - } - - // Index in selector - if ( typeof elem === "string" ) { - return indexOf.call( jQuery( elem ), this[ 0 ] ); - } - - // Locate the position of the desired element - return indexOf.call( this, - - // If it receives a jQuery object, the first element is used - elem.jquery ? elem[ 0 ] : elem - ); - }, - - add: function( selector, context ) { - return this.pushStack( - jQuery.unique( - jQuery.merge( this.get(), jQuery( selector, context ) ) - ) - ); - }, - - addBack: function( selector ) { - return this.add( selector == null ? - this.prevObject : this.prevObject.filter(selector) - ); - } -}); - -function sibling( cur, dir ) { - while ( (cur = cur[dir]) && cur.nodeType !== 1 ) {} - return cur; -} - -jQuery.each({ - parent: function( elem ) { - var parent = elem.parentNode; - return parent && parent.nodeType !== 11 ? parent : null; - }, - parents: function( elem ) { - return jQuery.dir( elem, "parentNode" ); - }, - parentsUntil: function( elem, i, until ) { - return jQuery.dir( elem, "parentNode", until ); - }, - next: function( elem ) { - return sibling( elem, "nextSibling" ); - }, - prev: function( elem ) { - return sibling( elem, "previousSibling" ); - }, - nextAll: function( elem ) { - return jQuery.dir( elem, "nextSibling" ); - }, - prevAll: function( elem ) { - return jQuery.dir( elem, "previousSibling" ); - }, - nextUntil: function( elem, i, until ) { - return jQuery.dir( elem, "nextSibling", until ); - }, - prevUntil: function( elem, i, until ) { - return jQuery.dir( elem, "previousSibling", until ); - }, - siblings: function( elem ) { - return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem ); - }, - children: function( elem ) { - return jQuery.sibling( elem.firstChild ); - }, - contents: function( elem ) { - return elem.contentDocument || jQuery.merge( [], elem.childNodes ); - } -}, function( name, fn ) { - jQuery.fn[ name ] = function( until, selector ) { - var matched = jQuery.map( this, fn, until ); - - if ( name.slice( -5 ) !== "Until" ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - matched = jQuery.filter( selector, matched ); - } - - if ( this.length > 1 ) { - // Remove duplicates - if ( !guaranteedUnique[ name ] ) { - jQuery.unique( matched ); - } - - // Reverse order for parents* and prev-derivatives - if ( rparentsprev.test( name ) ) { - matched.reverse(); - } - } - - return this.pushStack( matched ); - }; -}); -var rnotwhite = (/\S+/g); - - - -// String to Object options format cache -var optionsCache = {}; - -// Convert String-formatted options into Object-formatted ones and store in cache -function createOptions( options ) { - var object = optionsCache[ options ] = {}; - jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) { - object[ flag ] = true; - }); - return object; -} - -/* - * Create a callback list using the following parameters: - * - * options: an optional list of space-separated options that will change how - * the callback list behaves or a more traditional option object - * - * By default a callback list will act like an event callback list and can be - * "fired" multiple times. - * - * Possible options: - * - * once: will ensure the callback list can only be fired once (like a Deferred) - * - * memory: will keep track of previous values and will call any callback added - * after the list has been fired right away with the latest "memorized" - * values (like a Deferred) - * - * unique: will ensure a callback can only be added once (no duplicate in the list) - * - * stopOnFalse: interrupt callings when a callback returns false - * - */ -jQuery.Callbacks = function( options ) { - - // Convert options from String-formatted to Object-formatted if needed - // (we check in cache first) - options = typeof options === "string" ? - ( optionsCache[ options ] || createOptions( options ) ) : - jQuery.extend( {}, options ); - - var // Last fire value (for non-forgettable lists) - memory, - // Flag to know if list was already fired - fired, - // Flag to know if list is currently firing - firing, - // First callback to fire (used internally by add and fireWith) - firingStart, - // End of the loop when firing - firingLength, - // Index of currently firing callback (modified by remove if needed) - firingIndex, - // Actual callback list - list = [], - // Stack of fire calls for repeatable lists - stack = !options.once && [], - // Fire callbacks - fire = function( data ) { - memory = options.memory && data; - fired = true; - firingIndex = firingStart || 0; - firingStart = 0; - firingLength = list.length; - firing = true; - for ( ; list && firingIndex < firingLength; firingIndex++ ) { - if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) { - memory = false; // To prevent further calls using add - break; - } - } - firing = false; - if ( list ) { - if ( stack ) { - if ( stack.length ) { - fire( stack.shift() ); - } - } else if ( memory ) { - list = []; - } else { - self.disable(); - } - } - }, - // Actual Callbacks object - self = { - // Add a callback or a collection of callbacks to the list - add: function() { - if ( list ) { - // First, we save the current length - var start = list.length; - (function add( args ) { - jQuery.each( args, function( _, arg ) { - var type = jQuery.type( arg ); - if ( type === "function" ) { - if ( !options.unique || !self.has( arg ) ) { - list.push( arg ); - } - } else if ( arg && arg.length && type !== "string" ) { - // Inspect recursively - add( arg ); - } - }); - })( arguments ); - // Do we need to add the callbacks to the - // current firing batch? - if ( firing ) { - firingLength = list.length; - // With memory, if we're not firing then - // we should call right away - } else if ( memory ) { - firingStart = start; - fire( memory ); - } - } - return this; - }, - // Remove a callback from the list - remove: function() { - if ( list ) { - jQuery.each( arguments, function( _, arg ) { - var index; - while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { - list.splice( index, 1 ); - // Handle firing indexes - if ( firing ) { - if ( index <= firingLength ) { - firingLength--; - } - if ( index <= firingIndex ) { - firingIndex--; - } - } - } - }); - } - return this; - }, - // Check if a given callback is in the list. - // If no argument is given, return whether or not list has callbacks attached. - has: function( fn ) { - return fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length ); - }, - // Remove all callbacks from the list - empty: function() { - list = []; - firingLength = 0; - return this; - }, - // Have the list do nothing anymore - disable: function() { - list = stack = memory = undefined; - return this; - }, - // Is it disabled? - disabled: function() { - return !list; - }, - // Lock the list in its current state - lock: function() { - stack = undefined; - if ( !memory ) { - self.disable(); - } - return this; - }, - // Is it locked? - locked: function() { - return !stack; - }, - // Call all callbacks with the given context and arguments - fireWith: function( context, args ) { - if ( list && ( !fired || stack ) ) { - args = args || []; - args = [ context, args.slice ? args.slice() : args ]; - if ( firing ) { - stack.push( args ); - } else { - fire( args ); - } - } - return this; - }, - // Call all the callbacks with the given arguments - fire: function() { - self.fireWith( this, arguments ); - return this; - }, - // To know if the callbacks have already been called at least once - fired: function() { - return !!fired; - } - }; - - return self; -}; - - -jQuery.extend({ - - Deferred: function( func ) { - var tuples = [ - // action, add listener, listener list, final state - [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ], - [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ], - [ "notify", "progress", jQuery.Callbacks("memory") ] - ], - state = "pending", - promise = { - state: function() { - return state; - }, - always: function() { - deferred.done( arguments ).fail( arguments ); - return this; - }, - then: function( /* fnDone, fnFail, fnProgress */ ) { - var fns = arguments; - return jQuery.Deferred(function( newDefer ) { - jQuery.each( tuples, function( i, tuple ) { - var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; - // deferred[ done | fail | progress ] for forwarding actions to newDefer - deferred[ tuple[1] ](function() { - var returned = fn && fn.apply( this, arguments ); - if ( returned && jQuery.isFunction( returned.promise ) ) { - returned.promise() - .done( newDefer.resolve ) - .fail( newDefer.reject ) - .progress( newDefer.notify ); - } else { - newDefer[ tuple[ 0 ] + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments ); - } - }); - }); - fns = null; - }).promise(); - }, - // Get a promise for this deferred - // If obj is provided, the promise aspect is added to the object - promise: function( obj ) { - return obj != null ? jQuery.extend( obj, promise ) : promise; - } - }, - deferred = {}; - - // Keep pipe for back-compat - promise.pipe = promise.then; - - // Add list-specific methods - jQuery.each( tuples, function( i, tuple ) { - var list = tuple[ 2 ], - stateString = tuple[ 3 ]; - - // promise[ done | fail | progress ] = list.add - promise[ tuple[1] ] = list.add; - - // Handle state - if ( stateString ) { - list.add(function() { - // state = [ resolved | rejected ] - state = stateString; - - // [ reject_list | resolve_list ].disable; progress_list.lock - }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); - } - - // deferred[ resolve | reject | notify ] - deferred[ tuple[0] ] = function() { - deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments ); - return this; - }; - deferred[ tuple[0] + "With" ] = list.fireWith; - }); - - // Make the deferred a promise - promise.promise( deferred ); - - // Call given func if any - if ( func ) { - func.call( deferred, deferred ); - } - - // All done! - return deferred; - }, - - // Deferred helper - when: function( subordinate /* , ..., subordinateN */ ) { - var i = 0, - resolveValues = slice.call( arguments ), - length = resolveValues.length, - - // the count of uncompleted subordinates - remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, - - // the master Deferred. If resolveValues consist of only a single Deferred, just use that. - deferred = remaining === 1 ? subordinate : jQuery.Deferred(), - - // Update function for both resolve and progress values - updateFunc = function( i, contexts, values ) { - return function( value ) { - contexts[ i ] = this; - values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; - if ( values === progressValues ) { - deferred.notifyWith( contexts, values ); - } else if ( !( --remaining ) ) { - deferred.resolveWith( contexts, values ); - } - }; - }, - - progressValues, progressContexts, resolveContexts; - - // Add listeners to Deferred subordinates; treat others as resolved - if ( length > 1 ) { - progressValues = new Array( length ); - progressContexts = new Array( length ); - resolveContexts = new Array( length ); - for ( ; i < length; i++ ) { - if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { - resolveValues[ i ].promise() - .done( updateFunc( i, resolveContexts, resolveValues ) ) - .fail( deferred.reject ) - .progress( updateFunc( i, progressContexts, progressValues ) ); - } else { - --remaining; - } - } - } - - // If we're not waiting on anything, resolve the master - if ( !remaining ) { - deferred.resolveWith( resolveContexts, resolveValues ); - } - - return deferred.promise(); - } -}); - - -// The deferred used on DOM ready -var readyList; - -jQuery.fn.ready = function( fn ) { - // Add the callback - jQuery.ready.promise().done( fn ); - - return this; -}; - -jQuery.extend({ - // Is the DOM ready to be used? Set to true once it occurs. - isReady: false, - - // A counter to track how many items to wait for before - // the ready event fires. See #6781 - readyWait: 1, - - // Hold (or release) the ready event - holdReady: function( hold ) { - if ( hold ) { - jQuery.readyWait++; - } else { - jQuery.ready( true ); - } - }, - - // Handle when the DOM is ready - ready: function( wait ) { - - // Abort if there are pending holds or we're already ready - if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { - return; - } - - // Remember that the DOM is ready - jQuery.isReady = true; - - // If a normal DOM Ready event fired, decrement, and wait if need be - if ( wait !== true && --jQuery.readyWait > 0 ) { - return; - } - - // If there are functions bound, to execute - readyList.resolveWith( document, [ jQuery ] ); - - // Trigger any bound ready events - if ( jQuery.fn.triggerHandler ) { - jQuery( document ).triggerHandler( "ready" ); - jQuery( document ).off( "ready" ); - } - } -}); - -/** - * The ready event handler and self cleanup method - */ -function completed() { - document.removeEventListener( "DOMContentLoaded", completed, false ); - window.removeEventListener( "load", completed, false ); - jQuery.ready(); -} - -jQuery.ready.promise = function( obj ) { - if ( !readyList ) { - - readyList = jQuery.Deferred(); - - // Catch cases where $(document).ready() is called after the browser event has already occurred. - // We once tried to use readyState "interactive" here, but it caused issues like the one - // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15 - if ( document.readyState === "complete" ) { - // Handle it asynchronously to allow scripts the opportunity to delay ready - setTimeout( jQuery.ready ); - - } else { - - // Use the handy event callback - document.addEventListener( "DOMContentLoaded", completed, false ); - - // A fallback to window.onload, that will always work - window.addEventListener( "load", completed, false ); - } - } - return readyList.promise( obj ); -}; - -// Kick off the DOM ready check even if the user does not -jQuery.ready.promise(); - - - - -// Multifunctional method to get and set values of a collection -// The value/s can optionally be executed if it's a function -var access = jQuery.access = function( elems, fn, key, value, chainable, emptyGet, raw ) { - var i = 0, - len = elems.length, - bulk = key == null; - - // Sets many values - if ( jQuery.type( key ) === "object" ) { - chainable = true; - for ( i in key ) { - jQuery.access( elems, fn, i, key[i], true, emptyGet, raw ); - } - - // Sets one value - } else if ( value !== undefined ) { - chainable = true; - - if ( !jQuery.isFunction( value ) ) { - raw = true; - } - - if ( bulk ) { - // Bulk operations run against the entire set - if ( raw ) { - fn.call( elems, value ); - fn = null; - - // ...except when executing function values - } else { - bulk = fn; - fn = function( elem, key, value ) { - return bulk.call( jQuery( elem ), value ); - }; - } - } - - if ( fn ) { - for ( ; i < len; i++ ) { - fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) ); - } - } - } - - return chainable ? - elems : - - // Gets - bulk ? - fn.call( elems ) : - len ? fn( elems[0], key ) : emptyGet; -}; - - -/** - * Determines whether an object can have data - */ -jQuery.acceptData = function( owner ) { - // Accepts only: - // - Node - // - Node.ELEMENT_NODE - // - Node.DOCUMENT_NODE - // - Object - // - Any - /* jshint -W018 */ - return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); -}; - - -function Data() { - // Support: Android<4, - // Old WebKit does not have Object.preventExtensions/freeze method, - // return new empty object instead with no [[set]] accessor - Object.defineProperty( this.cache = {}, 0, { - get: function() { - return {}; - } - }); - - this.expando = jQuery.expando + Data.uid++; -} - -Data.uid = 1; -Data.accepts = jQuery.acceptData; - -Data.prototype = { - key: function( owner ) { - // We can accept data for non-element nodes in modern browsers, - // but we should not, see #8335. - // Always return the key for a frozen object. - if ( !Data.accepts( owner ) ) { - return 0; - } - - var descriptor = {}, - // Check if the owner object already has a cache key - unlock = owner[ this.expando ]; - - // If not, create one - if ( !unlock ) { - unlock = Data.uid++; - - // Secure it in a non-enumerable, non-writable property - try { - descriptor[ this.expando ] = { value: unlock }; - Object.defineProperties( owner, descriptor ); - - // Support: Android<4 - // Fallback to a less secure definition - } catch ( e ) { - descriptor[ this.expando ] = unlock; - jQuery.extend( owner, descriptor ); - } - } - - // Ensure the cache object - if ( !this.cache[ unlock ] ) { - this.cache[ unlock ] = {}; - } - - return unlock; - }, - set: function( owner, data, value ) { - var prop, - // There may be an unlock assigned to this node, - // if there is no entry for this "owner", create one inline - // and set the unlock as though an owner entry had always existed - unlock = this.key( owner ), - cache = this.cache[ unlock ]; - - // Handle: [ owner, key, value ] args - if ( typeof data === "string" ) { - cache[ data ] = value; - - // Handle: [ owner, { properties } ] args - } else { - // Fresh assignments by object are shallow copied - if ( jQuery.isEmptyObject( cache ) ) { - jQuery.extend( this.cache[ unlock ], data ); - // Otherwise, copy the properties one-by-one to the cache object - } else { - for ( prop in data ) { - cache[ prop ] = data[ prop ]; - } - } - } - return cache; - }, - get: function( owner, key ) { - // Either a valid cache is found, or will be created. - // New caches will be created and the unlock returned, - // allowing direct access to the newly created - // empty data object. A valid owner object must be provided. - var cache = this.cache[ this.key( owner ) ]; - - return key === undefined ? - cache : cache[ key ]; - }, - access: function( owner, key, value ) { - var stored; - // In cases where either: - // - // 1. No key was specified - // 2. A string key was specified, but no value provided - // - // Take the "read" path and allow the get method to determine - // which value to return, respectively either: - // - // 1. The entire cache object - // 2. The data stored at the key - // - if ( key === undefined || - ((key && typeof key === "string") && value === undefined) ) { - - stored = this.get( owner, key ); - - return stored !== undefined ? - stored : this.get( owner, jQuery.camelCase(key) ); - } - - // [*]When the key is not a string, or both a key and value - // are specified, set or extend (existing objects) with either: - // - // 1. An object of properties - // 2. A key and value - // - this.set( owner, key, value ); - - // Since the "set" path can have two possible entry points - // return the expected data based on which path was taken[*] - return value !== undefined ? value : key; - }, - remove: function( owner, key ) { - var i, name, camel, - unlock = this.key( owner ), - cache = this.cache[ unlock ]; - - if ( key === undefined ) { - this.cache[ unlock ] = {}; - - } else { - // Support array or space separated string of keys - if ( jQuery.isArray( key ) ) { - // If "name" is an array of keys... - // When data is initially created, via ("key", "val") signature, - // keys will be converted to camelCase. - // Since there is no way to tell _how_ a key was added, remove - // both plain key and camelCase key. #12786 - // This will only penalize the array argument path. - name = key.concat( key.map( jQuery.camelCase ) ); - } else { - camel = jQuery.camelCase( key ); - // Try the string as a key before any manipulation - if ( key in cache ) { - name = [ key, camel ]; - } else { - // If a key with the spaces exists, use it. - // Otherwise, create an array by matching non-whitespace - name = camel; - name = name in cache ? - [ name ] : ( name.match( rnotwhite ) || [] ); - } - } - - i = name.length; - while ( i-- ) { - delete cache[ name[ i ] ]; - } - } - }, - hasData: function( owner ) { - return !jQuery.isEmptyObject( - this.cache[ owner[ this.expando ] ] || {} - ); - }, - discard: function( owner ) { - if ( owner[ this.expando ] ) { - delete this.cache[ owner[ this.expando ] ]; - } - } -}; -var data_priv = new Data(); - -var data_user = new Data(); - - - -// Implementation Summary -// -// 1. Enforce API surface and semantic compatibility with 1.9.x branch -// 2. Improve the module's maintainability by reducing the storage -// paths to a single mechanism. -// 3. Use the same single mechanism to support "private" and "user" data. -// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) -// 5. Avoid exposing implementation details on user objects (eg. expando properties) -// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 - -var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, - rmultiDash = /([A-Z])/g; - -function dataAttr( elem, key, data ) { - var name; - - // If nothing was found internally, try to fetch any - // data from the HTML5 data-* attribute - if ( data === undefined && elem.nodeType === 1 ) { - name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); - data = elem.getAttribute( name ); - - if ( typeof data === "string" ) { - try { - data = data === "true" ? true : - data === "false" ? false : - data === "null" ? null : - // Only convert to a number if it doesn't change the string - +data + "" === data ? +data : - rbrace.test( data ) ? jQuery.parseJSON( data ) : - data; - } catch( e ) {} - - // Make sure we set the data so it isn't changed later - data_user.set( elem, key, data ); - } else { - data = undefined; - } - } - return data; -} - -jQuery.extend({ - hasData: function( elem ) { - return data_user.hasData( elem ) || data_priv.hasData( elem ); - }, - - data: function( elem, name, data ) { - return data_user.access( elem, name, data ); - }, - - removeData: function( elem, name ) { - data_user.remove( elem, name ); - }, - - // TODO: Now that all calls to _data and _removeData have been replaced - // with direct calls to data_priv methods, these can be deprecated. - _data: function( elem, name, data ) { - return data_priv.access( elem, name, data ); - }, - - _removeData: function( elem, name ) { - data_priv.remove( elem, name ); - } -}); - -jQuery.fn.extend({ - data: function( key, value ) { - var i, name, data, - elem = this[ 0 ], - attrs = elem && elem.attributes; - - // Gets all values - if ( key === undefined ) { - if ( this.length ) { - data = data_user.get( elem ); - - if ( elem.nodeType === 1 && !data_priv.get( elem, "hasDataAttrs" ) ) { - i = attrs.length; - while ( i-- ) { - - // Support: IE11+ - // The attrs elements can be null (#14894) - if ( attrs[ i ] ) { - name = attrs[ i ].name; - if ( name.indexOf( "data-" ) === 0 ) { - name = jQuery.camelCase( name.slice(5) ); - dataAttr( elem, name, data[ name ] ); - } - } - } - data_priv.set( elem, "hasDataAttrs", true ); - } - } - - return data; - } - - // Sets multiple values - if ( typeof key === "object" ) { - return this.each(function() { - data_user.set( this, key ); - }); - } - - return access( this, function( value ) { - var data, - camelKey = jQuery.camelCase( key ); - - // The calling jQuery object (element matches) is not empty - // (and therefore has an element appears at this[ 0 ]) and the - // `value` parameter was not undefined. An empty jQuery object - // will result in `undefined` for elem = this[ 0 ] which will - // throw an exception if an attempt to read a data cache is made. - if ( elem && value === undefined ) { - // Attempt to get data from the cache - // with the key as-is - data = data_user.get( elem, key ); - if ( data !== undefined ) { - return data; - } - - // Attempt to get data from the cache - // with the key camelized - data = data_user.get( elem, camelKey ); - if ( data !== undefined ) { - return data; - } - - // Attempt to "discover" the data in - // HTML5 custom data-* attrs - data = dataAttr( elem, camelKey, undefined ); - if ( data !== undefined ) { - return data; - } - - // We tried really hard, but the data doesn't exist. - return; - } - - // Set the data... - this.each(function() { - // First, attempt to store a copy or reference of any - // data that might've been store with a camelCased key. - var data = data_user.get( this, camelKey ); - - // For HTML5 data-* attribute interop, we have to - // store property names with dashes in a camelCase form. - // This might not apply to all properties...* - data_user.set( this, camelKey, value ); - - // *... In the case of properties that might _actually_ - // have dashes, we need to also store a copy of that - // unchanged property. - if ( key.indexOf("-") !== -1 && data !== undefined ) { - data_user.set( this, key, value ); - } - }); - }, null, value, arguments.length > 1, null, true ); - }, - - removeData: function( key ) { - return this.each(function() { - data_user.remove( this, key ); - }); - } -}); - - -jQuery.extend({ - queue: function( elem, type, data ) { - var queue; - - if ( elem ) { - type = ( type || "fx" ) + "queue"; - queue = data_priv.get( elem, type ); - - // Speed up dequeue by getting out quickly if this is just a lookup - if ( data ) { - if ( !queue || jQuery.isArray( data ) ) { - queue = data_priv.access( elem, type, jQuery.makeArray(data) ); - } else { - queue.push( data ); - } - } - return queue || []; - } - }, - - dequeue: function( elem, type ) { - type = type || "fx"; - - var queue = jQuery.queue( elem, type ), - startLength = queue.length, - fn = queue.shift(), - hooks = jQuery._queueHooks( elem, type ), - next = function() { - jQuery.dequeue( elem, type ); - }; - - // If the fx queue is dequeued, always remove the progress sentinel - if ( fn === "inprogress" ) { - fn = queue.shift(); - startLength--; - } - - if ( fn ) { - - // Add a progress sentinel to prevent the fx queue from being - // automatically dequeued - if ( type === "fx" ) { - queue.unshift( "inprogress" ); - } - - // Clear up the last queue stop function - delete hooks.stop; - fn.call( elem, next, hooks ); - } - - if ( !startLength && hooks ) { - hooks.empty.fire(); - } - }, - - // Not public - generate a queueHooks object, or return the current one - _queueHooks: function( elem, type ) { - var key = type + "queueHooks"; - return data_priv.get( elem, key ) || data_priv.access( elem, key, { - empty: jQuery.Callbacks("once memory").add(function() { - data_priv.remove( elem, [ type + "queue", key ] ); - }) - }); - } -}); - -jQuery.fn.extend({ - queue: function( type, data ) { - var setter = 2; - - if ( typeof type !== "string" ) { - data = type; - type = "fx"; - setter--; - } - - if ( arguments.length < setter ) { - return jQuery.queue( this[0], type ); - } - - return data === undefined ? - this : - this.each(function() { - var queue = jQuery.queue( this, type, data ); - - // Ensure a hooks for this queue - jQuery._queueHooks( this, type ); - - if ( type === "fx" && queue[0] !== "inprogress" ) { - jQuery.dequeue( this, type ); - } - }); - }, - dequeue: function( type ) { - return this.each(function() { - jQuery.dequeue( this, type ); - }); - }, - clearQueue: function( type ) { - return this.queue( type || "fx", [] ); - }, - // Get a promise resolved when queues of a certain type - // are emptied (fx is the type by default) - promise: function( type, obj ) { - var tmp, - count = 1, - defer = jQuery.Deferred(), - elements = this, - i = this.length, - resolve = function() { - if ( !( --count ) ) { - defer.resolveWith( elements, [ elements ] ); - } - }; - - if ( typeof type !== "string" ) { - obj = type; - type = undefined; - } - type = type || "fx"; - - while ( i-- ) { - tmp = data_priv.get( elements[ i ], type + "queueHooks" ); - if ( tmp && tmp.empty ) { - count++; - tmp.empty.add( resolve ); - } - } - resolve(); - return defer.promise( obj ); - } -}); -var pnum = (/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source; - -var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; - -var isHidden = function( elem, el ) { - // isHidden might be called from jQuery#filter function; - // in that case, element will be second argument - elem = el || elem; - return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem ); - }; - -var rcheckableType = (/^(?:checkbox|radio)$/i); - - - -(function() { - var fragment = document.createDocumentFragment(), - div = fragment.appendChild( document.createElement( "div" ) ), - input = document.createElement( "input" ); - - // Support: Safari<=5.1 - // Check state lost if the name is set (#11217) - // Support: Windows Web Apps (WWA) - // `name` and `type` must use .setAttribute for WWA (#14901) - input.setAttribute( "type", "radio" ); - input.setAttribute( "checked", "checked" ); - input.setAttribute( "name", "t" ); - - div.appendChild( input ); - - // Support: Safari<=5.1, Android<4.2 - // Older WebKit doesn't clone checked state correctly in fragments - support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; - - // Support: IE<=11+ - // Make sure textarea (and checkbox) defaultValue is properly cloned - div.innerHTML = "<textarea>x</textarea>"; - support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; -})(); -var strundefined = typeof undefined; - - - -support.focusinBubbles = "onfocusin" in window; - - -var - rkeyEvent = /^key/, - rmouseEvent = /^(?:mouse|pointer|contextmenu)|click/, - rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, - rtypenamespace = /^([^.]*)(?:\.(.+)|)$/; - -function returnTrue() { - return true; -} - -function returnFalse() { - return false; -} - -function safeActiveElement() { - try { - return document.activeElement; - } catch ( err ) { } -} - -/* - * Helper functions for managing events -- not part of the public interface. - * Props to Dean Edwards' addEvent library for many of the ideas. - */ -jQuery.event = { - - global: {}, - - add: function( elem, types, handler, data, selector ) { - - var handleObjIn, eventHandle, tmp, - events, t, handleObj, - special, handlers, type, namespaces, origType, - elemData = data_priv.get( elem ); - - // Don't attach events to noData or text/comment nodes (but allow plain objects) - if ( !elemData ) { - return; - } - - // Caller can pass in an object of custom data in lieu of the handler - if ( handler.handler ) { - handleObjIn = handler; - handler = handleObjIn.handler; - selector = handleObjIn.selector; - } - - // Make sure that the handler has a unique ID, used to find/remove it later - if ( !handler.guid ) { - handler.guid = jQuery.guid++; - } - - // Init the element's event structure and main handler, if this is the first - if ( !(events = elemData.events) ) { - events = elemData.events = {}; - } - if ( !(eventHandle = elemData.handle) ) { - eventHandle = elemData.handle = function( e ) { - // Discard the second event of a jQuery.event.trigger() and - // when an event is called after a page has unloaded - return typeof jQuery !== strundefined && jQuery.event.triggered !== e.type ? - jQuery.event.dispatch.apply( elem, arguments ) : undefined; - }; - } - - // Handle multiple events separated by a space - types = ( types || "" ).match( rnotwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[t] ) || []; - type = origType = tmp[1]; - namespaces = ( tmp[2] || "" ).split( "." ).sort(); - - // There *must* be a type, no attaching namespace-only handlers - if ( !type ) { - continue; - } - - // If event changes its type, use the special event handlers for the changed type - special = jQuery.event.special[ type ] || {}; - - // If selector defined, determine special event api type, otherwise given type - type = ( selector ? special.delegateType : special.bindType ) || type; - - // Update special based on newly reset type - special = jQuery.event.special[ type ] || {}; - - // handleObj is passed to all event handlers - handleObj = jQuery.extend({ - type: type, - origType: origType, - data: data, - handler: handler, - guid: handler.guid, - selector: selector, - needsContext: selector && jQuery.expr.match.needsContext.test( selector ), - namespace: namespaces.join(".") - }, handleObjIn ); - - // Init the event handler queue if we're the first - if ( !(handlers = events[ type ]) ) { - handlers = events[ type ] = []; - handlers.delegateCount = 0; - - // Only use addEventListener if the special events handler returns false - if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { - if ( elem.addEventListener ) { - elem.addEventListener( type, eventHandle, false ); - } - } - } - - if ( special.add ) { - special.add.call( elem, handleObj ); - - if ( !handleObj.handler.guid ) { - handleObj.handler.guid = handler.guid; - } - } - - // Add to the element's handler list, delegates in front - if ( selector ) { - handlers.splice( handlers.delegateCount++, 0, handleObj ); - } else { - handlers.push( handleObj ); - } - - // Keep track of which events have ever been used, for event optimization - jQuery.event.global[ type ] = true; - } - - }, - - // Detach an event or set of events from an element - remove: function( elem, types, handler, selector, mappedTypes ) { - - var j, origCount, tmp, - events, t, handleObj, - special, handlers, type, namespaces, origType, - elemData = data_priv.hasData( elem ) && data_priv.get( elem ); - - if ( !elemData || !(events = elemData.events) ) { - return; - } - - // Once for each type.namespace in types; type may be omitted - types = ( types || "" ).match( rnotwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[t] ) || []; - type = origType = tmp[1]; - namespaces = ( tmp[2] || "" ).split( "." ).sort(); - - // Unbind all events (on this namespace, if provided) for the element - if ( !type ) { - for ( type in events ) { - jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); - } - continue; - } - - special = jQuery.event.special[ type ] || {}; - type = ( selector ? special.delegateType : special.bindType ) || type; - handlers = events[ type ] || []; - tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ); - - // Remove matching events - origCount = j = handlers.length; - while ( j-- ) { - handleObj = handlers[ j ]; - - if ( ( mappedTypes || origType === handleObj.origType ) && - ( !handler || handler.guid === handleObj.guid ) && - ( !tmp || tmp.test( handleObj.namespace ) ) && - ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { - handlers.splice( j, 1 ); - - if ( handleObj.selector ) { - handlers.delegateCount--; - } - if ( special.remove ) { - special.remove.call( elem, handleObj ); - } - } - } - - // Remove generic event handler if we removed something and no more handlers exist - // (avoids potential for endless recursion during removal of special event handlers) - if ( origCount && !handlers.length ) { - if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) { - jQuery.removeEvent( elem, type, elemData.handle ); - } - - delete events[ type ]; - } - } - - // Remove the expando if it's no longer used - if ( jQuery.isEmptyObject( events ) ) { - delete elemData.handle; - data_priv.remove( elem, "events" ); - } - }, - - trigger: function( event, data, elem, onlyHandlers ) { - - var i, cur, tmp, bubbleType, ontype, handle, special, - eventPath = [ elem || document ], - type = hasOwn.call( event, "type" ) ? event.type : event, - namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : []; - - cur = tmp = elem = elem || document; - - // Don't do events on text and comment nodes - if ( elem.nodeType === 3 || elem.nodeType === 8 ) { - return; - } - - // focus/blur morphs to focusin/out; ensure we're not firing them right now - if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { - return; - } - - if ( type.indexOf(".") >= 0 ) { - // Namespaced trigger; create a regexp to match event type in handle() - namespaces = type.split("."); - type = namespaces.shift(); - namespaces.sort(); - } - ontype = type.indexOf(":") < 0 && "on" + type; - - // Caller can pass in a jQuery.Event object, Object, or just an event type string - event = event[ jQuery.expando ] ? - event : - new jQuery.Event( type, typeof event === "object" && event ); - - // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) - event.isTrigger = onlyHandlers ? 2 : 3; - event.namespace = namespaces.join("."); - event.namespace_re = event.namespace ? - new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) : - null; - - // Clean up the event in case it is being reused - event.result = undefined; - if ( !event.target ) { - event.target = elem; - } - - // Clone any incoming data and prepend the event, creating the handler arg list - data = data == null ? - [ event ] : - jQuery.makeArray( data, [ event ] ); - - // Allow special events to draw outside the lines - special = jQuery.event.special[ type ] || {}; - if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { - return; - } - - // Determine event propagation path in advance, per W3C events spec (#9951) - // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) - if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { - - bubbleType = special.delegateType || type; - if ( !rfocusMorph.test( bubbleType + type ) ) { - cur = cur.parentNode; - } - for ( ; cur; cur = cur.parentNode ) { - eventPath.push( cur ); - tmp = cur; - } - - // Only add window if we got to document (e.g., not plain obj or detached DOM) - if ( tmp === (elem.ownerDocument || document) ) { - eventPath.push( tmp.defaultView || tmp.parentWindow || window ); - } - } - - // Fire handlers on the event path - i = 0; - while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) { - - event.type = i > 1 ? - bubbleType : - special.bindType || type; - - // jQuery handler - handle = ( data_priv.get( cur, "events" ) || {} )[ event.type ] && data_priv.get( cur, "handle" ); - if ( handle ) { - handle.apply( cur, data ); - } - - // Native handler - handle = ontype && cur[ ontype ]; - if ( handle && handle.apply && jQuery.acceptData( cur ) ) { - event.result = handle.apply( cur, data ); - if ( event.result === false ) { - event.preventDefault(); - } - } - } - event.type = type; - - // If nobody prevented the default action, do it now - if ( !onlyHandlers && !event.isDefaultPrevented() ) { - - if ( (!special._default || special._default.apply( eventPath.pop(), data ) === false) && - jQuery.acceptData( elem ) ) { - - // Call a native DOM method on the target with the same name name as the event. - // Don't do default actions on window, that's where global variables be (#6170) - if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) { - - // Don't re-trigger an onFOO event when we call its FOO() method - tmp = elem[ ontype ]; - - if ( tmp ) { - elem[ ontype ] = null; - } - - // Prevent re-triggering of the same event, since we already bubbled it above - jQuery.event.triggered = type; - elem[ type ](); - jQuery.event.triggered = undefined; - - if ( tmp ) { - elem[ ontype ] = tmp; - } - } - } - } - - return event.result; - }, - - dispatch: function( event ) { - - // Make a writable jQuery.Event from the native event object - event = jQuery.event.fix( event ); - - var i, j, ret, matched, handleObj, - handlerQueue = [], - args = slice.call( arguments ), - handlers = ( data_priv.get( this, "events" ) || {} )[ event.type ] || [], - special = jQuery.event.special[ event.type ] || {}; - - // Use the fix-ed jQuery.Event rather than the (read-only) native event - args[0] = event; - event.delegateTarget = this; - - // Call the preDispatch hook for the mapped type, and let it bail if desired - if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { - return; - } - - // Determine handlers - handlerQueue = jQuery.event.handlers.call( this, event, handlers ); - - // Run delegates first; they may want to stop propagation beneath us - i = 0; - while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) { - event.currentTarget = matched.elem; - - j = 0; - while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) { - - // Triggered event must either 1) have no namespace, or 2) have namespace(s) - // a subset or equal to those in the bound event (both can have no namespace). - if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) { - - event.handleObj = handleObj; - event.data = handleObj.data; - - ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler ) - .apply( matched.elem, args ); - - if ( ret !== undefined ) { - if ( (event.result = ret) === false ) { - event.preventDefault(); - event.stopPropagation(); - } - } - } - } - } - - // Call the postDispatch hook for the mapped type - if ( special.postDispatch ) { - special.postDispatch.call( this, event ); - } - - return event.result; - }, - - handlers: function( event, handlers ) { - var i, matches, sel, handleObj, - handlerQueue = [], - delegateCount = handlers.delegateCount, - cur = event.target; - - // Find delegate handlers - // Black-hole SVG <use> instance trees (#13180) - // Avoid non-left-click bubbling in Firefox (#3861) - if ( delegateCount && cur.nodeType && (!event.button || event.type !== "click") ) { - - for ( ; cur !== this; cur = cur.parentNode || this ) { - - // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) - if ( cur.disabled !== true || event.type !== "click" ) { - matches = []; - for ( i = 0; i < delegateCount; i++ ) { - handleObj = handlers[ i ]; - - // Don't conflict with Object.prototype properties (#13203) - sel = handleObj.selector + " "; - - if ( matches[ sel ] === undefined ) { - matches[ sel ] = handleObj.needsContext ? - jQuery( sel, this ).index( cur ) >= 0 : - jQuery.find( sel, this, null, [ cur ] ).length; - } - if ( matches[ sel ] ) { - matches.push( handleObj ); - } - } - if ( matches.length ) { - handlerQueue.push({ elem: cur, handlers: matches }); - } - } - } - } - - // Add the remaining (directly-bound) handlers - if ( delegateCount < handlers.length ) { - handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) }); - } - - return handlerQueue; - }, - - // Includes some event props shared by KeyEvent and MouseEvent - props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), - - fixHooks: {}, - - keyHooks: { - props: "char charCode key keyCode".split(" "), - filter: function( event, original ) { - - // Add which for key events - if ( event.which == null ) { - event.which = original.charCode != null ? original.charCode : original.keyCode; - } - - return event; - } - }, - - mouseHooks: { - props: "button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "), - filter: function( event, original ) { - var eventDoc, doc, body, - button = original.button; - - // Calculate pageX/Y if missing and clientX/Y available - if ( event.pageX == null && original.clientX != null ) { - eventDoc = event.target.ownerDocument || document; - doc = eventDoc.documentElement; - body = eventDoc.body; - - event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); - event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); - } - - // Add which for click: 1 === left; 2 === middle; 3 === right - // Note: button is not normalized, so don't use it - if ( !event.which && button !== undefined ) { - event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); - } - - return event; - } - }, - - fix: function( event ) { - if ( event[ jQuery.expando ] ) { - return event; - } - - // Create a writable copy of the event object and normalize some properties - var i, prop, copy, - type = event.type, - originalEvent = event, - fixHook = this.fixHooks[ type ]; - - if ( !fixHook ) { - this.fixHooks[ type ] = fixHook = - rmouseEvent.test( type ) ? this.mouseHooks : - rkeyEvent.test( type ) ? this.keyHooks : - {}; - } - copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; - - event = new jQuery.Event( originalEvent ); - - i = copy.length; - while ( i-- ) { - prop = copy[ i ]; - event[ prop ] = originalEvent[ prop ]; - } - - // Support: Cordova 2.5 (WebKit) (#13255) - // All events should have a target; Cordova deviceready doesn't - if ( !event.target ) { - event.target = document; - } - - // Support: Safari 6.0+, Chrome<28 - // Target should not be a text node (#504, #13143) - if ( event.target.nodeType === 3 ) { - event.target = event.target.parentNode; - } - - return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; - }, - - special: { - load: { - // Prevent triggered image.load events from bubbling to window.load - noBubble: true - }, - focus: { - // Fire native event if possible so blur/focus sequence is correct - trigger: function() { - if ( this !== safeActiveElement() && this.focus ) { - this.focus(); - return false; - } - }, - delegateType: "focusin" - }, - blur: { - trigger: function() { - if ( this === safeActiveElement() && this.blur ) { - this.blur(); - return false; - } - }, - delegateType: "focusout" - }, - click: { - // For checkbox, fire native event so checked state will be right - trigger: function() { - if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) { - this.click(); - return false; - } - }, - - // For cross-browser consistency, don't fire native .click() on links - _default: function( event ) { - return jQuery.nodeName( event.target, "a" ); - } - }, - - beforeunload: { - postDispatch: function( event ) { - - // Support: Firefox 20+ - // Firefox doesn't alert if the returnValue field is not set. - if ( event.result !== undefined && event.originalEvent ) { - event.originalEvent.returnValue = event.result; - } - } - } - }, - - simulate: function( type, elem, event, bubble ) { - // Piggyback on a donor event to simulate a different one. - // Fake originalEvent to avoid donor's stopPropagation, but if the - // simulated event prevents default then we do the same on the donor. - var e = jQuery.extend( - new jQuery.Event(), - event, - { - type: type, - isSimulated: true, - originalEvent: {} - } - ); - if ( bubble ) { - jQuery.event.trigger( e, null, elem ); - } else { - jQuery.event.dispatch.call( elem, e ); - } - if ( e.isDefaultPrevented() ) { - event.preventDefault(); - } - } -}; - -jQuery.removeEvent = function( elem, type, handle ) { - if ( elem.removeEventListener ) { - elem.removeEventListener( type, handle, false ); - } -}; - -jQuery.Event = function( src, props ) { - // Allow instantiation without the 'new' keyword - if ( !(this instanceof jQuery.Event) ) { - return new jQuery.Event( src, props ); - } - - // Event object - if ( src && src.type ) { - this.originalEvent = src; - this.type = src.type; - - // Events bubbling up the document may have been marked as prevented - // by a handler lower down the tree; reflect the correct value. - this.isDefaultPrevented = src.defaultPrevented || - src.defaultPrevented === undefined && - // Support: Android<4.0 - src.returnValue === false ? - returnTrue : - returnFalse; - - // Event type - } else { - this.type = src; - } - - // Put explicitly provided properties onto the event object - if ( props ) { - jQuery.extend( this, props ); - } - - // Create a timestamp if incoming event doesn't have one - this.timeStamp = src && src.timeStamp || jQuery.now(); - - // Mark it as fixed - this[ jQuery.expando ] = true; -}; - -// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding -// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html -jQuery.Event.prototype = { - isDefaultPrevented: returnFalse, - isPropagationStopped: returnFalse, - isImmediatePropagationStopped: returnFalse, - - preventDefault: function() { - var e = this.originalEvent; - - this.isDefaultPrevented = returnTrue; - - if ( e && e.preventDefault ) { - e.preventDefault(); - } - }, - stopPropagation: function() { - var e = this.originalEvent; - - this.isPropagationStopped = returnTrue; - - if ( e && e.stopPropagation ) { - e.stopPropagation(); - } - }, - stopImmediatePropagation: function() { - var e = this.originalEvent; - - this.isImmediatePropagationStopped = returnTrue; - - if ( e && e.stopImmediatePropagation ) { - e.stopImmediatePropagation(); - } - - this.stopPropagation(); - } -}; - -// Create mouseenter/leave events using mouseover/out and event-time checks -// Support: Chrome 15+ -jQuery.each({ - mouseenter: "mouseover", - mouseleave: "mouseout", - pointerenter: "pointerover", - pointerleave: "pointerout" -}, function( orig, fix ) { - jQuery.event.special[ orig ] = { - delegateType: fix, - bindType: fix, - - handle: function( event ) { - var ret, - target = this, - related = event.relatedTarget, - handleObj = event.handleObj; - - // For mousenter/leave call the handler if related is outside the target. - // NB: No relatedTarget if the mouse left/entered the browser window - if ( !related || (related !== target && !jQuery.contains( target, related )) ) { - event.type = handleObj.origType; - ret = handleObj.handler.apply( this, arguments ); - event.type = fix; - } - return ret; - } - }; -}); - -// Support: Firefox, Chrome, Safari -// Create "bubbling" focus and blur events -if ( !support.focusinBubbles ) { - jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { - - // Attach a single capturing handler on the document while someone wants focusin/focusout - var handler = function( event ) { - jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); - }; - - jQuery.event.special[ fix ] = { - setup: function() { - var doc = this.ownerDocument || this, - attaches = data_priv.access( doc, fix ); - - if ( !attaches ) { - doc.addEventListener( orig, handler, true ); - } - data_priv.access( doc, fix, ( attaches || 0 ) + 1 ); - }, - teardown: function() { - var doc = this.ownerDocument || this, - attaches = data_priv.access( doc, fix ) - 1; - - if ( !attaches ) { - doc.removeEventListener( orig, handler, true ); - data_priv.remove( doc, fix ); - - } else { - data_priv.access( doc, fix, attaches ); - } - } - }; - }); -} - -jQuery.fn.extend({ - - on: function( types, selector, data, fn, /*INTERNAL*/ one ) { - var origFn, type; - - // Types can be a map of types/handlers - if ( typeof types === "object" ) { - // ( types-Object, selector, data ) - if ( typeof selector !== "string" ) { - // ( types-Object, data ) - data = data || selector; - selector = undefined; - } - for ( type in types ) { - this.on( type, selector, data, types[ type ], one ); - } - return this; - } - - if ( data == null && fn == null ) { - // ( types, fn ) - fn = selector; - data = selector = undefined; - } else if ( fn == null ) { - if ( typeof selector === "string" ) { - // ( types, selector, fn ) - fn = data; - data = undefined; - } else { - // ( types, data, fn ) - fn = data; - data = selector; - selector = undefined; - } - } - if ( fn === false ) { - fn = returnFalse; - } else if ( !fn ) { - return this; - } - - if ( one === 1 ) { - origFn = fn; - fn = function( event ) { - // Can use an empty set, since event contains the info - jQuery().off( event ); - return origFn.apply( this, arguments ); - }; - // Use same guid so caller can remove using origFn - fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); - } - return this.each( function() { - jQuery.event.add( this, types, fn, data, selector ); - }); - }, - one: function( types, selector, data, fn ) { - return this.on( types, selector, data, fn, 1 ); - }, - off: function( types, selector, fn ) { - var handleObj, type; - if ( types && types.preventDefault && types.handleObj ) { - // ( event ) dispatched jQuery.Event - handleObj = types.handleObj; - jQuery( types.delegateTarget ).off( - handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, - handleObj.selector, - handleObj.handler - ); - return this; - } - if ( typeof types === "object" ) { - // ( types-object [, selector] ) - for ( type in types ) { - this.off( type, selector, types[ type ] ); - } - return this; - } - if ( selector === false || typeof selector === "function" ) { - // ( types [, fn] ) - fn = selector; - selector = undefined; - } - if ( fn === false ) { - fn = returnFalse; - } - return this.each(function() { - jQuery.event.remove( this, types, fn, selector ); - }); - }, - - trigger: function( type, data ) { - return this.each(function() { - jQuery.event.trigger( type, data, this ); - }); - }, - triggerHandler: function( type, data ) { - var elem = this[0]; - if ( elem ) { - return jQuery.event.trigger( type, data, elem, true ); - } - } -}); - - -var - rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, - rtagName = /<([\w:]+)/, - rhtml = /<|&#?\w+;/, - rnoInnerhtml = /<(?:script|style|link)/i, - // checked="checked" or checked - rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, - rscriptType = /^$|\/(?:java|ecma)script/i, - rscriptTypeMasked = /^true\/(.*)/, - rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g, - - // We have to close these tags to support XHTML (#13200) - wrapMap = { - - // Support: IE9 - 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, "", "" ] - }; - -// Support: IE9 -wrapMap.optgroup = wrapMap.option; - -wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; -wrapMap.th = wrapMap.td; - -// Support: 1.x compatibility -// Manipulating tables requires a tbody -function manipulationTarget( elem, content ) { - return jQuery.nodeName( elem, "table" ) && - jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ? - - elem.getElementsByTagName("tbody")[0] || - elem.appendChild( elem.ownerDocument.createElement("tbody") ) : - elem; -} - -// Replace/restore the type attribute of script elements for safe DOM manipulation -function disableScript( elem ) { - elem.type = (elem.getAttribute("type") !== null) + "/" + elem.type; - return elem; -} -function restoreScript( elem ) { - var match = rscriptTypeMasked.exec( elem.type ); - - if ( match ) { - elem.type = match[ 1 ]; - } else { - elem.removeAttribute("type"); - } - - return elem; -} - -// Mark scripts as having already been evaluated -function setGlobalEval( elems, refElements ) { - var i = 0, - l = elems.length; - - for ( ; i < l; i++ ) { - data_priv.set( - elems[ i ], "globalEval", !refElements || data_priv.get( refElements[ i ], "globalEval" ) - ); - } -} - -function cloneCopyEvent( src, dest ) { - var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; - - if ( dest.nodeType !== 1 ) { - return; - } - - // 1. Copy private data: events, handlers, etc. - if ( data_priv.hasData( src ) ) { - pdataOld = data_priv.access( src ); - pdataCur = data_priv.set( dest, pdataOld ); - events = pdataOld.events; - - if ( events ) { - delete pdataCur.handle; - pdataCur.events = {}; - - for ( type in events ) { - for ( i = 0, l = events[ type ].length; i < l; i++ ) { - jQuery.event.add( dest, type, events[ type ][ i ] ); - } - } - } - } - - // 2. Copy user data - if ( data_user.hasData( src ) ) { - udataOld = data_user.access( src ); - udataCur = jQuery.extend( {}, udataOld ); - - data_user.set( dest, udataCur ); - } -} - -function getAll( context, tag ) { - var ret = context.getElementsByTagName ? context.getElementsByTagName( tag || "*" ) : - context.querySelectorAll ? context.querySelectorAll( tag || "*" ) : - []; - - return tag === undefined || tag && jQuery.nodeName( context, tag ) ? - jQuery.merge( [ context ], ret ) : - ret; -} - -// Fix IE bugs, see support tests -function fixInput( src, dest ) { - var nodeName = dest.nodeName.toLowerCase(); - - // Fails to persist the checked state of a cloned checkbox or radio button. - if ( nodeName === "input" && rcheckableType.test( src.type ) ) { - dest.checked = src.checked; - - // Fails to return the selected option to the default selected state when cloning options - } else if ( nodeName === "input" || nodeName === "textarea" ) { - dest.defaultValue = src.defaultValue; - } -} - -jQuery.extend({ - clone: function( elem, dataAndEvents, deepDataAndEvents ) { - var i, l, srcElements, destElements, - clone = elem.cloneNode( true ), - inPage = jQuery.contains( elem.ownerDocument, elem ); - - // Fix IE cloning issues - if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && - !jQuery.isXMLDoc( elem ) ) { - - // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 - destElements = getAll( clone ); - srcElements = getAll( elem ); - - for ( i = 0, l = srcElements.length; i < l; i++ ) { - fixInput( srcElements[ i ], destElements[ i ] ); - } - } - - // Copy the events from the original to the clone - if ( dataAndEvents ) { - if ( deepDataAndEvents ) { - srcElements = srcElements || getAll( elem ); - destElements = destElements || getAll( clone ); - - for ( i = 0, l = srcElements.length; i < l; i++ ) { - cloneCopyEvent( srcElements[ i ], destElements[ i ] ); - } - } else { - cloneCopyEvent( elem, clone ); - } - } - - // Preserve script evaluation history - destElements = getAll( clone, "script" ); - if ( destElements.length > 0 ) { - setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); - } - - // Return the cloned set - return clone; - }, - - buildFragment: function( elems, context, scripts, selection ) { - var elem, tmp, tag, wrap, contains, j, - fragment = context.createDocumentFragment(), - nodes = [], - i = 0, - l = elems.length; - - for ( ; i < l; i++ ) { - elem = elems[ i ]; - - if ( elem || elem === 0 ) { - - // Add nodes directly - if ( jQuery.type( elem ) === "object" ) { - // Support: QtWebKit, PhantomJS - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); - - // Convert non-html into a text node - } else if ( !rhtml.test( elem ) ) { - nodes.push( context.createTextNode( elem ) ); - - // Convert html into DOM nodes - } else { - tmp = tmp || fragment.appendChild( context.createElement("div") ); - - // Deserialize a standard representation - tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); - wrap = wrapMap[ tag ] || wrapMap._default; - tmp.innerHTML = wrap[ 1 ] + elem.replace( rxhtmlTag, "<$1></$2>" ) + wrap[ 2 ]; - - // Descend through wrappers to the right content - j = wrap[ 0 ]; - while ( j-- ) { - tmp = tmp.lastChild; - } - - // Support: QtWebKit, PhantomJS - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( nodes, tmp.childNodes ); - - // Remember the top-level container - tmp = fragment.firstChild; - - // Ensure the created nodes are orphaned (#12392) - tmp.textContent = ""; - } - } - } - - // Remove wrapper from fragment - fragment.textContent = ""; - - i = 0; - while ( (elem = nodes[ i++ ]) ) { - - // #4087 - If origin and destination elements are the same, and this is - // that element, do not do anything - if ( selection && jQuery.inArray( elem, selection ) !== -1 ) { - continue; - } - - contains = jQuery.contains( elem.ownerDocument, elem ); - - // Append to fragment - tmp = getAll( fragment.appendChild( elem ), "script" ); - - // Preserve script evaluation history - if ( contains ) { - setGlobalEval( tmp ); - } - - // Capture executables - if ( scripts ) { - j = 0; - while ( (elem = tmp[ j++ ]) ) { - if ( rscriptType.test( elem.type || "" ) ) { - scripts.push( elem ); - } - } - } - } - - return fragment; - }, - - cleanData: function( elems ) { - var data, elem, type, key, - special = jQuery.event.special, - i = 0; - - for ( ; (elem = elems[ i ]) !== undefined; i++ ) { - if ( jQuery.acceptData( elem ) ) { - key = elem[ data_priv.expando ]; - - if ( key && (data = data_priv.cache[ key ]) ) { - if ( data.events ) { - for ( type in data.events ) { - if ( special[ type ] ) { - jQuery.event.remove( elem, type ); - - // This is a shortcut to avoid jQuery.event.remove's overhead - } else { - jQuery.removeEvent( elem, type, data.handle ); - } - } - } - if ( data_priv.cache[ key ] ) { - // Discard any remaining `private` data - delete data_priv.cache[ key ]; - } - } - } - // Discard any remaining `user` data - delete data_user.cache[ elem[ data_user.expando ] ]; - } - } -}); - -jQuery.fn.extend({ - text: function( value ) { - return access( this, function( value ) { - return value === undefined ? - jQuery.text( this ) : - this.empty().each(function() { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - this.textContent = value; - } - }); - }, null, value, arguments.length ); - }, - - append: function() { - return this.domManip( arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.appendChild( elem ); - } - }); - }, - - prepend: function() { - return this.domManip( arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.insertBefore( elem, target.firstChild ); - } - }); - }, - - before: function() { - return this.domManip( arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this ); - } - }); - }, - - after: function() { - return this.domManip( arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this.nextSibling ); - } - }); - }, - - remove: function( selector, keepData /* Internal Use Only */ ) { - var elem, - elems = selector ? jQuery.filter( selector, this ) : this, - i = 0; - - for ( ; (elem = elems[i]) != null; i++ ) { - if ( !keepData && elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem ) ); - } - - if ( elem.parentNode ) { - if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) { - setGlobalEval( getAll( elem, "script" ) ); - } - elem.parentNode.removeChild( elem ); - } - } - - return this; - }, - - empty: function() { - var elem, - i = 0; - - for ( ; (elem = this[i]) != null; i++ ) { - if ( elem.nodeType === 1 ) { - - // Prevent memory leaks - jQuery.cleanData( getAll( elem, false ) ); - - // Remove any remaining nodes - elem.textContent = ""; - } - } - - return this; - }, - - clone: function( dataAndEvents, deepDataAndEvents ) { - dataAndEvents = dataAndEvents == null ? false : dataAndEvents; - deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; - - return this.map(function() { - return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); - }); - }, - - html: function( value ) { - return access( this, function( value ) { - var elem = this[ 0 ] || {}, - i = 0, - l = this.length; - - if ( value === undefined && elem.nodeType === 1 ) { - return elem.innerHTML; - } - - // See if we can take a shortcut and just use innerHTML - if ( typeof value === "string" && !rnoInnerhtml.test( value ) && - !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { - - value = value.replace( rxhtmlTag, "<$1></$2>" ); - - try { - for ( ; i < l; i++ ) { - elem = this[ i ] || {}; - - // Remove element nodes and prevent memory leaks - if ( elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem, false ) ); - elem.innerHTML = value; - } - } - - elem = 0; - - // If using innerHTML throws an exception, use the fallback method - } catch( e ) {} - } - - if ( elem ) { - this.empty().append( value ); - } - }, null, value, arguments.length ); - }, - - replaceWith: function() { - var arg = arguments[ 0 ]; - - // Make the changes, replacing each context element with the new content - this.domManip( arguments, function( elem ) { - arg = this.parentNode; - - jQuery.cleanData( getAll( this ) ); - - if ( arg ) { - arg.replaceChild( elem, this ); - } - }); - - // Force removal if there was no new content (e.g., from empty arguments) - return arg && (arg.length || arg.nodeType) ? this : this.remove(); - }, - - detach: function( selector ) { - return this.remove( selector, true ); - }, - - domManip: function( args, callback ) { - - // Flatten any nested arrays - args = concat.apply( [], args ); - - var fragment, first, scripts, hasScripts, node, doc, - i = 0, - l = this.length, - set = this, - iNoClone = l - 1, - value = args[ 0 ], - isFunction = jQuery.isFunction( value ); - - // We can't cloneNode fragments that contain checked, in WebKit - if ( isFunction || - ( l > 1 && typeof value === "string" && - !support.checkClone && rchecked.test( value ) ) ) { - return this.each(function( index ) { - var self = set.eq( index ); - if ( isFunction ) { - args[ 0 ] = value.call( this, index, self.html() ); - } - self.domManip( args, callback ); - }); - } - - if ( l ) { - fragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, this ); - first = fragment.firstChild; - - if ( fragment.childNodes.length === 1 ) { - fragment = first; - } - - if ( first ) { - scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); - hasScripts = scripts.length; - - // Use the original fragment for the last item instead of the first because it can end up - // being emptied incorrectly in certain situations (#8070). - for ( ; i < l; i++ ) { - node = fragment; - - if ( i !== iNoClone ) { - node = jQuery.clone( node, true, true ); - - // Keep references to cloned scripts for later restoration - if ( hasScripts ) { - // Support: QtWebKit - // jQuery.merge because push.apply(_, arraylike) throws - jQuery.merge( scripts, getAll( node, "script" ) ); - } - } - - callback.call( this[ i ], node, i ); - } - - if ( hasScripts ) { - doc = scripts[ scripts.length - 1 ].ownerDocument; - - // Reenable scripts - jQuery.map( scripts, restoreScript ); - - // Evaluate executable scripts on first document insertion - for ( i = 0; i < hasScripts; i++ ) { - node = scripts[ i ]; - if ( rscriptType.test( node.type || "" ) && - !data_priv.access( node, "globalEval" ) && jQuery.contains( doc, node ) ) { - - if ( node.src ) { - // Optional AJAX dependency, but won't run scripts if not present - if ( jQuery._evalUrl ) { - jQuery._evalUrl( node.src ); - } - } else { - jQuery.globalEval( node.textContent.replace( rcleanScript, "" ) ); - } - } - } - } - } - } - - return this; - } -}); - -jQuery.each({ - appendTo: "append", - prependTo: "prepend", - insertBefore: "before", - insertAfter: "after", - replaceAll: "replaceWith" -}, function( name, original ) { - jQuery.fn[ name ] = function( selector ) { - var elems, - ret = [], - insert = jQuery( selector ), - last = insert.length - 1, - i = 0; - - for ( ; i <= last; i++ ) { - elems = i === last ? this : this.clone( true ); - jQuery( insert[ i ] )[ original ]( elems ); - - // Support: QtWebKit - // .get() because push.apply(_, arraylike) throws - push.apply( ret, elems.get() ); - } - - return this.pushStack( ret ); - }; -}); - - -var iframe, - elemdisplay = {}; - -/** - * Retrieve the actual display of a element - * @param {String} name nodeName of the element - * @param {Object} doc Document object - */ -// Called only from within defaultDisplay -function actualDisplay( name, doc ) { - var style, - elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), - - // getDefaultComputedStyle might be reliably used only on attached element - display = window.getDefaultComputedStyle && ( style = window.getDefaultComputedStyle( elem[ 0 ] ) ) ? - - // Use of this method is a temporary fix (more like optimization) until something better comes along, - // since it was removed from specification and supported only in FF - style.display : jQuery.css( elem[ 0 ], "display" ); - - // We don't have any data stored on the element, - // so use "detach" method as fast way to get rid of the element - elem.detach(); - - return display; -} - -/** - * Try to determine the default display value of an element - * @param {String} nodeName - */ -function defaultDisplay( nodeName ) { - var doc = document, - display = elemdisplay[ nodeName ]; - - if ( !display ) { - display = actualDisplay( nodeName, doc ); - - // If the simple way fails, read from inside an iframe - if ( display === "none" || !display ) { - - // Use the already-created iframe if possible - iframe = (iframe || jQuery( "<iframe frameborder='0' width='0' height='0'/>" )).appendTo( doc.documentElement ); - - // Always write a new HTML skeleton so Webkit and Firefox don't choke on reuse - doc = iframe[ 0 ].contentDocument; - - // Support: IE - doc.write(); - doc.close(); - - display = actualDisplay( nodeName, doc ); - iframe.detach(); - } - - // Store the correct default display - elemdisplay[ nodeName ] = display; - } - - return display; -} -var rmargin = (/^margin/); - -var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); - -var getStyles = function( elem ) { - // Support: IE<=11+, Firefox<=30+ (#15098, #14150) - // IE throws on elements created in popups - // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" - if ( elem.ownerDocument.defaultView.opener ) { - return elem.ownerDocument.defaultView.getComputedStyle( elem, null ); - } - - return window.getComputedStyle( elem, null ); - }; - - - -function curCSS( elem, name, computed ) { - var width, minWidth, maxWidth, ret, - style = elem.style; - - computed = computed || getStyles( elem ); - - // Support: IE9 - // getPropertyValue is only needed for .css('filter') (#12537) - if ( computed ) { - ret = computed.getPropertyValue( name ) || computed[ name ]; - } - - if ( computed ) { - - if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { - ret = jQuery.style( elem, name ); - } - - // Support: iOS < 6 - // A tribute to the "awesome hack by Dean Edwards" - // iOS < 6 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels - // this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values - if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) { - - // Remember the original values - width = style.width; - minWidth = style.minWidth; - maxWidth = style.maxWidth; - - // Put in the new values to get a computed value out - style.minWidth = style.maxWidth = style.width = ret; - ret = computed.width; - - // Revert the changed values - style.width = width; - style.minWidth = minWidth; - style.maxWidth = maxWidth; - } - } - - return ret !== undefined ? - // Support: IE - // IE returns zIndex value as an integer. - ret + "" : - ret; -} - - -function addGetHookIf( conditionFn, hookFn ) { - // Define the hook, we'll check on the first run if it's really needed. - return { - get: function() { - if ( conditionFn() ) { - // Hook not needed (or it's not possible to use it due - // to missing dependency), remove it. - delete this.get; - return; - } - - // Hook needed; redefine it so that the support test is not executed again. - return (this.get = hookFn).apply( this, arguments ); - } - }; -} - - -(function() { - var pixelPositionVal, boxSizingReliableVal, - docElem = document.documentElement, - container = document.createElement( "div" ), - div = document.createElement( "div" ); - - if ( !div.style ) { - return; - } - - // Support: IE9-11+ - // Style of cloned element affects source element cloned (#8908) - div.style.backgroundClip = "content-box"; - div.cloneNode( true ).style.backgroundClip = ""; - support.clearCloneStyle = div.style.backgroundClip === "content-box"; - - container.style.cssText = "border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;" + - "position:absolute"; - container.appendChild( div ); - - // Executing both pixelPosition & boxSizingReliable tests require only one layout - // so they're executed at the same time to save the second computation. - function computePixelPositionAndBoxSizingReliable() { - div.style.cssText = - // Support: Firefox<29, Android 2.3 - // Vendor-prefix box-sizing - "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;" + - "box-sizing:border-box;display:block;margin-top:1%;top:1%;" + - "border:1px;padding:1px;width:4px;position:absolute"; - div.innerHTML = ""; - docElem.appendChild( container ); - - var divStyle = window.getComputedStyle( div, null ); - pixelPositionVal = divStyle.top !== "1%"; - boxSizingReliableVal = divStyle.width === "4px"; - - docElem.removeChild( container ); - } - - // Support: node.js jsdom - // Don't assume that getComputedStyle is a property of the global object - if ( window.getComputedStyle ) { - jQuery.extend( support, { - pixelPosition: function() { - - // This test is executed only once but we still do memoizing - // since we can use the boxSizingReliable pre-computing. - // No need to check if the test was already performed, though. - computePixelPositionAndBoxSizingReliable(); - return pixelPositionVal; - }, - boxSizingReliable: function() { - if ( boxSizingReliableVal == null ) { - computePixelPositionAndBoxSizingReliable(); - } - return boxSizingReliableVal; - }, - reliableMarginRight: function() { - - // Support: Android 2.3 - // Check if div with explicit width and no margin-right incorrectly - // gets computed margin-right based on width of container. (#3333) - // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right - // This support function is only executed once so no memoizing is needed. - var ret, - marginDiv = div.appendChild( document.createElement( "div" ) ); - - // Reset CSS: box-sizing; display; margin; border; padding - marginDiv.style.cssText = div.style.cssText = - // Support: Firefox<29, Android 2.3 - // Vendor-prefix box-sizing - "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;" + - "box-sizing:content-box;display:block;margin:0;border:0;padding:0"; - marginDiv.style.marginRight = marginDiv.style.width = "0"; - div.style.width = "1px"; - docElem.appendChild( container ); - - ret = !parseFloat( window.getComputedStyle( marginDiv, null ).marginRight ); - - docElem.removeChild( container ); - div.removeChild( marginDiv ); - - return ret; - } - }); - } -})(); - - -// A method for quickly swapping in/out CSS properties to get correct calculations. -jQuery.swap = function( elem, options, callback, args ) { - var ret, name, - old = {}; - - // Remember the old values, and insert the new ones - for ( name in options ) { - old[ name ] = elem.style[ name ]; - elem.style[ name ] = options[ name ]; - } - - ret = callback.apply( elem, args || [] ); - - // Revert the old values - for ( name in options ) { - elem.style[ name ] = old[ name ]; - } - - return ret; -}; - - -var - // Swappable if display is none or starts with table except "table", "table-cell", or "table-caption" - // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display - rdisplayswap = /^(none|table(?!-c[ea]).+)/, - rnumsplit = new RegExp( "^(" + pnum + ")(.*)$", "i" ), - rrelNum = new RegExp( "^([+-])=(" + pnum + ")", "i" ), - - cssShow = { position: "absolute", visibility: "hidden", display: "block" }, - cssNormalTransform = { - letterSpacing: "0", - fontWeight: "400" - }, - - cssPrefixes = [ "Webkit", "O", "Moz", "ms" ]; - -// Return a css property mapped to a potentially vendor prefixed property -function vendorPropName( style, name ) { - - // Shortcut for names that are not vendor prefixed - if ( name in style ) { - return name; - } - - // Check for vendor prefixed names - var capName = name[0].toUpperCase() + name.slice(1), - origName = name, - i = cssPrefixes.length; - - while ( i-- ) { - name = cssPrefixes[ i ] + capName; - if ( name in style ) { - return name; - } - } - - return origName; -} - -function setPositiveNumber( elem, value, subtract ) { - var matches = rnumsplit.exec( value ); - return matches ? - // Guard against undefined "subtract", e.g., when used as in cssHooks - Math.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || "px" ) : - value; -} - -function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) { - var i = extra === ( isBorderBox ? "border" : "content" ) ? - // If we already have the right measurement, avoid augmentation - 4 : - // Otherwise initialize for horizontal or vertical properties - name === "width" ? 1 : 0, - - val = 0; - - for ( ; i < 4; i += 2 ) { - // Both box models exclude margin, so add it if we want it - if ( extra === "margin" ) { - val += jQuery.css( elem, extra + cssExpand[ i ], true, styles ); - } - - if ( isBorderBox ) { - // border-box includes padding, so remove it if we want content - if ( extra === "content" ) { - val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); - } - - // At this point, extra isn't border nor margin, so remove border - if ( extra !== "margin" ) { - val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - } - } else { - // At this point, extra isn't content, so add padding - val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); - - // At this point, extra isn't content nor padding, so add border - if ( extra !== "padding" ) { - val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - } - } - } - - return val; -} - -function getWidthOrHeight( elem, name, extra ) { - - // Start with offset property, which is equivalent to the border-box value - var valueIsBorderBox = true, - val = name === "width" ? elem.offsetWidth : elem.offsetHeight, - styles = getStyles( elem ), - isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; - - // Some non-html elements return undefined for offsetWidth, so check for null/undefined - // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 - // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 - if ( val <= 0 || val == null ) { - // Fall back to computed then uncomputed css if necessary - val = curCSS( elem, name, styles ); - if ( val < 0 || val == null ) { - val = elem.style[ name ]; - } - - // Computed unit is not pixels. Stop here and return. - if ( rnumnonpx.test(val) ) { - return val; - } - - // Check for style in case a browser which returns unreliable values - // for getComputedStyle silently falls back to the reliable elem.style - valueIsBorderBox = isBorderBox && - ( support.boxSizingReliable() || val === elem.style[ name ] ); - - // Normalize "", auto, and prepare for extra - val = parseFloat( val ) || 0; - } - - // Use the active box-sizing model to add/subtract irrelevant styles - return ( val + - augmentWidthOrHeight( - elem, - name, - extra || ( isBorderBox ? "border" : "content" ), - valueIsBorderBox, - styles - ) - ) + "px"; -} - -function showHide( elements, show ) { - var display, elem, hidden, - values = [], - index = 0, - length = elements.length; - - for ( ; index < length; index++ ) { - elem = elements[ index ]; - if ( !elem.style ) { - continue; - } - - values[ index ] = data_priv.get( elem, "olddisplay" ); - display = elem.style.display; - if ( show ) { - // Reset the inline display of this element to learn if it is - // being hidden by cascaded rules or not - if ( !values[ index ] && display === "none" ) { - elem.style.display = ""; - } - - // Set elements which have been overridden with display: none - // in a stylesheet to whatever the default browser style is - // for such an element - if ( elem.style.display === "" && isHidden( elem ) ) { - values[ index ] = data_priv.access( elem, "olddisplay", defaultDisplay(elem.nodeName) ); - } - } else { - hidden = isHidden( elem ); - - if ( display !== "none" || !hidden ) { - data_priv.set( elem, "olddisplay", hidden ? display : jQuery.css( elem, "display" ) ); - } - } - } - - // Set the display of most of the elements in a second loop - // to avoid the constant reflow - for ( index = 0; index < length; index++ ) { - elem = elements[ index ]; - if ( !elem.style ) { - continue; - } - if ( !show || elem.style.display === "none" || elem.style.display === "" ) { - elem.style.display = show ? values[ index ] || "" : "none"; - } - } - - return elements; -} - -jQuery.extend({ - - // Add in style property hooks for overriding the default - // behavior of getting and setting a style property - cssHooks: { - opacity: { - get: function( elem, computed ) { - if ( computed ) { - - // We should always get a number back from opacity - var ret = curCSS( elem, "opacity" ); - return ret === "" ? "1" : ret; - } - } - } - }, - - // Don't automatically add "px" to these possibly-unitless properties - cssNumber: { - "columnCount": true, - "fillOpacity": true, - "flexGrow": true, - "flexShrink": true, - "fontWeight": true, - "lineHeight": true, - "opacity": true, - "order": true, - "orphans": true, - "widows": true, - "zIndex": true, - "zoom": true - }, - - // Add in properties whose names you wish to fix before - // setting or getting the value - cssProps: { - "float": "cssFloat" - }, - - // Get and set the style property on a DOM Node - style: function( elem, name, value, extra ) { - - // Don't set styles on text and comment nodes - if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { - return; - } - - // Make sure that we're working with the right name - var ret, type, hooks, - origName = jQuery.camelCase( name ), - style = elem.style; - - name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( style, origName ) ); - - // Gets hook for the prefixed version, then unprefixed version - hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; - - // Check if we're setting a value - if ( value !== undefined ) { - type = typeof value; - - // Convert "+=" or "-=" to relative numbers (#7345) - if ( type === "string" && (ret = rrelNum.exec( value )) ) { - value = ( ret[1] + 1 ) * ret[2] + parseFloat( jQuery.css( elem, name ) ); - // Fixes bug #9237 - type = "number"; - } - - // Make sure that null and NaN values aren't set (#7116) - if ( value == null || value !== value ) { - return; - } - - // If a number, add 'px' to the (except for certain CSS properties) - if ( type === "number" && !jQuery.cssNumber[ origName ] ) { - value += "px"; - } - - // Support: IE9-11+ - // background-* props affect original clone's values - if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { - style[ name ] = "inherit"; - } - - // If a hook was provided, use that value, otherwise just set the specified value - if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) { - style[ name ] = value; - } - - } else { - // If a hook was provided get the non-computed value from there - if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) { - return ret; - } - - // Otherwise just get the value from the style object - return style[ name ]; - } - }, - - css: function( elem, name, extra, styles ) { - var val, num, hooks, - origName = jQuery.camelCase( name ); - - // Make sure that we're working with the right name - name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( elem.style, origName ) ); - - // Try prefixed name followed by the unprefixed name - hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; - - // If a hook was provided get the computed value from there - if ( hooks && "get" in hooks ) { - val = hooks.get( elem, true, extra ); - } - - // Otherwise, if a way to get the computed value exists, use that - if ( val === undefined ) { - val = curCSS( elem, name, styles ); - } - - // Convert "normal" to computed value - if ( val === "normal" && name in cssNormalTransform ) { - val = cssNormalTransform[ name ]; - } - - // Make numeric if forced or a qualifier was provided and val looks numeric - if ( extra === "" || extra ) { - num = parseFloat( val ); - return extra === true || jQuery.isNumeric( num ) ? num || 0 : val; - } - return val; - } -}); - -jQuery.each([ "height", "width" ], function( i, name ) { - jQuery.cssHooks[ name ] = { - get: function( elem, computed, extra ) { - if ( computed ) { - - // Certain elements can have dimension info if we invisibly show them - // but it must have a current display style that would benefit - return rdisplayswap.test( jQuery.css( elem, "display" ) ) && elem.offsetWidth === 0 ? - jQuery.swap( elem, cssShow, function() { - return getWidthOrHeight( elem, name, extra ); - }) : - getWidthOrHeight( elem, name, extra ); - } - }, - - set: function( elem, value, extra ) { - var styles = extra && getStyles( elem ); - return setPositiveNumber( elem, value, extra ? - augmentWidthOrHeight( - elem, - name, - extra, - jQuery.css( elem, "boxSizing", false, styles ) === "border-box", - styles - ) : 0 - ); - } - }; -}); - -// Support: Android 2.3 -jQuery.cssHooks.marginRight = addGetHookIf( support.reliableMarginRight, - function( elem, computed ) { - if ( computed ) { - return jQuery.swap( elem, { "display": "inline-block" }, - curCSS, [ elem, "marginRight" ] ); - } - } -); - -// These hooks are used by animate to expand properties -jQuery.each({ - margin: "", - padding: "", - border: "Width" -}, function( prefix, suffix ) { - jQuery.cssHooks[ prefix + suffix ] = { - expand: function( value ) { - var i = 0, - expanded = {}, - - // Assumes a single number if not a string - parts = typeof value === "string" ? value.split(" ") : [ value ]; - - for ( ; i < 4; i++ ) { - expanded[ prefix + cssExpand[ i ] + suffix ] = - parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; - } - - return expanded; - } - }; - - if ( !rmargin.test( prefix ) ) { - jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; - } -}); - -jQuery.fn.extend({ - css: function( name, value ) { - return access( this, function( elem, name, value ) { - var styles, len, - map = {}, - i = 0; - - if ( jQuery.isArray( name ) ) { - styles = getStyles( elem ); - len = name.length; - - for ( ; i < len; i++ ) { - map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); - } - - return map; - } - - return value !== undefined ? - jQuery.style( elem, name, value ) : - jQuery.css( elem, name ); - }, name, value, arguments.length > 1 ); - }, - show: function() { - return showHide( this, true ); - }, - hide: function() { - return showHide( this ); - }, - toggle: function( state ) { - if ( typeof state === "boolean" ) { - return state ? this.show() : this.hide(); - } - - return this.each(function() { - if ( isHidden( this ) ) { - jQuery( this ).show(); - } else { - jQuery( this ).hide(); - } - }); - } -}); - - -function Tween( elem, options, prop, end, easing ) { - return new Tween.prototype.init( elem, options, prop, end, easing ); -} -jQuery.Tween = Tween; - -Tween.prototype = { - constructor: Tween, - init: function( elem, options, prop, end, easing, unit ) { - this.elem = elem; - this.prop = prop; - this.easing = easing || "swing"; - this.options = options; - this.start = this.now = this.cur(); - this.end = end; - this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); - }, - cur: function() { - var hooks = Tween.propHooks[ this.prop ]; - - return hooks && hooks.get ? - hooks.get( this ) : - Tween.propHooks._default.get( this ); - }, - run: function( percent ) { - var eased, - hooks = Tween.propHooks[ this.prop ]; - - if ( this.options.duration ) { - this.pos = eased = jQuery.easing[ this.easing ]( - percent, this.options.duration * percent, 0, 1, this.options.duration - ); - } else { - this.pos = eased = percent; - } - this.now = ( this.end - this.start ) * eased + this.start; - - if ( this.options.step ) { - this.options.step.call( this.elem, this.now, this ); - } - - if ( hooks && hooks.set ) { - hooks.set( this ); - } else { - Tween.propHooks._default.set( this ); - } - return this; - } -}; - -Tween.prototype.init.prototype = Tween.prototype; - -Tween.propHooks = { - _default: { - get: function( tween ) { - var result; - - if ( tween.elem[ tween.prop ] != null && - (!tween.elem.style || tween.elem.style[ tween.prop ] == null) ) { - return tween.elem[ tween.prop ]; - } - - // Passing an empty string as a 3rd parameter to .css will automatically - // attempt a parseFloat and fallback to a string if the parse fails. - // Simple values such as "10px" are parsed to Float; - // complex values such as "rotate(1rad)" are returned as-is. - result = jQuery.css( tween.elem, tween.prop, "" ); - // Empty strings, null, undefined and "auto" are converted to 0. - return !result || result === "auto" ? 0 : result; - }, - set: function( tween ) { - // Use step hook for back compat. - // Use cssHook if its there. - // Use .style if available and use plain properties where available. - if ( jQuery.fx.step[ tween.prop ] ) { - jQuery.fx.step[ tween.prop ]( tween ); - } else if ( tween.elem.style && ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || jQuery.cssHooks[ tween.prop ] ) ) { - jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); - } else { - tween.elem[ tween.prop ] = tween.now; - } - } - } -}; - -// Support: IE9 -// Panic based approach to setting things on disconnected nodes -Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { - set: function( tween ) { - if ( tween.elem.nodeType && tween.elem.parentNode ) { - tween.elem[ tween.prop ] = tween.now; - } - } -}; - -jQuery.easing = { - linear: function( p ) { - return p; - }, - swing: function( p ) { - return 0.5 - Math.cos( p * Math.PI ) / 2; - } -}; - -jQuery.fx = Tween.prototype.init; - -// Back Compat <1.8 extension point -jQuery.fx.step = {}; - - - - -var - fxNow, timerId, - rfxtypes = /^(?:toggle|show|hide)$/, - rfxnum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ), - rrun = /queueHooks$/, - animationPrefilters = [ defaultPrefilter ], - tweeners = { - "*": [ function( prop, value ) { - var tween = this.createTween( prop, value ), - target = tween.cur(), - parts = rfxnum.exec( value ), - unit = parts && parts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), - - // Starting value computation is required for potential unit mismatches - start = ( jQuery.cssNumber[ prop ] || unit !== "px" && +target ) && - rfxnum.exec( jQuery.css( tween.elem, prop ) ), - scale = 1, - maxIterations = 20; - - if ( start && start[ 3 ] !== unit ) { - // Trust units reported by jQuery.css - unit = unit || start[ 3 ]; - - // Make sure we update the tween properties later on - parts = parts || []; - - // Iteratively approximate from a nonzero starting point - start = +target || 1; - - do { - // If previous iteration zeroed out, double until we get *something*. - // Use string for doubling so we don't accidentally see scale as unchanged below - scale = scale || ".5"; - - // Adjust and apply - start = start / scale; - jQuery.style( tween.elem, prop, start + unit ); - - // Update scale, tolerating zero or NaN from tween.cur(), - // break the loop if scale is unchanged or perfect, or if we've just had enough - } while ( scale !== (scale = tween.cur() / target) && scale !== 1 && --maxIterations ); - } - - // Update tween properties - if ( parts ) { - start = tween.start = +start || +target || 0; - tween.unit = unit; - // If a +=/-= token was provided, we're doing a relative animation - tween.end = parts[ 1 ] ? - start + ( parts[ 1 ] + 1 ) * parts[ 2 ] : - +parts[ 2 ]; - } - - return tween; - } ] - }; - -// Animations created synchronously will run synchronously -function createFxNow() { - setTimeout(function() { - fxNow = undefined; - }); - return ( fxNow = jQuery.now() ); -} - -// Generate parameters to create a standard animation -function genFx( type, includeWidth ) { - var which, - i = 0, - attrs = { height: type }; - - // If we include width, step value is 1 to do all cssExpand values, - // otherwise step value is 2 to skip over Left and Right - includeWidth = includeWidth ? 1 : 0; - for ( ; i < 4 ; i += 2 - includeWidth ) { - which = cssExpand[ i ]; - attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; - } - - if ( includeWidth ) { - attrs.opacity = attrs.width = type; - } - - return attrs; -} - -function createTween( value, prop, animation ) { - var tween, - collection = ( tweeners[ prop ] || [] ).concat( tweeners[ "*" ] ), - index = 0, - length = collection.length; - for ( ; index < length; index++ ) { - if ( (tween = collection[ index ].call( animation, prop, value )) ) { - - // We're done with this property - return tween; - } - } -} - -function defaultPrefilter( elem, props, opts ) { - /* jshint validthis: true */ - var prop, value, toggle, tween, hooks, oldfire, display, checkDisplay, - anim = this, - orig = {}, - style = elem.style, - hidden = elem.nodeType && isHidden( elem ), - dataShow = data_priv.get( elem, "fxshow" ); - - // Handle queue: false promises - if ( !opts.queue ) { - hooks = jQuery._queueHooks( elem, "fx" ); - if ( hooks.unqueued == null ) { - hooks.unqueued = 0; - oldfire = hooks.empty.fire; - hooks.empty.fire = function() { - if ( !hooks.unqueued ) { - oldfire(); - } - }; - } - hooks.unqueued++; - - anim.always(function() { - // Ensure the complete handler is called before this completes - anim.always(function() { - hooks.unqueued--; - if ( !jQuery.queue( elem, "fx" ).length ) { - hooks.empty.fire(); - } - }); - }); - } - - // Height/width overflow pass - if ( elem.nodeType === 1 && ( "height" in props || "width" in props ) ) { - // Make sure that nothing sneaks out - // Record all 3 overflow attributes because IE9-10 do not - // change the overflow attribute when overflowX and - // overflowY are set to the same value - opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; - - // Set display property to inline-block for height/width - // animations on inline elements that are having width/height animated - display = jQuery.css( elem, "display" ); - - // Test default display if display is currently "none" - checkDisplay = display === "none" ? - data_priv.get( elem, "olddisplay" ) || defaultDisplay( elem.nodeName ) : display; - - if ( checkDisplay === "inline" && jQuery.css( elem, "float" ) === "none" ) { - style.display = "inline-block"; - } - } - - if ( opts.overflow ) { - style.overflow = "hidden"; - anim.always(function() { - style.overflow = opts.overflow[ 0 ]; - style.overflowX = opts.overflow[ 1 ]; - style.overflowY = opts.overflow[ 2 ]; - }); - } - - // show/hide pass - for ( prop in props ) { - value = props[ prop ]; - if ( rfxtypes.exec( value ) ) { - delete props[ prop ]; - toggle = toggle || value === "toggle"; - if ( value === ( hidden ? "hide" : "show" ) ) { - - // If there is dataShow left over from a stopped hide or show and we are going to proceed with show, we should pretend to be hidden - if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { - hidden = true; - } else { - continue; - } - } - orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); - - // Any non-fx value stops us from restoring the original display value - } else { - display = undefined; - } - } - - if ( !jQuery.isEmptyObject( orig ) ) { - if ( dataShow ) { - if ( "hidden" in dataShow ) { - hidden = dataShow.hidden; - } - } else { - dataShow = data_priv.access( elem, "fxshow", {} ); - } - - // Store state if its toggle - enables .stop().toggle() to "reverse" - if ( toggle ) { - dataShow.hidden = !hidden; - } - if ( hidden ) { - jQuery( elem ).show(); - } else { - anim.done(function() { - jQuery( elem ).hide(); - }); - } - anim.done(function() { - var prop; - - data_priv.remove( elem, "fxshow" ); - for ( prop in orig ) { - jQuery.style( elem, prop, orig[ prop ] ); - } - }); - for ( prop in orig ) { - tween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); - - if ( !( prop in dataShow ) ) { - dataShow[ prop ] = tween.start; - if ( hidden ) { - tween.end = tween.start; - tween.start = prop === "width" || prop === "height" ? 1 : 0; - } - } - } - - // If this is a noop like .hide().hide(), restore an overwritten display value - } else if ( (display === "none" ? defaultDisplay( elem.nodeName ) : display) === "inline" ) { - style.display = display; - } -} - -function propFilter( props, specialEasing ) { - var index, name, easing, value, hooks; - - // camelCase, specialEasing and expand cssHook pass - for ( index in props ) { - name = jQuery.camelCase( index ); - easing = specialEasing[ name ]; - value = props[ index ]; - if ( jQuery.isArray( value ) ) { - easing = value[ 1 ]; - value = props[ index ] = value[ 0 ]; - } - - if ( index !== name ) { - props[ name ] = value; - delete props[ index ]; - } - - hooks = jQuery.cssHooks[ name ]; - if ( hooks && "expand" in hooks ) { - value = hooks.expand( value ); - delete props[ name ]; - - // Not quite $.extend, this won't overwrite existing keys. - // Reusing 'index' because we have the correct "name" - for ( index in value ) { - if ( !( index in props ) ) { - props[ index ] = value[ index ]; - specialEasing[ index ] = easing; - } - } - } else { - specialEasing[ name ] = easing; - } - } -} - -function Animation( elem, properties, options ) { - var result, - stopped, - index = 0, - length = animationPrefilters.length, - deferred = jQuery.Deferred().always( function() { - // Don't match elem in the :animated selector - delete tick.elem; - }), - tick = function() { - if ( stopped ) { - return false; - } - var currentTime = fxNow || createFxNow(), - remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), - // Support: Android 2.3 - // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) - temp = remaining / animation.duration || 0, - percent = 1 - temp, - index = 0, - length = animation.tweens.length; - - for ( ; index < length ; index++ ) { - animation.tweens[ index ].run( percent ); - } - - deferred.notifyWith( elem, [ animation, percent, remaining ]); - - if ( percent < 1 && length ) { - return remaining; - } else { - deferred.resolveWith( elem, [ animation ] ); - return false; - } - }, - animation = deferred.promise({ - elem: elem, - props: jQuery.extend( {}, properties ), - opts: jQuery.extend( true, { specialEasing: {} }, options ), - originalProperties: properties, - originalOptions: options, - startTime: fxNow || createFxNow(), - duration: options.duration, - tweens: [], - createTween: function( prop, end ) { - var tween = jQuery.Tween( elem, animation.opts, prop, end, - animation.opts.specialEasing[ prop ] || animation.opts.easing ); - animation.tweens.push( tween ); - return tween; - }, - stop: function( gotoEnd ) { - var index = 0, - // If we are going to the end, we want to run all the tweens - // otherwise we skip this part - length = gotoEnd ? animation.tweens.length : 0; - if ( stopped ) { - return this; - } - stopped = true; - for ( ; index < length ; index++ ) { - animation.tweens[ index ].run( 1 ); - } - - // Resolve when we played the last frame; otherwise, reject - if ( gotoEnd ) { - deferred.resolveWith( elem, [ animation, gotoEnd ] ); - } else { - deferred.rejectWith( elem, [ animation, gotoEnd ] ); - } - return this; - } - }), - props = animation.props; - - propFilter( props, animation.opts.specialEasing ); - - for ( ; index < length ; index++ ) { - result = animationPrefilters[ index ].call( animation, elem, props, animation.opts ); - if ( result ) { - return result; - } - } - - jQuery.map( props, createTween, animation ); - - if ( jQuery.isFunction( animation.opts.start ) ) { - animation.opts.start.call( elem, animation ); - } - - jQuery.fx.timer( - jQuery.extend( tick, { - elem: elem, - anim: animation, - queue: animation.opts.queue - }) - ); - - // attach callbacks from options - return animation.progress( animation.opts.progress ) - .done( animation.opts.done, animation.opts.complete ) - .fail( animation.opts.fail ) - .always( animation.opts.always ); -} - -jQuery.Animation = jQuery.extend( Animation, { - - tweener: function( props, callback ) { - if ( jQuery.isFunction( props ) ) { - callback = props; - props = [ "*" ]; - } else { - props = props.split(" "); - } - - var prop, - index = 0, - length = props.length; - - for ( ; index < length ; index++ ) { - prop = props[ index ]; - tweeners[ prop ] = tweeners[ prop ] || []; - tweeners[ prop ].unshift( callback ); - } - }, - - prefilter: function( callback, prepend ) { - if ( prepend ) { - animationPrefilters.unshift( callback ); - } else { - animationPrefilters.push( callback ); - } - } -}); - -jQuery.speed = function( speed, easing, fn ) { - var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { - complete: fn || !fn && easing || - jQuery.isFunction( speed ) && speed, - duration: speed, - easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing - }; - - opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration : - opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default; - - // Normalize opt.queue - true/undefined/null -> "fx" - if ( opt.queue == null || opt.queue === true ) { - opt.queue = "fx"; - } - - // Queueing - opt.old = opt.complete; - - opt.complete = function() { - if ( jQuery.isFunction( opt.old ) ) { - opt.old.call( this ); - } - - if ( opt.queue ) { - jQuery.dequeue( this, opt.queue ); - } - }; - - return opt; -}; - -jQuery.fn.extend({ - fadeTo: function( speed, to, easing, callback ) { - - // Show any hidden elements after setting opacity to 0 - return this.filter( isHidden ).css( "opacity", 0 ).show() - - // Animate to the value specified - .end().animate({ opacity: to }, speed, easing, callback ); - }, - animate: function( prop, speed, easing, callback ) { - var empty = jQuery.isEmptyObject( prop ), - optall = jQuery.speed( speed, easing, callback ), - doAnimation = function() { - // Operate on a copy of prop so per-property easing won't be lost - var anim = Animation( this, jQuery.extend( {}, prop ), optall ); - - // Empty animations, or finishing resolves immediately - if ( empty || data_priv.get( this, "finish" ) ) { - anim.stop( true ); - } - }; - doAnimation.finish = doAnimation; - - return empty || optall.queue === false ? - this.each( doAnimation ) : - this.queue( optall.queue, doAnimation ); - }, - stop: function( type, clearQueue, gotoEnd ) { - var stopQueue = function( hooks ) { - var stop = hooks.stop; - delete hooks.stop; - stop( gotoEnd ); - }; - - if ( typeof type !== "string" ) { - gotoEnd = clearQueue; - clearQueue = type; - type = undefined; - } - if ( clearQueue && type !== false ) { - this.queue( type || "fx", [] ); - } - - return this.each(function() { - var dequeue = true, - index = type != null && type + "queueHooks", - timers = jQuery.timers, - data = data_priv.get( this ); - - if ( index ) { - if ( data[ index ] && data[ index ].stop ) { - stopQueue( data[ index ] ); - } - } else { - for ( index in data ) { - if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { - stopQueue( data[ index ] ); - } - } - } - - for ( index = timers.length; index--; ) { - if ( timers[ index ].elem === this && (type == null || timers[ index ].queue === type) ) { - timers[ index ].anim.stop( gotoEnd ); - dequeue = false; - timers.splice( index, 1 ); - } - } - - // Start the next in the queue if the last step wasn't forced. - // Timers currently will call their complete callbacks, which - // will dequeue but only if they were gotoEnd. - if ( dequeue || !gotoEnd ) { - jQuery.dequeue( this, type ); - } - }); - }, - finish: function( type ) { - if ( type !== false ) { - type = type || "fx"; - } - return this.each(function() { - var index, - data = data_priv.get( this ), - queue = data[ type + "queue" ], - hooks = data[ type + "queueHooks" ], - timers = jQuery.timers, - length = queue ? queue.length : 0; - - // Enable finishing flag on private data - data.finish = true; - - // Empty the queue first - jQuery.queue( this, type, [] ); - - if ( hooks && hooks.stop ) { - hooks.stop.call( this, true ); - } - - // Look for any active animations, and finish them - for ( index = timers.length; index--; ) { - if ( timers[ index ].elem === this && timers[ index ].queue === type ) { - timers[ index ].anim.stop( true ); - timers.splice( index, 1 ); - } - } - - // Look for any animations in the old queue and finish them - for ( index = 0; index < length; index++ ) { - if ( queue[ index ] && queue[ index ].finish ) { - queue[ index ].finish.call( this ); - } - } - - // Turn off finishing flag - delete data.finish; - }); - } -}); - -jQuery.each([ "toggle", "show", "hide" ], function( i, name ) { - var cssFn = jQuery.fn[ name ]; - jQuery.fn[ name ] = function( speed, easing, callback ) { - return speed == null || typeof speed === "boolean" ? - cssFn.apply( this, arguments ) : - this.animate( genFx( name, true ), speed, easing, callback ); - }; -}); - -// Generate shortcuts for custom animations -jQuery.each({ - slideDown: genFx("show"), - slideUp: genFx("hide"), - slideToggle: genFx("toggle"), - fadeIn: { opacity: "show" }, - fadeOut: { opacity: "hide" }, - fadeToggle: { opacity: "toggle" } -}, function( name, props ) { - jQuery.fn[ name ] = function( speed, easing, callback ) { - return this.animate( props, speed, easing, callback ); - }; -}); - -jQuery.timers = []; -jQuery.fx.tick = function() { - var timer, - i = 0, - timers = jQuery.timers; - - fxNow = jQuery.now(); - - for ( ; i < timers.length; i++ ) { - timer = timers[ i ]; - // Checks the timer has not already been removed - if ( !timer() && timers[ i ] === timer ) { - timers.splice( i--, 1 ); - } - } - - if ( !timers.length ) { - jQuery.fx.stop(); - } - fxNow = undefined; -}; - -jQuery.fx.timer = function( timer ) { - jQuery.timers.push( timer ); - if ( timer() ) { - jQuery.fx.start(); - } else { - jQuery.timers.pop(); - } -}; - -jQuery.fx.interval = 13; - -jQuery.fx.start = function() { - if ( !timerId ) { - timerId = setInterval( jQuery.fx.tick, jQuery.fx.interval ); - } -}; - -jQuery.fx.stop = function() { - clearInterval( timerId ); - timerId = null; -}; - -jQuery.fx.speeds = { - slow: 600, - fast: 200, - // Default speed - _default: 400 -}; - - -// Based off of the plugin by Clint Helfers, with permission. -// http://blindsignals.com/index.php/2009/07/jquery-delay/ -jQuery.fn.delay = function( time, type ) { - time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; - type = type || "fx"; - - return this.queue( type, function( next, hooks ) { - var timeout = setTimeout( next, time ); - hooks.stop = function() { - clearTimeout( timeout ); - }; - }); -}; - - -(function() { - var input = document.createElement( "input" ), - select = document.createElement( "select" ), - opt = select.appendChild( document.createElement( "option" ) ); - - input.type = "checkbox"; - - // Support: iOS<=5.1, Android<=4.2+ - // Default value for a checkbox should be "on" - support.checkOn = input.value !== ""; - - // Support: IE<=11+ - // Must access selectedIndex to make default options select - support.optSelected = opt.selected; - - // Support: Android<=2.3 - // Options inside disabled selects are incorrectly marked as disabled - select.disabled = true; - support.optDisabled = !opt.disabled; - - // Support: IE<=11+ - // An input loses its value after becoming a radio - input = document.createElement( "input" ); - input.value = "t"; - input.type = "radio"; - support.radioValue = input.value === "t"; -})(); - - -var nodeHook, boolHook, - attrHandle = jQuery.expr.attrHandle; - -jQuery.fn.extend({ - attr: function( name, value ) { - return access( this, jQuery.attr, name, value, arguments.length > 1 ); - }, - - removeAttr: function( name ) { - return this.each(function() { - jQuery.removeAttr( this, name ); - }); - } -}); - -jQuery.extend({ - attr: function( elem, name, value ) { - var hooks, ret, - nType = elem.nodeType; - - // don't get/set attributes on text, comment and attribute nodes - if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { - return; - } - - // Fallback to prop when attributes are not supported - if ( typeof elem.getAttribute === strundefined ) { - return jQuery.prop( elem, name, value ); - } - - // All attributes are lowercase - // Grab necessary hook if one is defined - if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { - name = name.toLowerCase(); - hooks = jQuery.attrHooks[ name ] || - ( jQuery.expr.match.bool.test( name ) ? boolHook : nodeHook ); - } - - if ( value !== undefined ) { - - if ( value === null ) { - jQuery.removeAttr( elem, name ); - - } else if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { - return ret; - - } else { - elem.setAttribute( name, value + "" ); - return value; - } - - } else if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { - return ret; - - } else { - ret = jQuery.find.attr( elem, name ); - - // Non-existent attributes return null, we normalize to undefined - return ret == null ? - undefined : - ret; - } - }, - - removeAttr: function( elem, value ) { - var name, propName, - i = 0, - attrNames = value && value.match( rnotwhite ); - - if ( attrNames && elem.nodeType === 1 ) { - while ( (name = attrNames[i++]) ) { - propName = jQuery.propFix[ name ] || name; - - // Boolean attributes get special treatment (#10870) - if ( jQuery.expr.match.bool.test( name ) ) { - // Set corresponding property to false - elem[ propName ] = false; - } - - elem.removeAttribute( name ); - } - } - }, - - attrHooks: { - type: { - set: function( elem, value ) { - if ( !support.radioValue && value === "radio" && - jQuery.nodeName( elem, "input" ) ) { - var val = elem.value; - elem.setAttribute( "type", value ); - if ( val ) { - elem.value = val; - } - return value; - } - } - } - } -}); - -// Hooks for boolean attributes -boolHook = { - set: function( elem, value, name ) { - if ( value === false ) { - // Remove boolean attributes when set to false - jQuery.removeAttr( elem, name ); - } else { - elem.setAttribute( name, name ); - } - return name; - } -}; -jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { - var getter = attrHandle[ name ] || jQuery.find.attr; - - attrHandle[ name ] = function( elem, name, isXML ) { - var ret, handle; - if ( !isXML ) { - // Avoid an infinite loop by temporarily removing this function from the getter - handle = attrHandle[ name ]; - attrHandle[ name ] = ret; - ret = getter( elem, name, isXML ) != null ? - name.toLowerCase() : - null; - attrHandle[ name ] = handle; - } - return ret; - }; -}); - - - - -var rfocusable = /^(?:input|select|textarea|button)$/i; - -jQuery.fn.extend({ - prop: function( name, value ) { - return access( this, jQuery.prop, name, value, arguments.length > 1 ); - }, - - removeProp: function( name ) { - return this.each(function() { - delete this[ jQuery.propFix[ name ] || name ]; - }); - } -}); - -jQuery.extend({ - propFix: { - "for": "htmlFor", - "class": "className" - }, - - prop: function( elem, name, value ) { - var ret, hooks, notxml, - nType = elem.nodeType; - - // Don't get/set properties on text, comment and attribute nodes - if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { - return; - } - - notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); - - if ( notxml ) { - // Fix name and attach hooks - name = jQuery.propFix[ name ] || name; - hooks = jQuery.propHooks[ name ]; - } - - if ( value !== undefined ) { - return hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ? - ret : - ( elem[ name ] = value ); - - } else { - return hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ? - ret : - elem[ name ]; - } - }, - - propHooks: { - tabIndex: { - get: function( elem ) { - return elem.hasAttribute( "tabindex" ) || rfocusable.test( elem.nodeName ) || elem.href ? - elem.tabIndex : - -1; - } - } - } -}); - -if ( !support.optSelected ) { - jQuery.propHooks.selected = { - get: function( elem ) { - var parent = elem.parentNode; - if ( parent && parent.parentNode ) { - parent.parentNode.selectedIndex; - } - return null; - } - }; -} - -jQuery.each([ - "tabIndex", - "readOnly", - "maxLength", - "cellSpacing", - "cellPadding", - "rowSpan", - "colSpan", - "useMap", - "frameBorder", - "contentEditable" -], function() { - jQuery.propFix[ this.toLowerCase() ] = this; -}); - - - - -var rclass = /[\t\r\n\f]/g; - -jQuery.fn.extend({ - addClass: function( value ) { - var classes, elem, cur, clazz, j, finalValue, - proceed = typeof value === "string" && value, - i = 0, - len = this.length; - - if ( jQuery.isFunction( value ) ) { - return this.each(function( j ) { - jQuery( this ).addClass( value.call( this, j, this.className ) ); - }); - } - - if ( proceed ) { - // The disjunction here is for better compressibility (see removeClass) - classes = ( value || "" ).match( rnotwhite ) || []; - - for ( ; i < len; i++ ) { - elem = this[ i ]; - cur = elem.nodeType === 1 && ( elem.className ? - ( " " + elem.className + " " ).replace( rclass, " " ) : - " " - ); - - if ( cur ) { - j = 0; - while ( (clazz = classes[j++]) ) { - if ( cur.indexOf( " " + clazz + " " ) < 0 ) { - cur += clazz + " "; - } - } - - // only assign if different to avoid unneeded rendering. - finalValue = jQuery.trim( cur ); - if ( elem.className !== finalValue ) { - elem.className = finalValue; - } - } - } - } - - return this; - }, - - removeClass: function( value ) { - var classes, elem, cur, clazz, j, finalValue, - proceed = arguments.length === 0 || typeof value === "string" && value, - i = 0, - len = this.length; - - if ( jQuery.isFunction( value ) ) { - return this.each(function( j ) { - jQuery( this ).removeClass( value.call( this, j, this.className ) ); - }); - } - if ( proceed ) { - classes = ( value || "" ).match( rnotwhite ) || []; - - for ( ; i < len; i++ ) { - elem = this[ i ]; - // This expression is here for better compressibility (see addClass) - cur = elem.nodeType === 1 && ( elem.className ? - ( " " + elem.className + " " ).replace( rclass, " " ) : - "" - ); - - if ( cur ) { - j = 0; - while ( (clazz = classes[j++]) ) { - // Remove *all* instances - while ( cur.indexOf( " " + clazz + " " ) >= 0 ) { - cur = cur.replace( " " + clazz + " ", " " ); - } - } - - // Only assign if different to avoid unneeded rendering. - finalValue = value ? jQuery.trim( cur ) : ""; - if ( elem.className !== finalValue ) { - elem.className = finalValue; - } - } - } - } - - return this; - }, - - toggleClass: function( value, stateVal ) { - var type = typeof value; - - if ( typeof stateVal === "boolean" && type === "string" ) { - return stateVal ? this.addClass( value ) : this.removeClass( value ); - } - - if ( jQuery.isFunction( value ) ) { - return this.each(function( i ) { - jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal ); - }); - } - - return this.each(function() { - if ( type === "string" ) { - // Toggle individual class names - var className, - i = 0, - self = jQuery( this ), - classNames = value.match( rnotwhite ) || []; - - while ( (className = classNames[ i++ ]) ) { - // Check each className given, space separated list - if ( self.hasClass( className ) ) { - self.removeClass( className ); - } else { - self.addClass( className ); - } - } - - // Toggle whole class name - } else if ( type === strundefined || type === "boolean" ) { - if ( this.className ) { - // store className if set - data_priv.set( this, "__className__", this.className ); - } - - // If the element has a class name or if we're passed `false`, - // then remove the whole classname (if there was one, the above saved it). - // Otherwise bring back whatever was previously saved (if anything), - // falling back to the empty string if nothing was stored. - this.className = this.className || value === false ? "" : data_priv.get( this, "__className__" ) || ""; - } - }); - }, - - hasClass: function( selector ) { - var className = " " + selector + " ", - i = 0, - l = this.length; - for ( ; i < l; i++ ) { - if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) >= 0 ) { - return true; - } - } - - return false; - } -}); - - - - -var rreturn = /\r/g; - -jQuery.fn.extend({ - val: function( value ) { - var hooks, ret, isFunction, - elem = this[0]; - - if ( !arguments.length ) { - if ( elem ) { - hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ]; - - if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) { - return ret; - } - - ret = elem.value; - - return typeof ret === "string" ? - // Handle most common string cases - ret.replace(rreturn, "") : - // Handle cases where value is null/undef or number - ret == null ? "" : ret; - } - - return; - } - - isFunction = jQuery.isFunction( value ); - - return this.each(function( i ) { - var val; - - if ( this.nodeType !== 1 ) { - return; - } - - if ( isFunction ) { - val = value.call( this, i, jQuery( this ).val() ); - } else { - val = value; - } - - // Treat null/undefined as ""; convert numbers to string - if ( val == null ) { - val = ""; - - } else if ( typeof val === "number" ) { - val += ""; - - } else if ( jQuery.isArray( val ) ) { - val = jQuery.map( val, function( value ) { - return value == null ? "" : value + ""; - }); - } - - hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; - - // If set returns undefined, fall back to normal setting - if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) { - this.value = val; - } - }); - } -}); - -jQuery.extend({ - valHooks: { - option: { - get: function( elem ) { - var val = jQuery.find.attr( elem, "value" ); - return val != null ? - val : - // Support: IE10-11+ - // option.text throws exceptions (#14686, #14858) - jQuery.trim( jQuery.text( elem ) ); - } - }, - select: { - get: function( elem ) { - var value, option, - options = elem.options, - index = elem.selectedIndex, - one = elem.type === "select-one" || index < 0, - values = one ? null : [], - max = one ? index + 1 : options.length, - i = index < 0 ? - max : - one ? index : 0; - - // Loop through all the selected options - for ( ; i < max; i++ ) { - option = options[ i ]; - - // IE6-9 doesn't update selected after form reset (#2551) - if ( ( option.selected || i === index ) && - // Don't return options that are disabled or in a disabled optgroup - ( support.optDisabled ? !option.disabled : option.getAttribute( "disabled" ) === null ) && - ( !option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) { - - // Get the specific value for the option - value = jQuery( option ).val(); - - // We don't need an array for one selects - if ( one ) { - return value; - } - - // Multi-Selects return an array - values.push( value ); - } - } - - return values; - }, - - set: function( elem, value ) { - var optionSet, option, - options = elem.options, - values = jQuery.makeArray( value ), - i = options.length; - - while ( i-- ) { - option = options[ i ]; - if ( (option.selected = jQuery.inArray( option.value, values ) >= 0) ) { - optionSet = true; - } - } - - // Force browsers to behave consistently when non-matching value is set - if ( !optionSet ) { - elem.selectedIndex = -1; - } - return values; - } - } - } -}); - -// Radios and checkboxes getter/setter -jQuery.each([ "radio", "checkbox" ], function() { - jQuery.valHooks[ this ] = { - set: function( elem, value ) { - if ( jQuery.isArray( value ) ) { - return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 ); - } - } - }; - if ( !support.checkOn ) { - jQuery.valHooks[ this ].get = function( elem ) { - return elem.getAttribute("value") === null ? "on" : elem.value; - }; - } -}); - - - - -// Return jQuery for attributes-only inclusion - - -jQuery.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( i, name ) { - - // Handle event binding - jQuery.fn[ name ] = function( data, fn ) { - return arguments.length > 0 ? - this.on( name, null, data, fn ) : - this.trigger( name ); - }; -}); - -jQuery.fn.extend({ - hover: function( fnOver, fnOut ) { - return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); - }, - - bind: function( types, data, fn ) { - return this.on( types, null, data, fn ); - }, - unbind: function( types, fn ) { - return this.off( types, null, fn ); - }, - - delegate: function( selector, types, data, fn ) { - return this.on( types, selector, data, fn ); - }, - undelegate: function( selector, types, fn ) { - // ( namespace ) or ( selector, types [, fn] ) - return arguments.length === 1 ? this.off( selector, "**" ) : this.off( types, selector || "**", fn ); - } -}); - - -var nonce = jQuery.now(); - -var rquery = (/\?/); - - - -// Support: Android 2.3 -// Workaround failure to string-cast null input -jQuery.parseJSON = function( data ) { - return JSON.parse( data + "" ); -}; - - -// Cross-browser xml parsing -jQuery.parseXML = function( data ) { - var xml, tmp; - if ( !data || typeof data !== "string" ) { - return null; - } - - // Support: IE9 - try { - tmp = new DOMParser(); - xml = tmp.parseFromString( data, "text/xml" ); - } catch ( e ) { - xml = undefined; - } - - if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { - jQuery.error( "Invalid XML: " + data ); - } - return xml; -}; - - -var - rhash = /#.*$/, - rts = /([?&])_=[^&]*/, - rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, - // #7653, #8125, #8152: local protocol detection - rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, - rnoContent = /^(?:GET|HEAD)$/, - rprotocol = /^\/\//, - rurl = /^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/, - - /* Prefilters - * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) - * 2) These are called: - * - BEFORE asking for a transport - * - AFTER param serialization (s.data is a string if s.processData is true) - * 3) key is the dataType - * 4) the catchall symbol "*" can be used - * 5) execution will start with transport dataType and THEN continue down to "*" if needed - */ - prefilters = {}, - - /* Transports bindings - * 1) key is the dataType - * 2) the catchall symbol "*" can be used - * 3) selection will start with transport dataType and THEN go to "*" if needed - */ - transports = {}, - - // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression - allTypes = "*/".concat( "*" ), - - // Document location - ajaxLocation = window.location.href, - - // Segment location into parts - ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || []; - -// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport -function addToPrefiltersOrTransports( structure ) { - - // dataTypeExpression is optional and defaults to "*" - return function( dataTypeExpression, func ) { - - if ( typeof dataTypeExpression !== "string" ) { - func = dataTypeExpression; - dataTypeExpression = "*"; - } - - var dataType, - i = 0, - dataTypes = dataTypeExpression.toLowerCase().match( rnotwhite ) || []; - - if ( jQuery.isFunction( func ) ) { - // For each dataType in the dataTypeExpression - while ( (dataType = dataTypes[i++]) ) { - // Prepend if requested - if ( dataType[0] === "+" ) { - dataType = dataType.slice( 1 ) || "*"; - (structure[ dataType ] = structure[ dataType ] || []).unshift( func ); - - // Otherwise append - } else { - (structure[ dataType ] = structure[ dataType ] || []).push( func ); - } - } - } - }; -} - -// Base inspection function for prefilters and transports -function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { - - var inspected = {}, - seekingTransport = ( structure === transports ); - - function inspect( dataType ) { - var selected; - inspected[ dataType ] = true; - jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { - var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); - if ( typeof dataTypeOrTransport === "string" && !seekingTransport && !inspected[ dataTypeOrTransport ] ) { - options.dataTypes.unshift( dataTypeOrTransport ); - inspect( dataTypeOrTransport ); - return false; - } else if ( seekingTransport ) { - return !( selected = dataTypeOrTransport ); - } - }); - return selected; - } - - return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); -} - -// A special extend for ajax options -// that takes "flat" options (not to be deep extended) -// Fixes #9887 -function ajaxExtend( target, src ) { - var key, deep, - flatOptions = jQuery.ajaxSettings.flatOptions || {}; - - for ( key in src ) { - if ( src[ key ] !== undefined ) { - ( flatOptions[ key ] ? target : ( deep || (deep = {}) ) )[ key ] = src[ key ]; - } - } - if ( deep ) { - jQuery.extend( true, target, deep ); - } - - return target; -} - -/* Handles responses to an ajax request: - * - finds the right dataType (mediates between content-type and expected dataType) - * - returns the corresponding response - */ -function ajaxHandleResponses( s, jqXHR, responses ) { - - var ct, type, finalDataType, firstDataType, - contents = s.contents, - dataTypes = s.dataTypes; - - // Remove auto dataType and get content-type in the process - while ( dataTypes[ 0 ] === "*" ) { - dataTypes.shift(); - if ( ct === undefined ) { - ct = s.mimeType || jqXHR.getResponseHeader("Content-Type"); - } - } - - // Check if we're dealing with a known content-type - if ( ct ) { - for ( type in contents ) { - if ( contents[ type ] && contents[ type ].test( ct ) ) { - dataTypes.unshift( type ); - break; - } - } - } - - // Check to see if we have a response for the expected dataType - if ( dataTypes[ 0 ] in responses ) { - finalDataType = dataTypes[ 0 ]; - } else { - // Try convertible dataTypes - for ( type in responses ) { - if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[0] ] ) { - finalDataType = type; - break; - } - if ( !firstDataType ) { - firstDataType = type; - } - } - // Or just use first one - finalDataType = finalDataType || firstDataType; - } - - // If we found a dataType - // We add the dataType to the list if needed - // and return the corresponding response - if ( finalDataType ) { - if ( finalDataType !== dataTypes[ 0 ] ) { - dataTypes.unshift( finalDataType ); - } - return responses[ finalDataType ]; - } -} - -/* Chain conversions given the request and the original response - * Also sets the responseXXX fields on the jqXHR instance - */ -function ajaxConvert( s, response, jqXHR, isSuccess ) { - var conv2, current, conv, tmp, prev, - converters = {}, - // Work with a copy of dataTypes in case we need to modify it for conversion - dataTypes = s.dataTypes.slice(); - - // Create converters map with lowercased keys - if ( dataTypes[ 1 ] ) { - for ( conv in s.converters ) { - converters[ conv.toLowerCase() ] = s.converters[ conv ]; - } - } - - current = dataTypes.shift(); - - // Convert to each sequential dataType - while ( current ) { - - if ( s.responseFields[ current ] ) { - jqXHR[ s.responseFields[ current ] ] = response; - } - - // Apply the dataFilter if provided - if ( !prev && isSuccess && s.dataFilter ) { - response = s.dataFilter( response, s.dataType ); - } - - prev = current; - current = dataTypes.shift(); - - if ( current ) { - - // There's only work to do if current dataType is non-auto - if ( current === "*" ) { - - current = prev; - - // Convert response if prev dataType is non-auto and differs from current - } else if ( prev !== "*" && prev !== current ) { - - // Seek a direct converter - conv = converters[ prev + " " + current ] || converters[ "* " + current ]; - - // If none found, seek a pair - if ( !conv ) { - for ( conv2 in converters ) { - - // If conv2 outputs current - tmp = conv2.split( " " ); - if ( tmp[ 1 ] === current ) { - - // If prev can be converted to accepted input - conv = converters[ prev + " " + tmp[ 0 ] ] || - converters[ "* " + tmp[ 0 ] ]; - if ( conv ) { - // Condense equivalence converters - if ( conv === true ) { - conv = converters[ conv2 ]; - - // Otherwise, insert the intermediate dataType - } else if ( converters[ conv2 ] !== true ) { - current = tmp[ 0 ]; - dataTypes.unshift( tmp[ 1 ] ); - } - break; - } - } - } - } - - // Apply converter (if not an equivalence) - if ( conv !== true ) { - - // Unless errors are allowed to bubble, catch and return them - if ( conv && s[ "throws" ] ) { - response = conv( response ); - } else { - try { - response = conv( response ); - } catch ( e ) { - return { state: "parsererror", error: conv ? e : "No conversion from " + prev + " to " + current }; - } - } - } - } - } - } - - return { state: "success", data: response }; -} - -jQuery.extend({ - - // Counter for holding the number of active queries - active: 0, - - // Last-Modified header cache for next request - lastModified: {}, - etag: {}, - - ajaxSettings: { - url: ajaxLocation, - type: "GET", - isLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ), - global: true, - processData: true, - async: true, - contentType: "application/x-www-form-urlencoded; charset=UTF-8", - /* - timeout: 0, - data: null, - dataType: null, - username: null, - password: null, - cache: null, - throws: false, - traditional: false, - headers: {}, - */ - - accepts: { - "*": allTypes, - text: "text/plain", - html: "text/html", - xml: "application/xml, text/xml", - json: "application/json, text/javascript" - }, - - contents: { - xml: /xml/, - html: /html/, - json: /json/ - }, - - responseFields: { - xml: "responseXML", - text: "responseText", - json: "responseJSON" - }, - - // Data converters - // Keys separate source (or catchall "*") and destination types with a single space - converters: { - - // Convert anything to text - "* text": String, - - // Text to html (true = no transformation) - "text html": true, - - // Evaluate text as a json expression - "text json": jQuery.parseJSON, - - // Parse text as xml - "text xml": jQuery.parseXML - }, - - // For options that shouldn't be deep extended: - // you can add your own custom options here if - // and when you create one that shouldn't be - // deep extended (see ajaxExtend) - flatOptions: { - url: true, - context: true - } - }, - - // Creates a full fledged settings object into target - // with both ajaxSettings and settings fields. - // If target is omitted, writes into ajaxSettings. - ajaxSetup: function( target, settings ) { - return settings ? - - // Building a settings object - ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : - - // Extending ajaxSettings - ajaxExtend( jQuery.ajaxSettings, target ); - }, - - ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), - ajaxTransport: addToPrefiltersOrTransports( transports ), - - // Main method - ajax: function( url, options ) { - - // If url is an object, simulate pre-1.5 signature - if ( typeof url === "object" ) { - options = url; - url = undefined; - } - - // Force options to be an object - options = options || {}; - - var transport, - // URL without anti-cache param - cacheURL, - // Response headers - responseHeadersString, - responseHeaders, - // timeout handle - timeoutTimer, - // Cross-domain detection vars - parts, - // To know if global events are to be dispatched - fireGlobals, - // Loop variable - i, - // Create the final options object - s = jQuery.ajaxSetup( {}, options ), - // Callbacks context - callbackContext = s.context || s, - // Context for global events is callbackContext if it is a DOM node or jQuery collection - globalEventContext = s.context && ( callbackContext.nodeType || callbackContext.jquery ) ? - jQuery( callbackContext ) : - jQuery.event, - // Deferreds - deferred = jQuery.Deferred(), - completeDeferred = jQuery.Callbacks("once memory"), - // Status-dependent callbacks - statusCode = s.statusCode || {}, - // Headers (they are sent all at once) - requestHeaders = {}, - requestHeadersNames = {}, - // The jqXHR state - state = 0, - // Default abort message - strAbort = "canceled", - // Fake xhr - jqXHR = { - readyState: 0, - - // Builds headers hashtable if needed - getResponseHeader: function( key ) { - var match; - if ( state === 2 ) { - if ( !responseHeaders ) { - responseHeaders = {}; - while ( (match = rheaders.exec( responseHeadersString )) ) { - responseHeaders[ match[1].toLowerCase() ] = match[ 2 ]; - } - } - match = responseHeaders[ key.toLowerCase() ]; - } - return match == null ? null : match; - }, - - // Raw string - getAllResponseHeaders: function() { - return state === 2 ? responseHeadersString : null; - }, - - // Caches the header - setRequestHeader: function( name, value ) { - var lname = name.toLowerCase(); - if ( !state ) { - name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name; - requestHeaders[ name ] = value; - } - return this; - }, - - // Overrides response content-type header - overrideMimeType: function( type ) { - if ( !state ) { - s.mimeType = type; - } - return this; - }, - - // Status-dependent callbacks - statusCode: function( map ) { - var code; - if ( map ) { - if ( state < 2 ) { - for ( code in map ) { - // Lazy-add the new callback in a way that preserves old ones - statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; - } - } else { - // Execute the appropriate callbacks - jqXHR.always( map[ jqXHR.status ] ); - } - } - return this; - }, - - // Cancel the request - abort: function( statusText ) { - var finalText = statusText || strAbort; - if ( transport ) { - transport.abort( finalText ); - } - done( 0, finalText ); - return this; - } - }; - - // Attach deferreds - deferred.promise( jqXHR ).complete = completeDeferred.add; - jqXHR.success = jqXHR.done; - jqXHR.error = jqXHR.fail; - - // Remove hash character (#7531: and string promotion) - // Add protocol if not provided (prefilters might expect it) - // Handle falsy url in the settings object (#10093: consistency with old signature) - // We also use the url parameter if available - s.url = ( ( url || s.url || ajaxLocation ) + "" ).replace( rhash, "" ) - .replace( rprotocol, ajaxLocParts[ 1 ] + "//" ); - - // Alias method option to type as per ticket #12004 - s.type = options.method || options.type || s.method || s.type; - - // Extract dataTypes list - s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().match( rnotwhite ) || [ "" ]; - - // A cross-domain request is in order when we have a protocol:host:port mismatch - if ( s.crossDomain == null ) { - parts = rurl.exec( s.url.toLowerCase() ); - s.crossDomain = !!( parts && - ( parts[ 1 ] !== ajaxLocParts[ 1 ] || parts[ 2 ] !== ajaxLocParts[ 2 ] || - ( parts[ 3 ] || ( parts[ 1 ] === "http:" ? "80" : "443" ) ) !== - ( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? "80" : "443" ) ) ) - ); - } - - // Convert data if not already a string - if ( s.data && s.processData && typeof s.data !== "string" ) { - s.data = jQuery.param( s.data, s.traditional ); - } - - // Apply prefilters - inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); - - // If request was aborted inside a prefilter, stop there - if ( state === 2 ) { - return jqXHR; - } - - // We can fire global events as of now if asked to - // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) - fireGlobals = jQuery.event && s.global; - - // Watch for a new set of requests - if ( fireGlobals && jQuery.active++ === 0 ) { - jQuery.event.trigger("ajaxStart"); - } - - // Uppercase the type - s.type = s.type.toUpperCase(); - - // Determine if request has content - s.hasContent = !rnoContent.test( s.type ); - - // Save the URL in case we're toying with the If-Modified-Since - // and/or If-None-Match header later on - cacheURL = s.url; - - // More options handling for requests with no content - if ( !s.hasContent ) { - - // If data is available, append data to url - if ( s.data ) { - cacheURL = ( s.url += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data ); - // #9682: remove data so that it's not used in an eventual retry - delete s.data; - } - - // Add anti-cache in url if needed - if ( s.cache === false ) { - s.url = rts.test( cacheURL ) ? - - // If there is already a '_' parameter, set its value - cacheURL.replace( rts, "$1_=" + nonce++ ) : - - // Otherwise add one to the end - cacheURL + ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + nonce++; - } - } - - // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. - if ( s.ifModified ) { - if ( jQuery.lastModified[ cacheURL ] ) { - jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); - } - if ( jQuery.etag[ cacheURL ] ) { - jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); - } - } - - // Set the correct header, if data is being sent - if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { - jqXHR.setRequestHeader( "Content-Type", s.contentType ); - } - - // Set the Accepts header for the server, depending on the dataType - jqXHR.setRequestHeader( - "Accept", - s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ? - s.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : - s.accepts[ "*" ] - ); - - // Check for headers option - for ( i in s.headers ) { - jqXHR.setRequestHeader( i, s.headers[ i ] ); - } - - // Allow custom headers/mimetypes and early abort - if ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) { - // Abort if not done already and return - return jqXHR.abort(); - } - - // Aborting is no longer a cancellation - strAbort = "abort"; - - // Install callbacks on deferreds - for ( i in { success: 1, error: 1, complete: 1 } ) { - jqXHR[ i ]( s[ i ] ); - } - - // Get transport - transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); - - // If no transport, we auto-abort - if ( !transport ) { - done( -1, "No Transport" ); - } else { - jqXHR.readyState = 1; - - // Send global event - if ( fireGlobals ) { - globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); - } - // Timeout - if ( s.async && s.timeout > 0 ) { - timeoutTimer = setTimeout(function() { - jqXHR.abort("timeout"); - }, s.timeout ); - } - - try { - state = 1; - transport.send( requestHeaders, done ); - } catch ( e ) { - // Propagate exception as error if not done - if ( state < 2 ) { - done( -1, e ); - // Simply rethrow otherwise - } else { - throw e; - } - } - } - - // Callback for when everything is done - function done( status, nativeStatusText, responses, headers ) { - var isSuccess, success, error, response, modified, - statusText = nativeStatusText; - - // Called once - if ( state === 2 ) { - return; - } - - // State is "done" now - state = 2; - - // Clear timeout if it exists - if ( timeoutTimer ) { - clearTimeout( timeoutTimer ); - } - - // Dereference transport for early garbage collection - // (no matter how long the jqXHR object will be used) - transport = undefined; - - // Cache response headers - responseHeadersString = headers || ""; - - // Set readyState - jqXHR.readyState = status > 0 ? 4 : 0; - - // Determine if successful - isSuccess = status >= 200 && status < 300 || status === 304; - - // Get response data - if ( responses ) { - response = ajaxHandleResponses( s, jqXHR, responses ); - } - - // Convert no matter what (that way responseXXX fields are always set) - response = ajaxConvert( s, response, jqXHR, isSuccess ); - - // If successful, handle type chaining - if ( isSuccess ) { - - // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. - if ( s.ifModified ) { - modified = jqXHR.getResponseHeader("Last-Modified"); - if ( modified ) { - jQuery.lastModified[ cacheURL ] = modified; - } - modified = jqXHR.getResponseHeader("etag"); - if ( modified ) { - jQuery.etag[ cacheURL ] = modified; - } - } - - // if no content - if ( status === 204 || s.type === "HEAD" ) { - statusText = "nocontent"; - - // if not modified - } else if ( status === 304 ) { - statusText = "notmodified"; - - // If we have data, let's convert it - } else { - statusText = response.state; - success = response.data; - error = response.error; - isSuccess = !error; - } - } else { - // Extract error from statusText and normalize for non-aborts - error = statusText; - if ( status || !statusText ) { - statusText = "error"; - if ( status < 0 ) { - status = 0; - } - } - } - - // Set data for the fake xhr object - jqXHR.status = status; - jqXHR.statusText = ( nativeStatusText || statusText ) + ""; - - // Success/Error - if ( isSuccess ) { - deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); - } else { - deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); - } - - // Status-dependent callbacks - jqXHR.statusCode( statusCode ); - statusCode = undefined; - - if ( fireGlobals ) { - globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", - [ jqXHR, s, isSuccess ? success : error ] ); - } - - // Complete - completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); - - if ( fireGlobals ) { - globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); - // Handle the global AJAX counter - if ( !( --jQuery.active ) ) { - jQuery.event.trigger("ajaxStop"); - } - } - } - - return jqXHR; - }, - - getJSON: function( url, data, callback ) { - return jQuery.get( url, data, callback, "json" ); - }, - - getScript: function( url, callback ) { - return jQuery.get( url, undefined, callback, "script" ); - } -}); - -jQuery.each( [ "get", "post" ], function( i, method ) { - jQuery[ method ] = function( url, data, callback, type ) { - // Shift arguments if data argument was omitted - if ( jQuery.isFunction( data ) ) { - type = type || callback; - callback = data; - data = undefined; - } - - return jQuery.ajax({ - url: url, - type: method, - dataType: type, - data: data, - success: callback - }); - }; -}); - - -jQuery._evalUrl = function( url ) { - return jQuery.ajax({ - url: url, - type: "GET", - dataType: "script", - async: false, - global: false, - "throws": true - }); -}; - - -jQuery.fn.extend({ - wrapAll: function( html ) { - var wrap; - - if ( jQuery.isFunction( html ) ) { - return this.each(function( i ) { - jQuery( this ).wrapAll( html.call(this, i) ); - }); - } - - if ( this[ 0 ] ) { - - // The elements to wrap the target around - wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); - - if ( this[ 0 ].parentNode ) { - wrap.insertBefore( this[ 0 ] ); - } - - wrap.map(function() { - var elem = this; - - while ( elem.firstElementChild ) { - elem = elem.firstElementChild; - } - - return elem; - }).append( this ); - } - - return this; - }, - - wrapInner: function( html ) { - if ( jQuery.isFunction( html ) ) { - return this.each(function( i ) { - jQuery( this ).wrapInner( html.call(this, i) ); - }); - } - - return this.each(function() { - var self = jQuery( this ), - contents = self.contents(); - - if ( contents.length ) { - contents.wrapAll( html ); - - } else { - self.append( html ); - } - }); - }, - - wrap: function( html ) { - var isFunction = jQuery.isFunction( html ); - - return this.each(function( i ) { - jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html ); - }); - }, - - unwrap: function() { - return this.parent().each(function() { - if ( !jQuery.nodeName( this, "body" ) ) { - jQuery( this ).replaceWith( this.childNodes ); - } - }).end(); - } -}); - - -jQuery.expr.filters.hidden = function( elem ) { - // Support: Opera <= 12.12 - // Opera reports offsetWidths and offsetHeights less than zero on some elements - return elem.offsetWidth <= 0 && elem.offsetHeight <= 0; -}; -jQuery.expr.filters.visible = function( elem ) { - return !jQuery.expr.filters.hidden( elem ); -}; - - - - -var r20 = /%20/g, - rbracket = /\[\]$/, - rCRLF = /\r?\n/g, - rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, - rsubmittable = /^(?:input|select|textarea|keygen)/i; - -function buildParams( prefix, obj, traditional, add ) { - var name; - - if ( jQuery.isArray( obj ) ) { - // Serialize array item. - jQuery.each( obj, function( i, v ) { - if ( traditional || rbracket.test( prefix ) ) { - // Treat each array item as a scalar. - add( prefix, v ); - - } else { - // Item is non-scalar (array or object), encode its numeric index. - buildParams( prefix + "[" + ( typeof v === "object" ? i : "" ) + "]", v, traditional, add ); - } - }); - - } else if ( !traditional && jQuery.type( obj ) === "object" ) { - // Serialize object item. - for ( name in obj ) { - buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); - } - - } else { - // Serialize scalar item. - add( prefix, obj ); - } -} - -// Serialize an array of form elements or a set of -// key/values into a query string -jQuery.param = function( a, traditional ) { - var prefix, - s = [], - add = function( key, value ) { - // If value is a function, invoke it and return its value - value = jQuery.isFunction( value ) ? value() : ( value == null ? "" : value ); - s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value ); - }; - - // Set traditional to true for jQuery <= 1.3.2 behavior. - if ( traditional === undefined ) { - traditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional; - } - - // If an array was passed in, assume that it is an array of form elements. - if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { - // Serialize the form elements - jQuery.each( a, function() { - add( this.name, this.value ); - }); - - } else { - // If traditional, encode the "old" way (the way 1.3.2 or older - // did it), otherwise encode params recursively. - for ( prefix in a ) { - buildParams( prefix, a[ prefix ], traditional, add ); - } - } - - // Return the resulting serialization - return s.join( "&" ).replace( r20, "+" ); -}; - -jQuery.fn.extend({ - serialize: function() { - return jQuery.param( this.serializeArray() ); - }, - serializeArray: function() { - return this.map(function() { - // Can add propHook for "elements" to filter or add form elements - var elements = jQuery.prop( this, "elements" ); - return elements ? jQuery.makeArray( elements ) : this; - }) - .filter(function() { - var type = this.type; - - // Use .is( ":disabled" ) so that fieldset[disabled] works - return this.name && !jQuery( this ).is( ":disabled" ) && - rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && - ( this.checked || !rcheckableType.test( type ) ); - }) - .map(function( i, elem ) { - var val = jQuery( this ).val(); - - return val == null ? - null : - jQuery.isArray( val ) ? - jQuery.map( val, function( val ) { - return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; - }) : - { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; - }).get(); - } -}); - - -jQuery.ajaxSettings.xhr = function() { - try { - return new XMLHttpRequest(); - } catch( e ) {} -}; - -var xhrId = 0, - xhrCallbacks = {}, - xhrSuccessStatus = { - // file protocol always yields status code 0, assume 200 - 0: 200, - // Support: IE9 - // #1450: sometimes IE returns 1223 when it should be 204 - 1223: 204 - }, - xhrSupported = jQuery.ajaxSettings.xhr(); - -// Support: IE9 -// Open requests must be manually aborted on unload (#5280) -// See https://support.microsoft.com/kb/2856746 for more info -if ( window.attachEvent ) { - window.attachEvent( "onunload", function() { - for ( var key in xhrCallbacks ) { - xhrCallbacks[ key ](); - } - }); -} - -support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); -support.ajax = xhrSupported = !!xhrSupported; - -jQuery.ajaxTransport(function( options ) { - var callback; - - // Cross domain only allowed if supported through XMLHttpRequest - if ( support.cors || xhrSupported && !options.crossDomain ) { - return { - send: function( headers, complete ) { - var i, - xhr = options.xhr(), - id = ++xhrId; - - xhr.open( options.type, options.url, options.async, options.username, options.password ); - - // Apply custom fields if provided - if ( options.xhrFields ) { - for ( i in options.xhrFields ) { - xhr[ i ] = options.xhrFields[ i ]; - } - } - - // Override mime type if needed - if ( options.mimeType && xhr.overrideMimeType ) { - xhr.overrideMimeType( options.mimeType ); - } - - // X-Requested-With header - // For cross-domain requests, seeing as conditions for a preflight are - // akin to a jigsaw puzzle, we simply never set it to be sure. - // (it can always be set on a per-request basis or even using ajaxSetup) - // For same-domain requests, won't change header if already provided. - if ( !options.crossDomain && !headers["X-Requested-With"] ) { - headers["X-Requested-With"] = "XMLHttpRequest"; - } - - // Set headers - for ( i in headers ) { - xhr.setRequestHeader( i, headers[ i ] ); - } - - // Callback - callback = function( type ) { - return function() { - if ( callback ) { - delete xhrCallbacks[ id ]; - callback = xhr.onload = xhr.onerror = null; - - if ( type === "abort" ) { - xhr.abort(); - } else if ( type === "error" ) { - complete( - // file: protocol always yields status 0; see #8605, #14207 - xhr.status, - xhr.statusText - ); - } else { - complete( - xhrSuccessStatus[ xhr.status ] || xhr.status, - xhr.statusText, - // Support: IE9 - // Accessing binary-data responseText throws an exception - // (#11426) - typeof xhr.responseText === "string" ? { - text: xhr.responseText - } : undefined, - xhr.getAllResponseHeaders() - ); - } - } - }; - }; - - // Listen to events - xhr.onload = callback(); - xhr.onerror = callback("error"); - - // Create the abort callback - callback = xhrCallbacks[ id ] = callback("abort"); - - try { - // Do send the request (this may raise an exception) - xhr.send( options.hasContent && options.data || null ); - } catch ( e ) { - // #14683: Only rethrow if this hasn't been notified as an error yet - if ( callback ) { - throw e; - } - } - }, - - abort: function() { - if ( callback ) { - callback(); - } - } - }; - } -}); - - - - -// Install script dataType -jQuery.ajaxSetup({ - accepts: { - script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" - }, - contents: { - script: /(?:java|ecma)script/ - }, - converters: { - "text script": function( text ) { - jQuery.globalEval( text ); - return text; - } - } -}); - -// Handle cache's special case and crossDomain -jQuery.ajaxPrefilter( "script", function( s ) { - if ( s.cache === undefined ) { - s.cache = false; - } - if ( s.crossDomain ) { - s.type = "GET"; - } -}); - -// Bind script tag hack transport -jQuery.ajaxTransport( "script", function( s ) { - // This transport only deals with cross domain requests - if ( s.crossDomain ) { - var script, callback; - return { - send: function( _, complete ) { - script = jQuery("<script>").prop({ - async: true, - charset: s.scriptCharset, - src: s.url - }).on( - "load error", - callback = function( evt ) { - script.remove(); - callback = null; - if ( evt ) { - complete( evt.type === "error" ? 404 : 200, evt.type ); - } - } - ); - document.head.appendChild( script[ 0 ] ); - }, - abort: function() { - if ( callback ) { - callback(); - } - } - }; - } -}); - - - - -var oldCallbacks = [], - rjsonp = /(=)\?(?=&|$)|\?\?/; - -// Default jsonp settings -jQuery.ajaxSetup({ - jsonp: "callback", - jsonpCallback: function() { - var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) ); - this[ callback ] = true; - return callback; - } -}); - -// Detect, normalize options and install callbacks for jsonp requests -jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { - - var callbackName, overwritten, responseContainer, - jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ? - "url" : - typeof s.data === "string" && !( s.contentType || "" ).indexOf("application/x-www-form-urlencoded") && rjsonp.test( s.data ) && "data" - ); - - // Handle iff the expected data type is "jsonp" or we have a parameter to set - if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) { - - // Get callback name, remembering preexisting value associated with it - callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ? - s.jsonpCallback() : - s.jsonpCallback; - - // Insert callback into url or form data - if ( jsonProp ) { - s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName ); - } else if ( s.jsonp !== false ) { - s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; - } - - // Use data converter to retrieve json after script execution - s.converters["script json"] = function() { - if ( !responseContainer ) { - jQuery.error( callbackName + " was not called" ); - } - return responseContainer[ 0 ]; - }; - - // force json dataType - s.dataTypes[ 0 ] = "json"; - - // Install callback - overwritten = window[ callbackName ]; - window[ callbackName ] = function() { - responseContainer = arguments; - }; - - // Clean-up function (fires after converters) - jqXHR.always(function() { - // Restore preexisting value - window[ callbackName ] = overwritten; - - // Save back as free - if ( s[ callbackName ] ) { - // make sure that re-using the options doesn't screw things around - s.jsonpCallback = originalSettings.jsonpCallback; - - // save the callback name for future use - oldCallbacks.push( callbackName ); - } - - // Call if it was a function and we have a response - if ( responseContainer && jQuery.isFunction( overwritten ) ) { - overwritten( responseContainer[ 0 ] ); - } - - responseContainer = overwritten = undefined; - }); - - // Delegate to script - return "script"; - } -}); - - - - -// data: string of html -// context (optional): If specified, the fragment will be created in this context, defaults to document -// keepScripts (optional): If true, will include scripts passed in the html string -jQuery.parseHTML = function( data, context, keepScripts ) { - if ( !data || typeof data !== "string" ) { - return null; - } - if ( typeof context === "boolean" ) { - keepScripts = context; - context = false; - } - context = context || document; - - var parsed = rsingleTag.exec( data ), - scripts = !keepScripts && []; - - // Single tag - if ( parsed ) { - return [ context.createElement( parsed[1] ) ]; - } - - parsed = jQuery.buildFragment( [ data ], context, scripts ); - - if ( scripts && scripts.length ) { - jQuery( scripts ).remove(); - } - - return jQuery.merge( [], parsed.childNodes ); -}; - - -// Keep a copy of the old load method -var _load = jQuery.fn.load; - -/** - * Load a url into a page - */ -jQuery.fn.load = function( url, params, callback ) { - if ( typeof url !== "string" && _load ) { - return _load.apply( this, arguments ); - } - - var selector, type, response, - self = this, - off = url.indexOf(" "); - - if ( off >= 0 ) { - selector = jQuery.trim( url.slice( off ) ); - url = url.slice( 0, off ); - } - - // If it's a function - if ( jQuery.isFunction( params ) ) { - - // We assume that it's the callback - callback = params; - params = undefined; - - // Otherwise, build a param string - } else if ( params && typeof params === "object" ) { - type = "POST"; - } - - // If we have elements to modify, make the request - if ( self.length > 0 ) { - jQuery.ajax({ - url: url, - - // if "type" variable is undefined, then "GET" method will be used - type: type, - dataType: "html", - data: params - }).done(function( responseText ) { - - // Save response for use in complete callback - response = arguments; - - self.html( selector ? - - // If a selector was specified, locate the right elements in a dummy div - // Exclude scripts to avoid IE 'Permission Denied' errors - jQuery("<div>").append( jQuery.parseHTML( responseText ) ).find( selector ) : - - // Otherwise use the full result - responseText ); - - }).complete( callback && function( jqXHR, status ) { - self.each( callback, response || [ jqXHR.responseText, status, jqXHR ] ); - }); - } - - return this; -}; - - - - -// Attach a bunch of functions for handling common AJAX events -jQuery.each( [ "ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend" ], function( i, type ) { - jQuery.fn[ type ] = function( fn ) { - return this.on( type, fn ); - }; -}); - - - - -jQuery.expr.filters.animated = function( elem ) { - return jQuery.grep(jQuery.timers, function( fn ) { - return elem === fn.elem; - }).length; -}; - - - - -var docElem = window.document.documentElement; - -/** - * Gets a window from an element - */ -function getWindow( elem ) { - return jQuery.isWindow( elem ) ? elem : elem.nodeType === 9 && elem.defaultView; -} - -jQuery.offset = { - setOffset: function( elem, options, i ) { - var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition, - position = jQuery.css( elem, "position" ), - curElem = jQuery( elem ), - props = {}; - - // Set position first, in-case top/left are set even on static elem - if ( position === "static" ) { - elem.style.position = "relative"; - } - - curOffset = curElem.offset(); - curCSSTop = jQuery.css( elem, "top" ); - curCSSLeft = jQuery.css( elem, "left" ); - calculatePosition = ( position === "absolute" || position === "fixed" ) && - ( curCSSTop + curCSSLeft ).indexOf("auto") > -1; - - // Need to be able to calculate position if either - // top or left is auto and position is either absolute or fixed - if ( calculatePosition ) { - curPosition = curElem.position(); - curTop = curPosition.top; - curLeft = curPosition.left; - - } else { - curTop = parseFloat( curCSSTop ) || 0; - curLeft = parseFloat( curCSSLeft ) || 0; - } - - if ( jQuery.isFunction( options ) ) { - options = options.call( elem, i, curOffset ); - } - - if ( options.top != null ) { - props.top = ( options.top - curOffset.top ) + curTop; - } - if ( options.left != null ) { - props.left = ( options.left - curOffset.left ) + curLeft; - } - - if ( "using" in options ) { - options.using.call( elem, props ); - - } else { - curElem.css( props ); - } - } -}; - -jQuery.fn.extend({ - offset: function( options ) { - if ( arguments.length ) { - return options === undefined ? - this : - this.each(function( i ) { - jQuery.offset.setOffset( this, options, i ); - }); - } - - var docElem, win, - elem = this[ 0 ], - box = { top: 0, left: 0 }, - doc = elem && elem.ownerDocument; - - if ( !doc ) { - return; - } - - docElem = doc.documentElement; - - // Make sure it's not a disconnected DOM node - if ( !jQuery.contains( docElem, elem ) ) { - return box; - } - - // Support: BlackBerry 5, iOS 3 (original iPhone) - // If we don't have gBCR, just use 0,0 rather than error - if ( typeof elem.getBoundingClientRect !== strundefined ) { - box = elem.getBoundingClientRect(); - } - win = getWindow( doc ); - return { - top: box.top + win.pageYOffset - docElem.clientTop, - left: box.left + win.pageXOffset - docElem.clientLeft - }; - }, - - position: function() { - if ( !this[ 0 ] ) { - return; - } - - var offsetParent, offset, - elem = this[ 0 ], - parentOffset = { top: 0, left: 0 }; - - // Fixed elements are offset from window (parentOffset = {top:0, left: 0}, because it is its only offset parent - if ( jQuery.css( elem, "position" ) === "fixed" ) { - // Assume getBoundingClientRect is there when computed position is fixed - offset = elem.getBoundingClientRect(); - - } else { - // Get *real* offsetParent - offsetParent = this.offsetParent(); - - // Get correct offsets - offset = this.offset(); - if ( !jQuery.nodeName( offsetParent[ 0 ], "html" ) ) { - parentOffset = offsetParent.offset(); - } - - // Add offsetParent borders - parentOffset.top += jQuery.css( offsetParent[ 0 ], "borderTopWidth", true ); - parentOffset.left += jQuery.css( offsetParent[ 0 ], "borderLeftWidth", true ); - } - - // Subtract parent offsets and element margins - return { - top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ), - left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true ) - }; - }, - - offsetParent: function() { - return this.map(function() { - var offsetParent = this.offsetParent || docElem; - - while ( offsetParent && ( !jQuery.nodeName( offsetParent, "html" ) && jQuery.css( offsetParent, "position" ) === "static" ) ) { - offsetParent = offsetParent.offsetParent; - } - - return offsetParent || docElem; - }); - } -}); - -// Create scrollLeft and scrollTop methods -jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) { - var top = "pageYOffset" === prop; - - jQuery.fn[ method ] = function( val ) { - return access( this, function( elem, method, val ) { - var win = getWindow( elem ); - - if ( val === undefined ) { - return win ? win[ prop ] : elem[ method ]; - } - - if ( win ) { - win.scrollTo( - !top ? val : window.pageXOffset, - top ? val : window.pageYOffset - ); - - } else { - elem[ method ] = val; - } - }, method, val, arguments.length, null ); - }; -}); - -// Support: Safari<7+, Chrome<37+ -// Add the top/left cssHooks using jQuery.fn.position -// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 -// Blink bug: https://code.google.com/p/chromium/issues/detail?id=229280 -// getComputedStyle returns percent when specified for top/left/bottom/right; -// rather than make the css module depend on the offset module, just check for it here -jQuery.each( [ "top", "left" ], function( i, prop ) { - jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition, - function( elem, computed ) { - if ( computed ) { - computed = curCSS( elem, prop ); - // If curCSS returns percentage, fallback to offset - return rnumnonpx.test( computed ) ? - jQuery( elem ).position()[ prop ] + "px" : - computed; - } - } - ); -}); - - -// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods -jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { - jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, function( defaultExtra, funcName ) { - // Margin is only for outerHeight, outerWidth - jQuery.fn[ funcName ] = function( margin, value ) { - var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), - extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); - - return access( this, function( elem, type, value ) { - var doc; - - if ( jQuery.isWindow( elem ) ) { - // As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there - // isn't a whole lot we can do. See pull request at this URL for discussion: - // https://github.com/jquery/jquery/pull/764 - return elem.document.documentElement[ "client" + name ]; - } - - // Get document width or height - if ( elem.nodeType === 9 ) { - doc = elem.documentElement; - - // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], - // whichever is greatest - return Math.max( - elem.body[ "scroll" + name ], doc[ "scroll" + name ], - elem.body[ "offset" + name ], doc[ "offset" + name ], - doc[ "client" + name ] - ); - } - - return value === undefined ? - // Get width or height on the element, requesting but not forcing parseFloat - jQuery.css( elem, type, extra ) : - - // Set width or height on the element - jQuery.style( elem, type, value, extra ); - }, type, chainable ? margin : undefined, chainable, null ); - }; - }); -}); - - -// The number of elements contained in the matched element set -jQuery.fn.size = function() { - return this.length; -}; - -jQuery.fn.andSelf = jQuery.fn.addBack; - - - - -// Register as a named AMD module, since jQuery can be concatenated with other -// files that may use define, but not via a proper concatenation script that -// understands anonymous AMD modules. A named AMD is safest and most robust -// way to register. Lowercase jquery is used because AMD module names are -// derived from file names, and jQuery is normally delivered in a lowercase -// file name. Do this after creating the global so that if an AMD module wants -// to call noConflict to hide this version of jQuery, it will work. - -// Note that for maximum portability, libraries that are not jQuery should -// declare themselves as anonymous modules, and avoid setting a global if an -// AMD loader is present. jQuery is a special case. For more information, see -// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon - -if ( typeof define === "function" && define.amd ) { - define( "jquery", [], function() { - return jQuery; - }); -} - - - - -var - // Map over jQuery in case of overwrite - _jQuery = window.jQuery, - - // Map over the $ in case of overwrite - _$ = window.$; - -jQuery.noConflict = function( deep ) { - if ( window.$ === jQuery ) { - window.$ = _$; - } - - if ( deep && window.jQuery === jQuery ) { - window.jQuery = _jQuery; - } - - return jQuery; -}; - -// Expose jQuery and $ identifiers, even in AMD -// (#7102#comment:10, https://github.com/jquery/jquery/pull/557) -// and CommonJS for browser emulators (#13566) -if ( typeof noGlobal === strundefined ) { - window.jQuery = window.$ = jQuery; -} - - - - -return jQuery; - -})); diff --git a/ucoinj-ui-wicket/src/main/webapp/js/jquery-2.1.4.min.js b/ucoinj-ui-wicket/src/main/webapp/js/jquery-2.1.4.min.js deleted file mode 100644 index c9f8bf8b1b16b36fef6196086ac27d5e5c8a8032..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/js/jquery-2.1.4.min.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * #%L - * uCoinj :: UI Wicket - * %% - * Copyright (C) 2014 - 2016 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! jQuery v2.1.4 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ -!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b="length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\f]' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function qa(){}qa.prototype=d.filters=d.pseudos,d.setFilters=new qa,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function ra(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){ -return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=L.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var Q=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,R=["Top","Right","Bottom","Left"],S=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)},T=/^(?:checkbox|radio)$/i;!function(){var a=l.createDocumentFragment(),b=a.appendChild(l.createElement("div")),c=l.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button;return null==a.pageX&&null!=b.clientX&&(c=a.target.ownerDocument||l,d=c.documentElement,e=c.body,a.pageX=b.clientX+(d&&d.scrollLeft||e&&e.scrollLeft||0)-(d&&d.clientLeft||e&&e.clientLeft||0),a.pageY=b.clientY+(d&&d.scrollTop||e&&e.scrollTop||0)-(d&&d.clientTop||e&&e.clientTop||0)),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},fix:function(a){if(a[n.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=W.test(e)?this.mouseHooks:V.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new n.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=l),3===a.target.nodeType&&(a.target=a.target.parentNode),g.filter?g.filter(a,f):a},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==_()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===_()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&n.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=n.extend(new n.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?n.event.trigger(e,null,b):n.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?Z:$):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={isDefaultPrevented:$,isPropagationStopped:$,isImmediatePropagationStopped:$,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=Z,a&&a.preventDefault&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=Z,a&&a.stopPropagation&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=Z,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!n.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.focusinBubbles||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a),!0)};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=L.access(d,b);e||d.addEventListener(a,c,!0),L.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=L.access(d,b)-1;e?L.access(d,b,e):(d.removeEventListener(a,c,!0),L.remove(d,b))}}}),n.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(g in a)this.on(g,b,c,a[g],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=$;else if(!d)return this;return 1===e&&(f=d,d=function(a){return n().off(a),f.apply(this,arguments)},d.guid=f.guid||(f.guid=n.guid++)),this.each(function(){n.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=$),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});var aa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,ba=/<([\w:]+)/,ca=/<|&#?\w+;/,da=/<(?:script|style|link)/i,ea=/checked\s*(?:[^=]|=\s*.checked.)/i,fa=/^$|\/(?:java|ecma)script/i,ga=/^true\/(.*)/,ha=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ia={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,"",""]};ia.optgroup=ia.option,ia.tbody=ia.tfoot=ia.colgroup=ia.caption=ia.thead,ia.th=ia.td;function ja(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function ka(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function la(a){var b=ga.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function ma(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function na(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function oa(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pa(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=oa(h),f=oa(a),d=0,e=f.length;e>d;d++)pa(f[d],g[d]);if(b)if(c)for(f=f||oa(a),g=g||oa(h),d=0,e=f.length;e>d;d++)na(f[d],g[d]);else na(a,h);return g=oa(h,"script"),g.length>0&&ma(g,!i&&oa(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(ca.test(e)){f=f||k.appendChild(b.createElement("div")),g=(ba.exec(e)||["",""])[1].toLowerCase(),h=ia[g]||ia._default,f.innerHTML=h[1]+e.replace(aa,"<$1></$2>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=oa(k.appendChild(e),"script"),i&&ma(f),c)){j=0;while(e=f[j++])fa.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(oa(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&ma(oa(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(oa(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!da.test(a)&&!ia[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(aa,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(oa(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(oa(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&ea.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(oa(c,"script"),ka),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,oa(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,la),j=0;g>j;j++)h=f[j],fa.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(ha,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qa,ra={};function sa(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function ta(a){var b=l,c=ra[a];return c||(c=sa(a,b),"none"!==c&&c||(qa=(qa||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=qa[0].contentDocument,b.write(),b.close(),c=sa(a,b),qa.detach()),ra[a]=c),c}var ua=/^margin/,va=new RegExp("^("+Q+")(?!px)[a-z%]+$","i"),wa=function(b){return b.ownerDocument.defaultView.opener?b.ownerDocument.defaultView.getComputedStyle(b,null):a.getComputedStyle(b,null)};function xa(a,b,c){var d,e,f,g,h=a.style;return c=c||wa(a),c&&(g=c.getPropertyValue(b)||c[b]),c&&(""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),va.test(g)&&ua.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function ya(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d=l.documentElement,e=l.createElement("div"),f=l.createElement("div");if(f.style){f.style.backgroundClip="content-box",f.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===f.style.backgroundClip,e.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",e.appendChild(f);function g(){f.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",f.innerHTML="",d.appendChild(e);var g=a.getComputedStyle(f,null);b="1%"!==g.top,c="4px"===g.width,d.removeChild(e)}a.getComputedStyle&&n.extend(k,{pixelPosition:function(){return g(),b},boxSizingReliable:function(){return null==c&&g(),c},reliableMarginRight:function(){var b,c=f.appendChild(l.createElement("div"));return c.style.cssText=f.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",f.style.width="1px",d.appendChild(e),b=!parseFloat(a.getComputedStyle(c,null).marginRight),d.removeChild(e),f.removeChild(c),b}})}}(),n.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var za=/^(none|table(?!-c[ea]).+)/,Aa=new RegExp("^("+Q+")(.*)$","i"),Ba=new RegExp("^([+-])=("+Q+")","i"),Ca={position:"absolute",visibility:"hidden",display:"block"},Da={letterSpacing:"0",fontWeight:"400"},Ea=["Webkit","O","Moz","ms"];function Fa(a,b){if(b in a)return b;var c=b[0].toUpperCase()+b.slice(1),d=b,e=Ea.length;while(e--)if(b=Ea[e]+c,b in a)return b;return d}function Ga(a,b,c){var d=Aa.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Ha(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+R[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+R[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+R[f]+"Width",!0,e))):(g+=n.css(a,"padding"+R[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+R[f]+"Width",!0,e)));return g}function Ia(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=wa(a),g="border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=xa(a,b,f),(0>e||null==e)&&(e=a.style[b]),va.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Ha(a,b,c||(g?"border":"content"),d,f)+"px"}function Ja(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=L.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&S(d)&&(f[g]=L.access(d,"olddisplay",ta(d.nodeName)))):(e=S(d),"none"===c&&e||L.set(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=xa(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;return b=n.cssProps[h]||(n.cssProps[h]=Fa(i,h)),g=n.cssHooks[b]||n.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=Ba.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(n.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||n.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Fa(a.style,h)),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=xa(a,b,d)),"normal"===e&&b in Da&&(e=Da[b]),""===c||c?(f=parseFloat(e),c===!0||n.isNumeric(f)?f||0:e):e}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?za.test(n.css(a,"display"))&&0===a.offsetWidth?n.swap(a,Ca,function(){return Ia(a,b,d)}):Ia(a,b,d):void 0},set:function(a,c,d){var e=d&&wa(a);return Ga(a,c,d?Ha(a,b,d,"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),n.cssHooks.marginRight=ya(k.reliableMarginRight,function(a,b){return b?n.swap(a,{display:"inline-block"},xa,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+R[d]+b]=f[d]||f[d-2]||f[0];return e}},ua.test(a)||(n.cssHooks[a+b].set=Ga)}),n.fn.extend({css:function(a,b){return J(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=wa(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return Ja(this,!0)},hide:function(){return Ja(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){S(this)?n(this).show():n(this).hide()})}});function Ka(a,b,c,d,e){return new Ka.prototype.init(a,b,c,d,e)}n.Tween=Ka,Ka.prototype={constructor:Ka,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=Ka.propHooks[this.prop];return a&&a.get?a.get(this):Ka.propHooks._default.get(this)},run:function(a){var b,c=Ka.propHooks[this.prop];return this.options.duration?this.pos=b=n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Ka.propHooks._default.set(this),this}},Ka.prototype.init.prototype=Ka.prototype,Ka.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[n.cssProps[a.prop]]||n.cssHooks[a.prop])?n.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Ka.propHooks.scrollTop=Ka.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},n.fx=Ka.prototype.init,n.fx.step={};var La,Ma,Na=/^(?:toggle|show|hide)$/,Oa=new RegExp("^(?:([+-])=|)("+Q+")([a-z%]*)$","i"),Pa=/queueHooks$/,Qa=[Va],Ra={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=Oa.exec(b),f=e&&e[3]||(n.cssNumber[a]?"":"px"),g=(n.cssNumber[a]||"px"!==f&&+d)&&Oa.exec(n.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,n.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function Sa(){return setTimeout(function(){La=void 0}),La=n.now()}function Ta(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=R[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function Ua(a,b,c){for(var d,e=(Ra[b]||[]).concat(Ra["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function Va(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},o=a.style,p=a.nodeType&&S(a),q=L.get(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=n.css(a,"display"),k="none"===j?L.get(a,"olddisplay")||ta(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(o.display="inline-block")),c.overflow&&(o.overflow="hidden",l.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],Na.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}m[d]=q&&q[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(m))"inline"===("none"===j?ta(a.nodeName):j)&&(o.display=j);else{q?"hidden"in q&&(p=q.hidden):q=L.access(a,"fxshow",{}),f&&(q.hidden=!p),p?n(a).show():l.done(function(){n(a).hide()}),l.done(function(){var b;L.remove(a,"fxshow");for(b in m)n.style(a,b,m[b])});for(d in m)g=Ua(p?q[d]:0,d,l),d in q||(q[d]=g.start,p&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function Wa(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function Xa(a,b,c){var d,e,f=0,g=Qa.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=La||Sa(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:La||Sa(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(Wa(k,j.opts.specialEasing);g>f;f++)if(d=Qa[f].call(j,a,k,j.opts))return d;return n.map(k,Ua,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(Xa,{tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],Ra[c]=Ra[c]||[],Ra[c].unshift(b)},prefilter:function(a,b){b?Qa.unshift(a):Qa.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(S).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=Xa(this,n.extend({},a),f);(e||L.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=L.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&Pa.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=L.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(Ta(b,!0),a,d,e)}}),n.each({slideDown:Ta("show"),slideUp:Ta("hide"),slideToggle:Ta("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=0,c=n.timers;for(La=n.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||n.fx.stop(),La=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){Ma||(Ma=setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){clearInterval(Ma),Ma=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(a,b){return a=n.fx?n.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a=l.createElement("input"),b=l.createElement("select"),c=b.appendChild(l.createElement("option"));a.type="checkbox",k.checkOn=""!==a.value,k.optSelected=c.selected,b.disabled=!0,k.optDisabled=!c.disabled,a=l.createElement("input"),a.value="t",a.type="radio",k.radioValue="t"===a.value}();var Ya,Za,$a=n.expr.attrHandle;n.fn.extend({attr:function(a,b){return J(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===U?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),d=n.attrHooks[b]||(n.expr.match.bool.test(b)?Za:Ya)), -void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void n.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),Za={set:function(a,b,c){return b===!1?n.removeAttr(a,c):a.setAttribute(c,c),c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=$a[b]||n.find.attr;$a[b]=function(a,b,d){var e,f;return d||(f=$a[b],$a[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,$a[b]=f),e}});var _a=/^(?:input|select|textarea|button)$/i;n.fn.extend({prop:function(a,b){return J(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[n.propFix[a]||a]})}}),n.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!n.isXMLDoc(a),f&&(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){return a.hasAttribute("tabindex")||_a.test(a.nodeName)||a.href?a.tabIndex:-1}}}}),k.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this});var ab=/[\t\r\n\f]/g;n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h="string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ab," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=n.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0===arguments.length||"string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ab," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?n.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(n.isFunction(a)?function(c){n(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=n(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===U||"boolean"===c)&&(this.className&&L.set(this,"__className__",this.className),this.className=this.className||a===!1?"":L.get(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ab," ").indexOf(b)>=0)return!0;return!1}});var bb=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(bb,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=n.inArray(d.value,f)>=0)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>=0:void 0}},k.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var cb=n.now(),db=/\?/;n.parseJSON=function(a){return JSON.parse(a+"")},n.parseXML=function(a){var b,c;if(!a||"string"!=typeof a)return null;try{c=new DOMParser,b=c.parseFromString(a,"text/xml")}catch(d){b=void 0}return(!b||b.getElementsByTagName("parsererror").length)&&n.error("Invalid XML: "+a),b};var eb=/#.*$/,fb=/([?&])_=[^&]*/,gb=/^(.*?):[ \t]*([^\r\n]*)$/gm,hb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,ib=/^(?:GET|HEAD)$/,jb=/^\/\//,kb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,lb={},mb={},nb="*/".concat("*"),ob=a.location.href,pb=kb.exec(ob.toLowerCase())||[];function qb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(n.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function rb(a,b,c,d){var e={},f=a===mb;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function sb(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&n.extend(!0,a,d),a}function tb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function ub(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:ob,type:"GET",isLocal:hb.test(pb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":nb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?sb(sb(a,n.ajaxSettings),b):sb(n.ajaxSettings,a)},ajaxPrefilter:qb(lb),ajaxTransport:qb(mb),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=n.ajaxSetup({},b),l=k.context||k,m=k.context&&(l.nodeType||l.jquery)?n(l):n.event,o=n.Deferred(),p=n.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!f){f={};while(b=gb.exec(e))f[b[1].toLowerCase()]=b[2]}b=f[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?e:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return c&&c.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||ob)+"").replace(eb,"").replace(jb,pb[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=n.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(h=kb.exec(k.url.toLowerCase()),k.crossDomain=!(!h||h[1]===pb[1]&&h[2]===pb[2]&&(h[3]||("http:"===h[1]?"80":"443"))===(pb[3]||("http:"===pb[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=n.param(k.data,k.traditional)),rb(lb,k,b,v),2===t)return v;i=n.event&&k.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!ib.test(k.type),d=k.url,k.hasContent||(k.data&&(d=k.url+=(db.test(d)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=fb.test(d)?d.replace(fb,"$1_="+cb++):d+(db.test(d)?"&":"?")+"_="+cb++)),k.ifModified&&(n.lastModified[d]&&v.setRequestHeader("If-Modified-Since",n.lastModified[d]),n.etag[d]&&v.setRequestHeader("If-None-Match",n.etag[d])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+nb+"; q=0.01":""):k.accepts["*"]);for(j in k.headers)v.setRequestHeader(j,k.headers[j]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(j in{success:1,error:1,complete:1})v[j](k[j]);if(c=rb(mb,k,b,v)){v.readyState=1,i&&m.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,c.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,f,h){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),c=void 0,e=h||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,f&&(u=tb(k,v,f)),u=ub(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(n.lastModified[d]=w),w=v.getResponseHeader("etag"),w&&(n.etag[d]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,i&&m.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),i&&(m.trigger("ajaxComplete",[v,k]),--n.active||n.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){var b;return n.isFunction(a)?this.each(function(b){n(this).wrapAll(a.call(this,b))}):(this[0]&&(b=n(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return this.each(n.isFunction(a)?function(b){n(this).wrapInner(a.call(this,b))}:function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var vb=/%20/g,wb=/\[\]$/,xb=/\r?\n/g,yb=/^(?:submit|button|image|reset|file)$/i,zb=/^(?:input|select|textarea|keygen)/i;function Ab(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||wb.test(a)?d(a,e):Ab(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Ab(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Ab(c,a[c],b,e);return d.join("&").replace(vb,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&zb.test(this.nodeName)&&!yb.test(a)&&(this.checked||!T.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(xb,"\r\n")}}):{name:b.name,value:c.replace(xb,"\r\n")}}).get()}}),n.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(a){}};var Bb=0,Cb={},Db={0:200,1223:204},Eb=n.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in Cb)Cb[a]()}),k.cors=!!Eb&&"withCredentials"in Eb,k.ajax=Eb=!!Eb,n.ajaxTransport(function(a){var b;return k.cors||Eb&&!a.crossDomain?{send:function(c,d){var e,f=a.xhr(),g=++Bb;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)f.setRequestHeader(e,c[e]);b=function(a){return function(){b&&(delete Cb[g],b=f.onload=f.onerror=null,"abort"===a?f.abort():"error"===a?d(f.status,f.statusText):d(Db[f.status]||f.status,f.statusText,"string"==typeof f.responseText?{text:f.responseText}:void 0,f.getAllResponseHeaders()))}},f.onload=b(),f.onerror=b("error"),b=Cb[g]=b("abort");try{f.send(a.hasContent&&a.data||null)}catch(h){if(b)throw h}},abort:function(){b&&b()}}:void 0}),n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=n("<script>").prop({async:!0,charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&e("error"===a.type?404:200,a.type)}),l.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Fb=[],Gb=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Fb.pop()||n.expando+"_"+cb++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Gb.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Gb.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Gb,"$1"+e):b.jsonp!==!1&&(b.url+=(db.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Fb.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||l;var d=v.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=n.buildFragment([a],b,e),e&&e.length&&n(e).remove(),n.merge([],d.childNodes))};var Hb=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&Hb)return Hb.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=n.trim(a.slice(h)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e,dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,f||[a.responseText,b,a])}),this},n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};var Ib=a.document.documentElement;function Jb(a){return n.isWindow(a)?a:9===a.nodeType&&a.defaultView}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d=this[0],e={top:0,left:0},f=d&&d.ownerDocument;if(f)return b=f.documentElement,n.contains(b,d)?(typeof d.getBoundingClientRect!==U&&(e=d.getBoundingClientRect()),c=Jb(f),{top:e.top+c.pageYOffset-b.clientTop,left:e.left+c.pageXOffset-b.clientLeft}):e},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===n.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(d=a.offset()),d.top+=n.css(a[0],"borderTopWidth",!0),d.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-d.top-n.css(c,"marginTop",!0),left:b.left-d.left-n.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||Ib;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Ib})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(b,c){var d="pageYOffset"===c;n.fn[b]=function(e){return J(this,function(b,e,f){var g=Jb(b);return void 0===f?g?g[c]:b[e]:void(g?g.scrollTo(d?a.pageXOffset:f,d?f:a.pageYOffset):b[e]=f)},b,e,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=ya(k.pixelPosition,function(a,c){return c?(c=xa(a,b),va.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return J(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var Kb=a.jQuery,Lb=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=Lb),b&&a.jQuery===n&&(a.jQuery=Kb),n},typeof b===U&&(a.jQuery=a.$=n),n}); diff --git a/ucoinj-ui-wicket/src/main/webapp/js/jquery.mobile-1.4.5.js b/ucoinj-ui-wicket/src/main/webapp/js/jquery.mobile-1.4.5.js deleted file mode 100644 index 615d606ab7590e26971d98e97e4dee3501020732..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/js/jquery.mobile-1.4.5.js +++ /dev/null @@ -1,15475 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! -* jQuery Mobile 1.4.5 -* Git HEAD hash: 68e55e78b292634d3991c795f06f5e37a512decc <> Date: Fri Oct 31 2014 17:33:30 UTC -* http://jquerymobile.com -* -* Copyright 2010, 2014 jQuery Foundation, Inc. and othercontributors -* Released under the MIT license. -* http://jquery.org/license -* -*/ - - -(function ( root, doc, factory ) { - if ( typeof define === "function" && define.amd ) { - // AMD. Register as an anonymous module. - define( [ "jquery" ], function ( $ ) { - factory( $, root, doc ); - return $.mobile; - }); - } else { - // Browser globals - factory( root.jQuery, root, doc ); - } -}( this, document, function ( jQuery, window, document, undefined ) { -(function( $ ) { - $.mobile = {}; -}( jQuery )); - -/*! - * jQuery UI Core c0ab71056b936627e8a7821f03c044aec6280a40 - * http://jqueryui.com - * - * Copyright 2013 jQuery Foundation and other contributors - * Released under the MIT license. - * http://jquery.org/license - * - * http://api.jqueryui.com/category/ui-core/ - */ -(function( $, undefined ) { - -var uuid = 0, - runiqueId = /^ui-id-\d+$/; - -// $.ui might exist from components with no dependencies, e.g., $.ui.position -$.ui = $.ui || {}; - -$.extend( $.ui, { - version: "c0ab71056b936627e8a7821f03c044aec6280a40", - - keyCode: { - BACKSPACE: 8, - COMMA: 188, - DELETE: 46, - DOWN: 40, - END: 35, - ENTER: 13, - ESCAPE: 27, - HOME: 36, - LEFT: 37, - PAGE_DOWN: 34, - PAGE_UP: 33, - PERIOD: 190, - RIGHT: 39, - SPACE: 32, - TAB: 9, - UP: 38 - } -}); - -// plugins -$.fn.extend({ - focus: (function( orig ) { - return function( delay, fn ) { - return typeof delay === "number" ? - this.each(function() { - var elem = this; - setTimeout(function() { - $( elem ).focus(); - if ( fn ) { - fn.call( elem ); - } - }, delay ); - }) : - orig.apply( this, arguments ); - }; - })( $.fn.focus ), - - scrollParent: function() { - var scrollParent; - if (($.ui.ie && (/(static|relative)/).test(this.css("position"))) || (/absolute/).test(this.css("position"))) { - scrollParent = this.parents().filter(function() { - return (/(relative|absolute|fixed)/).test($.css(this,"position")) && (/(auto|scroll)/).test($.css(this,"overflow")+$.css(this,"overflow-y")+$.css(this,"overflow-x")); - }).eq(0); - } else { - scrollParent = this.parents().filter(function() { - return (/(auto|scroll)/).test($.css(this,"overflow")+$.css(this,"overflow-y")+$.css(this,"overflow-x")); - }).eq(0); - } - - return ( /fixed/ ).test( this.css( "position") ) || !scrollParent.length ? $( this[ 0 ].ownerDocument || document ) : scrollParent; - }, - - uniqueId: function() { - return this.each(function() { - if ( !this.id ) { - this.id = "ui-id-" + (++uuid); - } - }); - }, - - removeUniqueId: function() { - return this.each(function() { - if ( runiqueId.test( this.id ) ) { - $( this ).removeAttr( "id" ); - } - }); - } -}); - -// selectors -function focusable( element, isTabIndexNotNaN ) { - var map, mapName, img, - nodeName = element.nodeName.toLowerCase(); - if ( "area" === nodeName ) { - map = element.parentNode; - mapName = map.name; - if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) { - return false; - } - img = $( "img[usemap=#" + mapName + "]" )[0]; - return !!img && visible( img ); - } - return ( /input|select|textarea|button|object/.test( nodeName ) ? - !element.disabled : - "a" === nodeName ? - element.href || isTabIndexNotNaN : - isTabIndexNotNaN) && - // the element and all of its ancestors must be visible - visible( element ); -} - -function visible( element ) { - return $.expr.filters.visible( element ) && - !$( element ).parents().addBack().filter(function() { - return $.css( this, "visibility" ) === "hidden"; - }).length; -} - -$.extend( $.expr[ ":" ], { - data: $.expr.createPseudo ? - $.expr.createPseudo(function( dataName ) { - return function( elem ) { - return !!$.data( elem, dataName ); - }; - }) : - // support: jQuery <1.8 - function( elem, i, match ) { - return !!$.data( elem, match[ 3 ] ); - }, - - focusable: function( element ) { - return focusable( element, !isNaN( $.attr( element, "tabindex" ) ) ); - }, - - tabbable: function( element ) { - var tabIndex = $.attr( element, "tabindex" ), - isTabIndexNaN = isNaN( tabIndex ); - return ( isTabIndexNaN || tabIndex >= 0 ) && focusable( element, !isTabIndexNaN ); - } -}); - -// support: jQuery <1.8 -if ( !$( "<a>" ).outerWidth( 1 ).jquery ) { - $.each( [ "Width", "Height" ], function( i, name ) { - var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ], - type = name.toLowerCase(), - orig = { - innerWidth: $.fn.innerWidth, - innerHeight: $.fn.innerHeight, - outerWidth: $.fn.outerWidth, - outerHeight: $.fn.outerHeight - }; - - function reduce( elem, size, border, margin ) { - $.each( side, function() { - size -= parseFloat( $.css( elem, "padding" + this ) ) || 0; - if ( border ) { - size -= parseFloat( $.css( elem, "border" + this + "Width" ) ) || 0; - } - if ( margin ) { - size -= parseFloat( $.css( elem, "margin" + this ) ) || 0; - } - }); - return size; - } - - $.fn[ "inner" + name ] = function( size ) { - if ( size === undefined ) { - return orig[ "inner" + name ].call( this ); - } - - return this.each(function() { - $( this ).css( type, reduce( this, size ) + "px" ); - }); - }; - - $.fn[ "outer" + name] = function( size, margin ) { - if ( typeof size !== "number" ) { - return orig[ "outer" + name ].call( this, size ); - } - - return this.each(function() { - $( this).css( type, reduce( this, size, true, margin ) + "px" ); - }); - }; - }); -} - -// support: jQuery <1.8 -if ( !$.fn.addBack ) { - $.fn.addBack = function( selector ) { - return this.add( selector == null ? - this.prevObject : this.prevObject.filter( selector ) - ); - }; -} - -// support: jQuery 1.6.1, 1.6.2 (http://bugs.jquery.com/ticket/9413) -if ( $( "<a>" ).data( "a-b", "a" ).removeData( "a-b" ).data( "a-b" ) ) { - $.fn.removeData = (function( removeData ) { - return function( key ) { - if ( arguments.length ) { - return removeData.call( this, $.camelCase( key ) ); - } else { - return removeData.call( this ); - } - }; - })( $.fn.removeData ); -} - - - - - -// deprecated -$.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() ); - -$.support.selectstart = "onselectstart" in document.createElement( "div" ); -$.fn.extend({ - disableSelection: function() { - return this.bind( ( $.support.selectstart ? "selectstart" : "mousedown" ) + - ".ui-disableSelection", function( event ) { - event.preventDefault(); - }); - }, - - enableSelection: function() { - return this.unbind( ".ui-disableSelection" ); - }, - - zIndex: function( zIndex ) { - if ( zIndex !== undefined ) { - return this.css( "zIndex", zIndex ); - } - - if ( this.length ) { - var elem = $( this[ 0 ] ), position, value; - while ( elem.length && elem[ 0 ] !== document ) { - // Ignore z-index if position is set to a value where z-index is ignored by the browser - // This makes behavior of this function consistent across browsers - // WebKit always returns auto if the element is positioned - position = elem.css( "position" ); - if ( position === "absolute" || position === "relative" || position === "fixed" ) { - // IE returns 0 when zIndex is not specified - // other browsers return a string - // we ignore the case of nested elements with an explicit value of 0 - // <div style="z-index: -10;"><div style="z-index: 0;"></div></div> - value = parseInt( elem.css( "zIndex" ), 10 ); - if ( !isNaN( value ) && value !== 0 ) { - return value; - } - } - elem = elem.parent(); - } - } - - return 0; - } -}); - -// $.ui.plugin is deprecated. Use $.widget() extensions instead. -$.ui.plugin = { - add: function( module, option, set ) { - var i, - proto = $.ui[ module ].prototype; - for ( i in set ) { - proto.plugins[ i ] = proto.plugins[ i ] || []; - proto.plugins[ i ].push( [ option, set[ i ] ] ); - } - }, - call: function( instance, name, args, allowDisconnected ) { - var i, - set = instance.plugins[ name ]; - - if ( !set ) { - return; - } - - if ( !allowDisconnected && ( !instance.element[ 0 ].parentNode || instance.element[ 0 ].parentNode.nodeType === 11 ) ) { - return; - } - - for ( i = 0; i < set.length; i++ ) { - if ( instance.options[ set[ i ][ 0 ] ] ) { - set[ i ][ 1 ].apply( instance.element, args ); - } - } - } -}; - -})( jQuery ); - -(function( $, window, undefined ) { - - // Subtract the height of external toolbars from the page height, if the page does not have - // internal toolbars of the same type. We take care to use the widget options if we find a - // widget instance and the element's data-attributes otherwise. - var compensateToolbars = function( page, desiredHeight ) { - var pageParent = page.parent(), - toolbarsAffectingHeight = [], - - // We use this function to filter fixed toolbars with option updatePagePadding set to - // true (which is the default) from our height subtraction, because fixed toolbars with - // option updatePagePadding set to true compensate for their presence by adding padding - // to the active page. We want to avoid double-counting by also subtracting their - // height from the desired page height. - noPadders = function() { - var theElement = $( this ), - widgetOptions = $.mobile.toolbar && theElement.data( "mobile-toolbar" ) ? - theElement.toolbar( "option" ) : { - position: theElement.attr( "data-" + $.mobile.ns + "position" ), - updatePagePadding: ( theElement.attr( "data-" + $.mobile.ns + - "update-page-padding" ) !== false ) - }; - - return !( widgetOptions.position === "fixed" && - widgetOptions.updatePagePadding === true ); - }, - externalHeaders = pageParent.children( ":jqmData(role='header')" ).filter( noPadders ), - internalHeaders = page.children( ":jqmData(role='header')" ), - externalFooters = pageParent.children( ":jqmData(role='footer')" ).filter( noPadders ), - internalFooters = page.children( ":jqmData(role='footer')" ); - - // If we have no internal headers, but we do have external headers, then their height - // reduces the page height - if ( internalHeaders.length === 0 && externalHeaders.length > 0 ) { - toolbarsAffectingHeight = toolbarsAffectingHeight.concat( externalHeaders.toArray() ); - } - - // If we have no internal footers, but we do have external footers, then their height - // reduces the page height - if ( internalFooters.length === 0 && externalFooters.length > 0 ) { - toolbarsAffectingHeight = toolbarsAffectingHeight.concat( externalFooters.toArray() ); - } - - $.each( toolbarsAffectingHeight, function( index, value ) { - desiredHeight -= $( value ).outerHeight(); - }); - - // Height must be at least zero - return Math.max( 0, desiredHeight ); - }; - - $.extend( $.mobile, { - // define the window and the document objects - window: $( window ), - document: $( document ), - - // TODO: Remove and use $.ui.keyCode directly - keyCode: $.ui.keyCode, - - // Place to store various widget extensions - behaviors: {}, - - // Scroll page vertically: scroll to 0 to hide iOS address bar, or pass a Y value - silentScroll: function( ypos ) { - if ( $.type( ypos ) !== "number" ) { - ypos = $.mobile.defaultHomeScroll; - } - - // prevent scrollstart and scrollstop events - $.event.special.scrollstart.enabled = false; - - setTimeout(function() { - window.scrollTo( 0, ypos ); - $.mobile.document.trigger( "silentscroll", { x: 0, y: ypos }); - }, 20 ); - - setTimeout(function() { - $.event.special.scrollstart.enabled = true; - }, 150 ); - }, - - getClosestBaseUrl: function( ele ) { - // Find the closest page and extract out its url. - var url = $( ele ).closest( ".ui-page" ).jqmData( "url" ), - base = $.mobile.path.documentBase.hrefNoHash; - - if ( !$.mobile.dynamicBaseEnabled || !url || !$.mobile.path.isPath( url ) ) { - url = base; - } - - return $.mobile.path.makeUrlAbsolute( url, base ); - }, - removeActiveLinkClass: function( forceRemoval ) { - if ( !!$.mobile.activeClickedLink && - ( !$.mobile.activeClickedLink.closest( "." + $.mobile.activePageClass ).length || - forceRemoval ) ) { - - $.mobile.activeClickedLink.removeClass( $.mobile.activeBtnClass ); - } - $.mobile.activeClickedLink = null; - }, - - // DEPRECATED in 1.4 - // Find the closest parent with a theme class on it. Note that - // we are not using $.fn.closest() on purpose here because this - // method gets called quite a bit and we need it to be as fast - // as possible. - getInheritedTheme: function( el, defaultTheme ) { - var e = el[ 0 ], - ltr = "", - re = /ui-(bar|body|overlay)-([a-z])\b/, - c, m; - while ( e ) { - c = e.className || ""; - if ( c && ( m = re.exec( c ) ) && ( ltr = m[ 2 ] ) ) { - // We found a parent with a theme class - // on it so bail from this loop. - break; - } - - e = e.parentNode; - } - // Return the theme letter we found, if none, return the - // specified default. - return ltr || defaultTheme || "a"; - }, - - enhanceable: function( elements ) { - return this.haveParents( elements, "enhance" ); - }, - - hijackable: function( elements ) { - return this.haveParents( elements, "ajax" ); - }, - - haveParents: function( elements, attr ) { - if ( !$.mobile.ignoreContentEnabled ) { - return elements; - } - - var count = elements.length, - $newSet = $(), - e, $element, excluded, - i, c; - - for ( i = 0; i < count; i++ ) { - $element = elements.eq( i ); - excluded = false; - e = elements[ i ]; - - while ( e ) { - c = e.getAttribute ? e.getAttribute( "data-" + $.mobile.ns + attr ) : ""; - - if ( c === "false" ) { - excluded = true; - break; - } - - e = e.parentNode; - } - - if ( !excluded ) { - $newSet = $newSet.add( $element ); - } - } - - return $newSet; - }, - - getScreenHeight: function() { - // Native innerHeight returns more accurate value for this across platforms, - // jQuery version is here as a normalized fallback for platforms like Symbian - return window.innerHeight || $.mobile.window.height(); - }, - - //simply set the active page's minimum height to screen height, depending on orientation - resetActivePageHeight: function( height ) { - var page = $( "." + $.mobile.activePageClass ), - pageHeight = page.height(), - pageOuterHeight = page.outerHeight( true ); - - height = compensateToolbars( page, - ( typeof height === "number" ) ? height : $.mobile.getScreenHeight() ); - - // Remove any previous min-height setting - page.css( "min-height", "" ); - - // Set the minimum height only if the height as determined by CSS is insufficient - if ( page.height() < height ) { - page.css( "min-height", height - ( pageOuterHeight - pageHeight ) ); - } - }, - - loading: function() { - // If this is the first call to this function, instantiate a loader widget - var loader = this.loading._widget || $( $.mobile.loader.prototype.defaultHtml ).loader(), - - // Call the appropriate method on the loader - returnValue = loader.loader.apply( loader, arguments ); - - // Make sure the loader is retained for future calls to this function. - this.loading._widget = loader; - - return returnValue; - } - }); - - $.addDependents = function( elem, newDependents ) { - var $elem = $( elem ), - dependents = $elem.jqmData( "dependents" ) || $(); - - $elem.jqmData( "dependents", $( dependents ).add( newDependents ) ); - }; - - // plugins - $.fn.extend({ - removeWithDependents: function() { - $.removeWithDependents( this ); - }, - - // Enhance child elements - enhanceWithin: function() { - var index, - widgetElements = {}, - keepNative = $.mobile.page.prototype.keepNativeSelector(), - that = this; - - // Add no js class to elements - if ( $.mobile.nojs ) { - $.mobile.nojs( this ); - } - - // Bind links for ajax nav - if ( $.mobile.links ) { - $.mobile.links( this ); - } - - // Degrade inputs for styleing - if ( $.mobile.degradeInputsWithin ) { - $.mobile.degradeInputsWithin( this ); - } - - // Run buttonmarkup - if ( $.fn.buttonMarkup ) { - this.find( $.fn.buttonMarkup.initSelector ).not( keepNative ) - .jqmEnhanceable().buttonMarkup(); - } - - // Add classes for fieldContain - if ( $.fn.fieldcontain ) { - this.find( ":jqmData(role='fieldcontain')" ).not( keepNative ) - .jqmEnhanceable().fieldcontain(); - } - - // Enhance widgets - $.each( $.mobile.widgets, function( name, constructor ) { - - // If initSelector not false find elements - if ( constructor.initSelector ) { - - // Filter elements that should not be enhanced based on parents - var elements = $.mobile.enhanceable( that.find( constructor.initSelector ) ); - - // If any matching elements remain filter ones with keepNativeSelector - if ( elements.length > 0 ) { - - // $.mobile.page.prototype.keepNativeSelector is deprecated this is just for backcompat - // Switch to $.mobile.keepNative in 1.5 which is just a value not a function - elements = elements.not( keepNative ); - } - - // Enhance whatever is left - if ( elements.length > 0 ) { - widgetElements[ constructor.prototype.widgetName ] = elements; - } - } - }); - - for ( index in widgetElements ) { - widgetElements[ index ][ index ](); - } - - return this; - }, - - addDependents: function( newDependents ) { - $.addDependents( this, newDependents ); - }, - - // note that this helper doesn't attempt to handle the callback - // or setting of an html element's text, its only purpose is - // to return the html encoded version of the text in all cases. (thus the name) - getEncodedText: function() { - return $( "<a>" ).text( this.text() ).html(); - }, - - // fluent helper function for the mobile namespaced equivalent - jqmEnhanceable: function() { - return $.mobile.enhanceable( this ); - }, - - jqmHijackable: function() { - return $.mobile.hijackable( this ); - } - }); - - $.removeWithDependents = function( nativeElement ) { - var element = $( nativeElement ); - - ( element.jqmData( "dependents" ) || $() ).remove(); - element.remove(); - }; - $.addDependents = function( nativeElement, newDependents ) { - var element = $( nativeElement ), - dependents = element.jqmData( "dependents" ) || $(); - - element.jqmData( "dependents", $( dependents ).add( newDependents ) ); - }; - - $.find.matches = function( expr, set ) { - return $.find( expr, null, null, set ); - }; - - $.find.matchesSelector = function( node, expr ) { - return $.find( expr, null, null, [ node ] ).length > 0; - }; - -})( jQuery, this ); - -(function( $, window, undefined ) { - $.extend( $.mobile, { - - // Version of the jQuery Mobile Framework - version: "1.4.5", - - // Deprecated and no longer used in 1.4 remove in 1.5 - // Define the url parameter used for referencing widget-generated sub-pages. - // Translates to example.html&ui-page=subpageIdentifier - // hash segment before &ui-page= is used to make Ajax request - subPageUrlKey: "ui-page", - - hideUrlBar: true, - - // Keepnative Selector - keepNative: ":jqmData(role='none'), :jqmData(role='nojs')", - - // Deprecated in 1.4 remove in 1.5 - // Class assigned to page currently in view, and during transitions - activePageClass: "ui-page-active", - - // Deprecated in 1.4 remove in 1.5 - // Class used for "active" button state, from CSS framework - activeBtnClass: "ui-btn-active", - - // Deprecated in 1.4 remove in 1.5 - // Class used for "focus" form element state, from CSS framework - focusClass: "ui-focus", - - // Automatically handle clicks and form submissions through Ajax, when same-domain - ajaxEnabled: true, - - // Automatically load and show pages based on location.hash - hashListeningEnabled: true, - - // disable to prevent jquery from bothering with links - linkBindingEnabled: true, - - // Set default page transition - 'none' for no transitions - defaultPageTransition: "fade", - - // Set maximum window width for transitions to apply - 'false' for no limit - maxTransitionWidth: false, - - // Minimum scroll distance that will be remembered when returning to a page - // Deprecated remove in 1.5 - minScrollBack: 0, - - // Set default dialog transition - 'none' for no transitions - defaultDialogTransition: "pop", - - // Error response message - appears when an Ajax page request fails - pageLoadErrorMessage: "Error Loading Page", - - // For error messages, which theme does the box use? - pageLoadErrorMessageTheme: "a", - - // replace calls to window.history.back with phonegaps navigation helper - // where it is provided on the window object - phonegapNavigationEnabled: false, - - //automatically initialize the DOM when it's ready - autoInitializePage: true, - - pushStateEnabled: true, - - // allows users to opt in to ignoring content by marking a parent element as - // data-ignored - ignoreContentEnabled: false, - - buttonMarkup: { - hoverDelay: 200 - }, - - // disable the alteration of the dynamic base tag or links in the case - // that a dynamic base tag isn't supported - dynamicBaseEnabled: true, - - // default the property to remove dependency on assignment in init module - pageContainer: $(), - - //enable cross-domain page support - allowCrossDomainPages: false, - - dialogHashKey: "&ui-state=dialog" - }); -})( jQuery, this ); - -/*! - * jQuery UI Widget c0ab71056b936627e8a7821f03c044aec6280a40 - * http://jqueryui.com - * - * Copyright 2013 jQuery Foundation and other contributors - * Released under the MIT license. - * http://jquery.org/license - * - * http://api.jqueryui.com/jQuery.widget/ - */ -(function( $, undefined ) { - -var uuid = 0, - slice = Array.prototype.slice, - _cleanData = $.cleanData; -$.cleanData = function( elems ) { - for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { - try { - $( elem ).triggerHandler( "remove" ); - // http://bugs.jquery.com/ticket/8235 - } catch( e ) {} - } - _cleanData( elems ); -}; - -$.widget = function( name, base, prototype ) { - var fullName, existingConstructor, constructor, basePrototype, - // proxiedPrototype allows the provided prototype to remain unmodified - // so that it can be used as a mixin for multiple widgets (#8876) - proxiedPrototype = {}, - namespace = name.split( "." )[ 0 ]; - - name = name.split( "." )[ 1 ]; - fullName = namespace + "-" + name; - - if ( !prototype ) { - prototype = base; - base = $.Widget; - } - - // create selector for plugin - $.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) { - return !!$.data( elem, fullName ); - }; - - $[ namespace ] = $[ namespace ] || {}; - existingConstructor = $[ namespace ][ name ]; - constructor = $[ namespace ][ name ] = function( options, element ) { - // allow instantiation without "new" keyword - if ( !this._createWidget ) { - return new constructor( options, element ); - } - - // allow instantiation without initializing for simple inheritance - // must use "new" keyword (the code above always passes args) - if ( arguments.length ) { - this._createWidget( options, element ); - } - }; - // extend with the existing constructor to carry over any static properties - $.extend( constructor, existingConstructor, { - version: prototype.version, - // copy the object used to create the prototype in case we need to - // redefine the widget later - _proto: $.extend( {}, prototype ), - // track widgets that inherit from this widget in case this widget is - // redefined after a widget inherits from it - _childConstructors: [] - }); - - basePrototype = new base(); - // we need to make the options hash a property directly on the new instance - // otherwise we'll modify the options hash on the prototype that we're - // inheriting from - basePrototype.options = $.widget.extend( {}, basePrototype.options ); - $.each( prototype, function( prop, value ) { - if ( !$.isFunction( value ) ) { - proxiedPrototype[ prop ] = value; - return; - } - proxiedPrototype[ prop ] = (function() { - var _super = function() { - return base.prototype[ prop ].apply( this, arguments ); - }, - _superApply = function( args ) { - return base.prototype[ prop ].apply( this, args ); - }; - return function() { - var __super = this._super, - __superApply = this._superApply, - returnValue; - - this._super = _super; - this._superApply = _superApply; - - returnValue = value.apply( this, arguments ); - - this._super = __super; - this._superApply = __superApply; - - return returnValue; - }; - })(); - }); - constructor.prototype = $.widget.extend( basePrototype, { - // TODO: remove support for widgetEventPrefix - // always use the name + a colon as the prefix, e.g., draggable:start - // don't prefix for widgets that aren't DOM-based - widgetEventPrefix: existingConstructor ? (basePrototype.widgetEventPrefix || name) : name - }, proxiedPrototype, { - constructor: constructor, - namespace: namespace, - widgetName: name, - widgetFullName: fullName - }); - - // If this widget is being redefined then we need to find all widgets that - // are inheriting from it and redefine all of them so that they inherit from - // the new version of this widget. We're essentially trying to replace one - // level in the prototype chain. - if ( existingConstructor ) { - $.each( existingConstructor._childConstructors, function( i, child ) { - var childPrototype = child.prototype; - - // redefine the child widget using the same prototype that was - // originally used, but inherit from the new version of the base - $.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, child._proto ); - }); - // remove the list of existing child constructors from the old constructor - // so the old child constructors can be garbage collected - delete existingConstructor._childConstructors; - } else { - base._childConstructors.push( constructor ); - } - - $.widget.bridge( name, constructor ); - - return constructor; -}; - -$.widget.extend = function( target ) { - var input = slice.call( arguments, 1 ), - inputIndex = 0, - inputLength = input.length, - key, - value; - for ( ; inputIndex < inputLength; inputIndex++ ) { - for ( key in input[ inputIndex ] ) { - value = input[ inputIndex ][ key ]; - if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) { - // Clone objects - if ( $.isPlainObject( value ) ) { - target[ key ] = $.isPlainObject( target[ key ] ) ? - $.widget.extend( {}, target[ key ], value ) : - // Don't extend strings, arrays, etc. with objects - $.widget.extend( {}, value ); - // Copy everything else by reference - } else { - target[ key ] = value; - } - } - } - } - return target; -}; - -$.widget.bridge = function( name, object ) { - var fullName = object.prototype.widgetFullName || name; - $.fn[ name ] = function( options ) { - var isMethodCall = typeof options === "string", - args = slice.call( arguments, 1 ), - returnValue = this; - - // allow multiple hashes to be passed on init - options = !isMethodCall && args.length ? - $.widget.extend.apply( null, [ options ].concat(args) ) : - options; - - if ( isMethodCall ) { - this.each(function() { - var methodValue, - instance = $.data( this, fullName ); - if ( options === "instance" ) { - returnValue = instance; - return false; - } - if ( !instance ) { - return $.error( "cannot call methods on " + name + " prior to initialization; " + - "attempted to call method '" + options + "'" ); - } - if ( !$.isFunction( instance[options] ) || options.charAt( 0 ) === "_" ) { - return $.error( "no such method '" + options + "' for " + name + " widget instance" ); - } - methodValue = instance[ options ].apply( instance, args ); - if ( methodValue !== instance && methodValue !== undefined ) { - returnValue = methodValue && methodValue.jquery ? - returnValue.pushStack( methodValue.get() ) : - methodValue; - return false; - } - }); - } else { - this.each(function() { - var instance = $.data( this, fullName ); - if ( instance ) { - instance.option( options || {} )._init(); - } else { - $.data( this, fullName, new object( options, this ) ); - } - }); - } - - return returnValue; - }; -}; - -$.Widget = function( /* options, element */ ) {}; -$.Widget._childConstructors = []; - -$.Widget.prototype = { - widgetName: "widget", - widgetEventPrefix: "", - defaultElement: "<div>", - options: { - disabled: false, - - // callbacks - create: null - }, - _createWidget: function( options, element ) { - element = $( element || this.defaultElement || this )[ 0 ]; - this.element = $( element ); - this.uuid = uuid++; - this.eventNamespace = "." + this.widgetName + this.uuid; - this.options = $.widget.extend( {}, - this.options, - this._getCreateOptions(), - options ); - - this.bindings = $(); - this.hoverable = $(); - this.focusable = $(); - - if ( element !== this ) { - $.data( element, this.widgetFullName, this ); - this._on( true, this.element, { - remove: function( event ) { - if ( event.target === element ) { - this.destroy(); - } - } - }); - this.document = $( element.style ? - // element within the document - element.ownerDocument : - // element is window or document - element.document || element ); - this.window = $( this.document[0].defaultView || this.document[0].parentWindow ); - } - - this._create(); - this._trigger( "create", null, this._getCreateEventData() ); - this._init(); - }, - _getCreateOptions: $.noop, - _getCreateEventData: $.noop, - _create: $.noop, - _init: $.noop, - - destroy: function() { - this._destroy(); - // we can probably remove the unbind calls in 2.0 - // all event bindings should go through this._on() - this.element - .unbind( this.eventNamespace ) - .removeData( this.widgetFullName ) - // support: jquery <1.6.3 - // http://bugs.jquery.com/ticket/9413 - .removeData( $.camelCase( this.widgetFullName ) ); - this.widget() - .unbind( this.eventNamespace ) - .removeAttr( "aria-disabled" ) - .removeClass( - this.widgetFullName + "-disabled " + - "ui-state-disabled" ); - - // clean up events and states - this.bindings.unbind( this.eventNamespace ); - this.hoverable.removeClass( "ui-state-hover" ); - this.focusable.removeClass( "ui-state-focus" ); - }, - _destroy: $.noop, - - widget: function() { - return this.element; - }, - - option: function( key, value ) { - var options = key, - parts, - curOption, - i; - - if ( arguments.length === 0 ) { - // don't return a reference to the internal hash - return $.widget.extend( {}, this.options ); - } - - if ( typeof key === "string" ) { - // handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } } - options = {}; - parts = key.split( "." ); - key = parts.shift(); - if ( parts.length ) { - curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] ); - for ( i = 0; i < parts.length - 1; i++ ) { - curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {}; - curOption = curOption[ parts[ i ] ]; - } - key = parts.pop(); - if ( value === undefined ) { - return curOption[ key ] === undefined ? null : curOption[ key ]; - } - curOption[ key ] = value; - } else { - if ( value === undefined ) { - return this.options[ key ] === undefined ? null : this.options[ key ]; - } - options[ key ] = value; - } - } - - this._setOptions( options ); - - return this; - }, - _setOptions: function( options ) { - var key; - - for ( key in options ) { - this._setOption( key, options[ key ] ); - } - - return this; - }, - _setOption: function( key, value ) { - this.options[ key ] = value; - - if ( key === "disabled" ) { - this.widget() - .toggleClass( this.widgetFullName + "-disabled", !!value ); - this.hoverable.removeClass( "ui-state-hover" ); - this.focusable.removeClass( "ui-state-focus" ); - } - - return this; - }, - - enable: function() { - return this._setOptions({ disabled: false }); - }, - disable: function() { - return this._setOptions({ disabled: true }); - }, - - _on: function( suppressDisabledCheck, element, handlers ) { - var delegateElement, - instance = this; - - // no suppressDisabledCheck flag, shuffle arguments - if ( typeof suppressDisabledCheck !== "boolean" ) { - handlers = element; - element = suppressDisabledCheck; - suppressDisabledCheck = false; - } - - // no element argument, shuffle and use this.element - if ( !handlers ) { - handlers = element; - element = this.element; - delegateElement = this.widget(); - } else { - // accept selectors, DOM elements - element = delegateElement = $( element ); - this.bindings = this.bindings.add( element ); - } - - $.each( handlers, function( event, handler ) { - function handlerProxy() { - // allow widgets to customize the disabled handling - // - disabled as an array instead of boolean - // - disabled class as method for disabling individual parts - if ( !suppressDisabledCheck && - ( instance.options.disabled === true || - $( this ).hasClass( "ui-state-disabled" ) ) ) { - return; - } - return ( typeof handler === "string" ? instance[ handler ] : handler ) - .apply( instance, arguments ); - } - - // copy the guid so direct unbinding works - if ( typeof handler !== "string" ) { - handlerProxy.guid = handler.guid = - handler.guid || handlerProxy.guid || $.guid++; - } - - var match = event.match( /^(\w+)\s*(.*)$/ ), - eventName = match[1] + instance.eventNamespace, - selector = match[2]; - if ( selector ) { - delegateElement.delegate( selector, eventName, handlerProxy ); - } else { - element.bind( eventName, handlerProxy ); - } - }); - }, - - _off: function( element, eventName ) { - eventName = (eventName || "").split( " " ).join( this.eventNamespace + " " ) + this.eventNamespace; - element.unbind( eventName ).undelegate( eventName ); - }, - - _delay: function( handler, delay ) { - function handlerProxy() { - return ( typeof handler === "string" ? instance[ handler ] : handler ) - .apply( instance, arguments ); - } - var instance = this; - return setTimeout( handlerProxy, delay || 0 ); - }, - - _hoverable: function( element ) { - this.hoverable = this.hoverable.add( element ); - this._on( element, { - mouseenter: function( event ) { - $( event.currentTarget ).addClass( "ui-state-hover" ); - }, - mouseleave: function( event ) { - $( event.currentTarget ).removeClass( "ui-state-hover" ); - } - }); - }, - - _focusable: function( element ) { - this.focusable = this.focusable.add( element ); - this._on( element, { - focusin: function( event ) { - $( event.currentTarget ).addClass( "ui-state-focus" ); - }, - focusout: function( event ) { - $( event.currentTarget ).removeClass( "ui-state-focus" ); - } - }); - }, - - _trigger: function( type, event, data ) { - var prop, orig, - callback = this.options[ type ]; - - data = data || {}; - event = $.Event( event ); - event.type = ( type === this.widgetEventPrefix ? - type : - this.widgetEventPrefix + type ).toLowerCase(); - // the original event may come from any element - // so we need to reset the target on the new event - event.target = this.element[ 0 ]; - - // copy original event properties over to the new event - orig = event.originalEvent; - if ( orig ) { - for ( prop in orig ) { - if ( !( prop in event ) ) { - event[ prop ] = orig[ prop ]; - } - } - } - - this.element.trigger( event, data ); - return !( $.isFunction( callback ) && - callback.apply( this.element[0], [ event ].concat( data ) ) === false || - event.isDefaultPrevented() ); - } -}; - -$.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) { - $.Widget.prototype[ "_" + method ] = function( element, options, callback ) { - if ( typeof options === "string" ) { - options = { effect: options }; - } - var hasOptions, - effectName = !options ? - method : - options === true || typeof options === "number" ? - defaultEffect : - options.effect || defaultEffect; - options = options || {}; - if ( typeof options === "number" ) { - options = { duration: options }; - } - hasOptions = !$.isEmptyObject( options ); - options.complete = callback; - if ( options.delay ) { - element.delay( options.delay ); - } - if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) { - element[ method ]( options ); - } else if ( effectName !== method && element[ effectName ] ) { - element[ effectName ]( options.duration, options.easing, callback ); - } else { - element.queue(function( next ) { - $( this )[ method ](); - if ( callback ) { - callback.call( element[ 0 ] ); - } - next(); - }); - } - }; -}); - -})( jQuery ); - -(function( $, window, undefined ) { - var nsNormalizeDict = {}, - oldFind = $.find, - rbrace = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/, - jqmDataRE = /:jqmData\(([^)]*)\)/g; - - $.extend( $.mobile, { - - // Namespace used framework-wide for data-attrs. Default is no namespace - - ns: "", - - // Retrieve an attribute from an element and perform some massaging of the value - - getAttribute: function( element, key ) { - var data; - - element = element.jquery ? element[0] : element; - - if ( element && element.getAttribute ) { - data = element.getAttribute( "data-" + $.mobile.ns + key ); - } - - // Copied from core's src/data.js:dataAttr() - // Convert from a string to a proper data type - try { - data = data === "true" ? true : - data === "false" ? false : - data === "null" ? null : - // Only convert to a number if it doesn't change the string - +data + "" === data ? +data : - rbrace.test( data ) ? JSON.parse( data ) : - data; - } catch( err ) {} - - return data; - }, - - // Expose our cache for testing purposes. - nsNormalizeDict: nsNormalizeDict, - - // Take a data attribute property, prepend the namespace - // and then camel case the attribute string. Add the result - // to our nsNormalizeDict so we don't have to do this again. - nsNormalize: function( prop ) { - return nsNormalizeDict[ prop ] || - ( nsNormalizeDict[ prop ] = $.camelCase( $.mobile.ns + prop ) ); - }, - - // Find the closest javascript page element to gather settings data jsperf test - // http://jsperf.com/single-complex-selector-vs-many-complex-selectors/edit - // possibly naive, but it shows that the parsing overhead for *just* the page selector vs - // the page and dialog selector is negligable. This could probably be speed up by - // doing a similar parent node traversal to the one found in the inherited theme code above - closestPageData: function( $target ) { - return $target - .closest( ":jqmData(role='page'), :jqmData(role='dialog')" ) - .data( "mobile-page" ); - } - - }); - - // Mobile version of data and removeData and hasData methods - // ensures all data is set and retrieved using jQuery Mobile's data namespace - $.fn.jqmData = function( prop, value ) { - var result; - if ( typeof prop !== "undefined" ) { - if ( prop ) { - prop = $.mobile.nsNormalize( prop ); - } - - // undefined is permitted as an explicit input for the second param - // in this case it returns the value and does not set it to undefined - if ( arguments.length < 2 || value === undefined ) { - result = this.data( prop ); - } else { - result = this.data( prop, value ); - } - } - return result; - }; - - $.jqmData = function( elem, prop, value ) { - var result; - if ( typeof prop !== "undefined" ) { - result = $.data( elem, prop ? $.mobile.nsNormalize( prop ) : prop, value ); - } - return result; - }; - - $.fn.jqmRemoveData = function( prop ) { - return this.removeData( $.mobile.nsNormalize( prop ) ); - }; - - $.jqmRemoveData = function( elem, prop ) { - return $.removeData( elem, $.mobile.nsNormalize( prop ) ); - }; - - $.find = function( selector, context, ret, extra ) { - if ( selector.indexOf( ":jqmData" ) > -1 ) { - selector = selector.replace( jqmDataRE, "[data-" + ( $.mobile.ns || "" ) + "$1]" ); - } - - return oldFind.call( this, selector, context, ret, extra ); - }; - - $.extend( $.find, oldFind ); - -})( jQuery, this ); - -(function( $, undefined ) { - -var rcapitals = /[A-Z]/g, - replaceFunction = function( c ) { - return "-" + c.toLowerCase(); - }; - -$.extend( $.Widget.prototype, { - _getCreateOptions: function() { - var option, value, - elem = this.element[ 0 ], - options = {}; - - // - if ( !$.mobile.getAttribute( elem, "defaults" ) ) { - for ( option in this.options ) { - value = $.mobile.getAttribute( elem, option.replace( rcapitals, replaceFunction ) ); - - if ( value != null ) { - options[ option ] = value; - } - } - } - - return options; - } -}); - -//TODO: Remove in 1.5 for backcompat only -$.mobile.widget = $.Widget; - -})( jQuery ); - - -(function( $ ) { - // TODO move loader class down into the widget settings - var loaderClass = "ui-loader", $html = $( "html" ); - - $.widget( "mobile.loader", { - // NOTE if the global config settings are defined they will override these - // options - options: { - // the theme for the loading message - theme: "a", - - // whether the text in the loading message is shown - textVisible: false, - - // custom html for the inner content of the loading message - html: "", - - // the text to be displayed when the popup is shown - text: "loading" - }, - - defaultHtml: "<div class='" + loaderClass + "'>" + - "<span class='ui-icon-loading'></span>" + - "<h1></h1>" + - "</div>", - - // For non-fixed supportin browsers. Position at y center (if scrollTop supported), above the activeBtn (if defined), or just 100px from top - fakeFixLoader: function() { - var activeBtn = $( "." + $.mobile.activeBtnClass ).first(); - - this.element - .css({ - top: $.support.scrollTop && this.window.scrollTop() + this.window.height() / 2 || - activeBtn.length && activeBtn.offset().top || 100 - }); - }, - - // check position of loader to see if it appears to be "fixed" to center - // if not, use abs positioning - checkLoaderPosition: function() { - var offset = this.element.offset(), - scrollTop = this.window.scrollTop(), - screenHeight = $.mobile.getScreenHeight(); - - if ( offset.top < scrollTop || ( offset.top - scrollTop ) > screenHeight ) { - this.element.addClass( "ui-loader-fakefix" ); - this.fakeFixLoader(); - this.window - .unbind( "scroll", this.checkLoaderPosition ) - .bind( "scroll", $.proxy( this.fakeFixLoader, this ) ); - } - }, - - resetHtml: function() { - this.element.html( $( this.defaultHtml ).html() ); - }, - - // Turn on/off page loading message. Theme doubles as an object argument - // with the following shape: { theme: '', text: '', html: '', textVisible: '' } - // NOTE that the $.mobile.loading* settings and params past the first are deprecated - // TODO sweet jesus we need to break some of this out - show: function( theme, msgText, textonly ) { - var textVisible, message, loadSettings; - - this.resetHtml(); - - // use the prototype options so that people can set them globally at - // mobile init. Consistency, it's what's for dinner - if ( $.type( theme ) === "object" ) { - loadSettings = $.extend( {}, this.options, theme ); - - theme = loadSettings.theme; - } else { - loadSettings = this.options; - - // here we prefer the theme value passed as a string argument, then - // we prefer the global option because we can't use undefined default - // prototype options, then the prototype option - theme = theme || loadSettings.theme; - } - - // set the message text, prefer the param, then the settings object - // then loading message - message = msgText || ( loadSettings.text === false ? "" : loadSettings.text ); - - // prepare the dom - $html.addClass( "ui-loading" ); - - textVisible = loadSettings.textVisible; - - // add the proper css given the options (theme, text, etc) - // Force text visibility if the second argument was supplied, or - // if the text was explicitly set in the object args - this.element.attr("class", loaderClass + - " ui-corner-all ui-body-" + theme + - " ui-loader-" + ( textVisible || msgText || theme.text ? "verbose" : "default" ) + - ( loadSettings.textonly || textonly ? " ui-loader-textonly" : "" ) ); - - // TODO verify that jquery.fn.html is ok to use in both cases here - // this might be overly defensive in preventing unknowing xss - // if the html attribute is defined on the loading settings, use that - // otherwise use the fallbacks from above - if ( loadSettings.html ) { - this.element.html( loadSettings.html ); - } else { - this.element.find( "h1" ).text( message ); - } - - // If the pagecontainer widget has been defined we may use the :mobile-pagecontainer - // and attach to the element on which the pagecontainer widget has been defined. If not, - // we attach to the body. - this.element.appendTo( $.mobile.pagecontainer ? - $( ":mobile-pagecontainer" ) : $( "body" ) ); - - // check that the loader is visible - this.checkLoaderPosition(); - - // on scroll check the loader position - this.window.bind( "scroll", $.proxy( this.checkLoaderPosition, this ) ); - }, - - hide: function() { - $html.removeClass( "ui-loading" ); - - if ( this.options.text ) { - this.element.removeClass( "ui-loader-fakefix" ); - } - - this.window.unbind( "scroll", this.fakeFixLoader ); - this.window.unbind( "scroll", this.checkLoaderPosition ); - } - }); - -})(jQuery, this); - - -/*! - * jQuery hashchange event - v1.3 - 7/21/2010 - * http://benalman.com/projects/jquery-hashchange-plugin/ - * - * Copyright (c) 2010 "Cowboy" Ben Alman - * Dual licensed under the MIT and GPL licenses. - * http://benalman.com/about/license/ - */ - -// Script: jQuery hashchange event -// -// *Version: 1.3, Last updated: 7/21/2010* -// -// Project Home - http://benalman.com/projects/jquery-hashchange-plugin/ -// GitHub - http://github.com/cowboy/jquery-hashchange/ -// Source - http://github.com/cowboy/jquery-hashchange/raw/master/jquery.ba-hashchange.js -// (Minified) - http://github.com/cowboy/jquery-hashchange/raw/master/jquery.ba-hashchange.min.js (0.8kb gzipped) -// -// About: License -// -// Copyright (c) 2010 "Cowboy" Ben Alman, -// Dual licensed under the MIT and GPL licenses. -// http://benalman.com/about/license/ -// -// About: Examples -// -// These working examples, complete with fully commented code, illustrate a few -// ways in which this plugin can be used. -// -// hashchange event - http://benalman.com/code/projects/jquery-hashchange/examples/hashchange/ -// document.domain - http://benalman.com/code/projects/jquery-hashchange/examples/document_domain/ -// -// About: Support and Testing -// -// Information about what version or versions of jQuery this plugin has been -// tested with, what browsers it has been tested in, and where the unit tests -// reside (so you can test it yourself). -// -// jQuery Versions - 1.2.6, 1.3.2, 1.4.1, 1.4.2 -// Browsers Tested - Internet Explorer 6-8, Firefox 2-4, Chrome 5-6, Safari 3.2-5, -// Opera 9.6-10.60, iPhone 3.1, Android 1.6-2.2, BlackBerry 4.6-5. -// Unit Tests - http://benalman.com/code/projects/jquery-hashchange/unit/ -// -// About: Known issues -// -// While this jQuery hashchange event implementation is quite stable and -// robust, there are a few unfortunate browser bugs surrounding expected -// hashchange event-based behaviors, independent of any JavaScript -// window.onhashchange abstraction. See the following examples for more -// information: -// -// Chrome: Back Button - http://benalman.com/code/projects/jquery-hashchange/examples/bug-chrome-back-button/ -// Firefox: Remote XMLHttpRequest - http://benalman.com/code/projects/jquery-hashchange/examples/bug-firefox-remote-xhr/ -// WebKit: Back Button in an Iframe - http://benalman.com/code/projects/jquery-hashchange/examples/bug-webkit-hash-iframe/ -// Safari: Back Button from a different domain - http://benalman.com/code/projects/jquery-hashchange/examples/bug-safari-back-from-diff-domain/ -// -// Also note that should a browser natively support the window.onhashchange -// event, but not report that it does, the fallback polling loop will be used. -// -// About: Release History -// -// 1.3 - (7/21/2010) Reorganized IE6/7 Iframe code to make it more -// "removable" for mobile-only development. Added IE6/7 document.title -// support. Attempted to make Iframe as hidden as possible by using -// techniques from http://www.paciellogroup.com/blog/?p=604. Added -// support for the "shortcut" format $(window).hashchange( fn ) and -// $(window).hashchange() like jQuery provides for built-in events. -// Renamed jQuery.hashchangeDelay to <jQuery.fn.hashchange.delay> and -// lowered its default value to 50. Added <jQuery.fn.hashchange.domain> -// and <jQuery.fn.hashchange.src> properties plus document-domain.html -// file to address access denied issues when setting document.domain in -// IE6/7. -// 1.2 - (2/11/2010) Fixed a bug where coming back to a page using this plugin -// from a page on another domain would cause an error in Safari 4. Also, -// IE6/7 Iframe is now inserted after the body (this actually works), -// which prevents the page from scrolling when the event is first bound. -// Event can also now be bound before DOM ready, but it won't be usable -// before then in IE6/7. -// 1.1 - (1/21/2010) Incorporated document.documentMode test to fix IE8 bug -// where browser version is incorrectly reported as 8.0, despite -// inclusion of the X-UA-Compatible IE=EmulateIE7 meta tag. -// 1.0 - (1/9/2010) Initial Release. Broke out the jQuery BBQ event.special -// window.onhashchange functionality into a separate plugin for users -// who want just the basic event & back button support, without all the -// extra awesomeness that BBQ provides. This plugin will be included as -// part of jQuery BBQ, but also be available separately. - -(function($,window,undefined){ - '$:nomunge'; // Used by YUI compressor. - - // Reused string. - var str_hashchange = 'hashchange', - - // Method / object references. - doc = document, - fake_onhashchange, - special = $.event.special, - - // Does the browser support window.onhashchange? Note that IE8 running in - // IE7 compatibility mode reports true for 'onhashchange' in window, even - // though the event isn't supported, so also test document.documentMode. - doc_mode = doc.documentMode, - supports_onhashchange = 'on' + str_hashchange in window && ( doc_mode === undefined || doc_mode > 7 ); - - // Get location.hash (or what you'd expect location.hash to be) sans any - // leading #. Thanks for making this necessary, Firefox! - function get_fragment( url ) { - url = url || location.href; - return '#' + url.replace( /^[^#]*#?(.*)$/, '$1' ); - }; - - // Method: jQuery.fn.hashchange - // - // Bind a handler to the window.onhashchange event or trigger all bound - // window.onhashchange event handlers. This behavior is consistent with - // jQuery's built-in event handlers. - // - // Usage: - // - // > jQuery(window).hashchange( [ handler ] ); - // - // Arguments: - // - // handler - (Function) Optional handler to be bound to the hashchange - // event. This is a "shortcut" for the more verbose form: - // jQuery(window).bind( 'hashchange', handler ). If handler is omitted, - // all bound window.onhashchange event handlers will be triggered. This - // is a shortcut for the more verbose - // jQuery(window).trigger( 'hashchange' ). These forms are described in - // the <hashchange event> section. - // - // Returns: - // - // (jQuery) The initial jQuery collection of elements. - - // Allow the "shortcut" format $(elem).hashchange( fn ) for binding and - // $(elem).hashchange() for triggering, like jQuery does for built-in events. - $.fn[ str_hashchange ] = function( fn ) { - return fn ? this.bind( str_hashchange, fn ) : this.trigger( str_hashchange ); - }; - - // Property: jQuery.fn.hashchange.delay - // - // The numeric interval (in milliseconds) at which the <hashchange event> - // polling loop executes. Defaults to 50. - - // Property: jQuery.fn.hashchange.domain - // - // If you're setting document.domain in your JavaScript, and you want hash - // history to work in IE6/7, not only must this property be set, but you must - // also set document.domain BEFORE jQuery is loaded into the page. This - // property is only applicable if you are supporting IE6/7 (or IE8 operating - // in "IE7 compatibility" mode). - // - // In addition, the <jQuery.fn.hashchange.src> property must be set to the - // path of the included "document-domain.html" file, which can be renamed or - // modified if necessary (note that the document.domain specified must be the - // same in both your main JavaScript as well as in this file). - // - // Usage: - // - // jQuery.fn.hashchange.domain = document.domain; - - // Property: jQuery.fn.hashchange.src - // - // If, for some reason, you need to specify an Iframe src file (for example, - // when setting document.domain as in <jQuery.fn.hashchange.domain>), you can - // do so using this property. Note that when using this property, history - // won't be recorded in IE6/7 until the Iframe src file loads. This property - // is only applicable if you are supporting IE6/7 (or IE8 operating in "IE7 - // compatibility" mode). - // - // Usage: - // - // jQuery.fn.hashchange.src = 'path/to/file.html'; - - $.fn[ str_hashchange ].delay = 50; - /* - $.fn[ str_hashchange ].domain = null; - $.fn[ str_hashchange ].src = null; - */ - - // Event: hashchange event - // - // Fired when location.hash changes. In browsers that support it, the native - // HTML5 window.onhashchange event is used, otherwise a polling loop is - // initialized, running every <jQuery.fn.hashchange.delay> milliseconds to - // see if the hash has changed. In IE6/7 (and IE8 operating in "IE7 - // compatibility" mode), a hidden Iframe is created to allow the back button - // and hash-based history to work. - // - // Usage as described in <jQuery.fn.hashchange>: - // - // > // Bind an event handler. - // > jQuery(window).hashchange( function(e) { - // > var hash = location.hash; - // > ... - // > }); - // > - // > // Manually trigger the event handler. - // > jQuery(window).hashchange(); - // - // A more verbose usage that allows for event namespacing: - // - // > // Bind an event handler. - // > jQuery(window).bind( 'hashchange', function(e) { - // > var hash = location.hash; - // > ... - // > }); - // > - // > // Manually trigger the event handler. - // > jQuery(window).trigger( 'hashchange' ); - // - // Additional Notes: - // - // * The polling loop and Iframe are not created until at least one handler - // is actually bound to the 'hashchange' event. - // * If you need the bound handler(s) to execute immediately, in cases where - // a location.hash exists on page load, via bookmark or page refresh for - // example, use jQuery(window).hashchange() or the more verbose - // jQuery(window).trigger( 'hashchange' ). - // * The event can be bound before DOM ready, but since it won't be usable - // before then in IE6/7 (due to the necessary Iframe), recommended usage is - // to bind it inside a DOM ready handler. - - // Override existing $.event.special.hashchange methods (allowing this plugin - // to be defined after jQuery BBQ in BBQ's source code). - special[ str_hashchange ] = $.extend( special[ str_hashchange ], { - - // Called only when the first 'hashchange' event is bound to window. - setup: function() { - // If window.onhashchange is supported natively, there's nothing to do.. - if ( supports_onhashchange ) { return false; } - - // Otherwise, we need to create our own. And we don't want to call this - // until the user binds to the event, just in case they never do, since it - // will create a polling loop and possibly even a hidden Iframe. - $( fake_onhashchange.start ); - }, - - // Called only when the last 'hashchange' event is unbound from window. - teardown: function() { - // If window.onhashchange is supported natively, there's nothing to do.. - if ( supports_onhashchange ) { return false; } - - // Otherwise, we need to stop ours (if possible). - $( fake_onhashchange.stop ); - } - - }); - - // fake_onhashchange does all the work of triggering the window.onhashchange - // event for browsers that don't natively support it, including creating a - // polling loop to watch for hash changes and in IE 6/7 creating a hidden - // Iframe to enable back and forward. - fake_onhashchange = (function(){ - var self = {}, - timeout_id, - - // Remember the initial hash so it doesn't get triggered immediately. - last_hash = get_fragment(), - - fn_retval = function(val){ return val; }, - history_set = fn_retval, - history_get = fn_retval; - - // Start the polling loop. - self.start = function() { - timeout_id || poll(); - }; - - // Stop the polling loop. - self.stop = function() { - timeout_id && clearTimeout( timeout_id ); - timeout_id = undefined; - }; - - // This polling loop checks every $.fn.hashchange.delay milliseconds to see - // if location.hash has changed, and triggers the 'hashchange' event on - // window when necessary. - function poll() { - var hash = get_fragment(), - history_hash = history_get( last_hash ); - - if ( hash !== last_hash ) { - history_set( last_hash = hash, history_hash ); - - $(window).trigger( str_hashchange ); - - } else if ( history_hash !== last_hash ) { - location.href = location.href.replace( /#.*/, '' ) + history_hash; - } - - timeout_id = setTimeout( poll, $.fn[ str_hashchange ].delay ); - }; - - // vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv - // vvvvvvvvvvvvvvvvvvv REMOVE IF NOT SUPPORTING IE6/7/8 vvvvvvvvvvvvvvvvvvv - // vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv - window.attachEvent && !window.addEventListener && !supports_onhashchange && (function(){ - // Not only do IE6/7 need the "magical" Iframe treatment, but so does IE8 - // when running in "IE7 compatibility" mode. - - var iframe, - iframe_src; - - // When the event is bound and polling starts in IE 6/7, create a hidden - // Iframe for history handling. - self.start = function(){ - if ( !iframe ) { - iframe_src = $.fn[ str_hashchange ].src; - iframe_src = iframe_src && iframe_src + get_fragment(); - - // Create hidden Iframe. Attempt to make Iframe as hidden as possible - // by using techniques from http://www.paciellogroup.com/blog/?p=604. - iframe = $('<iframe tabindex="-1" title="empty"/>').hide() - - // When Iframe has completely loaded, initialize the history and - // start polling. - .one( 'load', function(){ - iframe_src || history_set( get_fragment() ); - poll(); - }) - - // Load Iframe src if specified, otherwise nothing. - .attr( 'src', iframe_src || 'javascript:0' ) - - // Append Iframe after the end of the body to prevent unnecessary - // initial page scrolling (yes, this works). - .insertAfter( 'body' )[0].contentWindow; - - // Whenever `document.title` changes, update the Iframe's title to - // prettify the back/next history menu entries. Since IE sometimes - // errors with "Unspecified error" the very first time this is set - // (yes, very useful) wrap this with a try/catch block. - doc.onpropertychange = function(){ - try { - if ( event.propertyName === 'title' ) { - iframe.document.title = doc.title; - } - } catch(e) {} - }; - - } - }; - - // Override the "stop" method since an IE6/7 Iframe was created. Even - // if there are no longer any bound event handlers, the polling loop - // is still necessary for back/next to work at all! - self.stop = fn_retval; - - // Get history by looking at the hidden Iframe's location.hash. - history_get = function() { - return get_fragment( iframe.location.href ); - }; - - // Set a new history item by opening and then closing the Iframe - // document, *then* setting its location.hash. If document.domain has - // been set, update that as well. - history_set = function( hash, history_hash ) { - var iframe_doc = iframe.document, - domain = $.fn[ str_hashchange ].domain; - - if ( hash !== history_hash ) { - // Update Iframe with any initial `document.title` that might be set. - iframe_doc.title = doc.title; - - // Opening the Iframe's document after it has been closed is what - // actually adds a history entry. - iframe_doc.open(); - - // Set document.domain for the Iframe document as well, if necessary. - domain && iframe_doc.write( '\x3cscript>document.domain="' + domain + '"\x3c/script>' ); - - iframe_doc.close(); - - // Update the Iframe's hash, for great justice. - iframe.location.hash = hash; - } - }; - - })(); - // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - // ^^^^^^^^^^^^^^^^^^^ REMOVE IF NOT SUPPORTING IE6/7/8 ^^^^^^^^^^^^^^^^^^^ - // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - - return self; - })(); - -})(jQuery,this); - - -(function( $, undefined ) { - - /*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas. Dual MIT/BSD license */ - window.matchMedia = window.matchMedia || (function( doc, undefined ) { - - var bool, - docElem = doc.documentElement, - refNode = docElem.firstElementChild || docElem.firstChild, - // fakeBody required for <FF4 when executed in <head> - fakeBody = doc.createElement( "body" ), - div = doc.createElement( "div" ); - - div.id = "mq-test-1"; - div.style.cssText = "position:absolute;top:-100em"; - fakeBody.style.background = "none"; - fakeBody.appendChild(div); - - return function(q){ - - div.innerHTML = "­<style media=\"" + q + "\"> #mq-test-1 { width: 42px; }</style>"; - - docElem.insertBefore( fakeBody, refNode ); - bool = div.offsetWidth === 42; - docElem.removeChild( fakeBody ); - - return { - matches: bool, - media: q - }; - - }; - - }( document )); - - // $.mobile.media uses matchMedia to return a boolean. - $.mobile.media = function( q ) { - return window.matchMedia( q ).matches; - }; - -})(jQuery); - - (function( $, undefined ) { - var support = { - touch: "ontouchend" in document - }; - - $.mobile.support = $.mobile.support || {}; - $.extend( $.support, support ); - $.extend( $.mobile.support, support ); - }( jQuery )); - - (function( $, undefined ) { - $.extend( $.support, { - orientation: "orientation" in window && "onorientationchange" in window - }); - }( jQuery )); - -(function( $, undefined ) { - -// thx Modernizr -function propExists( prop ) { - var uc_prop = prop.charAt( 0 ).toUpperCase() + prop.substr( 1 ), - props = ( prop + " " + vendors.join( uc_prop + " " ) + uc_prop ).split( " " ), - v; - - for ( v in props ) { - if ( fbCSS[ props[ v ] ] !== undefined ) { - return true; - } - } -} - -var fakeBody = $( "<body>" ).prependTo( "html" ), - fbCSS = fakeBody[ 0 ].style, - vendors = [ "Webkit", "Moz", "O" ], - webos = "palmGetResource" in window, //only used to rule out scrollTop - operamini = window.operamini && ({}).toString.call( window.operamini ) === "[object OperaMini]", - bb = window.blackberry && !propExists( "-webkit-transform" ), //only used to rule out box shadow, as it's filled opaque on BB 5 and lower - nokiaLTE7_3; - -// inline SVG support test -function inlineSVG() { - // Thanks Modernizr & Erik Dahlstrom - var w = window, - svg = !!w.document.createElementNS && !!w.document.createElementNS( "http://www.w3.org/2000/svg", "svg" ).createSVGRect && !( w.opera && navigator.userAgent.indexOf( "Chrome" ) === -1 ), - support = function( data ) { - if ( !( data && svg ) ) { - $( "html" ).addClass( "ui-nosvg" ); - } - }, - img = new w.Image(); - - img.onerror = function() { - support( false ); - }; - img.onload = function() { - support( img.width === 1 && img.height === 1 ); - }; - img.src = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw=="; -} - -function transform3dTest() { - var mqProp = "transform-3d", - // Because the `translate3d` test below throws false positives in Android: - ret = $.mobile.media( "(-" + vendors.join( "-" + mqProp + "),(-" ) + "-" + mqProp + "),(" + mqProp + ")" ), - el, transforms, t; - - if ( ret ) { - return !!ret; - } - - el = document.createElement( "div" ); - transforms = { - // We’re omitting Opera for the time being; MS uses unprefixed. - "MozTransform": "-moz-transform", - "transform": "transform" - }; - - fakeBody.append( el ); - - for ( t in transforms ) { - if ( el.style[ t ] !== undefined ) { - el.style[ t ] = "translate3d( 100px, 1px, 1px )"; - ret = window.getComputedStyle( el ).getPropertyValue( transforms[ t ] ); - } - } - return ( !!ret && ret !== "none" ); -} - -// Test for dynamic-updating base tag support ( allows us to avoid href,src attr rewriting ) -function baseTagTest() { - var fauxBase = location.protocol + "//" + location.host + location.pathname + "ui-dir/", - base = $( "head base" ), - fauxEle = null, - href = "", - link, rebase; - - if ( !base.length ) { - base = fauxEle = $( "<base>", { "href": fauxBase }).appendTo( "head" ); - } else { - href = base.attr( "href" ); - } - - link = $( "<a href='testurl' />" ).prependTo( fakeBody ); - rebase = link[ 0 ].href; - base[ 0 ].href = href || location.pathname; - - if ( fauxEle ) { - fauxEle.remove(); - } - return rebase.indexOf( fauxBase ) === 0; -} - -// Thanks Modernizr -function cssPointerEventsTest() { - var element = document.createElement( "x" ), - documentElement = document.documentElement, - getComputedStyle = window.getComputedStyle, - supports; - - if ( !( "pointerEvents" in element.style ) ) { - return false; - } - - element.style.pointerEvents = "auto"; - element.style.pointerEvents = "x"; - documentElement.appendChild( element ); - supports = getComputedStyle && - getComputedStyle( element, "" ).pointerEvents === "auto"; - documentElement.removeChild( element ); - return !!supports; -} - -function boundingRect() { - var div = document.createElement( "div" ); - return typeof div.getBoundingClientRect !== "undefined"; -} - -// non-UA-based IE version check by James Padolsey, modified by jdalton - from http://gist.github.com/527683 -// allows for inclusion of IE 6+, including Windows Mobile 7 -$.extend( $.mobile, { browser: {} } ); -$.mobile.browser.oldIE = (function() { - var v = 3, - div = document.createElement( "div" ), - a = div.all || []; - - do { - div.innerHTML = "<!--[if gt IE " + ( ++v ) + "]><br><![endif]-->"; - } while( a[0] ); - - return v > 4 ? v : !v; -})(); - -function fixedPosition() { - var w = window, - ua = navigator.userAgent, - platform = navigator.platform, - // Rendering engine is Webkit, and capture major version - wkmatch = ua.match( /AppleWebKit\/([0-9]+)/ ), - wkversion = !!wkmatch && wkmatch[ 1 ], - ffmatch = ua.match( /Fennec\/([0-9]+)/ ), - ffversion = !!ffmatch && ffmatch[ 1 ], - operammobilematch = ua.match( /Opera Mobi\/([0-9]+)/ ), - omversion = !!operammobilematch && operammobilematch[ 1 ]; - - if ( - // iOS 4.3 and older : Platform is iPhone/Pad/Touch and Webkit version is less than 534 (ios5) - ( ( platform.indexOf( "iPhone" ) > -1 || platform.indexOf( "iPad" ) > -1 || platform.indexOf( "iPod" ) > -1 ) && wkversion && wkversion < 534 ) || - // Opera Mini - ( w.operamini && ({}).toString.call( w.operamini ) === "[object OperaMini]" ) || - ( operammobilematch && omversion < 7458 ) || - //Android lte 2.1: Platform is Android and Webkit version is less than 533 (Android 2.2) - ( ua.indexOf( "Android" ) > -1 && wkversion && wkversion < 533 ) || - // Firefox Mobile before 6.0 - - ( ffversion && ffversion < 6 ) || - // WebOS less than 3 - ( "palmGetResource" in window && wkversion && wkversion < 534 ) || - // MeeGo - ( ua.indexOf( "MeeGo" ) > -1 && ua.indexOf( "NokiaBrowser/8.5.0" ) > -1 ) ) { - return false; - } - - return true; -} - -$.extend( $.support, { - // Note, Chrome for iOS has an extremely quirky implementation of popstate. - // We've chosen to take the shortest path to a bug fix here for issue #5426 - // See the following link for information about the regex chosen - // https://developers.google.com/chrome/mobile/docs/user-agent#chrome_for_ios_user-agent - pushState: "pushState" in history && - "replaceState" in history && - // When running inside a FF iframe, calling replaceState causes an error - !( window.navigator.userAgent.indexOf( "Firefox" ) >= 0 && window.top !== window ) && - ( window.navigator.userAgent.search(/CriOS/) === -1 ), - - mediaquery: $.mobile.media( "only all" ), - cssPseudoElement: !!propExists( "content" ), - touchOverflow: !!propExists( "overflowScrolling" ), - cssTransform3d: transform3dTest(), - boxShadow: !!propExists( "boxShadow" ) && !bb, - fixedPosition: fixedPosition(), - scrollTop: ("pageXOffset" in window || - "scrollTop" in document.documentElement || - "scrollTop" in fakeBody[ 0 ]) && !webos && !operamini, - - dynamicBaseTag: baseTagTest(), - cssPointerEvents: cssPointerEventsTest(), - boundingRect: boundingRect(), - inlineSVG: inlineSVG -}); - -fakeBody.remove(); - -// $.mobile.ajaxBlacklist is used to override ajaxEnabled on platforms that have known conflicts with hash history updates (BB5, Symbian) -// or that generally work better browsing in regular http for full page refreshes (Opera Mini) -// Note: This detection below is used as a last resort. -// We recommend only using these detection methods when all other more reliable/forward-looking approaches are not possible -nokiaLTE7_3 = (function() { - - var ua = window.navigator.userAgent; - - //The following is an attempt to match Nokia browsers that are running Symbian/s60, with webkit, version 7.3 or older - return ua.indexOf( "Nokia" ) > -1 && - ( ua.indexOf( "Symbian/3" ) > -1 || ua.indexOf( "Series60/5" ) > -1 ) && - ua.indexOf( "AppleWebKit" ) > -1 && - ua.match( /(BrowserNG|NokiaBrowser)\/7\.[0-3]/ ); -})(); - -// Support conditions that must be met in order to proceed -// default enhanced qualifications are media query support OR IE 7+ - -$.mobile.gradeA = function() { - return ( ( $.support.mediaquery && $.support.cssPseudoElement ) || $.mobile.browser.oldIE && $.mobile.browser.oldIE >= 8 ) && ( $.support.boundingRect || $.fn.jquery.match(/1\.[0-7+]\.[0-9+]?/) !== null ); -}; - -$.mobile.ajaxBlacklist = - // BlackBerry browsers, pre-webkit - window.blackberry && !window.WebKitPoint || - // Opera Mini - operamini || - // Symbian webkits pre 7.3 - nokiaLTE7_3; - -// Lastly, this workaround is the only way we've found so far to get pre 7.3 Symbian webkit devices -// to render the stylesheets when they're referenced before this script, as we'd recommend doing. -// This simply reappends the CSS in place, which for some reason makes it apply -if ( nokiaLTE7_3 ) { - $(function() { - $( "head link[rel='stylesheet']" ).attr( "rel", "alternate stylesheet" ).attr( "rel", "stylesheet" ); - }); -} - -// For ruling out shadows via css -if ( !$.support.boxShadow ) { - $( "html" ).addClass( "ui-noboxshadow" ); -} - -})( jQuery ); - - -(function( $, undefined ) { - var $win = $.mobile.window, self, - dummyFnToInitNavigate = function() { - }; - - $.event.special.beforenavigate = { - setup: function() { - $win.on( "navigate", dummyFnToInitNavigate ); - }, - - teardown: function() { - $win.off( "navigate", dummyFnToInitNavigate ); - } - }; - - $.event.special.navigate = self = { - bound: false, - - pushStateEnabled: true, - - originalEventName: undefined, - - // If pushstate support is present and push state support is defined to - // be true on the mobile namespace. - isPushStateEnabled: function() { - return $.support.pushState && - $.mobile.pushStateEnabled === true && - this.isHashChangeEnabled(); - }, - - // !! assumes mobile namespace is present - isHashChangeEnabled: function() { - return $.mobile.hashListeningEnabled === true; - }, - - // TODO a lot of duplication between popstate and hashchange - popstate: function( event ) { - var newEvent = new $.Event( "navigate" ), - beforeNavigate = new $.Event( "beforenavigate" ), - state = event.originalEvent.state || {}; - - beforeNavigate.originalEvent = event; - $win.trigger( beforeNavigate ); - - if ( beforeNavigate.isDefaultPrevented() ) { - return; - } - - if ( event.historyState ) { - $.extend(state, event.historyState); - } - - // Make sure the original event is tracked for the end - // user to inspect incase they want to do something special - newEvent.originalEvent = event; - - // NOTE we let the current stack unwind because any assignment to - // location.hash will stop the world and run this event handler. By - // doing this we create a similar behavior to hashchange on hash - // assignment - setTimeout(function() { - $win.trigger( newEvent, { - state: state - }); - }, 0); - }, - - hashchange: function( event /*, data */ ) { - var newEvent = new $.Event( "navigate" ), - beforeNavigate = new $.Event( "beforenavigate" ); - - beforeNavigate.originalEvent = event; - $win.trigger( beforeNavigate ); - - if ( beforeNavigate.isDefaultPrevented() ) { - return; - } - - // Make sure the original event is tracked for the end - // user to inspect incase they want to do something special - newEvent.originalEvent = event; - - // Trigger the hashchange with state provided by the user - // that altered the hash - $win.trigger( newEvent, { - // Users that want to fully normalize the two events - // will need to do history management down the stack and - // add the state to the event before this binding is fired - // TODO consider allowing for the explicit addition of callbacks - // to be fired before this value is set to avoid event timing issues - state: event.hashchangeState || {} - }); - }, - - // TODO We really only want to set this up once - // but I'm not clear if there's a beter way to achieve - // this with the jQuery special event structure - setup: function( /* data, namespaces */ ) { - if ( self.bound ) { - return; - } - - self.bound = true; - - if ( self.isPushStateEnabled() ) { - self.originalEventName = "popstate"; - $win.bind( "popstate.navigate", self.popstate ); - } else if ( self.isHashChangeEnabled() ) { - self.originalEventName = "hashchange"; - $win.bind( "hashchange.navigate", self.hashchange ); - } - } - }; -})( jQuery ); - - - -(function( $, undefined ) { - var path, $base, dialogHashKey = "&ui-state=dialog"; - - $.mobile.path = path = { - uiStateKey: "&ui-state", - - // This scary looking regular expression parses an absolute URL or its relative - // variants (protocol, site, document, query, and hash), into the various - // components (protocol, host, path, query, fragment, etc that make up the - // URL as well as some other commonly used sub-parts. When used with RegExp.exec() - // or String.match, it parses the URL into a results array that looks like this: - // - // [0]: http://jblas:password@mycompany.com:8080/mail/inbox?msg=1234&type=unread#msg-content - // [1]: http://jblas:password@mycompany.com:8080/mail/inbox?msg=1234&type=unread - // [2]: http://jblas:password@mycompany.com:8080/mail/inbox - // [3]: http://jblas:password@mycompany.com:8080 - // [4]: http: - // [5]: // - // [6]: jblas:password@mycompany.com:8080 - // [7]: jblas:password - // [8]: jblas - // [9]: password - // [10]: mycompany.com:8080 - // [11]: mycompany.com - // [12]: 8080 - // [13]: /mail/inbox - // [14]: /mail/ - // [15]: inbox - // [16]: ?msg=1234&type=unread - // [17]: #msg-content - // - urlParseRE: /^\s*(((([^:\/#\?]+:)?(?:(\/\/)((?:(([^:@\/#\?]+)(?:\:([^:@\/#\?]+))?)@)?(([^:\/#\?\]\[]+|\[[^\/\]@#?]+\])(?:\:([0-9]+))?))?)?)?((\/?(?:[^\/\?#]+\/+)*)([^\?#]*)))?(\?[^#]+)?)(#.*)?/, - - // Abstraction to address xss (Issue #4787) by removing the authority in - // browsers that auto-decode it. All references to location.href should be - // replaced with a call to this method so that it can be dealt with properly here - getLocation: function( url ) { - var parsedUrl = this.parseUrl( url || location.href ), - uri = url ? parsedUrl : location, - - // Make sure to parse the url or the location object for the hash because using - // location.hash is autodecoded in firefox, the rest of the url should be from - // the object (location unless we're testing) to avoid the inclusion of the - // authority - hash = parsedUrl.hash; - - // mimic the browser with an empty string when the hash is empty - hash = hash === "#" ? "" : hash; - - return uri.protocol + - parsedUrl.doubleSlash + - uri.host + - - // The pathname must start with a slash if there's a protocol, because you - // can't have a protocol followed by a relative path. Also, it's impossible to - // calculate absolute URLs from relative ones if the absolute one doesn't have - // a leading "/". - ( ( uri.protocol !== "" && uri.pathname.substring( 0, 1 ) !== "/" ) ? - "/" : "" ) + - uri.pathname + - uri.search + - hash; - }, - - //return the original document url - getDocumentUrl: function( asParsedObject ) { - return asParsedObject ? $.extend( {}, path.documentUrl ) : path.documentUrl.href; - }, - - parseLocation: function() { - return this.parseUrl( this.getLocation() ); - }, - - //Parse a URL into a structure that allows easy access to - //all of the URL components by name. - parseUrl: function( url ) { - // If we're passed an object, we'll assume that it is - // a parsed url object and just return it back to the caller. - if ( $.type( url ) === "object" ) { - return url; - } - - var matches = path.urlParseRE.exec( url || "" ) || []; - - // Create an object that allows the caller to access the sub-matches - // by name. Note that IE returns an empty string instead of undefined, - // like all other browsers do, so we normalize everything so its consistent - // no matter what browser we're running on. - return { - href: matches[ 0 ] || "", - hrefNoHash: matches[ 1 ] || "", - hrefNoSearch: matches[ 2 ] || "", - domain: matches[ 3 ] || "", - protocol: matches[ 4 ] || "", - doubleSlash: matches[ 5 ] || "", - authority: matches[ 6 ] || "", - username: matches[ 8 ] || "", - password: matches[ 9 ] || "", - host: matches[ 10 ] || "", - hostname: matches[ 11 ] || "", - port: matches[ 12 ] || "", - pathname: matches[ 13 ] || "", - directory: matches[ 14 ] || "", - filename: matches[ 15 ] || "", - search: matches[ 16 ] || "", - hash: matches[ 17 ] || "" - }; - }, - - //Turn relPath into an asbolute path. absPath is - //an optional absolute path which describes what - //relPath is relative to. - makePathAbsolute: function( relPath, absPath ) { - var absStack, - relStack, - i, d; - - if ( relPath && relPath.charAt( 0 ) === "/" ) { - return relPath; - } - - relPath = relPath || ""; - absPath = absPath ? absPath.replace( /^\/|(\/[^\/]*|[^\/]+)$/g, "" ) : ""; - - absStack = absPath ? absPath.split( "/" ) : []; - relStack = relPath.split( "/" ); - - for ( i = 0; i < relStack.length; i++ ) { - d = relStack[ i ]; - switch ( d ) { - case ".": - break; - case "..": - if ( absStack.length ) { - absStack.pop(); - } - break; - default: - absStack.push( d ); - break; - } - } - return "/" + absStack.join( "/" ); - }, - - //Returns true if both urls have the same domain. - isSameDomain: function( absUrl1, absUrl2 ) { - return path.parseUrl( absUrl1 ).domain.toLowerCase() === - path.parseUrl( absUrl2 ).domain.toLowerCase(); - }, - - //Returns true for any relative variant. - isRelativeUrl: function( url ) { - // All relative Url variants have one thing in common, no protocol. - return path.parseUrl( url ).protocol === ""; - }, - - //Returns true for an absolute url. - isAbsoluteUrl: function( url ) { - return path.parseUrl( url ).protocol !== ""; - }, - - //Turn the specified realtive URL into an absolute one. This function - //can handle all relative variants (protocol, site, document, query, fragment). - makeUrlAbsolute: function( relUrl, absUrl ) { - if ( !path.isRelativeUrl( relUrl ) ) { - return relUrl; - } - - if ( absUrl === undefined ) { - absUrl = this.documentBase; - } - - var relObj = path.parseUrl( relUrl ), - absObj = path.parseUrl( absUrl ), - protocol = relObj.protocol || absObj.protocol, - doubleSlash = relObj.protocol ? relObj.doubleSlash : ( relObj.doubleSlash || absObj.doubleSlash ), - authority = relObj.authority || absObj.authority, - hasPath = relObj.pathname !== "", - pathname = path.makePathAbsolute( relObj.pathname || absObj.filename, absObj.pathname ), - search = relObj.search || ( !hasPath && absObj.search ) || "", - hash = relObj.hash; - - return protocol + doubleSlash + authority + pathname + search + hash; - }, - - //Add search (aka query) params to the specified url. - addSearchParams: function( url, params ) { - var u = path.parseUrl( url ), - p = ( typeof params === "object" ) ? $.param( params ) : params, - s = u.search || "?"; - return u.hrefNoSearch + s + ( s.charAt( s.length - 1 ) !== "?" ? "&" : "" ) + p + ( u.hash || "" ); - }, - - convertUrlToDataUrl: function( absUrl ) { - var result = absUrl, - u = path.parseUrl( absUrl ); - - if ( path.isEmbeddedPage( u ) ) { - // For embedded pages, remove the dialog hash key as in getFilePath(), - // and remove otherwise the Data Url won't match the id of the embedded Page. - result = u.hash - .split( dialogHashKey )[0] - .replace( /^#/, "" ) - .replace( /\?.*$/, "" ); - } else if ( path.isSameDomain( u, this.documentBase ) ) { - result = u.hrefNoHash.replace( this.documentBase.domain, "" ).split( dialogHashKey )[0]; - } - - return window.decodeURIComponent( result ); - }, - - //get path from current hash, or from a file path - get: function( newPath ) { - if ( newPath === undefined ) { - newPath = path.parseLocation().hash; - } - return path.stripHash( newPath ).replace( /[^\/]*\.[^\/*]+$/, "" ); - }, - - //set location hash to path - set: function( path ) { - location.hash = path; - }, - - //test if a given url (string) is a path - //NOTE might be exceptionally naive - isPath: function( url ) { - return ( /\// ).test( url ); - }, - - //return a url path with the window's location protocol/hostname/pathname removed - clean: function( url ) { - return url.replace( this.documentBase.domain, "" ); - }, - - //just return the url without an initial # - stripHash: function( url ) { - return url.replace( /^#/, "" ); - }, - - stripQueryParams: function( url ) { - return url.replace( /\?.*$/, "" ); - }, - - //remove the preceding hash, any query params, and dialog notations - cleanHash: function( hash ) { - return path.stripHash( hash.replace( /\?.*$/, "" ).replace( dialogHashKey, "" ) ); - }, - - isHashValid: function( hash ) { - return ( /^#[^#]+$/ ).test( hash ); - }, - - //check whether a url is referencing the same domain, or an external domain or different protocol - //could be mailto, etc - isExternal: function( url ) { - var u = path.parseUrl( url ); - - return !!( u.protocol && - ( u.domain.toLowerCase() !== this.documentUrl.domain.toLowerCase() ) ); - }, - - hasProtocol: function( url ) { - return ( /^(:?\w+:)/ ).test( url ); - }, - - isEmbeddedPage: function( url ) { - var u = path.parseUrl( url ); - - //if the path is absolute, then we need to compare the url against - //both the this.documentUrl and the documentBase. The main reason for this - //is that links embedded within external documents will refer to the - //application document, whereas links embedded within the application - //document will be resolved against the document base. - if ( u.protocol !== "" ) { - return ( !this.isPath(u.hash) && u.hash && ( u.hrefNoHash === this.documentUrl.hrefNoHash || ( this.documentBaseDiffers && u.hrefNoHash === this.documentBase.hrefNoHash ) ) ); - } - return ( /^#/ ).test( u.href ); - }, - - squash: function( url, resolutionUrl ) { - var href, cleanedUrl, search, stateIndex, docUrl, - isPath = this.isPath( url ), - uri = this.parseUrl( url ), - preservedHash = uri.hash, - uiState = ""; - - // produce a url against which we can resolve the provided path - if ( !resolutionUrl ) { - if ( isPath ) { - resolutionUrl = path.getLocation(); - } else { - docUrl = path.getDocumentUrl( true ); - if ( path.isPath( docUrl.hash ) ) { - resolutionUrl = path.squash( docUrl.href ); - } else { - resolutionUrl = docUrl.href; - } - } - } - - // If the url is anything but a simple string, remove any preceding hash - // eg #foo/bar -> foo/bar - // #foo -> #foo - cleanedUrl = isPath ? path.stripHash( url ) : url; - - // If the url is a full url with a hash check if the parsed hash is a path - // if it is, strip the #, and use it otherwise continue without change - cleanedUrl = path.isPath( uri.hash ) ? path.stripHash( uri.hash ) : cleanedUrl; - - // Split the UI State keys off the href - stateIndex = cleanedUrl.indexOf( this.uiStateKey ); - - // store the ui state keys for use - if ( stateIndex > -1 ) { - uiState = cleanedUrl.slice( stateIndex ); - cleanedUrl = cleanedUrl.slice( 0, stateIndex ); - } - - // make the cleanedUrl absolute relative to the resolution url - href = path.makeUrlAbsolute( cleanedUrl, resolutionUrl ); - - // grab the search from the resolved url since parsing from - // the passed url may not yield the correct result - search = this.parseUrl( href ).search; - - // TODO all this crap is terrible, clean it up - if ( isPath ) { - // reject the hash if it's a path or it's just a dialog key - if ( path.isPath( preservedHash ) || preservedHash.replace("#", "").indexOf( this.uiStateKey ) === 0) { - preservedHash = ""; - } - - // Append the UI State keys where it exists and it's been removed - // from the url - if ( uiState && preservedHash.indexOf( this.uiStateKey ) === -1) { - preservedHash += uiState; - } - - // make sure that pound is on the front of the hash - if ( preservedHash.indexOf( "#" ) === -1 && preservedHash !== "" ) { - preservedHash = "#" + preservedHash; - } - - // reconstruct each of the pieces with the new search string and hash - href = path.parseUrl( href ); - href = href.protocol + href.doubleSlash + href.host + href.pathname + search + - preservedHash; - } else { - href += href.indexOf( "#" ) > -1 ? uiState : "#" + uiState; - } - - return href; - }, - - isPreservableHash: function( hash ) { - return hash.replace( "#", "" ).indexOf( this.uiStateKey ) === 0; - }, - - // Escape weird characters in the hash if it is to be used as a selector - hashToSelector: function( hash ) { - var hasHash = ( hash.substring( 0, 1 ) === "#" ); - if ( hasHash ) { - hash = hash.substring( 1 ); - } - return ( hasHash ? "#" : "" ) + hash.replace( /([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g, "\\$1" ); - }, - - // return the substring of a filepath before the dialogHashKey, for making a server - // request - getFilePath: function( path ) { - return path && path.split( dialogHashKey )[0]; - }, - - // check if the specified url refers to the first page in the main - // application document. - isFirstPageUrl: function( url ) { - // We only deal with absolute paths. - var u = path.parseUrl( path.makeUrlAbsolute( url, this.documentBase ) ), - - // Does the url have the same path as the document? - samePath = u.hrefNoHash === this.documentUrl.hrefNoHash || - ( this.documentBaseDiffers && - u.hrefNoHash === this.documentBase.hrefNoHash ), - - // Get the first page element. - fp = $.mobile.firstPage, - - // Get the id of the first page element if it has one. - fpId = fp && fp[0] ? fp[0].id : undefined; - - // The url refers to the first page if the path matches the document and - // it either has no hash value, or the hash is exactly equal to the id - // of the first page element. - return samePath && - ( !u.hash || - u.hash === "#" || - ( fpId && u.hash.replace( /^#/, "" ) === fpId ) ); - }, - - // Some embedded browsers, like the web view in Phone Gap, allow - // cross-domain XHR requests if the document doing the request was loaded - // via the file:// protocol. This is usually to allow the application to - // "phone home" and fetch app specific data. We normally let the browser - // handle external/cross-domain urls, but if the allowCrossDomainPages - // option is true, we will allow cross-domain http/https requests to go - // through our page loading logic. - isPermittedCrossDomainRequest: function( docUrl, reqUrl ) { - return $.mobile.allowCrossDomainPages && - (docUrl.protocol === "file:" || docUrl.protocol === "content:") && - reqUrl.search( /^https?:/ ) !== -1; - } - }; - - path.documentUrl = path.parseLocation(); - - $base = $( "head" ).find( "base" ); - - path.documentBase = $base.length ? - path.parseUrl( path.makeUrlAbsolute( $base.attr( "href" ), path.documentUrl.href ) ) : - path.documentUrl; - - path.documentBaseDiffers = (path.documentUrl.hrefNoHash !== path.documentBase.hrefNoHash); - - //return the original document base url - path.getDocumentBase = function( asParsedObject ) { - return asParsedObject ? $.extend( {}, path.documentBase ) : path.documentBase.href; - }; - - // DEPRECATED as of 1.4.0 - remove in 1.5.0 - $.extend( $.mobile, { - - //return the original document url - getDocumentUrl: path.getDocumentUrl, - - //return the original document base url - getDocumentBase: path.getDocumentBase - }); -})( jQuery ); - - - -(function( $, undefined ) { - $.mobile.History = function( stack, index ) { - this.stack = stack || []; - this.activeIndex = index || 0; - }; - - $.extend($.mobile.History.prototype, { - getActive: function() { - return this.stack[ this.activeIndex ]; - }, - - getLast: function() { - return this.stack[ this.previousIndex ]; - }, - - getNext: function() { - return this.stack[ this.activeIndex + 1 ]; - }, - - getPrev: function() { - return this.stack[ this.activeIndex - 1 ]; - }, - - // addNew is used whenever a new page is added - add: function( url, data ) { - data = data || {}; - - //if there's forward history, wipe it - if ( this.getNext() ) { - this.clearForward(); - } - - // if the hash is included in the data make sure the shape - // is consistent for comparison - if ( data.hash && data.hash.indexOf( "#" ) === -1) { - data.hash = "#" + data.hash; - } - - data.url = url; - this.stack.push( data ); - this.activeIndex = this.stack.length - 1; - }, - - //wipe urls ahead of active index - clearForward: function() { - this.stack = this.stack.slice( 0, this.activeIndex + 1 ); - }, - - find: function( url, stack, earlyReturn ) { - stack = stack || this.stack; - - var entry, i, length = stack.length, index; - - for ( i = 0; i < length; i++ ) { - entry = stack[i]; - - if ( decodeURIComponent(url) === decodeURIComponent(entry.url) || - decodeURIComponent(url) === decodeURIComponent(entry.hash) ) { - index = i; - - if ( earlyReturn ) { - return index; - } - } - } - - return index; - }, - - closest: function( url ) { - var closest, a = this.activeIndex; - - // First, take the slice of the history stack before the current index and search - // for a url match. If one is found, we'll avoid avoid looking through forward history - // NOTE the preference for backward history movement is driven by the fact that - // most mobile browsers only have a dedicated back button, and users rarely use - // the forward button in desktop browser anyhow - closest = this.find( url, this.stack.slice(0, a) ); - - // If nothing was found in backward history check forward. The `true` - // value passed as the third parameter causes the find method to break - // on the first match in the forward history slice. The starting index - // of the slice must then be added to the result to get the element index - // in the original history stack :( :( - // - // TODO this is hyper confusing and should be cleaned up (ugh so bad) - if ( closest === undefined ) { - closest = this.find( url, this.stack.slice(a), true ); - closest = closest === undefined ? closest : closest + a; - } - - return closest; - }, - - direct: function( opts ) { - var newActiveIndex = this.closest( opts.url ), a = this.activeIndex; - - // save new page index, null check to prevent falsey 0 result - // record the previous index for reference - if ( newActiveIndex !== undefined ) { - this.activeIndex = newActiveIndex; - this.previousIndex = a; - } - - // invoke callbacks where appropriate - // - // TODO this is also convoluted and confusing - if ( newActiveIndex < a ) { - ( opts.present || opts.back || $.noop )( this.getActive(), "back" ); - } else if ( newActiveIndex > a ) { - ( opts.present || opts.forward || $.noop )( this.getActive(), "forward" ); - } else if ( newActiveIndex === undefined && opts.missing ) { - opts.missing( this.getActive() ); - } - } - }); -})( jQuery ); - - - -(function( $, undefined ) { - var path = $.mobile.path, - initialHref = location.href; - - $.mobile.Navigator = function( history ) { - this.history = history; - this.ignoreInitialHashChange = true; - - $.mobile.window.bind({ - "popstate.history": $.proxy( this.popstate, this ), - "hashchange.history": $.proxy( this.hashchange, this ) - }); - }; - - $.extend($.mobile.Navigator.prototype, { - squash: function( url, data ) { - var state, href, hash = path.isPath(url) ? path.stripHash(url) : url; - - href = path.squash( url ); - - // make sure to provide this information when it isn't explicitly set in the - // data object that was passed to the squash method - state = $.extend({ - hash: hash, - url: href - }, data); - - // replace the current url with the new href and store the state - // Note that in some cases we might be replacing an url with the - // same url. We do this anyways because we need to make sure that - // all of our history entries have a state object associated with - // them. This allows us to work around the case where $.mobile.back() - // is called to transition from an external page to an embedded page. - // In that particular case, a hashchange event is *NOT* generated by the browser. - // Ensuring each history entry has a state object means that onPopState() - // will always trigger our hashchange callback even when a hashchange event - // is not fired. - window.history.replaceState( state, state.title || document.title, href ); - - return state; - }, - - hash: function( url, href ) { - var parsed, loc, hash, resolved; - - // Grab the hash for recording. If the passed url is a path - // we used the parsed version of the squashed url to reconstruct, - // otherwise we assume it's a hash and store it directly - parsed = path.parseUrl( url ); - loc = path.parseLocation(); - - if ( loc.pathname + loc.search === parsed.pathname + parsed.search ) { - // If the pathname and search of the passed url is identical to the current loc - // then we must use the hash. Otherwise there will be no event - // eg, url = "/foo/bar?baz#bang", location.href = "http://example.com/foo/bar?baz" - hash = parsed.hash ? parsed.hash : parsed.pathname + parsed.search; - } else if ( path.isPath(url) ) { - resolved = path.parseUrl( href ); - // If the passed url is a path, make it domain relative and remove any trailing hash - hash = resolved.pathname + resolved.search + (path.isPreservableHash( resolved.hash )? resolved.hash.replace( "#", "" ) : ""); - } else { - hash = url; - } - - return hash; - }, - - // TODO reconsider name - go: function( url, data, noEvents ) { - var state, href, hash, popstateEvent, - isPopStateEvent = $.event.special.navigate.isPushStateEnabled(); - - // Get the url as it would look squashed on to the current resolution url - href = path.squash( url ); - - // sort out what the hash sould be from the url - hash = this.hash( url, href ); - - // Here we prevent the next hash change or popstate event from doing any - // history management. In the case of hashchange we don't swallow it - // if there will be no hashchange fired (since that won't reset the value) - // and will swallow the following hashchange - if ( noEvents && hash !== path.stripHash(path.parseLocation().hash) ) { - this.preventNextHashChange = noEvents; - } - - // IMPORTANT in the case where popstate is supported the event will be triggered - // directly, stopping further execution - ie, interupting the flow of this - // method call to fire bindings at this expression. Below the navigate method - // there is a binding to catch this event and stop its propagation. - // - // We then trigger a new popstate event on the window with a null state - // so that the navigate events can conclude their work properly - // - // if the url is a path we want to preserve the query params that are available on - // the current url. - this.preventHashAssignPopState = true; - window.location.hash = hash; - - // If popstate is enabled and the browser triggers `popstate` events when the hash - // is set (this often happens immediately in browsers like Chrome), then the - // this flag will be set to false already. If it's a browser that does not trigger - // a `popstate` on hash assignement or `replaceState` then we need avoid the branch - // that swallows the event created by the popstate generated by the hash assignment - // At the time of this writing this happens with Opera 12 and some version of IE - this.preventHashAssignPopState = false; - - state = $.extend({ - url: href, - hash: hash, - title: document.title - }, data); - - if ( isPopStateEvent ) { - popstateEvent = new $.Event( "popstate" ); - popstateEvent.originalEvent = { - type: "popstate", - state: null - }; - - this.squash( url, state ); - - // Trigger a new faux popstate event to replace the one that we - // caught that was triggered by the hash setting above. - if ( !noEvents ) { - this.ignorePopState = true; - $.mobile.window.trigger( popstateEvent ); - } - } - - // record the history entry so that the information can be included - // in hashchange event driven navigate events in a similar fashion to - // the state that's provided by popstate - this.history.add( state.url, state ); - }, - - // This binding is intended to catch the popstate events that are fired - // when execution of the `$.navigate` method stops at window.location.hash = url; - // and completely prevent them from propagating. The popstate event will then be - // retriggered after execution resumes - // - // TODO grab the original event here and use it for the synthetic event in the - // second half of the navigate execution that will follow this binding - popstate: function( event ) { - var hash, state; - - // Partly to support our test suite which manually alters the support - // value to test hashchange. Partly to prevent all around weirdness - if ( !$.event.special.navigate.isPushStateEnabled() ) { - return; - } - - // If this is the popstate triggered by the actual alteration of the hash - // prevent it completely. History is tracked manually - if ( this.preventHashAssignPopState ) { - this.preventHashAssignPopState = false; - event.stopImmediatePropagation(); - return; - } - - // if this is the popstate triggered after the `replaceState` call in the go - // method, then simply ignore it. The history entry has already been captured - if ( this.ignorePopState ) { - this.ignorePopState = false; - return; - } - - // If there is no state, and the history stack length is one were - // probably getting the page load popstate fired by browsers like chrome - // avoid it and set the one time flag to false. - // TODO: Do we really need all these conditions? Comparing location hrefs - // should be sufficient. - if ( !event.originalEvent.state && - this.history.stack.length === 1 && - this.ignoreInitialHashChange ) { - this.ignoreInitialHashChange = false; - - if ( location.href === initialHref ) { - event.preventDefault(); - return; - } - } - - // account for direct manipulation of the hash. That is, we will receive a popstate - // when the hash is changed by assignment, and it won't have a state associated. We - // then need to squash the hash. See below for handling of hash assignment that - // matches an existing history entry - // TODO it might be better to only add to the history stack - // when the hash is adjacent to the active history entry - hash = path.parseLocation().hash; - if ( !event.originalEvent.state && hash ) { - // squash the hash that's been assigned on the URL with replaceState - // also grab the resulting state object for storage - state = this.squash( hash ); - - // record the new hash as an additional history entry - // to match the browser's treatment of hash assignment - this.history.add( state.url, state ); - - // pass the newly created state information - // along with the event - event.historyState = state; - - // do not alter history, we've added a new history entry - // so we know where we are - return; - } - - // If all else fails this is a popstate that comes from the back or forward buttons - // make sure to set the state of our history stack properly, and record the directionality - this.history.direct({ - url: (event.originalEvent.state || {}).url || hash, - - // When the url is either forward or backward in history include the entry - // as data on the event object for merging as data in the navigate event - present: function( historyEntry, direction ) { - // make sure to create a new object to pass down as the navigate event data - event.historyState = $.extend({}, historyEntry); - event.historyState.direction = direction; - } - }); - }, - - // NOTE must bind before `navigate` special event hashchange binding otherwise the - // navigation data won't be attached to the hashchange event in time for those - // bindings to attach it to the `navigate` special event - // TODO add a check here that `hashchange.navigate` is bound already otherwise it's - // broken (exception?) - hashchange: function( event ) { - var history, hash; - - // If hashchange listening is explicitly disabled or pushstate is supported - // avoid making use of the hashchange handler. - if (!$.event.special.navigate.isHashChangeEnabled() || - $.event.special.navigate.isPushStateEnabled() ) { - return; - } - - // On occasion explicitly want to prevent the next hash from propogating because we only - // with to alter the url to represent the new state do so here - if ( this.preventNextHashChange ) { - this.preventNextHashChange = false; - event.stopImmediatePropagation(); - return; - } - - history = this.history; - hash = path.parseLocation().hash; - - // If this is a hashchange caused by the back or forward button - // make sure to set the state of our history stack properly - this.history.direct({ - url: hash, - - // When the url is either forward or backward in history include the entry - // as data on the event object for merging as data in the navigate event - present: function( historyEntry, direction ) { - // make sure to create a new object to pass down as the navigate event data - event.hashchangeState = $.extend({}, historyEntry); - event.hashchangeState.direction = direction; - }, - - // When we don't find a hash in our history clearly we're aiming to go there - // record the entry as new for future traversal - // - // NOTE it's not entirely clear that this is the right thing to do given that we - // can't know the users intention. It might be better to explicitly _not_ - // support location.hash assignment in preference to $.navigate calls - // TODO first arg to add should be the href, but it causes issues in identifying - // embeded pages - missing: function() { - history.add( hash, { - hash: hash, - title: document.title - }); - } - }); - } - }); -})( jQuery ); - - - -(function( $, undefined ) { - // TODO consider queueing navigation activity until previous activities have completed - // so that end users don't have to think about it. Punting for now - // TODO !! move the event bindings into callbacks on the navigate event - $.mobile.navigate = function( url, data, noEvents ) { - $.mobile.navigate.navigator.go( url, data, noEvents ); - }; - - // expose the history on the navigate method in anticipation of full integration with - // existing navigation functionalty that is tightly coupled to the history information - $.mobile.navigate.history = new $.mobile.History(); - - // instantiate an instance of the navigator for use within the $.navigate method - $.mobile.navigate.navigator = new $.mobile.Navigator( $.mobile.navigate.history ); - - var loc = $.mobile.path.parseLocation(); - $.mobile.navigate.history.add( loc.href, {hash: loc.hash} ); -})( jQuery ); - - -(function( $, undefined ) { - var props = { - "animation": {}, - "transition": {} - }, - testElement = document.createElement( "a" ), - vendorPrefixes = [ "", "webkit-", "moz-", "o-" ]; - - $.each( [ "animation", "transition" ], function( i, test ) { - - // Get correct name for test - var testName = ( i === 0 ) ? test + "-" + "name" : test; - - $.each( vendorPrefixes, function( j, prefix ) { - if ( testElement.style[ $.camelCase( prefix + testName ) ] !== undefined ) { - props[ test ][ "prefix" ] = prefix; - return false; - } - }); - - // Set event and duration names for later use - props[ test ][ "duration" ] = - $.camelCase( props[ test ][ "prefix" ] + test + "-" + "duration" ); - props[ test ][ "event" ] = - $.camelCase( props[ test ][ "prefix" ] + test + "-" + "end" ); - - // All lower case if not a vendor prop - if ( props[ test ][ "prefix" ] === "" ) { - props[ test ][ "event" ] = props[ test ][ "event" ].toLowerCase(); - } - }); - - // If a valid prefix was found then the it is supported by the browser - $.support.cssTransitions = ( props[ "transition" ][ "prefix" ] !== undefined ); - $.support.cssAnimations = ( props[ "animation" ][ "prefix" ] !== undefined ); - - // Remove the testElement - $( testElement ).remove(); - - // Animation complete callback - $.fn.animationComplete = function( callback, type, fallbackTime ) { - var timer, duration, - that = this, - eventBinding = function() { - - // Clear the timer so we don't call callback twice - clearTimeout( timer ); - callback.apply( this, arguments ); - }, - animationType = ( !type || type === "animation" ) ? "animation" : "transition"; - - // Make sure selected type is supported by browser - if ( ( $.support.cssTransitions && animationType === "transition" ) || - ( $.support.cssAnimations && animationType === "animation" ) ) { - - // If a fallback time was not passed set one - if ( fallbackTime === undefined ) { - - // Make sure the was not bound to document before checking .css - if ( $( this ).context !== document ) { - - // Parse the durration since its in second multiple by 1000 for milliseconds - // Multiply by 3 to make sure we give the animation plenty of time. - duration = parseFloat( - $( this ).css( props[ animationType ].duration ) - ) * 3000; - } - - // If we could not read a duration use the default - if ( duration === 0 || duration === undefined || isNaN( duration ) ) { - duration = $.fn.animationComplete.defaultDuration; - } - } - - // Sets up the fallback if event never comes - timer = setTimeout( function() { - $( that ).off( props[ animationType ].event, eventBinding ); - callback.apply( that ); - }, duration ); - - // Bind the event - return $( this ).one( props[ animationType ].event, eventBinding ); - } else { - - // CSS animation / transitions not supported - // Defer execution for consistency between webkit/non webkit - setTimeout( $.proxy( callback, this ), 0 ); - return $( this ); - } - }; - - // Allow default callback to be configured on mobileInit - $.fn.animationComplete.defaultDuration = 1000; -})( jQuery ); - -// This plugin is an experiment for abstracting away the touch and mouse -// events so that developers don't have to worry about which method of input -// the device their document is loaded on supports. -// -// The idea here is to allow the developer to register listeners for the -// basic mouse events, such as mousedown, mousemove, mouseup, and click, -// and the plugin will take care of registering the correct listeners -// behind the scenes to invoke the listener at the fastest possible time -// for that device, while still retaining the order of event firing in -// the traditional mouse environment, should multiple handlers be registered -// on the same element for different events. -// -// The current version exposes the following virtual events to jQuery bind methods: -// "vmouseover vmousedown vmousemove vmouseup vclick vmouseout vmousecancel" - -(function( $, window, document, undefined ) { - -var dataPropertyName = "virtualMouseBindings", - touchTargetPropertyName = "virtualTouchID", - virtualEventNames = "vmouseover vmousedown vmousemove vmouseup vclick vmouseout vmousecancel".split( " " ), - touchEventProps = "clientX clientY pageX pageY screenX screenY".split( " " ), - mouseHookProps = $.event.mouseHooks ? $.event.mouseHooks.props : [], - mouseEventProps = $.event.props.concat( mouseHookProps ), - activeDocHandlers = {}, - resetTimerID = 0, - startX = 0, - startY = 0, - didScroll = false, - clickBlockList = [], - blockMouseTriggers = false, - blockTouchTriggers = false, - eventCaptureSupported = "addEventListener" in document, - $document = $( document ), - nextTouchID = 1, - lastTouchID = 0, threshold, - i; - -$.vmouse = { - moveDistanceThreshold: 10, - clickDistanceThreshold: 10, - resetTimerDuration: 1500 -}; - -function getNativeEvent( event ) { - - while ( event && typeof event.originalEvent !== "undefined" ) { - event = event.originalEvent; - } - return event; -} - -function createVirtualEvent( event, eventType ) { - - var t = event.type, - oe, props, ne, prop, ct, touch, i, j, len; - - event = $.Event( event ); - event.type = eventType; - - oe = event.originalEvent; - props = $.event.props; - - // addresses separation of $.event.props in to $.event.mouseHook.props and Issue 3280 - // https://github.com/jquery/jquery-mobile/issues/3280 - if ( t.search( /^(mouse|click)/ ) > -1 ) { - props = mouseEventProps; - } - - // copy original event properties over to the new event - // this would happen if we could call $.event.fix instead of $.Event - // but we don't have a way to force an event to be fixed multiple times - if ( oe ) { - for ( i = props.length, prop; i; ) { - prop = props[ --i ]; - event[ prop ] = oe[ prop ]; - } - } - - // make sure that if the mouse and click virtual events are generated - // without a .which one is defined - if ( t.search(/mouse(down|up)|click/) > -1 && !event.which ) { - event.which = 1; - } - - if ( t.search(/^touch/) !== -1 ) { - ne = getNativeEvent( oe ); - t = ne.touches; - ct = ne.changedTouches; - touch = ( t && t.length ) ? t[0] : ( ( ct && ct.length ) ? ct[ 0 ] : undefined ); - - if ( touch ) { - for ( j = 0, len = touchEventProps.length; j < len; j++) { - prop = touchEventProps[ j ]; - event[ prop ] = touch[ prop ]; - } - } - } - - return event; -} - -function getVirtualBindingFlags( element ) { - - var flags = {}, - b, k; - - while ( element ) { - - b = $.data( element, dataPropertyName ); - - for ( k in b ) { - if ( b[ k ] ) { - flags[ k ] = flags.hasVirtualBinding = true; - } - } - element = element.parentNode; - } - return flags; -} - -function getClosestElementWithVirtualBinding( element, eventType ) { - var b; - while ( element ) { - - b = $.data( element, dataPropertyName ); - - if ( b && ( !eventType || b[ eventType ] ) ) { - return element; - } - element = element.parentNode; - } - return null; -} - -function enableTouchBindings() { - blockTouchTriggers = false; -} - -function disableTouchBindings() { - blockTouchTriggers = true; -} - -function enableMouseBindings() { - lastTouchID = 0; - clickBlockList.length = 0; - blockMouseTriggers = false; - - // When mouse bindings are enabled, our - // touch bindings are disabled. - disableTouchBindings(); -} - -function disableMouseBindings() { - // When mouse bindings are disabled, our - // touch bindings are enabled. - enableTouchBindings(); -} - -function startResetTimer() { - clearResetTimer(); - resetTimerID = setTimeout( function() { - resetTimerID = 0; - enableMouseBindings(); - }, $.vmouse.resetTimerDuration ); -} - -function clearResetTimer() { - if ( resetTimerID ) { - clearTimeout( resetTimerID ); - resetTimerID = 0; - } -} - -function triggerVirtualEvent( eventType, event, flags ) { - var ve; - - if ( ( flags && flags[ eventType ] ) || - ( !flags && getClosestElementWithVirtualBinding( event.target, eventType ) ) ) { - - ve = createVirtualEvent( event, eventType ); - - $( event.target).trigger( ve ); - } - - return ve; -} - -function mouseEventCallback( event ) { - var touchID = $.data( event.target, touchTargetPropertyName ), - ve; - - if ( !blockMouseTriggers && ( !lastTouchID || lastTouchID !== touchID ) ) { - ve = triggerVirtualEvent( "v" + event.type, event ); - if ( ve ) { - if ( ve.isDefaultPrevented() ) { - event.preventDefault(); - } - if ( ve.isPropagationStopped() ) { - event.stopPropagation(); - } - if ( ve.isImmediatePropagationStopped() ) { - event.stopImmediatePropagation(); - } - } - } -} - -function handleTouchStart( event ) { - - var touches = getNativeEvent( event ).touches, - target, flags, t; - - if ( touches && touches.length === 1 ) { - - target = event.target; - flags = getVirtualBindingFlags( target ); - - if ( flags.hasVirtualBinding ) { - - lastTouchID = nextTouchID++; - $.data( target, touchTargetPropertyName, lastTouchID ); - - clearResetTimer(); - - disableMouseBindings(); - didScroll = false; - - t = getNativeEvent( event ).touches[ 0 ]; - startX = t.pageX; - startY = t.pageY; - - triggerVirtualEvent( "vmouseover", event, flags ); - triggerVirtualEvent( "vmousedown", event, flags ); - } - } -} - -function handleScroll( event ) { - if ( blockTouchTriggers ) { - return; - } - - if ( !didScroll ) { - triggerVirtualEvent( "vmousecancel", event, getVirtualBindingFlags( event.target ) ); - } - - didScroll = true; - startResetTimer(); -} - -function handleTouchMove( event ) { - if ( blockTouchTriggers ) { - return; - } - - var t = getNativeEvent( event ).touches[ 0 ], - didCancel = didScroll, - moveThreshold = $.vmouse.moveDistanceThreshold, - flags = getVirtualBindingFlags( event.target ); - - didScroll = didScroll || - ( Math.abs( t.pageX - startX ) > moveThreshold || - Math.abs( t.pageY - startY ) > moveThreshold ); - - if ( didScroll && !didCancel ) { - triggerVirtualEvent( "vmousecancel", event, flags ); - } - - triggerVirtualEvent( "vmousemove", event, flags ); - startResetTimer(); -} - -function handleTouchEnd( event ) { - if ( blockTouchTriggers ) { - return; - } - - disableTouchBindings(); - - var flags = getVirtualBindingFlags( event.target ), - ve, t; - triggerVirtualEvent( "vmouseup", event, flags ); - - if ( !didScroll ) { - ve = triggerVirtualEvent( "vclick", event, flags ); - if ( ve && ve.isDefaultPrevented() ) { - // The target of the mouse events that follow the touchend - // event don't necessarily match the target used during the - // touch. This means we need to rely on coordinates for blocking - // any click that is generated. - t = getNativeEvent( event ).changedTouches[ 0 ]; - clickBlockList.push({ - touchID: lastTouchID, - x: t.clientX, - y: t.clientY - }); - - // Prevent any mouse events that follow from triggering - // virtual event notifications. - blockMouseTriggers = true; - } - } - triggerVirtualEvent( "vmouseout", event, flags); - didScroll = false; - - startResetTimer(); -} - -function hasVirtualBindings( ele ) { - var bindings = $.data( ele, dataPropertyName ), - k; - - if ( bindings ) { - for ( k in bindings ) { - if ( bindings[ k ] ) { - return true; - } - } - } - return false; -} - -function dummyMouseHandler() {} - -function getSpecialEventObject( eventType ) { - var realType = eventType.substr( 1 ); - - return { - setup: function(/* data, namespace */) { - // If this is the first virtual mouse binding for this element, - // add a bindings object to its data. - - if ( !hasVirtualBindings( this ) ) { - $.data( this, dataPropertyName, {} ); - } - - // If setup is called, we know it is the first binding for this - // eventType, so initialize the count for the eventType to zero. - var bindings = $.data( this, dataPropertyName ); - bindings[ eventType ] = true; - - // If this is the first virtual mouse event for this type, - // register a global handler on the document. - - activeDocHandlers[ eventType ] = ( activeDocHandlers[ eventType ] || 0 ) + 1; - - if ( activeDocHandlers[ eventType ] === 1 ) { - $document.bind( realType, mouseEventCallback ); - } - - // Some browsers, like Opera Mini, won't dispatch mouse/click events - // for elements unless they actually have handlers registered on them. - // To get around this, we register dummy handlers on the elements. - - $( this ).bind( realType, dummyMouseHandler ); - - // For now, if event capture is not supported, we rely on mouse handlers. - if ( eventCaptureSupported ) { - // If this is the first virtual mouse binding for the document, - // register our touchstart handler on the document. - - activeDocHandlers[ "touchstart" ] = ( activeDocHandlers[ "touchstart" ] || 0) + 1; - - if ( activeDocHandlers[ "touchstart" ] === 1 ) { - $document.bind( "touchstart", handleTouchStart ) - .bind( "touchend", handleTouchEnd ) - - // On touch platforms, touching the screen and then dragging your finger - // causes the window content to scroll after some distance threshold is - // exceeded. On these platforms, a scroll prevents a click event from being - // dispatched, and on some platforms, even the touchend is suppressed. To - // mimic the suppression of the click event, we need to watch for a scroll - // event. Unfortunately, some platforms like iOS don't dispatch scroll - // events until *AFTER* the user lifts their finger (touchend). This means - // we need to watch both scroll and touchmove events to figure out whether - // or not a scroll happenens before the touchend event is fired. - - .bind( "touchmove", handleTouchMove ) - .bind( "scroll", handleScroll ); - } - } - }, - - teardown: function(/* data, namespace */) { - // If this is the last virtual binding for this eventType, - // remove its global handler from the document. - - --activeDocHandlers[ eventType ]; - - if ( !activeDocHandlers[ eventType ] ) { - $document.unbind( realType, mouseEventCallback ); - } - - if ( eventCaptureSupported ) { - // If this is the last virtual mouse binding in existence, - // remove our document touchstart listener. - - --activeDocHandlers[ "touchstart" ]; - - if ( !activeDocHandlers[ "touchstart" ] ) { - $document.unbind( "touchstart", handleTouchStart ) - .unbind( "touchmove", handleTouchMove ) - .unbind( "touchend", handleTouchEnd ) - .unbind( "scroll", handleScroll ); - } - } - - var $this = $( this ), - bindings = $.data( this, dataPropertyName ); - - // teardown may be called when an element was - // removed from the DOM. If this is the case, - // jQuery core may have already stripped the element - // of any data bindings so we need to check it before - // using it. - if ( bindings ) { - bindings[ eventType ] = false; - } - - // Unregister the dummy event handler. - - $this.unbind( realType, dummyMouseHandler ); - - // If this is the last virtual mouse binding on the - // element, remove the binding data from the element. - - if ( !hasVirtualBindings( this ) ) { - $this.removeData( dataPropertyName ); - } - } - }; -} - -// Expose our custom events to the jQuery bind/unbind mechanism. - -for ( i = 0; i < virtualEventNames.length; i++ ) { - $.event.special[ virtualEventNames[ i ] ] = getSpecialEventObject( virtualEventNames[ i ] ); -} - -// Add a capture click handler to block clicks. -// Note that we require event capture support for this so if the device -// doesn't support it, we punt for now and rely solely on mouse events. -if ( eventCaptureSupported ) { - document.addEventListener( "click", function( e ) { - var cnt = clickBlockList.length, - target = e.target, - x, y, ele, i, o, touchID; - - if ( cnt ) { - x = e.clientX; - y = e.clientY; - threshold = $.vmouse.clickDistanceThreshold; - - // The idea here is to run through the clickBlockList to see if - // the current click event is in the proximity of one of our - // vclick events that had preventDefault() called on it. If we find - // one, then we block the click. - // - // Why do we have to rely on proximity? - // - // Because the target of the touch event that triggered the vclick - // can be different from the target of the click event synthesized - // by the browser. The target of a mouse/click event that is synthesized - // from a touch event seems to be implementation specific. For example, - // some browsers will fire mouse/click events for a link that is near - // a touch event, even though the target of the touchstart/touchend event - // says the user touched outside the link. Also, it seems that with most - // browsers, the target of the mouse/click event is not calculated until the - // time it is dispatched, so if you replace an element that you touched - // with another element, the target of the mouse/click will be the new - // element underneath that point. - // - // Aside from proximity, we also check to see if the target and any - // of its ancestors were the ones that blocked a click. This is necessary - // because of the strange mouse/click target calculation done in the - // Android 2.1 browser, where if you click on an element, and there is a - // mouse/click handler on one of its ancestors, the target will be the - // innermost child of the touched element, even if that child is no where - // near the point of touch. - - ele = target; - - while ( ele ) { - for ( i = 0; i < cnt; i++ ) { - o = clickBlockList[ i ]; - touchID = 0; - - if ( ( ele === target && Math.abs( o.x - x ) < threshold && Math.abs( o.y - y ) < threshold ) || - $.data( ele, touchTargetPropertyName ) === o.touchID ) { - // XXX: We may want to consider removing matches from the block list - // instead of waiting for the reset timer to fire. - e.preventDefault(); - e.stopPropagation(); - return; - } - } - ele = ele.parentNode; - } - } - }, true); -} -})( jQuery, window, document ); - - -(function( $, window, undefined ) { - var $document = $( document ), - supportTouch = $.mobile.support.touch, - scrollEvent = "touchmove scroll", - touchStartEvent = supportTouch ? "touchstart" : "mousedown", - touchStopEvent = supportTouch ? "touchend" : "mouseup", - touchMoveEvent = supportTouch ? "touchmove" : "mousemove"; - - // setup new event shortcuts - $.each( ( "touchstart touchmove touchend " + - "tap taphold " + - "swipe swipeleft swiperight " + - "scrollstart scrollstop" ).split( " " ), function( i, name ) { - - $.fn[ name ] = function( fn ) { - return fn ? this.bind( name, fn ) : this.trigger( name ); - }; - - // jQuery < 1.8 - if ( $.attrFn ) { - $.attrFn[ name ] = true; - } - }); - - function triggerCustomEvent( obj, eventType, event, bubble ) { - var originalType = event.type; - event.type = eventType; - if ( bubble ) { - $.event.trigger( event, undefined, obj ); - } else { - $.event.dispatch.call( obj, event ); - } - event.type = originalType; - } - - // also handles scrollstop - $.event.special.scrollstart = { - - enabled: true, - setup: function() { - - var thisObject = this, - $this = $( thisObject ), - scrolling, - timer; - - function trigger( event, state ) { - scrolling = state; - triggerCustomEvent( thisObject, scrolling ? "scrollstart" : "scrollstop", event ); - } - - // iPhone triggers scroll after a small delay; use touchmove instead - $this.bind( scrollEvent, function( event ) { - - if ( !$.event.special.scrollstart.enabled ) { - return; - } - - if ( !scrolling ) { - trigger( event, true ); - } - - clearTimeout( timer ); - timer = setTimeout( function() { - trigger( event, false ); - }, 50 ); - }); - }, - teardown: function() { - $( this ).unbind( scrollEvent ); - } - }; - - // also handles taphold - $.event.special.tap = { - tapholdThreshold: 750, - emitTapOnTaphold: true, - setup: function() { - var thisObject = this, - $this = $( thisObject ), - isTaphold = false; - - $this.bind( "vmousedown", function( event ) { - isTaphold = false; - if ( event.which && event.which !== 1 ) { - return false; - } - - var origTarget = event.target, - timer; - - function clearTapTimer() { - clearTimeout( timer ); - } - - function clearTapHandlers() { - clearTapTimer(); - - $this.unbind( "vclick", clickHandler ) - .unbind( "vmouseup", clearTapTimer ); - $document.unbind( "vmousecancel", clearTapHandlers ); - } - - function clickHandler( event ) { - clearTapHandlers(); - - // ONLY trigger a 'tap' event if the start target is - // the same as the stop target. - if ( !isTaphold && origTarget === event.target ) { - triggerCustomEvent( thisObject, "tap", event ); - } else if ( isTaphold ) { - event.preventDefault(); - } - } - - $this.bind( "vmouseup", clearTapTimer ) - .bind( "vclick", clickHandler ); - $document.bind( "vmousecancel", clearTapHandlers ); - - timer = setTimeout( function() { - if ( !$.event.special.tap.emitTapOnTaphold ) { - isTaphold = true; - } - triggerCustomEvent( thisObject, "taphold", $.Event( "taphold", { target: origTarget } ) ); - }, $.event.special.tap.tapholdThreshold ); - }); - }, - teardown: function() { - $( this ).unbind( "vmousedown" ).unbind( "vclick" ).unbind( "vmouseup" ); - $document.unbind( "vmousecancel" ); - } - }; - - // Also handles swipeleft, swiperight - $.event.special.swipe = { - - // More than this horizontal displacement, and we will suppress scrolling. - scrollSupressionThreshold: 30, - - // More time than this, and it isn't a swipe. - durationThreshold: 1000, - - // Swipe horizontal displacement must be more than this. - horizontalDistanceThreshold: 30, - - // Swipe vertical displacement must be less than this. - verticalDistanceThreshold: 30, - - getLocation: function ( event ) { - var winPageX = window.pageXOffset, - winPageY = window.pageYOffset, - x = event.clientX, - y = event.clientY; - - if ( event.pageY === 0 && Math.floor( y ) > Math.floor( event.pageY ) || - event.pageX === 0 && Math.floor( x ) > Math.floor( event.pageX ) ) { - - // iOS4 clientX/clientY have the value that should have been - // in pageX/pageY. While pageX/page/ have the value 0 - x = x - winPageX; - y = y - winPageY; - } else if ( y < ( event.pageY - winPageY) || x < ( event.pageX - winPageX ) ) { - - // Some Android browsers have totally bogus values for clientX/Y - // when scrolling/zooming a page. Detectable since clientX/clientY - // should never be smaller than pageX/pageY minus page scroll - x = event.pageX - winPageX; - y = event.pageY - winPageY; - } - - return { - x: x, - y: y - }; - }, - - start: function( event ) { - var data = event.originalEvent.touches ? - event.originalEvent.touches[ 0 ] : event, - location = $.event.special.swipe.getLocation( data ); - return { - time: ( new Date() ).getTime(), - coords: [ location.x, location.y ], - origin: $( event.target ) - }; - }, - - stop: function( event ) { - var data = event.originalEvent.touches ? - event.originalEvent.touches[ 0 ] : event, - location = $.event.special.swipe.getLocation( data ); - return { - time: ( new Date() ).getTime(), - coords: [ location.x, location.y ] - }; - }, - - handleSwipe: function( start, stop, thisObject, origTarget ) { - if ( stop.time - start.time < $.event.special.swipe.durationThreshold && - Math.abs( start.coords[ 0 ] - stop.coords[ 0 ] ) > $.event.special.swipe.horizontalDistanceThreshold && - Math.abs( start.coords[ 1 ] - stop.coords[ 1 ] ) < $.event.special.swipe.verticalDistanceThreshold ) { - var direction = start.coords[0] > stop.coords[ 0 ] ? "swipeleft" : "swiperight"; - - triggerCustomEvent( thisObject, "swipe", $.Event( "swipe", { target: origTarget, swipestart: start, swipestop: stop }), true ); - triggerCustomEvent( thisObject, direction,$.Event( direction, { target: origTarget, swipestart: start, swipestop: stop } ), true ); - return true; - } - return false; - - }, - - // This serves as a flag to ensure that at most one swipe event event is - // in work at any given time - eventInProgress: false, - - setup: function() { - var events, - thisObject = this, - $this = $( thisObject ), - context = {}; - - // Retrieve the events data for this element and add the swipe context - events = $.data( this, "mobile-events" ); - if ( !events ) { - events = { length: 0 }; - $.data( this, "mobile-events", events ); - } - events.length++; - events.swipe = context; - - context.start = function( event ) { - - // Bail if we're already working on a swipe event - if ( $.event.special.swipe.eventInProgress ) { - return; - } - $.event.special.swipe.eventInProgress = true; - - var stop, - start = $.event.special.swipe.start( event ), - origTarget = event.target, - emitted = false; - - context.move = function( event ) { - if ( !start || event.isDefaultPrevented() ) { - return; - } - - stop = $.event.special.swipe.stop( event ); - if ( !emitted ) { - emitted = $.event.special.swipe.handleSwipe( start, stop, thisObject, origTarget ); - if ( emitted ) { - - // Reset the context to make way for the next swipe event - $.event.special.swipe.eventInProgress = false; - } - } - // prevent scrolling - if ( Math.abs( start.coords[ 0 ] - stop.coords[ 0 ] ) > $.event.special.swipe.scrollSupressionThreshold ) { - event.preventDefault(); - } - }; - - context.stop = function() { - emitted = true; - - // Reset the context to make way for the next swipe event - $.event.special.swipe.eventInProgress = false; - $document.off( touchMoveEvent, context.move ); - context.move = null; - }; - - $document.on( touchMoveEvent, context.move ) - .one( touchStopEvent, context.stop ); - }; - $this.on( touchStartEvent, context.start ); - }, - - teardown: function() { - var events, context; - - events = $.data( this, "mobile-events" ); - if ( events ) { - context = events.swipe; - delete events.swipe; - events.length--; - if ( events.length === 0 ) { - $.removeData( this, "mobile-events" ); - } - } - - if ( context ) { - if ( context.start ) { - $( this ).off( touchStartEvent, context.start ); - } - if ( context.move ) { - $document.off( touchMoveEvent, context.move ); - } - if ( context.stop ) { - $document.off( touchStopEvent, context.stop ); - } - } - } - }; - $.each({ - scrollstop: "scrollstart", - taphold: "tap", - swipeleft: "swipe.left", - swiperight: "swipe.right" - }, function( event, sourceEvent ) { - - $.event.special[ event ] = { - setup: function() { - $( this ).bind( sourceEvent, $.noop ); - }, - teardown: function() { - $( this ).unbind( sourceEvent ); - } - }; - }); - -})( jQuery, this ); - - - // throttled resize event - (function( $ ) { - $.event.special.throttledresize = { - setup: function() { - $( this ).bind( "resize", handler ); - }, - teardown: function() { - $( this ).unbind( "resize", handler ); - } - }; - - var throttle = 250, - handler = function() { - curr = ( new Date() ).getTime(); - diff = curr - lastCall; - - if ( diff >= throttle ) { - - lastCall = curr; - $( this ).trigger( "throttledresize" ); - - } else { - - if ( heldCall ) { - clearTimeout( heldCall ); - } - - // Promise a held call will still execute - heldCall = setTimeout( handler, throttle - diff ); - } - }, - lastCall = 0, - heldCall, - curr, - diff; - })( jQuery ); - - -(function( $, window ) { - var win = $( window ), - event_name = "orientationchange", - get_orientation, - last_orientation, - initial_orientation_is_landscape, - initial_orientation_is_default, - portrait_map = { "0": true, "180": true }, - ww, wh, landscape_threshold; - - // It seems that some device/browser vendors use window.orientation values 0 and 180 to - // denote the "default" orientation. For iOS devices, and most other smart-phones tested, - // the default orientation is always "portrait", but in some Android and RIM based tablets, - // the default orientation is "landscape". The following code attempts to use the window - // dimensions to figure out what the current orientation is, and then makes adjustments - // to the to the portrait_map if necessary, so that we can properly decode the - // window.orientation value whenever get_orientation() is called. - // - // Note that we used to use a media query to figure out what the orientation the browser - // thinks it is in: - // - // initial_orientation_is_landscape = $.mobile.media("all and (orientation: landscape)"); - // - // but there was an iPhone/iPod Touch bug beginning with iOS 4.2, up through iOS 5.1, - // where the browser *ALWAYS* applied the landscape media query. This bug does not - // happen on iPad. - - if ( $.support.orientation ) { - - // Check the window width and height to figure out what the current orientation - // of the device is at this moment. Note that we've initialized the portrait map - // values to 0 and 180, *AND* we purposely check for landscape so that if we guess - // wrong, , we default to the assumption that portrait is the default orientation. - // We use a threshold check below because on some platforms like iOS, the iPhone - // form-factor can report a larger width than height if the user turns on the - // developer console. The actual threshold value is somewhat arbitrary, we just - // need to make sure it is large enough to exclude the developer console case. - - ww = window.innerWidth || win.width(); - wh = window.innerHeight || win.height(); - landscape_threshold = 50; - - initial_orientation_is_landscape = ww > wh && ( ww - wh ) > landscape_threshold; - - // Now check to see if the current window.orientation is 0 or 180. - initial_orientation_is_default = portrait_map[ window.orientation ]; - - // If the initial orientation is landscape, but window.orientation reports 0 or 180, *OR* - // if the initial orientation is portrait, but window.orientation reports 90 or -90, we - // need to flip our portrait_map values because landscape is the default orientation for - // this device/browser. - if ( ( initial_orientation_is_landscape && initial_orientation_is_default ) || ( !initial_orientation_is_landscape && !initial_orientation_is_default ) ) { - portrait_map = { "-90": true, "90": true }; - } - } - - $.event.special.orientationchange = $.extend( {}, $.event.special.orientationchange, { - setup: function() { - // If the event is supported natively, return false so that jQuery - // will bind to the event using DOM methods. - if ( $.support.orientation && !$.event.special.orientationchange.disabled ) { - return false; - } - - // Get the current orientation to avoid initial double-triggering. - last_orientation = get_orientation(); - - // Because the orientationchange event doesn't exist, simulate the - // event by testing window dimensions on resize. - win.bind( "throttledresize", handler ); - }, - teardown: function() { - // If the event is not supported natively, return false so that - // jQuery will unbind the event using DOM methods. - if ( $.support.orientation && !$.event.special.orientationchange.disabled ) { - return false; - } - - // Because the orientationchange event doesn't exist, unbind the - // resize event handler. - win.unbind( "throttledresize", handler ); - }, - add: function( handleObj ) { - // Save a reference to the bound event handler. - var old_handler = handleObj.handler; - - handleObj.handler = function( event ) { - // Modify event object, adding the .orientation property. - event.orientation = get_orientation(); - - // Call the originally-bound event handler and return its result. - return old_handler.apply( this, arguments ); - }; - } - }); - - // If the event is not supported natively, this handler will be bound to - // the window resize event to simulate the orientationchange event. - function handler() { - // Get the current orientation. - var orientation = get_orientation(); - - if ( orientation !== last_orientation ) { - // The orientation has changed, so trigger the orientationchange event. - last_orientation = orientation; - win.trigger( event_name ); - } - } - - // Get the current page orientation. This method is exposed publicly, should it - // be needed, as jQuery.event.special.orientationchange.orientation() - $.event.special.orientationchange.orientation = get_orientation = function() { - var isPortrait = true, elem = document.documentElement; - - // prefer window orientation to the calculation based on screensize as - // the actual screen resize takes place before or after the orientation change event - // has been fired depending on implementation (eg android 2.3 is before, iphone after). - // More testing is required to determine if a more reliable method of determining the new screensize - // is possible when orientationchange is fired. (eg, use media queries + element + opacity) - if ( $.support.orientation ) { - // if the window orientation registers as 0 or 180 degrees report - // portrait, otherwise landscape - isPortrait = portrait_map[ window.orientation ]; - } else { - isPortrait = elem && elem.clientWidth / elem.clientHeight < 1.1; - } - - return isPortrait ? "portrait" : "landscape"; - }; - - $.fn[ event_name ] = function( fn ) { - return fn ? this.bind( event_name, fn ) : this.trigger( event_name ); - }; - - // jQuery < 1.8 - if ( $.attrFn ) { - $.attrFn[ event_name ] = true; - } - -}( jQuery, this )); - - - - -(function( $, undefined ) { - - // existing base tag? - var baseElement = $( "head" ).children( "base" ), - - // base element management, defined depending on dynamic base tag support - // TODO move to external widget - base = { - - // define base element, for use in routing asset urls that are referenced - // in Ajax-requested markup - element: ( baseElement.length ? baseElement : - $( "<base>", { href: $.mobile.path.documentBase.hrefNoHash } ).prependTo( $( "head" ) ) ), - - linkSelector: "[src], link[href], a[rel='external'], :jqmData(ajax='false'), a[target]", - - // set the generated BASE element's href to a new page's base path - set: function( href ) { - - // we should do nothing if the user wants to manage their url base - // manually - if ( !$.mobile.dynamicBaseEnabled ) { - return; - } - - // we should use the base tag if we can manipulate it dynamically - if ( $.support.dynamicBaseTag ) { - base.element.attr( "href", - $.mobile.path.makeUrlAbsolute( href, $.mobile.path.documentBase ) ); - } - }, - - rewrite: function( href, page ) { - var newPath = $.mobile.path.get( href ); - - page.find( base.linkSelector ).each(function( i, link ) { - var thisAttr = $( link ).is( "[href]" ) ? "href" : - $( link ).is( "[src]" ) ? "src" : "action", - theLocation = $.mobile.path.parseLocation(), - thisUrl = $( link ).attr( thisAttr ); - - // XXX_jblas: We need to fix this so that it removes the document - // base URL, and then prepends with the new page URL. - // if full path exists and is same, chop it - helps IE out - thisUrl = thisUrl.replace( theLocation.protocol + theLocation.doubleSlash + - theLocation.host + theLocation.pathname, "" ); - - if ( !/^(\w+:|#|\/)/.test( thisUrl ) ) { - $( link ).attr( thisAttr, newPath + thisUrl ); - } - }); - }, - - // set the generated BASE element's href to a new page's base path - reset: function(/* href */) { - base.element.attr( "href", $.mobile.path.documentBase.hrefNoSearch ); - } - }; - - $.mobile.base = base; - -})( jQuery ); - - -(function( $, undefined ) { -$.mobile.widgets = {}; - -var originalWidget = $.widget, - - // Record the original, non-mobileinit-modified version of $.mobile.keepNative - // so we can later determine whether someone has modified $.mobile.keepNative - keepNativeFactoryDefault = $.mobile.keepNative; - -$.widget = (function( orig ) { - return function() { - var constructor = orig.apply( this, arguments ), - name = constructor.prototype.widgetName; - - constructor.initSelector = ( ( constructor.prototype.initSelector !== undefined ) ? - constructor.prototype.initSelector : ":jqmData(role='" + name + "')" ); - - $.mobile.widgets[ name ] = constructor; - - return constructor; - }; -})( $.widget ); - -// Make sure $.widget still has bridge and extend methods -$.extend( $.widget, originalWidget ); - -// For backcompat remove in 1.5 -$.mobile.document.on( "create", function( event ) { - $( event.target ).enhanceWithin(); -}); - -$.widget( "mobile.page", { - options: { - theme: "a", - domCache: false, - - // Deprecated in 1.4 remove in 1.5 - keepNativeDefault: $.mobile.keepNative, - - // Deprecated in 1.4 remove in 1.5 - contentTheme: null, - enhanced: false - }, - - // DEPRECATED for > 1.4 - // TODO remove at 1.5 - _createWidget: function() { - $.Widget.prototype._createWidget.apply( this, arguments ); - this._trigger( "init" ); - }, - - _create: function() { - // If false is returned by the callbacks do not create the page - if ( this._trigger( "beforecreate" ) === false ) { - return false; - } - - if ( !this.options.enhanced ) { - this._enhance(); - } - - this._on( this.element, { - pagebeforehide: "removeContainerBackground", - pagebeforeshow: "_handlePageBeforeShow" - }); - - this.element.enhanceWithin(); - // Dialog widget is deprecated in 1.4 remove this in 1.5 - if ( $.mobile.getAttribute( this.element[0], "role" ) === "dialog" && $.mobile.dialog ) { - this.element.dialog(); - } - }, - - _enhance: function () { - var attrPrefix = "data-" + $.mobile.ns, - self = this; - - if ( this.options.role ) { - this.element.attr( "data-" + $.mobile.ns + "role", this.options.role ); - } - - this.element - .attr( "tabindex", "0" ) - .addClass( "ui-page ui-page-theme-" + this.options.theme ); - - // Manipulation of content os Deprecated as of 1.4 remove in 1.5 - this.element.find( "[" + attrPrefix + "role='content']" ).each( function() { - var $this = $( this ), - theme = this.getAttribute( attrPrefix + "theme" ) || undefined; - self.options.contentTheme = theme || self.options.contentTheme || ( self.options.dialog && self.options.theme ) || ( self.element.jqmData("role") === "dialog" && self.options.theme ); - $this.addClass( "ui-content" ); - if ( self.options.contentTheme ) { - $this.addClass( "ui-body-" + ( self.options.contentTheme ) ); - } - // Add ARIA role - $this.attr( "role", "main" ).addClass( "ui-content" ); - }); - }, - - bindRemove: function( callback ) { - var page = this.element; - - // when dom caching is not enabled or the page is embedded bind to remove the page on hide - if ( !page.data( "mobile-page" ).options.domCache && - page.is( ":jqmData(external-page='true')" ) ) { - - // TODO use _on - that is, sort out why it doesn't work in this case - page.bind( "pagehide.remove", callback || function( e, data ) { - - //check if this is a same page transition and if so don't remove the page - if( !data.samePage ){ - var $this = $( this ), - prEvent = new $.Event( "pageremove" ); - - $this.trigger( prEvent ); - - if ( !prEvent.isDefaultPrevented() ) { - $this.removeWithDependents(); - } - } - }); - } - }, - - _setOptions: function( o ) { - if ( o.theme !== undefined ) { - this.element.removeClass( "ui-page-theme-" + this.options.theme ).addClass( "ui-page-theme-" + o.theme ); - } - - if ( o.contentTheme !== undefined ) { - this.element.find( "[data-" + $.mobile.ns + "='content']" ).removeClass( "ui-body-" + this.options.contentTheme ) - .addClass( "ui-body-" + o.contentTheme ); - } - }, - - _handlePageBeforeShow: function(/* e */) { - this.setContainerBackground(); - }, - // Deprecated in 1.4 remove in 1.5 - removeContainerBackground: function() { - this.element.closest( ":mobile-pagecontainer" ).pagecontainer({ "theme": "none" }); - }, - // Deprecated in 1.4 remove in 1.5 - // set the page container background to the page theme - setContainerBackground: function( theme ) { - this.element.parent().pagecontainer( { "theme": theme || this.options.theme } ); - }, - // Deprecated in 1.4 remove in 1.5 - keepNativeSelector: function() { - var options = this.options, - keepNative = $.trim( options.keepNative || "" ), - globalValue = $.trim( $.mobile.keepNative ), - optionValue = $.trim( options.keepNativeDefault ), - - // Check if $.mobile.keepNative has changed from the factory default - newDefault = ( keepNativeFactoryDefault === globalValue ? - "" : globalValue ), - - // If $.mobile.keepNative has not changed, use options.keepNativeDefault - oldDefault = ( newDefault === "" ? optionValue : "" ); - - // Concatenate keepNative selectors from all sources where the value has - // changed or, if nothing has changed, return the default - return ( ( keepNative ? [ keepNative ] : [] ) - .concat( newDefault ? [ newDefault ] : [] ) - .concat( oldDefault ? [ oldDefault ] : [] ) - .join( ", " ) ); - } -}); -})( jQuery ); - -(function( $, undefined ) { - - $.widget( "mobile.pagecontainer", { - options: { - theme: "a" - }, - - initSelector: false, - - _create: function() { - this._trigger( "beforecreate" ); - this.setLastScrollEnabled = true; - - this._on( this.window, { - // disable an scroll setting when a hashchange has been fired, - // this only works because the recording of the scroll position - // is delayed for 100ms after the browser might have changed the - // position because of the hashchange - navigate: "_disableRecordScroll", - - // bind to scrollstop for the first page, "pagechange" won't be - // fired in that case - scrollstop: "_delayedRecordScroll" - }); - - // TODO consider moving the navigation handler OUT of widget into - // some other object as glue between the navigate event and the - // content widget load and change methods - this._on( this.window, { navigate: "_filterNavigateEvents" }); - - // TODO move from page* events to content* events - this._on({ pagechange: "_afterContentChange" }); - - // handle initial hashchange from chrome :( - this.window.one( "navigate", $.proxy(function() { - this.setLastScrollEnabled = true; - }, this)); - }, - - _setOptions: function( options ) { - if ( options.theme !== undefined && options.theme !== "none" ) { - this.element.removeClass( "ui-overlay-" + this.options.theme ) - .addClass( "ui-overlay-" + options.theme ); - } else if ( options.theme !== undefined ) { - this.element.removeClass( "ui-overlay-" + this.options.theme ); - } - - this._super( options ); - }, - - _disableRecordScroll: function() { - this.setLastScrollEnabled = false; - }, - - _enableRecordScroll: function() { - this.setLastScrollEnabled = true; - }, - - // TODO consider the name here, since it's purpose specific - _afterContentChange: function() { - // once the page has changed, re-enable the scroll recording - this.setLastScrollEnabled = true; - - // remove any binding that previously existed on the get scroll - // which may or may not be different than the scroll element - // determined for this page previously - this._off( this.window, "scrollstop" ); - - // determine and bind to the current scoll element which may be the - // window or in the case of touch overflow the element touch overflow - this._on( this.window, { scrollstop: "_delayedRecordScroll" }); - }, - - _recordScroll: function() { - // this barrier prevents setting the scroll value based on - // the browser scrolling the window based on a hashchange - if ( !this.setLastScrollEnabled ) { - return; - } - - var active = this._getActiveHistory(), - currentScroll, minScroll, defaultScroll; - - if ( active ) { - currentScroll = this._getScroll(); - minScroll = this._getMinScroll(); - defaultScroll = this._getDefaultScroll(); - - // Set active page's lastScroll prop. If the location we're - // scrolling to is less than minScrollBack, let it go. - active.lastScroll = currentScroll < minScroll ? defaultScroll : currentScroll; - } - }, - - _delayedRecordScroll: function() { - setTimeout( $.proxy(this, "_recordScroll"), 100 ); - }, - - _getScroll: function() { - return this.window.scrollTop(); - }, - - _getMinScroll: function() { - return $.mobile.minScrollBack; - }, - - _getDefaultScroll: function() { - return $.mobile.defaultHomeScroll; - }, - - _filterNavigateEvents: function( e, data ) { - var url; - - if ( e.originalEvent && e.originalEvent.isDefaultPrevented() ) { - return; - } - - url = e.originalEvent.type.indexOf( "hashchange" ) > -1 ? data.state.hash : data.state.url; - - if ( !url ) { - url = this._getHash(); - } - - if ( !url || url === "#" || url.indexOf( "#" + $.mobile.path.uiStateKey ) === 0 ) { - url = location.href; - } - - this._handleNavigate( url, data.state ); - }, - - _getHash: function() { - return $.mobile.path.parseLocation().hash; - }, - - // TODO active page should be managed by the container (ie, it should be a property) - getActivePage: function() { - return this.activePage; - }, - - // TODO the first page should be a property set during _create using the logic - // that currently resides in init - _getInitialContent: function() { - return $.mobile.firstPage; - }, - - // TODO each content container should have a history object - _getHistory: function() { - return $.mobile.navigate.history; - }, - - _getActiveHistory: function() { - return this._getHistory().getActive(); - }, - - // TODO the document base should be determined at creation - _getDocumentBase: function() { - return $.mobile.path.documentBase; - }, - - back: function() { - this.go( -1 ); - }, - - forward: function() { - this.go( 1 ); - }, - - go: function( steps ) { - - //if hashlistening is enabled use native history method - if ( $.mobile.hashListeningEnabled ) { - window.history.go( steps ); - } else { - - //we are not listening to the hash so handle history internally - var activeIndex = $.mobile.navigate.history.activeIndex, - index = activeIndex + parseInt( steps, 10 ), - url = $.mobile.navigate.history.stack[ index ].url, - direction = ( steps >= 1 )? "forward" : "back"; - - //update the history object - $.mobile.navigate.history.activeIndex = index; - $.mobile.navigate.history.previousIndex = activeIndex; - - //change to the new page - this.change( url, { direction: direction, changeHash: false, fromHashChange: true } ); - } - }, - - // TODO rename _handleDestination - _handleDestination: function( to ) { - var history; - - // clean the hash for comparison if it's a url - if ( $.type(to) === "string" ) { - to = $.mobile.path.stripHash( to ); - } - - if ( to ) { - history = this._getHistory(); - - // At this point, 'to' can be one of 3 things, a cached page - // element from a history stack entry, an id, or site-relative / - // absolute URL. If 'to' is an id, we need to resolve it against - // the documentBase, not the location.href, since the hashchange - // could've been the result of a forward/backward navigation - // that crosses from an external page/dialog to an internal - // page/dialog. - // - // TODO move check to history object or path object? - to = !$.mobile.path.isPath( to ) ? ( $.mobile.path.makeUrlAbsolute( "#" + to, this._getDocumentBase() ) ) : to; - } - return to || this._getInitialContent(); - }, - - _transitionFromHistory: function( direction, defaultTransition ) { - var history = this._getHistory(), - entry = ( direction === "back" ? history.getLast() : history.getActive() ); - - return ( entry && entry.transition ) || defaultTransition; - }, - - _handleDialog: function( changePageOptions, data ) { - var to, active, activeContent = this.getActivePage(); - - // If current active page is not a dialog skip the dialog and continue - // in the same direction - // Note: The dialog widget is deprecated as of 1.4.0 and will be removed in 1.5.0. - // Thus, as of 1.5.0 activeContent.data( "mobile-dialog" ) will always evaluate to - // falsy, so the second condition in the if-statement below can be removed altogether. - if ( activeContent && !activeContent.data( "mobile-dialog" ) ) { - // determine if we're heading forward or backward and continue - // accordingly past the current dialog - if ( data.direction === "back" ) { - this.back(); - } else { - this.forward(); - } - - // prevent changePage call - return false; - } else { - // if the current active page is a dialog and we're navigating - // to a dialog use the dialog objected saved in the stack - to = data.pageUrl; - active = this._getActiveHistory(); - - // make sure to set the role, transition and reversal - // as most of this is lost by the domCache cleaning - $.extend( changePageOptions, { - role: active.role, - transition: this._transitionFromHistory( - data.direction, - changePageOptions.transition ), - reverse: data.direction === "back" - }); - } - - return to; - }, - - _handleNavigate: function( url, data ) { - //find first page via hash - // TODO stripping the hash twice with handleUrl - var to = $.mobile.path.stripHash( url ), history = this._getHistory(), - - // transition is false if it's the first page, undefined - // otherwise (and may be overridden by default) - transition = history.stack.length === 0 ? "none" : - this._transitionFromHistory( data.direction ), - - // default options for the changPage calls made after examining - // the current state of the page and the hash, NOTE that the - // transition is derived from the previous history entry - changePageOptions = { - changeHash: false, - fromHashChange: true, - reverse: data.direction === "back" - }; - - $.extend( changePageOptions, data, { - transition: transition - }); - - // TODO move to _handleDestination ? - // If this isn't the first page, if the current url is a dialog hash - // key, and the initial destination isn't equal to the current target - // page, use the special dialog handling - if ( history.activeIndex > 0 && - to.indexOf( $.mobile.dialogHashKey ) > -1 ) { - - to = this._handleDialog( changePageOptions, data ); - - if ( to === false ) { - return; - } - } - - this._changeContent( this._handleDestination( to ), changePageOptions ); - }, - - _changeContent: function( to, opts ) { - $.mobile.changePage( to, opts ); - }, - - _getBase: function() { - return $.mobile.base; - }, - - _getNs: function() { - return $.mobile.ns; - }, - - _enhance: function( content, role ) { - // TODO consider supporting a custom callback, and passing in - // the settings which includes the role - return content.page({ role: role }); - }, - - _include: function( page, settings ) { - // append to page and enhance - page.appendTo( this.element ); - - // use the page widget to enhance - this._enhance( page, settings.role ); - - // remove page on hide - page.page( "bindRemove" ); - }, - - _find: function( absUrl ) { - // TODO consider supporting a custom callback - var fileUrl = this._createFileUrl( absUrl ), - dataUrl = this._createDataUrl( absUrl ), - page, initialContent = this._getInitialContent(); - - // Check to see if the page already exists in the DOM. - // NOTE do _not_ use the :jqmData pseudo selector because parenthesis - // are a valid url char and it breaks on the first occurence - page = this.element - .children( "[data-" + this._getNs() + - "url='" + $.mobile.path.hashToSelector( dataUrl ) + "']" ); - - // If we failed to find the page, check to see if the url is a - // reference to an embedded page. If so, it may have been dynamically - // injected by a developer, in which case it would be lacking a - // data-url attribute and in need of enhancement. - if ( page.length === 0 && dataUrl && !$.mobile.path.isPath( dataUrl ) ) { - page = this.element.children( $.mobile.path.hashToSelector("#" + dataUrl) ) - .attr( "data-" + this._getNs() + "url", dataUrl ) - .jqmData( "url", dataUrl ); - } - - // If we failed to find a page in the DOM, check the URL to see if it - // refers to the first page in the application. Also check to make sure - // our cached-first-page is actually in the DOM. Some user deployed - // apps are pruning the first page from the DOM for various reasons. - // We check for this case here because we don't want a first-page with - // an id falling through to the non-existent embedded page error case. - if ( page.length === 0 && - $.mobile.path.isFirstPageUrl( fileUrl ) && - initialContent && - initialContent.parent().length ) { - page = $( initialContent ); - } - - return page; - }, - - _getLoader: function() { - return $.mobile.loading(); - }, - - _showLoading: function( delay, theme, msg, textonly ) { - // This configurable timeout allows cached pages a brief - // delay to load without showing a message - if ( this._loadMsg ) { - return; - } - - this._loadMsg = setTimeout($.proxy(function() { - this._getLoader().loader( "show", theme, msg, textonly ); - this._loadMsg = 0; - }, this), delay ); - }, - - _hideLoading: function() { - // Stop message show timer - clearTimeout( this._loadMsg ); - this._loadMsg = 0; - - // Hide loading message - this._getLoader().loader( "hide" ); - }, - - _showError: function() { - // make sure to remove the current loading message - this._hideLoading(); - - // show the error message - this._showLoading( 0, $.mobile.pageLoadErrorMessageTheme, $.mobile.pageLoadErrorMessage, true ); - - // hide the error message after a delay - // TODO configuration - setTimeout( $.proxy(this, "_hideLoading"), 1500 ); - }, - - _parse: function( html, fileUrl ) { - // TODO consider allowing customization of this method. It's very JQM specific - var page, all = $( "<div></div>" ); - - //workaround to allow scripts to execute when included in page divs - all.get( 0 ).innerHTML = html; - - page = all.find( ":jqmData(role='page'), :jqmData(role='dialog')" ).first(); - - //if page elem couldn't be found, create one and insert the body element's contents - if ( !page.length ) { - page = $( "<div data-" + this._getNs() + "role='page'>" + - ( html.split( /<\/?body[^>]*>/gmi )[1] || "" ) + - "</div>" ); - } - - // TODO tagging a page with external to make sure that embedded pages aren't - // removed by the various page handling code is bad. Having page handling code - // in many places is bad. Solutions post 1.0 - page.attr( "data-" + this._getNs() + "url", this._createDataUrl( fileUrl ) ) - .attr( "data-" + this._getNs() + "external-page", true ); - - return page; - }, - - _setLoadedTitle: function( page, html ) { - //page title regexp - var newPageTitle = html.match( /<title[^>]*>([^<]*)/ ) && RegExp.$1; - - if ( newPageTitle && !page.jqmData("title") ) { - newPageTitle = $( "<div>" + newPageTitle + "</div>" ).text(); - page.jqmData( "title", newPageTitle ); - } - }, - - _isRewritableBaseTag: function() { - return $.mobile.dynamicBaseEnabled && !$.support.dynamicBaseTag; - }, - - _createDataUrl: function( absoluteUrl ) { - return $.mobile.path.convertUrlToDataUrl( absoluteUrl ); - }, - - _createFileUrl: function( absoluteUrl ) { - return $.mobile.path.getFilePath( absoluteUrl ); - }, - - _triggerWithDeprecated: function( name, data, page ) { - var deprecatedEvent = $.Event( "page" + name ), - newEvent = $.Event( this.widgetName + name ); - - // DEPRECATED - // trigger the old deprecated event on the page if it's provided - ( page || this.element ).trigger( deprecatedEvent, data ); - - // use the widget trigger method for the new content* event - this._trigger( name, newEvent, data ); - - return { - deprecatedEvent: deprecatedEvent, - event: newEvent - }; - }, - - // TODO it would be nice to split this up more but everything appears to be "one off" - // or require ordering such that other bits are sprinkled in between parts that - // could be abstracted out as a group - _loadSuccess: function( absUrl, triggerData, settings, deferred ) { - var fileUrl = this._createFileUrl( absUrl ); - - return $.proxy(function( html, textStatus, xhr ) { - //pre-parse html to check for a data-url, - //use it as the new fileUrl, base path, etc - var content, - - // TODO handle dialogs again - pageElemRegex = new RegExp( "(<[^>]+\\bdata-" + this._getNs() + "role=[\"']?page[\"']?[^>]*>)" ), - - dataUrlRegex = new RegExp( "\\bdata-" + this._getNs() + "url=[\"']?([^\"'>]*)[\"']?" ); - - // data-url must be provided for the base tag so resource requests - // can be directed to the correct url. loading into a temprorary - // element makes these requests immediately - if ( pageElemRegex.test( html ) && - RegExp.$1 && - dataUrlRegex.test( RegExp.$1 ) && - RegExp.$1 ) { - fileUrl = $.mobile.path.getFilePath( $("<div>" + RegExp.$1 + "</div>").text() ); - - // We specify that, if a data-url attribute is given on the page div, its value - // must be given non-URL-encoded. However, in this part of the code, fileUrl is - // assumed to be URL-encoded, so we URL-encode the retrieved value here - fileUrl = this.window[ 0 ].encodeURIComponent( fileUrl ); - } - - //dont update the base tag if we are prefetching - if ( settings.prefetch === undefined ) { - this._getBase().set( fileUrl ); - } - - content = this._parse( html, fileUrl ); - - this._setLoadedTitle( content, html ); - - // Add the content reference and xhr to our triggerData. - triggerData.xhr = xhr; - triggerData.textStatus = textStatus; - - // DEPRECATED - triggerData.page = content; - - triggerData.content = content; - - triggerData.toPage = content; - - // If the default behavior is prevented, stop here! - // Note that it is the responsibility of the listener/handler - // that called preventDefault(), to resolve/reject the - // deferred object within the triggerData. - if ( this._triggerWithDeprecated( "load", triggerData ).event.isDefaultPrevented() ) { - return; - } - - // rewrite src and href attrs to use a base url if the base tag won't work - if ( this._isRewritableBaseTag() && content ) { - this._getBase().rewrite( fileUrl, content ); - } - - this._include( content, settings ); - - // Remove loading message. - if ( settings.showLoadMsg ) { - this._hideLoading(); - } - - deferred.resolve( absUrl, settings, content ); - }, this); - }, - - _loadDefaults: { - type: "get", - data: undefined, - - // DEPRECATED - reloadPage: false, - - reload: false, - - // By default we rely on the role defined by the @data-role attribute. - role: undefined, - - showLoadMsg: false, - - // This delay allows loads that pull from browser cache to - // occur without showing the loading message. - loadMsgDelay: 50 - }, - - load: function( url, options ) { - // This function uses deferred notifications to let callers - // know when the content is done loading, or if an error has occurred. - var deferred = ( options && options.deferred ) || $.Deferred(), - - // Examining the option "reloadPage" passed by the user is deprecated as of 1.4.0 - // and will be removed in 1.5.0. - // Copy option "reloadPage" to "reload", but only if option "reload" is not present - reloadOptionExtension = - ( ( options && options.reload === undefined && - options.reloadPage !== undefined ) ? - { reload: options.reloadPage } : {} ), - - // The default load options with overrides specified by the caller. - settings = $.extend( {}, this._loadDefaults, options, reloadOptionExtension ), - - // The DOM element for the content after it has been loaded. - content = null, - - // The absolute version of the URL passed into the function. This - // version of the URL may contain dialog/subcontent params in it. - absUrl = $.mobile.path.makeUrlAbsolute( url, this._findBaseWithDefault() ), - fileUrl, dataUrl, pblEvent, triggerData; - - // If the caller provided data, and we're using "get" request, - // append the data to the URL. - if ( settings.data && settings.type === "get" ) { - absUrl = $.mobile.path.addSearchParams( absUrl, settings.data ); - settings.data = undefined; - } - - // If the caller is using a "post" request, reload must be true - if ( settings.data && settings.type === "post" ) { - settings.reload = true; - } - - // The absolute version of the URL minus any dialog/subcontent params. - // In otherwords the real URL of the content to be loaded. - fileUrl = this._createFileUrl( absUrl ); - - // The version of the Url actually stored in the data-url attribute of - // the content. For embedded content, it is just the id of the page. For - // content within the same domain as the document base, it is the site - // relative path. For cross-domain content (Phone Gap only) the entire - // absolute Url is used to load the content. - dataUrl = this._createDataUrl( absUrl ); - - content = this._find( absUrl ); - - // If it isn't a reference to the first content and refers to missing - // embedded content reject the deferred and return - if ( content.length === 0 && - $.mobile.path.isEmbeddedPage(fileUrl) && - !$.mobile.path.isFirstPageUrl(fileUrl) ) { - deferred.reject( absUrl, settings ); - return deferred.promise(); - } - - // Reset base to the default document base - // TODO figure out why we doe this - this._getBase().reset(); - - // If the content we are interested in is already in the DOM, - // and the caller did not indicate that we should force a - // reload of the file, we are done. Resolve the deferrred so that - // users can bind to .done on the promise - if ( content.length && !settings.reload ) { - this._enhance( content, settings.role ); - deferred.resolve( absUrl, settings, content ); - - //if we are reloading the content make sure we update - // the base if its not a prefetch - if ( !settings.prefetch ) { - this._getBase().set(url); - } - - return deferred.promise(); - } - - triggerData = { - url: url, - absUrl: absUrl, - toPage: url, - prevPage: options ? options.fromPage : undefined, - dataUrl: dataUrl, - deferred: deferred, - options: settings - }; - - // Let listeners know we're about to load content. - pblEvent = this._triggerWithDeprecated( "beforeload", triggerData ); - - // If the default behavior is prevented, stop here! - if ( pblEvent.deprecatedEvent.isDefaultPrevented() || - pblEvent.event.isDefaultPrevented() ) { - return deferred.promise(); - } - - if ( settings.showLoadMsg ) { - this._showLoading( settings.loadMsgDelay ); - } - - // Reset base to the default document base. - // only reset if we are not prefetching - if ( settings.prefetch === undefined ) { - this._getBase().reset(); - } - - if ( !( $.mobile.allowCrossDomainPages || - $.mobile.path.isSameDomain($.mobile.path.documentUrl, absUrl ) ) ) { - deferred.reject( absUrl, settings ); - return deferred.promise(); - } - - // Load the new content. - $.ajax({ - url: fileUrl, - type: settings.type, - data: settings.data, - contentType: settings.contentType, - dataType: "html", - success: this._loadSuccess( absUrl, triggerData, settings, deferred ), - error: this._loadError( absUrl, triggerData, settings, deferred ) - }); - - return deferred.promise(); - }, - - _loadError: function( absUrl, triggerData, settings, deferred ) { - return $.proxy(function( xhr, textStatus, errorThrown ) { - //set base back to current path - this._getBase().set( $.mobile.path.get() ); - - // Add error info to our triggerData. - triggerData.xhr = xhr; - triggerData.textStatus = textStatus; - triggerData.errorThrown = errorThrown; - - // Let listeners know the page load failed. - var plfEvent = this._triggerWithDeprecated( "loadfailed", triggerData ); - - // If the default behavior is prevented, stop here! - // Note that it is the responsibility of the listener/handler - // that called preventDefault(), to resolve/reject the - // deferred object within the triggerData. - if ( plfEvent.deprecatedEvent.isDefaultPrevented() || - plfEvent.event.isDefaultPrevented() ) { - return; - } - - // Remove loading message. - if ( settings.showLoadMsg ) { - this._showError(); - } - - deferred.reject( absUrl, settings ); - }, this); - }, - - _getTransitionHandler: function( transition ) { - transition = $.mobile._maybeDegradeTransition( transition ); - - //find the transition handler for the specified transition. If there - //isn't one in our transitionHandlers dictionary, use the default one. - //call the handler immediately to kick-off the transition. - return $.mobile.transitionHandlers[ transition ] || $.mobile.defaultTransitionHandler; - }, - - // TODO move into transition handlers? - _triggerCssTransitionEvents: function( to, from, prefix ) { - var samePage = false; - - prefix = prefix || ""; - - // TODO decide if these events should in fact be triggered on the container - if ( from ) { - - //Check if this is a same page transition and tell the handler in page - if( to[0] === from[0] ){ - samePage = true; - } - - //trigger before show/hide events - // TODO deprecate nextPage in favor of next - this._triggerWithDeprecated( prefix + "hide", { - - // Deprecated in 1.4 remove in 1.5 - nextPage: to, - toPage: to, - prevPage: from, - samePage: samePage - }, from ); - } - - // TODO deprecate prevPage in favor of previous - this._triggerWithDeprecated( prefix + "show", { - prevPage: from || $( "" ), - toPage: to - }, to ); - }, - - // TODO make private once change has been defined in the widget - _cssTransition: function( to, from, options ) { - var transition = options.transition, - reverse = options.reverse, - deferred = options.deferred, - TransitionHandler, - promise; - - this._triggerCssTransitionEvents( to, from, "before" ); - - // TODO put this in a binding to events *outside* the widget - this._hideLoading(); - - TransitionHandler = this._getTransitionHandler( transition ); - - promise = ( new TransitionHandler( transition, reverse, to, from ) ).transition(); - - promise.done( $.proxy( function() { - this._triggerCssTransitionEvents( to, from ); - }, this )); - - // TODO temporary accomodation of argument deferred - promise.done(function() { - deferred.resolve.apply( deferred, arguments ); - }); - }, - - _releaseTransitionLock: function() { - //release transition lock so navigation is free again - isPageTransitioning = false; - if ( pageTransitionQueue.length > 0 ) { - $.mobile.changePage.apply( null, pageTransitionQueue.pop() ); - } - }, - - _removeActiveLinkClass: function( force ) { - //clear out the active button state - $.mobile.removeActiveLinkClass( force ); - }, - - _loadUrl: function( to, triggerData, settings ) { - // preserve the original target as the dataUrl value will be - // simplified eg, removing ui-state, and removing query params - // from the hash this is so that users who want to use query - // params have access to them in the event bindings for the page - // life cycle See issue #5085 - settings.target = to; - settings.deferred = $.Deferred(); - - this.load( to, settings ); - - settings.deferred.done($.proxy(function( url, options, content ) { - isPageTransitioning = false; - - // store the original absolute url so that it can be provided - // to events in the triggerData of the subsequent changePage call - options.absUrl = triggerData.absUrl; - - this.transition( content, triggerData, options ); - }, this)); - - settings.deferred.fail($.proxy(function(/* url, options */) { - this._removeActiveLinkClass( true ); - this._releaseTransitionLock(); - this._triggerWithDeprecated( "changefailed", triggerData ); - }, this)); - }, - - _triggerPageBeforeChange: function( to, triggerData, settings ) { - var returnEvents; - - triggerData.prevPage = this.activePage; - $.extend( triggerData, { - toPage: to, - options: settings - }); - - // NOTE: preserve the original target as the dataUrl value will be - // simplified eg, removing ui-state, and removing query params from - // the hash this is so that users who want to use query params have - // access to them in the event bindings for the page life cycle - // See issue #5085 - if ( $.type(to) === "string" ) { - // if the toPage is a string simply convert it - triggerData.absUrl = $.mobile.path.makeUrlAbsolute( to, this._findBaseWithDefault() ); - } else { - // if the toPage is a jQuery object grab the absolute url stored - // in the loadPage callback where it exists - triggerData.absUrl = settings.absUrl; - } - - // Let listeners know we're about to change the current page. - returnEvents = this._triggerWithDeprecated( "beforechange", triggerData ); - - // If the default behavior is prevented, stop here! - if ( returnEvents.event.isDefaultPrevented() || - returnEvents.deprecatedEvent.isDefaultPrevented() ) { - return false; - } - - return true; - }, - - change: function( to, options ) { - // If we are in the midst of a transition, queue the current request. - // We'll call changePage() once we're done with the current transition - // to service the request. - if ( isPageTransitioning ) { - pageTransitionQueue.unshift( arguments ); - return; - } - - var settings = $.extend( {}, $.mobile.changePage.defaults, options ), - triggerData = {}; - - // Make sure we have a fromPage. - settings.fromPage = settings.fromPage || this.activePage; - - // if the page beforechange default is prevented return early - if ( !this._triggerPageBeforeChange(to, triggerData, settings) ) { - return; - } - - // We allow "pagebeforechange" observers to modify the to in - // the trigger data to allow for redirects. Make sure our to is - // updated. We also need to re-evaluate whether it is a string, - // because an object can also be replaced by a string - to = triggerData.toPage; - - // If the caller passed us a url, call loadPage() - // to make sure it is loaded into the DOM. We'll listen - // to the promise object it returns so we know when - // it is done loading or if an error ocurred. - if ( $.type(to) === "string" ) { - // Set the isPageTransitioning flag to prevent any requests from - // entering this method while we are in the midst of loading a page - // or transitioning. - isPageTransitioning = true; - - this._loadUrl( to, triggerData, settings ); - } else { - this.transition( to, triggerData, settings ); - } - }, - - transition: function( toPage, triggerData, settings ) { - var fromPage, url, pageUrl, fileUrl, - active, activeIsInitialPage, - historyDir, pageTitle, isDialog, - alreadyThere, newPageTitle, - params, cssTransitionDeferred, - beforeTransition; - - // If we are in the midst of a transition, queue the current request. - // We'll call changePage() once we're done with the current transition - // to service the request. - if ( isPageTransitioning ) { - // make sure to only queue the to and settings values so the arguments - // work with a call to the change method - pageTransitionQueue.unshift( [toPage, settings] ); - return; - } - - // DEPRECATED - this call only, in favor of the before transition - // if the page beforechange default is prevented return early - if ( !this._triggerPageBeforeChange(toPage, triggerData, settings) ) { - return; - } - - triggerData.prevPage = settings.fromPage; - // if the (content|page)beforetransition default is prevented return early - // Note, we have to check for both the deprecated and new events - beforeTransition = this._triggerWithDeprecated( "beforetransition", triggerData ); - if (beforeTransition.deprecatedEvent.isDefaultPrevented() || - beforeTransition.event.isDefaultPrevented() ) { - return; - } - - // Set the isPageTransitioning flag to prevent any requests from - // entering this method while we are in the midst of loading a page - // or transitioning. - isPageTransitioning = true; - - // If we are going to the first-page of the application, we need to make - // sure settings.dataUrl is set to the application document url. This allows - // us to avoid generating a document url with an id hash in the case where the - // first-page of the document has an id attribute specified. - if ( toPage[ 0 ] === $.mobile.firstPage[ 0 ] && !settings.dataUrl ) { - settings.dataUrl = $.mobile.path.documentUrl.hrefNoHash; - } - - // The caller passed us a real page DOM element. Update our - // internal state and then trigger a transition to the page. - fromPage = settings.fromPage; - url = ( settings.dataUrl && $.mobile.path.convertUrlToDataUrl(settings.dataUrl) ) || - toPage.jqmData( "url" ); - - // The pageUrl var is usually the same as url, except when url is obscured - // as a dialog url. pageUrl always contains the file path - pageUrl = url; - fileUrl = $.mobile.path.getFilePath( url ); - active = $.mobile.navigate.history.getActive(); - activeIsInitialPage = $.mobile.navigate.history.activeIndex === 0; - historyDir = 0; - pageTitle = document.title; - isDialog = ( settings.role === "dialog" || - toPage.jqmData( "role" ) === "dialog" ) && - toPage.jqmData( "dialog" ) !== true; - - // By default, we prevent changePage requests when the fromPage and toPage - // are the same element, but folks that generate content - // manually/dynamically and reuse pages want to be able to transition to - // the same page. To allow this, they will need to change the default - // value of allowSamePageTransition to true, *OR*, pass it in as an - // option when they manually call changePage(). It should be noted that - // our default transition animations assume that the formPage and toPage - // are different elements, so they may behave unexpectedly. It is up to - // the developer that turns on the allowSamePageTransitiona option to - // either turn off transition animations, or make sure that an appropriate - // animation transition is used. - if ( fromPage && fromPage[0] === toPage[0] && - !settings.allowSamePageTransition ) { - - isPageTransitioning = false; - this._triggerWithDeprecated( "transition", triggerData ); - this._triggerWithDeprecated( "change", triggerData ); - - // Even if there is no page change to be done, we should keep the - // urlHistory in sync with the hash changes - if ( settings.fromHashChange ) { - $.mobile.navigate.history.direct({ url: url }); - } - - return; - } - - // We need to make sure the page we are given has already been enhanced. - toPage.page({ role: settings.role }); - - // If the changePage request was sent from a hashChange event, check to - // see if the page is already within the urlHistory stack. If so, we'll - // assume the user hit the forward/back button and will try to match the - // transition accordingly. - if ( settings.fromHashChange ) { - historyDir = settings.direction === "back" ? -1 : 1; - } - - // Kill the keyboard. - // XXX_jblas: We need to stop crawling the entire document to kill focus. - // Instead, we should be tracking focus with a delegate() - // handler so we already have the element in hand at this - // point. - // Wrap this in a try/catch block since IE9 throw "Unspecified error" if - // document.activeElement is undefined when we are in an IFrame. - try { - if ( document.activeElement && - document.activeElement.nodeName.toLowerCase() !== "body" ) { - - $( document.activeElement ).blur(); - } else { - $( "input:focus, textarea:focus, select:focus" ).blur(); - } - } catch( e ) {} - - // Record whether we are at a place in history where a dialog used to be - - // if so, do not add a new history entry and do not change the hash either - alreadyThere = false; - - // If we're displaying the page as a dialog, we don't want the url - // for the dialog content to be used in the hash. Instead, we want - // to append the dialogHashKey to the url of the current page. - if ( isDialog && active ) { - // on the initial page load active.url is undefined and in that case - // should be an empty string. Moving the undefined -> empty string back - // into urlHistory.addNew seemed imprudent given undefined better - // represents the url state - - // If we are at a place in history that once belonged to a dialog, reuse - // this state without adding to urlHistory and without modifying the - // hash. However, if a dialog is already displayed at this point, and - // we're about to display another dialog, then we must add another hash - // and history entry on top so that one may navigate back to the - // original dialog - if ( active.url && - active.url.indexOf( $.mobile.dialogHashKey ) > -1 && - this.activePage && - !this.activePage.hasClass( "ui-dialog" ) && - $.mobile.navigate.history.activeIndex > 0 ) { - - settings.changeHash = false; - alreadyThere = true; - } - - // Normally, we tack on a dialog hash key, but if this is the location - // of a stale dialog, we reuse the URL from the entry - url = ( active.url || "" ); - - // account for absolute urls instead of just relative urls use as hashes - if ( !alreadyThere && url.indexOf("#") > -1 ) { - url += $.mobile.dialogHashKey; - } else { - url += "#" + $.mobile.dialogHashKey; - } - } - - // if title element wasn't found, try the page div data attr too - // If this is a deep-link or a reload ( active === undefined ) then just - // use pageTitle - newPageTitle = ( !active ) ? pageTitle : toPage.jqmData( "title" ) || - toPage.children( ":jqmData(role='header')" ).find( ".ui-title" ).text(); - if ( !!newPageTitle && pageTitle === document.title ) { - pageTitle = newPageTitle; - } - if ( !toPage.jqmData( "title" ) ) { - toPage.jqmData( "title", pageTitle ); - } - - // Make sure we have a transition defined. - settings.transition = settings.transition || - ( ( historyDir && !activeIsInitialPage ) ? active.transition : undefined ) || - ( isDialog ? $.mobile.defaultDialogTransition : $.mobile.defaultPageTransition ); - - //add page to history stack if it's not back or forward - if ( !historyDir && alreadyThere ) { - $.mobile.navigate.history.getActive().pageUrl = pageUrl; - } - - // Set the location hash. - if ( url && !settings.fromHashChange ) { - - // rebuilding the hash here since we loose it earlier on - // TODO preserve the originally passed in path - if ( !$.mobile.path.isPath( url ) && url.indexOf( "#" ) < 0 ) { - url = "#" + url; - } - - // TODO the property names here are just silly - params = { - transition: settings.transition, - title: pageTitle, - pageUrl: pageUrl, - role: settings.role - }; - - if ( settings.changeHash !== false && $.mobile.hashListeningEnabled ) { - $.mobile.navigate( this.window[ 0 ].encodeURI( url ), params, true); - } else if ( toPage[ 0 ] !== $.mobile.firstPage[ 0 ] ) { - $.mobile.navigate.history.add( url, params ); - } - } - - //set page title - document.title = pageTitle; - - //set "toPage" as activePage deprecated in 1.4 remove in 1.5 - $.mobile.activePage = toPage; - - //new way to handle activePage - this.activePage = toPage; - - // If we're navigating back in the URL history, set reverse accordingly. - settings.reverse = settings.reverse || historyDir < 0; - - cssTransitionDeferred = $.Deferred(); - - this._cssTransition(toPage, fromPage, { - transition: settings.transition, - reverse: settings.reverse, - deferred: cssTransitionDeferred - }); - - cssTransitionDeferred.done($.proxy(function( name, reverse, $to, $from, alreadyFocused ) { - $.mobile.removeActiveLinkClass(); - - //if there's a duplicateCachedPage, remove it from the DOM now that it's hidden - if ( settings.duplicateCachedPage ) { - settings.duplicateCachedPage.remove(); - } - - // despite visibility: hidden addresses issue #2965 - // https://github.com/jquery/jquery-mobile/issues/2965 - if ( !alreadyFocused ) { - $.mobile.focusPage( toPage ); - } - - this._releaseTransitionLock(); - this._triggerWithDeprecated( "transition", triggerData ); - this._triggerWithDeprecated( "change", triggerData ); - }, this)); - }, - - // determine the current base url - _findBaseWithDefault: function() { - var closestBase = ( this.activePage && - $.mobile.getClosestBaseUrl( this.activePage ) ); - return closestBase || $.mobile.path.documentBase.hrefNoHash; - } - }); - - // The following handlers should be bound after mobileinit has been triggered - // the following deferred is resolved in the init file - $.mobile.navreadyDeferred = $.Deferred(); - - //these variables make all page containers use the same queue and only navigate one at a time - // queue to hold simultanious page transitions - var pageTransitionQueue = [], - - // indicates whether or not page is in process of transitioning - isPageTransitioning = false; - -})( jQuery ); - -(function( $, undefined ) { - - // resolved on domready - var domreadyDeferred = $.Deferred(), - - // resolved and nulled on window.load() - loadDeferred = $.Deferred(), - - // function that resolves the above deferred - pageIsFullyLoaded = function() { - - // Resolve and null the deferred - loadDeferred.resolve(); - loadDeferred = null; - }, - - documentUrl = $.mobile.path.documentUrl, - - // used to track last vclicked element to make sure its value is added to form data - $lastVClicked = null; - - /* Event Bindings - hashchange, submit, and click */ - function findClosestLink( ele ) { - while ( ele ) { - // Look for the closest element with a nodeName of "a". - // Note that we are checking if we have a valid nodeName - // before attempting to access it. This is because the - // node we get called with could have originated from within - // an embedded SVG document where some symbol instance elements - // don't have nodeName defined on them, or strings are of type - // SVGAnimatedString. - if ( ( typeof ele.nodeName === "string" ) && ele.nodeName.toLowerCase() === "a" ) { - break; - } - ele = ele.parentNode; - } - return ele; - } - - $.mobile.loadPage = function( url, opts ) { - var container; - - opts = opts || {}; - container = ( opts.pageContainer || $.mobile.pageContainer ); - - // create the deferred that will be supplied to loadPage callers - // and resolved by the content widget's load method - opts.deferred = $.Deferred(); - - // Preferring to allow exceptions for uninitialized opts.pageContainer - // widgets so we know if we need to force init here for users - container.pagecontainer( "load", url, opts ); - - // provide the deferred - return opts.deferred.promise(); - }; - - //define vars for interal use - - /* internal utility functions */ - - // NOTE Issue #4950 Android phonegap doesn't navigate back properly - // when a full page refresh has taken place. It appears that hashchange - // and replacestate history alterations work fine but we need to support - // both forms of history traversal in our code that uses backward history - // movement - $.mobile.back = function() { - var nav = window.navigator; - - // if the setting is on and the navigator object is - // available use the phonegap navigation capability - if ( this.phonegapNavigationEnabled && - nav && - nav.app && - nav.app.backHistory ) { - nav.app.backHistory(); - } else { - $.mobile.pageContainer.pagecontainer( "back" ); - } - }; - - // Direct focus to the page title, or otherwise first focusable element - $.mobile.focusPage = function ( page ) { - var autofocus = page.find( "[autofocus]" ), - pageTitle = page.find( ".ui-title:eq(0)" ); - - if ( autofocus.length ) { - autofocus.focus(); - return; - } - - if ( pageTitle.length ) { - pageTitle.focus(); - } else{ - page.focus(); - } - }; - - // No-op implementation of transition degradation - $.mobile._maybeDegradeTransition = $.mobile._maybeDegradeTransition || function( transition ) { - return transition; - }; - - // Exposed $.mobile methods - - $.mobile.changePage = function( to, options ) { - $.mobile.pageContainer.pagecontainer( "change", to, options ); - }; - - $.mobile.changePage.defaults = { - transition: undefined, - reverse: false, - changeHash: true, - fromHashChange: false, - role: undefined, // By default we rely on the role defined by the @data-role attribute. - duplicateCachedPage: undefined, - pageContainer: undefined, - showLoadMsg: true, //loading message shows by default when pages are being fetched during changePage - dataUrl: undefined, - fromPage: undefined, - allowSamePageTransition: false - }; - - $.mobile._registerInternalEvents = function() { - var getAjaxFormData = function( $form, calculateOnly ) { - var url, ret = true, formData, vclickedName, method; - if ( !$.mobile.ajaxEnabled || - // test that the form is, itself, ajax false - $form.is( ":jqmData(ajax='false')" ) || - // test that $.mobile.ignoreContentEnabled is set and - // the form or one of it's parents is ajax=false - !$form.jqmHijackable().length || - $form.attr( "target" ) ) { - return false; - } - - url = ( $lastVClicked && $lastVClicked.attr( "formaction" ) ) || - $form.attr( "action" ); - method = ( $form.attr( "method" ) || "get" ).toLowerCase(); - - // If no action is specified, browsers default to using the - // URL of the document containing the form. Since we dynamically - // pull in pages from external documents, the form should submit - // to the URL for the source document of the page containing - // the form. - if ( !url ) { - // Get the @data-url for the page containing the form. - url = $.mobile.getClosestBaseUrl( $form ); - - // NOTE: If the method is "get", we need to strip off the query string - // because it will get replaced with the new form data. See issue #5710. - if ( method === "get" ) { - url = $.mobile.path.parseUrl( url ).hrefNoSearch; - } - - if ( url === $.mobile.path.documentBase.hrefNoHash ) { - // The url we got back matches the document base, - // which means the page must be an internal/embedded page, - // so default to using the actual document url as a browser - // would. - url = documentUrl.hrefNoSearch; - } - } - - url = $.mobile.path.makeUrlAbsolute( url, $.mobile.getClosestBaseUrl( $form ) ); - - if ( ( $.mobile.path.isExternal( url ) && !$.mobile.path.isPermittedCrossDomainRequest( documentUrl, url ) ) ) { - return false; - } - - if ( !calculateOnly ) { - formData = $form.serializeArray(); - - if ( $lastVClicked && $lastVClicked[ 0 ].form === $form[ 0 ] ) { - vclickedName = $lastVClicked.attr( "name" ); - if ( vclickedName ) { - // Make sure the last clicked element is included in the form - $.each( formData, function( key, value ) { - if ( value.name === vclickedName ) { - // Unset vclickedName - we've found it in the serialized data already - vclickedName = ""; - return false; - } - }); - if ( vclickedName ) { - formData.push( { name: vclickedName, value: $lastVClicked.attr( "value" ) } ); - } - } - } - - ret = { - url: url, - options: { - type: method, - data: $.param( formData ), - transition: $form.jqmData( "transition" ), - reverse: $form.jqmData( "direction" ) === "reverse", - reloadPage: true - } - }; - } - - return ret; - }; - - //bind to form submit events, handle with Ajax - $.mobile.document.delegate( "form", "submit", function( event ) { - var formData; - - if ( !event.isDefaultPrevented() ) { - formData = getAjaxFormData( $( this ) ); - if ( formData ) { - $.mobile.changePage( formData.url, formData.options ); - event.preventDefault(); - } - } - }); - - //add active state on vclick - $.mobile.document.bind( "vclick", function( event ) { - var $btn, btnEls, target = event.target, needClosest = false; - // if this isn't a left click we don't care. Its important to note - // that when the virtual event is generated it will create the which attr - if ( event.which > 1 || !$.mobile.linkBindingEnabled ) { - return; - } - - // Record that this element was clicked, in case we need it for correct - // form submission during the "submit" handler above - $lastVClicked = $( target ); - - // Try to find a target element to which the active class will be applied - if ( $.data( target, "mobile-button" ) ) { - // If the form will not be submitted via AJAX, do not add active class - if ( !getAjaxFormData( $( target ).closest( "form" ), true ) ) { - return; - } - // We will apply the active state to this button widget - the parent - // of the input that was clicked will have the associated data - if ( target.parentNode ) { - target = target.parentNode; - } - } else { - target = findClosestLink( target ); - if ( !( target && $.mobile.path.parseUrl( target.getAttribute( "href" ) || "#" ).hash !== "#" ) ) { - return; - } - - // TODO teach $.mobile.hijackable to operate on raw dom elements so the - // link wrapping can be avoided - if ( !$( target ).jqmHijackable().length ) { - return; - } - } - - // Avoid calling .closest by using the data set during .buttonMarkup() - // List items have the button data in the parent of the element clicked - if ( !!~target.className.indexOf( "ui-link-inherit" ) ) { - if ( target.parentNode ) { - btnEls = $.data( target.parentNode, "buttonElements" ); - } - // Otherwise, look for the data on the target itself - } else { - btnEls = $.data( target, "buttonElements" ); - } - // If found, grab the button's outer element - if ( btnEls ) { - target = btnEls.outer; - } else { - needClosest = true; - } - - $btn = $( target ); - // If the outer element wasn't found by the our heuristics, use .closest() - if ( needClosest ) { - $btn = $btn.closest( ".ui-btn" ); - } - - if ( $btn.length > 0 && - !( $btn.hasClass( "ui-state-disabled" || - - // DEPRECATED as of 1.4.0 - remove after 1.4.0 release - // only ui-state-disabled should be present thereafter - $btn.hasClass( "ui-disabled" ) ) ) ) { - $.mobile.removeActiveLinkClass( true ); - $.mobile.activeClickedLink = $btn; - $.mobile.activeClickedLink.addClass( $.mobile.activeBtnClass ); - } - }); - - // click routing - direct to HTTP or Ajax, accordingly - $.mobile.document.bind( "click", function( event ) { - if ( !$.mobile.linkBindingEnabled || event.isDefaultPrevented() ) { - return; - } - - var link = findClosestLink( event.target ), - $link = $( link ), - - //remove active link class if external (then it won't be there if you come back) - httpCleanup = function() { - window.setTimeout(function() { $.mobile.removeActiveLinkClass( true ); }, 200 ); - }, - baseUrl, href, - useDefaultUrlHandling, isExternal, - transition, reverse, role; - - // If a button was clicked, clean up the active class added by vclick above - if ( $.mobile.activeClickedLink && - $.mobile.activeClickedLink[ 0 ] === event.target.parentNode ) { - httpCleanup(); - } - - // If there is no link associated with the click or its not a left - // click we want to ignore the click - // TODO teach $.mobile.hijackable to operate on raw dom elements so the link wrapping - // can be avoided - if ( !link || event.which > 1 || !$link.jqmHijackable().length ) { - return; - } - - //if there's a data-rel=back attr, go back in history - if ( $link.is( ":jqmData(rel='back')" ) ) { - $.mobile.back(); - return false; - } - - baseUrl = $.mobile.getClosestBaseUrl( $link ); - - //get href, if defined, otherwise default to empty hash - href = $.mobile.path.makeUrlAbsolute( $link.attr( "href" ) || "#", baseUrl ); - - //if ajax is disabled, exit early - if ( !$.mobile.ajaxEnabled && !$.mobile.path.isEmbeddedPage( href ) ) { - httpCleanup(); - //use default click handling - return; - } - - // XXX_jblas: Ideally links to application pages should be specified as - // an url to the application document with a hash that is either - // the site relative path or id to the page. But some of the - // internal code that dynamically generates sub-pages for nested - // lists and select dialogs, just write a hash in the link they - // create. This means the actual URL path is based on whatever - // the current value of the base tag is at the time this code - // is called. - if ( href.search( "#" ) !== -1 && - !( $.mobile.path.isExternal( href ) && $.mobile.path.isAbsoluteUrl( href ) ) ) { - - href = href.replace( /[^#]*#/, "" ); - if ( !href ) { - //link was an empty hash meant purely - //for interaction, so we ignore it. - event.preventDefault(); - return; - } else if ( $.mobile.path.isPath( href ) ) { - //we have apath so make it the href we want to load. - href = $.mobile.path.makeUrlAbsolute( href, baseUrl ); - } else { - //we have a simple id so use the documentUrl as its base. - href = $.mobile.path.makeUrlAbsolute( "#" + href, documentUrl.hrefNoHash ); - } - } - - // Should we handle this link, or let the browser deal with it? - useDefaultUrlHandling = $link.is( "[rel='external']" ) || $link.is( ":jqmData(ajax='false')" ) || $link.is( "[target]" ); - - // Some embedded browsers, like the web view in Phone Gap, allow cross-domain XHR - // requests if the document doing the request was loaded via the file:// protocol. - // This is usually to allow the application to "phone home" and fetch app specific - // data. We normally let the browser handle external/cross-domain urls, but if the - // allowCrossDomainPages option is true, we will allow cross-domain http/https - // requests to go through our page loading logic. - - //check for protocol or rel and its not an embedded page - //TODO overlap in logic from isExternal, rel=external check should be - // moved into more comprehensive isExternalLink - isExternal = useDefaultUrlHandling || ( $.mobile.path.isExternal( href ) && !$.mobile.path.isPermittedCrossDomainRequest( documentUrl, href ) ); - - if ( isExternal ) { - httpCleanup(); - //use default click handling - return; - } - - //use ajax - transition = $link.jqmData( "transition" ); - reverse = $link.jqmData( "direction" ) === "reverse" || - // deprecated - remove by 1.0 - $link.jqmData( "back" ); - - //this may need to be more specific as we use data-rel more - role = $link.attr( "data-" + $.mobile.ns + "rel" ) || undefined; - - $.mobile.changePage( href, { transition: transition, reverse: reverse, role: role, link: $link } ); - event.preventDefault(); - }); - - //prefetch pages when anchors with data-prefetch are encountered - $.mobile.document.delegate( ".ui-page", "pageshow.prefetch", function() { - var urls = []; - $( this ).find( "a:jqmData(prefetch)" ).each(function() { - var $link = $( this ), - url = $link.attr( "href" ); - - if ( url && $.inArray( url, urls ) === -1 ) { - urls.push( url ); - - $.mobile.loadPage( url, { role: $link.attr( "data-" + $.mobile.ns + "rel" ),prefetch: true } ); - } - }); - }); - - // TODO ensure that the navigate binding in the content widget happens at the right time - $.mobile.pageContainer.pagecontainer(); - - //set page min-heights to be device specific - $.mobile.document.bind( "pageshow", function() { - - // We need to wait for window.load to make sure that styles have already been rendered, - // otherwise heights of external toolbars will have the wrong value - if ( loadDeferred ) { - loadDeferred.done( $.mobile.resetActivePageHeight ); - } else { - $.mobile.resetActivePageHeight(); - } - }); - $.mobile.window.bind( "throttledresize", $.mobile.resetActivePageHeight ); - - };//navreadyDeferred done callback - - $( function() { domreadyDeferred.resolve(); } ); - - // Account for the possibility that the load event has already fired - if ( document.readyState === "complete" ) { - pageIsFullyLoaded(); - } else { - $.mobile.window.load( pageIsFullyLoaded ); - } - - $.when( domreadyDeferred, $.mobile.navreadyDeferred ).done( function() { $.mobile._registerInternalEvents(); } ); -})( jQuery ); - - -(function( $, window, undefined ) { - - // TODO remove direct references to $.mobile and properties, we should - // favor injection with params to the constructor - $.mobile.Transition = function() { - this.init.apply( this, arguments ); - }; - - $.extend($.mobile.Transition.prototype, { - toPreClass: " ui-page-pre-in", - - init: function( name, reverse, $to, $from ) { - $.extend(this, { - name: name, - reverse: reverse, - $to: $to, - $from: $from, - deferred: new $.Deferred() - }); - }, - - cleanFrom: function() { - this.$from - .removeClass( $.mobile.activePageClass + " out in reverse " + this.name ) - .height( "" ); - }, - - // NOTE overridden by child object prototypes, noop'd here as defaults - beforeDoneIn: function() {}, - beforeDoneOut: function() {}, - beforeStartOut: function() {}, - - doneIn: function() { - this.beforeDoneIn(); - - this.$to.removeClass( "out in reverse " + this.name ).height( "" ); - - this.toggleViewportClass(); - - // In some browsers (iOS5), 3D transitions block the ability to scroll to the desired location during transition - // This ensures we jump to that spot after the fact, if we aren't there already. - if ( $.mobile.window.scrollTop() !== this.toScroll ) { - this.scrollPage(); - } - if ( !this.sequential ) { - this.$to.addClass( $.mobile.activePageClass ); - } - this.deferred.resolve( this.name, this.reverse, this.$to, this.$from, true ); - }, - - doneOut: function( screenHeight, reverseClass, none, preventFocus ) { - this.beforeDoneOut(); - this.startIn( screenHeight, reverseClass, none, preventFocus ); - }, - - hideIn: function( callback ) { - // Prevent flickering in phonegap container: see comments at #4024 regarding iOS - this.$to.css( "z-index", -10 ); - callback.call( this ); - this.$to.css( "z-index", "" ); - }, - - scrollPage: function() { - // By using scrollTo instead of silentScroll, we can keep things better in order - // Just to be precautios, disable scrollstart listening like silentScroll would - $.event.special.scrollstart.enabled = false; - //if we are hiding the url bar or the page was previously scrolled scroll to hide or return to position - if ( $.mobile.hideUrlBar || this.toScroll !== $.mobile.defaultHomeScroll ) { - window.scrollTo( 0, this.toScroll ); - } - - // reenable scrollstart listening like silentScroll would - setTimeout( function() { - $.event.special.scrollstart.enabled = true; - }, 150 ); - }, - - startIn: function( screenHeight, reverseClass, none, preventFocus ) { - this.hideIn(function() { - this.$to.addClass( $.mobile.activePageClass + this.toPreClass ); - - // Send focus to page as it is now display: block - if ( !preventFocus ) { - $.mobile.focusPage( this.$to ); - } - - // Set to page height - this.$to.height( screenHeight + this.toScroll ); - - if ( !none ) { - this.scrollPage(); - } - }); - - this.$to - .removeClass( this.toPreClass ) - .addClass( this.name + " in " + reverseClass ); - - if ( !none ) { - this.$to.animationComplete( $.proxy(function() { - this.doneIn(); - }, this )); - } else { - this.doneIn(); - } - - }, - - startOut: function( screenHeight, reverseClass, none ) { - this.beforeStartOut( screenHeight, reverseClass, none ); - - // Set the from page's height and start it transitioning out - // Note: setting an explicit height helps eliminate tiling in the transitions - this.$from - .height( screenHeight + $.mobile.window.scrollTop() ) - .addClass( this.name + " out" + reverseClass ); - }, - - toggleViewportClass: function() { - $.mobile.pageContainer.toggleClass( "ui-mobile-viewport-transitioning viewport-" + this.name ); - }, - - transition: function() { - // NOTE many of these could be calculated/recorded in the constructor, it's my - // opinion that binding them as late as possible has value with regards to - // better transitions with fewer bugs. Ie, it's not guaranteed that the - // object will be created and transition will be run immediately after as - // it is today. So we wait until transition is invoked to gather the following - var none, - reverseClass = this.reverse ? " reverse" : "", - screenHeight = $.mobile.getScreenHeight(), - maxTransitionOverride = $.mobile.maxTransitionWidth !== false && - $.mobile.window.width() > $.mobile.maxTransitionWidth; - - this.toScroll = $.mobile.navigate.history.getActive().lastScroll || $.mobile.defaultHomeScroll; - - none = !$.support.cssTransitions || !$.support.cssAnimations || - maxTransitionOverride || !this.name || this.name === "none" || - Math.max( $.mobile.window.scrollTop(), this.toScroll ) > - $.mobile.getMaxScrollForTransition(); - - this.toggleViewportClass(); - - if ( this.$from && !none ) { - this.startOut( screenHeight, reverseClass, none ); - } else { - this.doneOut( screenHeight, reverseClass, none, true ); - } - - return this.deferred.promise(); - } - }); -})( jQuery, this ); - - -(function( $ ) { - - $.mobile.SerialTransition = function() { - this.init.apply(this, arguments); - }; - - $.extend($.mobile.SerialTransition.prototype, $.mobile.Transition.prototype, { - sequential: true, - - beforeDoneOut: function() { - if ( this.$from ) { - this.cleanFrom(); - } - }, - - beforeStartOut: function( screenHeight, reverseClass, none ) { - this.$from.animationComplete($.proxy(function() { - this.doneOut( screenHeight, reverseClass, none ); - }, this )); - } - }); - -})( jQuery ); - - -(function( $ ) { - - $.mobile.ConcurrentTransition = function() { - this.init.apply(this, arguments); - }; - - $.extend($.mobile.ConcurrentTransition.prototype, $.mobile.Transition.prototype, { - sequential: false, - - beforeDoneIn: function() { - if ( this.$from ) { - this.cleanFrom(); - } - }, - - beforeStartOut: function( screenHeight, reverseClass, none ) { - this.doneOut( screenHeight, reverseClass, none ); - } - }); - -})( jQuery ); - - -(function( $ ) { - - // generate the handlers from the above - var defaultGetMaxScrollForTransition = function() { - return $.mobile.getScreenHeight() * 3; - }; - - //transition handler dictionary for 3rd party transitions - $.mobile.transitionHandlers = { - "sequential": $.mobile.SerialTransition, - "simultaneous": $.mobile.ConcurrentTransition - }; - - // Make our transition handler the public default. - $.mobile.defaultTransitionHandler = $.mobile.transitionHandlers.sequential; - - $.mobile.transitionFallbacks = {}; - - // If transition is defined, check if css 3D transforms are supported, and if not, if a fallback is specified - $.mobile._maybeDegradeTransition = function( transition ) { - if ( transition && !$.support.cssTransform3d && $.mobile.transitionFallbacks[ transition ] ) { - transition = $.mobile.transitionFallbacks[ transition ]; - } - - return transition; - }; - - // Set the getMaxScrollForTransition to default if no implementation was set by user - $.mobile.getMaxScrollForTransition = $.mobile.getMaxScrollForTransition || defaultGetMaxScrollForTransition; - -})( jQuery ); - -/* -* fallback transition for flip in non-3D supporting browsers (which tend to handle complex transitions poorly in general -*/ - -(function( $, window, undefined ) { - -$.mobile.transitionFallbacks.flip = "fade"; - -})( jQuery, this ); - -/* -* fallback transition for flow in non-3D supporting browsers (which tend to handle complex transitions poorly in general -*/ - -(function( $, window, undefined ) { - -$.mobile.transitionFallbacks.flow = "fade"; - -})( jQuery, this ); - -/* -* fallback transition for pop in non-3D supporting browsers (which tend to handle complex transitions poorly in general -*/ - -(function( $, window, undefined ) { - -$.mobile.transitionFallbacks.pop = "fade"; - -})( jQuery, this ); - -/* -* fallback transition for slide in non-3D supporting browsers (which tend to handle complex transitions poorly in general -*/ - -(function( $, window, undefined ) { - -// Use the simultaneous transitions handler for slide transitions -$.mobile.transitionHandlers.slide = $.mobile.transitionHandlers.simultaneous; - -// Set the slide transitions's fallback to "fade" -$.mobile.transitionFallbacks.slide = "fade"; - -})( jQuery, this ); - -/* -* fallback transition for slidedown in non-3D supporting browsers (which tend to handle complex transitions poorly in general -*/ - -(function( $, window, undefined ) { - -$.mobile.transitionFallbacks.slidedown = "fade"; - -})( jQuery, this ); - -/* -* fallback transition for slidefade in non-3D supporting browsers (which tend to handle complex transitions poorly in general -*/ - -(function( $, window, undefined ) { - -// Set the slide transitions's fallback to "fade" -$.mobile.transitionFallbacks.slidefade = "fade"; - -})( jQuery, this ); - -/* -* fallback transition for slideup in non-3D supporting browsers (which tend to handle complex transitions poorly in general -*/ - -(function( $, window, undefined ) { - -$.mobile.transitionFallbacks.slideup = "fade"; - -})( jQuery, this ); - -/* -* fallback transition for turn in non-3D supporting browsers (which tend to handle complex transitions poorly in general -*/ - -(function( $, window, undefined ) { - -$.mobile.transitionFallbacks.turn = "fade"; - -})( jQuery, this ); - - -(function( $, undefined ) { - -$.mobile.degradeInputs = { - color: false, - date: false, - datetime: false, - "datetime-local": false, - email: false, - month: false, - number: false, - range: "number", - search: "text", - tel: false, - time: false, - url: false, - week: false -}; -// Backcompat remove in 1.5 -$.mobile.page.prototype.options.degradeInputs = $.mobile.degradeInputs; - -// Auto self-init widgets -$.mobile.degradeInputsWithin = function( target ) { - - target = $( target ); - - // Degrade inputs to avoid poorly implemented native functionality - target.find( "input" ).not( $.mobile.page.prototype.keepNativeSelector() ).each(function() { - var element = $( this ), - type = this.getAttribute( "type" ), - optType = $.mobile.degradeInputs[ type ] || "text", - html, hasType, findstr, repstr; - - if ( $.mobile.degradeInputs[ type ] ) { - html = $( "<div>" ).html( element.clone() ).html(); - // In IE browsers, the type sometimes doesn't exist in the cloned markup, so we replace the closing tag instead - hasType = html.indexOf( " type=" ) > -1; - findstr = hasType ? /\s+type=["']?\w+['"]?/ : /\/?>/; - repstr = " type=\"" + optType + "\" data-" + $.mobile.ns + "type=\"" + type + "\"" + ( hasType ? "" : ">" ); - - element.replaceWith( html.replace( findstr, repstr ) ); - } - }); - -}; - -})( jQuery ); - -(function( $, window, undefined ) { - -$.widget( "mobile.page", $.mobile.page, { - options: { - - // Accepts left, right and none - closeBtn: "left", - closeBtnText: "Close", - overlayTheme: "a", - corners: true, - dialog: false - }, - - _create: function() { - this._super(); - if ( this.options.dialog ) { - - $.extend( this, { - _inner: this.element.children(), - _headerCloseButton: null - }); - - if ( !this.options.enhanced ) { - this._setCloseBtn( this.options.closeBtn ); - } - } - }, - - _enhance: function() { - this._super(); - - // Class the markup for dialog styling and wrap interior - if ( this.options.dialog ) { - this.element.addClass( "ui-dialog" ) - .wrapInner( $( "<div/>", { - - // ARIA role - "role" : "dialog", - "class" : "ui-dialog-contain ui-overlay-shadow" + - ( this.options.corners ? " ui-corner-all" : "" ) - })); - } - }, - - _setOptions: function( options ) { - var closeButtonLocation, closeButtonText, - currentOpts = this.options; - - if ( options.corners !== undefined ) { - this._inner.toggleClass( "ui-corner-all", !!options.corners ); - } - - if ( options.overlayTheme !== undefined ) { - if ( $.mobile.activePage[ 0 ] === this.element[ 0 ] ) { - currentOpts.overlayTheme = options.overlayTheme; - this._handlePageBeforeShow(); - } - } - - if ( options.closeBtnText !== undefined ) { - closeButtonLocation = currentOpts.closeBtn; - closeButtonText = options.closeBtnText; - } - - if ( options.closeBtn !== undefined ) { - closeButtonLocation = options.closeBtn; - } - - if ( closeButtonLocation ) { - this._setCloseBtn( closeButtonLocation, closeButtonText ); - } - - this._super( options ); - }, - - _handlePageBeforeShow: function () { - if ( this.options.overlayTheme && this.options.dialog ) { - this.removeContainerBackground(); - this.setContainerBackground( this.options.overlayTheme ); - } else { - this._super(); - } - }, - - _setCloseBtn: function( location, text ) { - var dst, - btn = this._headerCloseButton; - - // Sanitize value - location = "left" === location ? "left" : "right" === location ? "right" : "none"; - - if ( "none" === location ) { - if ( btn ) { - btn.remove(); - btn = null; - } - } else if ( btn ) { - btn.removeClass( "ui-btn-left ui-btn-right" ).addClass( "ui-btn-" + location ); - if ( text ) { - btn.text( text ); - } - } else { - dst = this._inner.find( ":jqmData(role='header')" ).first(); - btn = $( "<a></a>", { - "href": "#", - "class": "ui-btn ui-corner-all ui-icon-delete ui-btn-icon-notext ui-btn-" + location - }) - .attr( "data-" + $.mobile.ns + "rel", "back" ) - .text( text || this.options.closeBtnText || "" ) - .prependTo( dst ); - } - - this._headerCloseButton = btn; - } -}); - -})( jQuery, this ); - -(function( $, window, undefined ) { - -$.widget( "mobile.dialog", { - options: { - - // Accepts left, right and none - closeBtn: "left", - closeBtnText: "Close", - overlayTheme: "a", - corners: true - }, - - // Override the theme set by the page plugin on pageshow - _handlePageBeforeShow: function() { - this._isCloseable = true; - if ( this.options.overlayTheme ) { - this.element - .page( "removeContainerBackground" ) - .page( "setContainerBackground", this.options.overlayTheme ); - } - }, - - _handlePageBeforeHide: function() { - this._isCloseable = false; - }, - - // click and submit events: - // - clicks and submits should use the closing transition that the dialog - // opened with unless a data-transition is specified on the link/form - // - if the click was on the close button, or the link has a data-rel="back" - // it'll go back in history naturally - _handleVClickSubmit: function( event ) { - var attrs, - $target = $( event.target ).closest( event.type === "vclick" ? "a" : "form" ); - - if ( $target.length && !$target.jqmData( "transition" ) ) { - attrs = {}; - attrs[ "data-" + $.mobile.ns + "transition" ] = - ( $.mobile.navigate.history.getActive() || {} )[ "transition" ] || - $.mobile.defaultDialogTransition; - attrs[ "data-" + $.mobile.ns + "direction" ] = "reverse"; - $target.attr( attrs ); - } - }, - - _create: function() { - var elem = this.element, - opts = this.options; - - // Class the markup for dialog styling and wrap interior - elem.addClass( "ui-dialog" ) - .wrapInner( $( "<div/>", { - - // ARIA role - "role" : "dialog", - "class" : "ui-dialog-contain ui-overlay-shadow" + - ( !!opts.corners ? " ui-corner-all" : "" ) - })); - - $.extend( this, { - _isCloseable: false, - _inner: elem.children(), - _headerCloseButton: null - }); - - this._on( elem, { - vclick: "_handleVClickSubmit", - submit: "_handleVClickSubmit", - pagebeforeshow: "_handlePageBeforeShow", - pagebeforehide: "_handlePageBeforeHide" - }); - - this._setCloseBtn( opts.closeBtn ); - }, - - _setOptions: function( options ) { - var closeButtonLocation, closeButtonText, - currentOpts = this.options; - - if ( options.corners !== undefined ) { - this._inner.toggleClass( "ui-corner-all", !!options.corners ); - } - - if ( options.overlayTheme !== undefined ) { - if ( $.mobile.activePage[ 0 ] === this.element[ 0 ] ) { - currentOpts.overlayTheme = options.overlayTheme; - this._handlePageBeforeShow(); - } - } - - if ( options.closeBtnText !== undefined ) { - closeButtonLocation = currentOpts.closeBtn; - closeButtonText = options.closeBtnText; - } - - if ( options.closeBtn !== undefined ) { - closeButtonLocation = options.closeBtn; - } - - if ( closeButtonLocation ) { - this._setCloseBtn( closeButtonLocation, closeButtonText ); - } - - this._super( options ); - }, - - _setCloseBtn: function( location, text ) { - var dst, - btn = this._headerCloseButton; - - // Sanitize value - location = "left" === location ? "left" : "right" === location ? "right" : "none"; - - if ( "none" === location ) { - if ( btn ) { - btn.remove(); - btn = null; - } - } else if ( btn ) { - btn.removeClass( "ui-btn-left ui-btn-right" ).addClass( "ui-btn-" + location ); - if ( text ) { - btn.text( text ); - } - } else { - dst = this._inner.find( ":jqmData(role='header')" ).first(); - btn = $( "<a></a>", { - "role": "button", - "href": "#", - "class": "ui-btn ui-corner-all ui-icon-delete ui-btn-icon-notext ui-btn-" + location - }) - .text( text || this.options.closeBtnText || "" ) - .prependTo( dst ); - this._on( btn, { click: "close" } ); - } - - this._headerCloseButton = btn; - }, - - // Close method goes back in history - close: function() { - var hist = $.mobile.navigate.history; - - if ( this._isCloseable ) { - this._isCloseable = false; - // If the hash listening is enabled and there is at least one preceding history - // entry it's ok to go back. Initial pages with the dialog hash state are an example - // where the stack check is necessary - if ( $.mobile.hashListeningEnabled && hist.activeIndex > 0 ) { - $.mobile.back(); - } else { - $.mobile.pageContainer.pagecontainer( "back" ); - } - } - } -}); - -})( jQuery, this ); - -(function( $, undefined ) { - -var rInitialLetter = /([A-Z])/g, - - // Construct iconpos class from iconpos value - iconposClass = function( iconpos ) { - return ( "ui-btn-icon-" + ( iconpos === null ? "left" : iconpos ) ); - }; - -$.widget( "mobile.collapsible", { - options: { - enhanced: false, - expandCueText: null, - collapseCueText: null, - collapsed: true, - heading: "h1,h2,h3,h4,h5,h6,legend", - collapsedIcon: null, - expandedIcon: null, - iconpos: null, - theme: null, - contentTheme: null, - inset: null, - corners: null, - mini: null - }, - - _create: function() { - var elem = this.element, - ui = { - accordion: elem - .closest( ":jqmData(role='collapsible-set')," + - ":jqmData(role='collapsibleset')" + - ( $.mobile.collapsibleset ? ", :mobile-collapsibleset" : - "" ) ) - .addClass( "ui-collapsible-set" ) - }; - - this._ui = ui; - this._renderedOptions = this._getOptions( this.options ); - - if ( this.options.enhanced ) { - ui.heading = this.element.children( ".ui-collapsible-heading" ); - ui.content = ui.heading.next(); - ui.anchor = ui.heading.children(); - ui.status = ui.anchor.children( ".ui-collapsible-heading-status" ); - } else { - this._enhance( elem, ui ); - } - - this._on( ui.heading, { - "tap": function() { - ui.heading.find( "a" ).first().addClass( $.mobile.activeBtnClass ); - }, - - "click": function( event ) { - this._handleExpandCollapse( !ui.heading.hasClass( "ui-collapsible-heading-collapsed" ) ); - event.preventDefault(); - event.stopPropagation(); - } - }); - }, - - // Adjust the keys inside options for inherited values - _getOptions: function( options ) { - var key, - accordion = this._ui.accordion, - accordionWidget = this._ui.accordionWidget; - - // Copy options - options = $.extend( {}, options ); - - if ( accordion.length && !accordionWidget ) { - this._ui.accordionWidget = - accordionWidget = accordion.data( "mobile-collapsibleset" ); - } - - for ( key in options ) { - - // Retrieve the option value first from the options object passed in and, if - // null, from the parent accordion or, if that's null too, or if there's no - // parent accordion, then from the defaults. - options[ key ] = - ( options[ key ] != null ) ? options[ key ] : - ( accordionWidget ) ? accordionWidget.options[ key ] : - accordion.length ? $.mobile.getAttribute( accordion[ 0 ], - key.replace( rInitialLetter, "-$1" ).toLowerCase() ): - null; - - if ( null == options[ key ] ) { - options[ key ] = $.mobile.collapsible.defaults[ key ]; - } - } - - return options; - }, - - _themeClassFromOption: function( prefix, value ) { - return ( value ? ( value === "none" ? "" : prefix + value ) : "" ); - }, - - _enhance: function( elem, ui ) { - var iconclass, - opts = this._renderedOptions, - contentThemeClass = this._themeClassFromOption( "ui-body-", opts.contentTheme ); - - elem.addClass( "ui-collapsible " + - ( opts.inset ? "ui-collapsible-inset " : "" ) + - ( opts.inset && opts.corners ? "ui-corner-all " : "" ) + - ( contentThemeClass ? "ui-collapsible-themed-content " : "" ) ); - ui.originalHeading = elem.children( this.options.heading ).first(), - ui.content = elem - .wrapInner( "<div " + - "class='ui-collapsible-content " + - contentThemeClass + "'></div>" ) - .children( ".ui-collapsible-content" ), - ui.heading = ui.originalHeading; - - // Replace collapsibleHeading if it's a legend - if ( ui.heading.is( "legend" ) ) { - ui.heading = $( "<div role='heading'>"+ ui.heading.html() +"</div>" ); - ui.placeholder = $( "<div><!-- placeholder for legend --></div>" ).insertBefore( ui.originalHeading ); - ui.originalHeading.remove(); - } - - iconclass = ( opts.collapsed ? ( opts.collapsedIcon ? "ui-icon-" + opts.collapsedIcon : "" ): - ( opts.expandedIcon ? "ui-icon-" + opts.expandedIcon : "" ) ); - - ui.status = $( "<span class='ui-collapsible-heading-status'></span>" ); - ui.anchor = ui.heading - .detach() - //modify markup & attributes - .addClass( "ui-collapsible-heading" ) - .append( ui.status ) - .wrapInner( "<a href='#' class='ui-collapsible-heading-toggle'></a>" ) - .find( "a" ) - .first() - .addClass( "ui-btn " + - ( iconclass ? iconclass + " " : "" ) + - ( iconclass ? iconposClass( opts.iconpos ) + - " " : "" ) + - this._themeClassFromOption( "ui-btn-", opts.theme ) + " " + - ( opts.mini ? "ui-mini " : "" ) ); - - //drop heading in before content - ui.heading.insertBefore( ui.content ); - - this._handleExpandCollapse( this.options.collapsed ); - - return ui; - }, - - refresh: function() { - this._applyOptions( this.options ); - this._renderedOptions = this._getOptions( this.options ); - }, - - _applyOptions: function( options ) { - var isCollapsed, newTheme, oldTheme, hasCorners, hasIcon, - elem = this.element, - currentOpts = this._renderedOptions, - ui = this._ui, - anchor = ui.anchor, - status = ui.status, - opts = this._getOptions( options ); - - // First and foremost we need to make sure the collapsible is in the proper - // state, in case somebody decided to change the collapsed option at the - // same time as another option - if ( options.collapsed !== undefined ) { - this._handleExpandCollapse( options.collapsed ); - } - - isCollapsed = elem.hasClass( "ui-collapsible-collapsed" ); - - // We only need to apply the cue text for the current state right away. - // The cue text for the alternate state will be stored in the options - // and applied the next time the collapsible's state is toggled - if ( isCollapsed ) { - if ( opts.expandCueText !== undefined ) { - status.text( opts.expandCueText ); - } - } else { - if ( opts.collapseCueText !== undefined ) { - status.text( opts.collapseCueText ); - } - } - - // Update icon - - // Is it supposed to have an icon? - hasIcon = - - // If the collapsedIcon is being set, consult that - ( opts.collapsedIcon !== undefined ? opts.collapsedIcon !== false : - - // Otherwise consult the existing option value - currentOpts.collapsedIcon !== false ); - - - // If any icon-related options have changed, make sure the new icon - // state is reflected by first removing all icon-related classes - // reflecting the current state and then adding all icon-related - // classes for the new state - if ( !( opts.iconpos === undefined && - opts.collapsedIcon === undefined && - opts.expandedIcon === undefined ) ) { - - // Remove all current icon-related classes - anchor.removeClass( [ iconposClass( currentOpts.iconpos ) ] - .concat( ( currentOpts.expandedIcon ? - [ "ui-icon-" + currentOpts.expandedIcon ] : [] ) ) - .concat( ( currentOpts.collapsedIcon ? - [ "ui-icon-" + currentOpts.collapsedIcon ] : [] ) ) - .join( " " ) ); - - // Add new classes if an icon is supposed to be present - if ( hasIcon ) { - anchor.addClass( - [ iconposClass( opts.iconpos !== undefined ? - opts.iconpos : currentOpts.iconpos ) ] - .concat( isCollapsed ? - [ "ui-icon-" + ( opts.collapsedIcon !== undefined ? - opts.collapsedIcon : - currentOpts.collapsedIcon ) ] : - [ "ui-icon-" + ( opts.expandedIcon !== undefined ? - opts.expandedIcon : - currentOpts.expandedIcon ) ] ) - .join( " " ) ); - } - } - - if ( opts.theme !== undefined ) { - oldTheme = this._themeClassFromOption( "ui-btn-", currentOpts.theme ); - newTheme = this._themeClassFromOption( "ui-btn-", opts.theme ); - anchor.removeClass( oldTheme ).addClass( newTheme ); - } - - if ( opts.contentTheme !== undefined ) { - oldTheme = this._themeClassFromOption( "ui-body-", - currentOpts.contentTheme ); - newTheme = this._themeClassFromOption( "ui-body-", - opts.contentTheme ); - ui.content.removeClass( oldTheme ).addClass( newTheme ); - } - - if ( opts.inset !== undefined ) { - elem.toggleClass( "ui-collapsible-inset", opts.inset ); - hasCorners = !!( opts.inset && ( opts.corners || currentOpts.corners ) ); - } - - if ( opts.corners !== undefined ) { - hasCorners = !!( opts.corners && ( opts.inset || currentOpts.inset ) ); - } - - if ( hasCorners !== undefined ) { - elem.toggleClass( "ui-corner-all", hasCorners ); - } - - if ( opts.mini !== undefined ) { - anchor.toggleClass( "ui-mini", opts.mini ); - } - }, - - _setOptions: function( options ) { - this._applyOptions( options ); - this._super( options ); - this._renderedOptions = this._getOptions( this.options ); - }, - - _handleExpandCollapse: function( isCollapse ) { - var opts = this._renderedOptions, - ui = this._ui; - - ui.status.text( isCollapse ? opts.expandCueText : opts.collapseCueText ); - ui.heading - .toggleClass( "ui-collapsible-heading-collapsed", isCollapse ) - .find( "a" ).first() - .toggleClass( "ui-icon-" + opts.expandedIcon, !isCollapse ) - - // logic or cause same icon for expanded/collapsed state would remove the ui-icon-class - .toggleClass( "ui-icon-" + opts.collapsedIcon, ( isCollapse || opts.expandedIcon === opts.collapsedIcon ) ) - .removeClass( $.mobile.activeBtnClass ); - - this.element.toggleClass( "ui-collapsible-collapsed", isCollapse ); - ui.content - .toggleClass( "ui-collapsible-content-collapsed", isCollapse ) - .attr( "aria-hidden", isCollapse ) - .trigger( "updatelayout" ); - this.options.collapsed = isCollapse; - this._trigger( isCollapse ? "collapse" : "expand" ); - }, - - expand: function() { - this._handleExpandCollapse( false ); - }, - - collapse: function() { - this._handleExpandCollapse( true ); - }, - - _destroy: function() { - var ui = this._ui, - opts = this.options; - - if ( opts.enhanced ) { - return; - } - - if ( ui.placeholder ) { - ui.originalHeading.insertBefore( ui.placeholder ); - ui.placeholder.remove(); - ui.heading.remove(); - } else { - ui.status.remove(); - ui.heading - .removeClass( "ui-collapsible-heading ui-collapsible-heading-collapsed" ) - .children() - .contents() - .unwrap(); - } - - ui.anchor.contents().unwrap(); - ui.content.contents().unwrap(); - this.element - .removeClass( "ui-collapsible ui-collapsible-collapsed " + - "ui-collapsible-themed-content ui-collapsible-inset ui-corner-all" ); - } -}); - -// Defaults to be used by all instances of collapsible if per-instance values -// are unset or if nothing is specified by way of inheritance from an accordion. -// Note that this hash does not contain options "collapsed" or "heading", -// because those are not inheritable. -$.mobile.collapsible.defaults = { - expandCueText: " click to expand contents", - collapseCueText: " click to collapse contents", - collapsedIcon: "plus", - contentTheme: "inherit", - expandedIcon: "minus", - iconpos: "left", - inset: true, - corners: true, - theme: "inherit", - mini: false -}; - -})( jQuery ); - -(function( $, undefined ) { - -var uiScreenHiddenRegex = /\bui-screen-hidden\b/; -function noHiddenClass( elements ) { - var index, - length = elements.length, - result = []; - - for ( index = 0; index < length; index++ ) { - if ( !elements[ index ].className.match( uiScreenHiddenRegex ) ) { - result.push( elements[ index ] ); - } - } - - return $( result ); -} - -$.mobile.behaviors.addFirstLastClasses = { - _getVisibles: function( $els, create ) { - var visibles; - - if ( create ) { - visibles = noHiddenClass( $els ); - } else { - visibles = $els.filter( ":visible" ); - if ( visibles.length === 0 ) { - visibles = noHiddenClass( $els ); - } - } - - return visibles; - }, - - _addFirstLastClasses: function( $els, $visibles, create ) { - $els.removeClass( "ui-first-child ui-last-child" ); - $visibles.eq( 0 ).addClass( "ui-first-child" ).end().last().addClass( "ui-last-child" ); - if ( !create ) { - this.element.trigger( "updatelayout" ); - } - }, - - _removeFirstLastClasses: function( $els ) { - $els.removeClass( "ui-first-child ui-last-child" ); - } -}; - -})( jQuery ); - -(function( $, undefined ) { - -var childCollapsiblesSelector = ":mobile-collapsible, " + $.mobile.collapsible.initSelector; - -$.widget( "mobile.collapsibleset", $.extend( { - - // The initSelector is deprecated as of 1.4.0. In 1.5.0 we will use - // :jqmData(role='collapsibleset') which will allow us to get rid of the line - // below altogether, because the autoinit will generate such an initSelector - initSelector: ":jqmData(role='collapsible-set'),:jqmData(role='collapsibleset')", - - options: $.extend( { - enhanced: false - }, $.mobile.collapsible.defaults ), - - _handleCollapsibleExpand: function( event ) { - var closestCollapsible = $( event.target ).closest( ".ui-collapsible" ); - - if ( closestCollapsible.parent().is( ":mobile-collapsibleset, :jqmData(role='collapsible-set')" ) ) { - closestCollapsible - .siblings( ".ui-collapsible:not(.ui-collapsible-collapsed)" ) - .collapsible( "collapse" ); - } - }, - - _create: function() { - var elem = this.element, - opts = this.options; - - $.extend( this, { - _classes: "" - }); - - if ( !opts.enhanced ) { - elem.addClass( "ui-collapsible-set " + - this._themeClassFromOption( "ui-group-theme-", opts.theme ) + " " + - ( opts.corners && opts.inset ? "ui-corner-all " : "" ) ); - this.element.find( $.mobile.collapsible.initSelector ).collapsible(); - } - - this._on( elem, { collapsibleexpand: "_handleCollapsibleExpand" } ); - }, - - _themeClassFromOption: function( prefix, value ) { - return ( value ? ( value === "none" ? "" : prefix + value ) : "" ); - }, - - _init: function() { - this._refresh( true ); - - // Because the corners are handled by the collapsible itself and the default state is collapsed - // That was causing https://github.com/jquery/jquery-mobile/issues/4116 - this.element - .children( childCollapsiblesSelector ) - .filter( ":jqmData(collapsed='false')" ) - .collapsible( "expand" ); - }, - - _setOptions: function( options ) { - var ret, hasCorners, - elem = this.element, - themeClass = this._themeClassFromOption( "ui-group-theme-", options.theme ); - - if ( themeClass ) { - elem - .removeClass( this._themeClassFromOption( "ui-group-theme-", this.options.theme ) ) - .addClass( themeClass ); - } - - if ( options.inset !== undefined ) { - hasCorners = !!( options.inset && ( options.corners || this.options.corners ) ); - } - - if ( options.corners !== undefined ) { - hasCorners = !!( options.corners && ( options.inset || this.options.inset ) ); - } - - if ( hasCorners !== undefined ) { - elem.toggleClass( "ui-corner-all", hasCorners ); - } - - ret = this._super( options ); - this.element.children( ":mobile-collapsible" ).collapsible( "refresh" ); - return ret; - }, - - _destroy: function() { - var el = this.element; - - this._removeFirstLastClasses( el.children( childCollapsiblesSelector ) ); - el - .removeClass( "ui-collapsible-set ui-corner-all " + - this._themeClassFromOption( "ui-group-theme-", this.options.theme ) ) - .children( ":mobile-collapsible" ) - .collapsible( "destroy" ); - }, - - _refresh: function( create ) { - var collapsiblesInSet = this.element.children( childCollapsiblesSelector ); - - this.element.find( $.mobile.collapsible.initSelector ).not( ".ui-collapsible" ).collapsible(); - - this._addFirstLastClasses( collapsiblesInSet, this._getVisibles( collapsiblesInSet, create ), create ); - }, - - refresh: function() { - this._refresh( false ); - } -}, $.mobile.behaviors.addFirstLastClasses ) ); - -})( jQuery ); - -(function( $, undefined ) { - -// Deprecated in 1.4 -$.fn.fieldcontain = function(/* options */) { - return this.addClass( "ui-field-contain" ); -}; - -})( jQuery ); - -(function( $, undefined ) { - -$.fn.grid = function( options ) { - return this.each(function() { - - var $this = $( this ), - o = $.extend({ - grid: null - }, options ), - $kids = $this.children(), - gridCols = { solo:1, a:2, b:3, c:4, d:5 }, - grid = o.grid, - iterator, - letter; - - if ( !grid ) { - if ( $kids.length <= 5 ) { - for ( letter in gridCols ) { - if ( gridCols[ letter ] === $kids.length ) { - grid = letter; - } - } - } else { - grid = "a"; - $this.addClass( "ui-grid-duo" ); - } - } - iterator = gridCols[grid]; - - $this.addClass( "ui-grid-" + grid ); - - $kids.filter( ":nth-child(" + iterator + "n+1)" ).addClass( "ui-block-a" ); - - if ( iterator > 1 ) { - $kids.filter( ":nth-child(" + iterator + "n+2)" ).addClass( "ui-block-b" ); - } - if ( iterator > 2 ) { - $kids.filter( ":nth-child(" + iterator + "n+3)" ).addClass( "ui-block-c" ); - } - if ( iterator > 3 ) { - $kids.filter( ":nth-child(" + iterator + "n+4)" ).addClass( "ui-block-d" ); - } - if ( iterator > 4 ) { - $kids.filter( ":nth-child(" + iterator + "n+5)" ).addClass( "ui-block-e" ); - } - }); -}; -})( jQuery ); - -(function( $, undefined ) { - -$.widget( "mobile.navbar", { - options: { - iconpos: "top", - grid: null - }, - - _create: function() { - - var $navbar = this.element, - $navbtns = $navbar.find( "a, button" ), - iconpos = $navbtns.filter( ":jqmData(icon)" ).length ? this.options.iconpos : undefined; - - $navbar.addClass( "ui-navbar" ) - .attr( "role", "navigation" ) - .find( "ul" ) - .jqmEnhanceable() - .grid({ grid: this.options.grid }); - - $navbtns - .each( function() { - var icon = $.mobile.getAttribute( this, "icon" ), - theme = $.mobile.getAttribute( this, "theme" ), - classes = "ui-btn"; - - if ( theme ) { - classes += " ui-btn-" + theme; - } - if ( icon ) { - classes += " ui-icon-" + icon + " ui-btn-icon-" + iconpos; - } - $( this ).addClass( classes ); - }); - - $navbar.delegate( "a", "vclick", function( /* event */ ) { - var activeBtn = $( this ); - - if ( !( activeBtn.hasClass( "ui-state-disabled" ) || - - // DEPRECATED as of 1.4.0 - remove after 1.4.0 release - // only ui-state-disabled should be present thereafter - activeBtn.hasClass( "ui-disabled" ) || - activeBtn.hasClass( $.mobile.activeBtnClass ) ) ) { - - $navbtns.removeClass( $.mobile.activeBtnClass ); - activeBtn.addClass( $.mobile.activeBtnClass ); - - // The code below is a workaround to fix #1181 - $( document ).one( "pagehide", function() { - activeBtn.removeClass( $.mobile.activeBtnClass ); - }); - } - }); - - // Buttons in the navbar with ui-state-persist class should regain their active state before page show - $navbar.closest( ".ui-page" ).bind( "pagebeforeshow", function() { - $navbtns.filter( ".ui-state-persist" ).addClass( $.mobile.activeBtnClass ); - }); - } -}); - -})( jQuery ); - -(function( $, undefined ) { - -var getAttr = $.mobile.getAttribute; - -$.widget( "mobile.listview", $.extend( { - - options: { - theme: null, - countTheme: null, /* Deprecated in 1.4 */ - dividerTheme: null, - icon: "carat-r", - splitIcon: "carat-r", - splitTheme: null, - corners: true, - shadow: true, - inset: false - }, - - _create: function() { - var t = this, - listviewClasses = ""; - - listviewClasses += t.options.inset ? " ui-listview-inset" : ""; - - if ( !!t.options.inset ) { - listviewClasses += t.options.corners ? " ui-corner-all" : ""; - listviewClasses += t.options.shadow ? " ui-shadow" : ""; - } - - // create listview markup - t.element.addClass( " ui-listview" + listviewClasses ); - - t.refresh( true ); - }, - - // TODO: Remove in 1.5 - _findFirstElementByTagName: function( ele, nextProp, lcName, ucName ) { - var dict = {}; - dict[ lcName ] = dict[ ucName ] = true; - while ( ele ) { - if ( dict[ ele.nodeName ] ) { - return ele; - } - ele = ele[ nextProp ]; - } - return null; - }, - // TODO: Remove in 1.5 - _addThumbClasses: function( containers ) { - var i, img, len = containers.length; - for ( i = 0; i < len; i++ ) { - img = $( this._findFirstElementByTagName( containers[ i ].firstChild, "nextSibling", "img", "IMG" ) ); - if ( img.length ) { - $( this._findFirstElementByTagName( img[ 0 ].parentNode, "parentNode", "li", "LI" ) ).addClass( img.hasClass( "ui-li-icon" ) ? "ui-li-has-icon" : "ui-li-has-thumb" ); - } - } - }, - - _getChildrenByTagName: function( ele, lcName, ucName ) { - var results = [], - dict = {}; - dict[ lcName ] = dict[ ucName ] = true; - ele = ele.firstChild; - while ( ele ) { - if ( dict[ ele.nodeName ] ) { - results.push( ele ); - } - ele = ele.nextSibling; - } - return $( results ); - }, - - _beforeListviewRefresh: $.noop, - _afterListviewRefresh: $.noop, - - refresh: function( create ) { - var buttonClass, pos, numli, item, itemClass, itemTheme, itemIcon, icon, a, - isDivider, startCount, newStartCount, value, last, splittheme, splitThemeClass, spliticon, - altButtonClass, dividerTheme, li, - o = this.options, - $list = this.element, - ol = !!$.nodeName( $list[ 0 ], "ol" ), - start = $list.attr( "start" ), - itemClassDict = {}, - countBubbles = $list.find( ".ui-li-count" ), - countTheme = getAttr( $list[ 0 ], "counttheme" ) || this.options.countTheme, - countThemeClass = countTheme ? "ui-body-" + countTheme : "ui-body-inherit"; - - if ( o.theme ) { - $list.addClass( "ui-group-theme-" + o.theme ); - } - - // Check if a start attribute has been set while taking a value of 0 into account - if ( ol && ( start || start === 0 ) ) { - startCount = parseInt( start, 10 ) - 1; - $list.css( "counter-reset", "listnumbering " + startCount ); - } - - this._beforeListviewRefresh(); - - li = this._getChildrenByTagName( $list[ 0 ], "li", "LI" ); - - for ( pos = 0, numli = li.length; pos < numli; pos++ ) { - item = li.eq( pos ); - itemClass = ""; - - if ( create || item[ 0 ].className.search( /\bui-li-static\b|\bui-li-divider\b/ ) < 0 ) { - a = this._getChildrenByTagName( item[ 0 ], "a", "A" ); - isDivider = ( getAttr( item[ 0 ], "role" ) === "list-divider" ); - value = item.attr( "value" ); - itemTheme = getAttr( item[ 0 ], "theme" ); - - if ( a.length && a[ 0 ].className.search( /\bui-btn\b/ ) < 0 && !isDivider ) { - itemIcon = getAttr( item[ 0 ], "icon" ); - icon = ( itemIcon === false ) ? false : ( itemIcon || o.icon ); - - // TODO: Remove in 1.5 together with links.js (links.js / .ui-link deprecated in 1.4) - a.removeClass( "ui-link" ); - - buttonClass = "ui-btn"; - - if ( itemTheme ) { - buttonClass += " ui-btn-" + itemTheme; - } - - if ( a.length > 1 ) { - itemClass = "ui-li-has-alt"; - - last = a.last(); - splittheme = getAttr( last[ 0 ], "theme" ) || o.splitTheme || getAttr( item[ 0 ], "theme", true ); - splitThemeClass = splittheme ? " ui-btn-" + splittheme : ""; - spliticon = getAttr( last[ 0 ], "icon" ) || getAttr( item[ 0 ], "icon" ) || o.splitIcon; - altButtonClass = "ui-btn ui-btn-icon-notext ui-icon-" + spliticon + splitThemeClass; - - last - .attr( "title", $.trim( last.getEncodedText() ) ) - .addClass( altButtonClass ) - .empty(); - - // Reduce to the first anchor, because only the first gets the buttonClass - a = a.first(); - } else if ( icon ) { - buttonClass += " ui-btn-icon-right ui-icon-" + icon; - } - - // Apply buttonClass to the (first) anchor - a.addClass( buttonClass ); - } else if ( isDivider ) { - dividerTheme = ( getAttr( item[ 0 ], "theme" ) || o.dividerTheme || o.theme ); - - itemClass = "ui-li-divider ui-bar-" + ( dividerTheme ? dividerTheme : "inherit" ); - - item.attr( "role", "heading" ); - } else if ( a.length <= 0 ) { - itemClass = "ui-li-static ui-body-" + ( itemTheme ? itemTheme : "inherit" ); - } - if ( ol && value ) { - newStartCount = parseInt( value , 10 ) - 1; - - item.css( "counter-reset", "listnumbering " + newStartCount ); - } - } - - // Instead of setting item class directly on the list item - // at this point in time, push the item into a dictionary - // that tells us what class to set on it so we can do this after this - // processing loop is finished. - - if ( !itemClassDict[ itemClass ] ) { - itemClassDict[ itemClass ] = []; - } - - itemClassDict[ itemClass ].push( item[ 0 ] ); - } - - // Set the appropriate listview item classes on each list item. - // The main reason we didn't do this - // in the for-loop above is because we can eliminate per-item function overhead - // by calling addClass() and children() once or twice afterwards. This - // can give us a significant boost on platforms like WP7.5. - - for ( itemClass in itemClassDict ) { - $( itemClassDict[ itemClass ] ).addClass( itemClass ); - } - - countBubbles.each( function() { - $( this ).closest( "li" ).addClass( "ui-li-has-count" ); - }); - if ( countThemeClass ) { - countBubbles.not( "[class*='ui-body-']" ).addClass( countThemeClass ); - } - - // Deprecated in 1.4. From 1.5 you have to add class ui-li-has-thumb or ui-li-has-icon to the LI. - this._addThumbClasses( li ); - this._addThumbClasses( li.find( ".ui-btn" ) ); - - this._afterListviewRefresh(); - - this._addFirstLastClasses( li, this._getVisibles( li, create ), create ); - } -}, $.mobile.behaviors.addFirstLastClasses ) ); - -})( jQuery ); - -(function( $, undefined ) { - -function defaultAutodividersSelector( elt ) { - // look for the text in the given element - var text = $.trim( elt.text() ) || null; - - if ( !text ) { - return null; - } - - // create the text for the divider (first uppercased letter) - text = text.slice( 0, 1 ).toUpperCase(); - - return text; -} - -$.widget( "mobile.listview", $.mobile.listview, { - options: { - autodividers: false, - autodividersSelector: defaultAutodividersSelector - }, - - _beforeListviewRefresh: function() { - if ( this.options.autodividers ) { - this._replaceDividers(); - this._superApply( arguments ); - } - }, - - _replaceDividers: function() { - var i, lis, li, dividerText, - lastDividerText = null, - list = this.element, - divider; - - list.children( "li:jqmData(role='list-divider')" ).remove(); - - lis = list.children( "li" ); - - for ( i = 0; i < lis.length ; i++ ) { - li = lis[ i ]; - dividerText = this.options.autodividersSelector( $( li ) ); - - if ( dividerText && lastDividerText !== dividerText ) { - divider = document.createElement( "li" ); - divider.appendChild( document.createTextNode( dividerText ) ); - divider.setAttribute( "data-" + $.mobile.ns + "role", "list-divider" ); - li.parentNode.insertBefore( divider, li ); - } - - lastDividerText = dividerText; - } - } -}); - -})( jQuery ); - -(function( $, undefined ) { - -var rdivider = /(^|\s)ui-li-divider($|\s)/, - rhidden = /(^|\s)ui-screen-hidden($|\s)/; - -$.widget( "mobile.listview", $.mobile.listview, { - options: { - hideDividers: false - }, - - _afterListviewRefresh: function() { - var items, idx, item, hideDivider = true; - - this._superApply( arguments ); - - if ( this.options.hideDividers ) { - items = this._getChildrenByTagName( this.element[ 0 ], "li", "LI" ); - for ( idx = items.length - 1 ; idx > -1 ; idx-- ) { - item = items[ idx ]; - if ( item.className.match( rdivider ) ) { - if ( hideDivider ) { - item.className = item.className + " ui-screen-hidden"; - } - hideDivider = true; - } else { - if ( !item.className.match( rhidden ) ) { - hideDivider = false; - } - } - } - } - } -}); - -})( jQuery ); - -(function( $, undefined ) { - -$.mobile.nojs = function( target ) { - $( ":jqmData(role='nojs')", target ).addClass( "ui-nojs" ); -}; - -})( jQuery ); - -(function( $, undefined ) { - -$.mobile.behaviors.formReset = { - _handleFormReset: function() { - this._on( this.element.closest( "form" ), { - reset: function() { - this._delay( "_reset" ); - } - }); - } -}; - -})( jQuery ); - -/* -* "checkboxradio" plugin -*/ - -(function( $, undefined ) { - -var escapeId = $.mobile.path.hashToSelector; - -$.widget( "mobile.checkboxradio", $.extend( { - - initSelector: "input:not( :jqmData(role='flipswitch' ) )[type='checkbox'],input[type='radio']:not( :jqmData(role='flipswitch' ))", - - options: { - theme: "inherit", - mini: false, - wrapperClass: null, - enhanced: false, - iconpos: "left" - - }, - _create: function() { - var input = this.element, - o = this.options, - inheritAttr = function( input, dataAttr ) { - return input.jqmData( dataAttr ) || - input.closest( "form, fieldset" ).jqmData( dataAttr ); - }, - label = this.options.enhanced ? - { - element: this.element.siblings( "label" ), - isParent: false - } : - this._findLabel(), - inputtype = input[0].type, - checkedClass = "ui-" + inputtype + "-on", - uncheckedClass = "ui-" + inputtype + "-off"; - - if ( inputtype !== "checkbox" && inputtype !== "radio" ) { - return; - } - - if ( this.element[0].disabled ) { - this.options.disabled = true; - } - - o.iconpos = inheritAttr( input, "iconpos" ) || - label.element.attr( "data-" + $.mobile.ns + "iconpos" ) || o.iconpos, - - // Establish options - o.mini = inheritAttr( input, "mini" ) || o.mini; - - // Expose for other methods - $.extend( this, { - input: input, - label: label.element, - labelIsParent: label.isParent, - inputtype: inputtype, - checkedClass: checkedClass, - uncheckedClass: uncheckedClass - }); - - if ( !this.options.enhanced ) { - this._enhance(); - } - - this._on( label.element, { - vmouseover: "_handleLabelVMouseOver", - vclick: "_handleLabelVClick" - }); - - this._on( input, { - vmousedown: "_cacheVals", - vclick: "_handleInputVClick", - focus: "_handleInputFocus", - blur: "_handleInputBlur" - }); - - this._handleFormReset(); - this.refresh(); - }, - - _findLabel: function() { - var parentLabel, label, isParent, - input = this.element, - labelsList = input[ 0 ].labels; - - if( labelsList && labelsList.length > 0 ) { - label = $( labelsList[ 0 ] ); - isParent = $.contains( label[ 0 ], input[ 0 ] ); - } else { - parentLabel = input.closest( "label" ); - isParent = ( parentLabel.length > 0 ); - - // NOTE: Windows Phone could not find the label through a selector - // filter works though. - label = isParent ? parentLabel : - $( this.document[ 0 ].getElementsByTagName( "label" ) ) - .filter( "[for='" + escapeId( input[ 0 ].id ) + "']" ) - .first(); - } - - return { - element: label, - isParent: isParent - }; - }, - - _enhance: function() { - this.label.addClass( "ui-btn ui-corner-all"); - - if ( this.labelIsParent ) { - this.input.add( this.label ).wrapAll( this._wrapper() ); - } else { - //this.element.replaceWith( this.input.add( this.label ).wrapAll( this._wrapper() ) ); - this.element.wrap( this._wrapper() ); - this.element.parent().prepend( this.label ); - } - - // Wrap the input + label in a div - - this._setOptions({ - "theme": this.options.theme, - "iconpos": this.options.iconpos, - "mini": this.options.mini - }); - - }, - - _wrapper: function() { - return $( "<div class='" + - ( this.options.wrapperClass ? this.options.wrapperClass : "" ) + - " ui-" + this.inputtype + - ( this.options.disabled ? " ui-state-disabled" : "" ) + "' ></div>" ); - }, - - _handleInputFocus: function() { - this.label.addClass( $.mobile.focusClass ); - }, - - _handleInputBlur: function() { - this.label.removeClass( $.mobile.focusClass ); - }, - - _handleInputVClick: function() { - // Adds checked attribute to checked input when keyboard is used - this.element.prop( "checked", this.element.is( ":checked" ) ); - this._getInputSet().not( this.element ).prop( "checked", false ); - this._updateAll( true ); - }, - - _handleLabelVMouseOver: function( event ) { - if ( this.label.parent().hasClass( "ui-state-disabled" ) ) { - event.stopPropagation(); - } - }, - - _handleLabelVClick: function( event ) { - var input = this.element; - - if ( input.is( ":disabled" ) ) { - event.preventDefault(); - return; - } - - this._cacheVals(); - - input.prop( "checked", this.inputtype === "radio" && true || !input.prop( "checked" ) ); - - // trigger click handler's bound directly to the input as a substitute for - // how label clicks behave normally in the browsers - // TODO: it would be nice to let the browser's handle the clicks and pass them - // through to the associate input. we can swallow that click at the parent - // wrapper element level - input.triggerHandler( "click" ); - - // Input set for common radio buttons will contain all the radio - // buttons, but will not for checkboxes. clearing the checked status - // of other radios ensures the active button state is applied properly - this._getInputSet().not( input ).prop( "checked", false ); - - this._updateAll(); - return false; - }, - - _cacheVals: function() { - this._getInputSet().each( function() { - $( this ).attr("data-" + $.mobile.ns + "cacheVal", this.checked ); - }); - }, - - // Returns those radio buttons that are supposed to be in the same group as - // this radio button. In the case of a checkbox or a radio lacking a name - // attribute, it returns this.element. - _getInputSet: function() { - var selector, formId, - radio = this.element[ 0 ], - name = radio.name, - form = radio.form, - doc = this.element.parents().last().get( 0 ), - - // A radio is always a member of its own group - radios = this.element; - - // Only start running selectors if this is an attached radio button with a name - if ( name && this.inputtype === "radio" && doc ) { - selector = "input[type='radio'][name='" + escapeId( name ) + "']"; - - // If we're inside a form - if ( form ) { - formId = form.getAttribute( "id" ); - - // If the form has an ID, collect radios scattered throught the document which - // nevertheless are part of the form by way of the value of their form attribute - if ( formId ) { - radios = $( selector + "[form='" + escapeId( formId ) + "']", doc ); - } - - // Also add to those the radios in the form itself - radios = $( form ).find( selector ).filter( function() { - - // Some radios inside the form may belong to some other form by virtue of - // having a form attribute defined on them, so we must filter them out here - return ( this.form === form ); - }).add( radios ); - - // If we're outside a form - } else { - - // Collect all those radios which are also outside of a form and match our name - radios = $( selector, doc ).filter( function() { - return !this.form; - }); - } - } - return radios; - }, - - _updateAll: function( changeTriggered ) { - var self = this; - - this._getInputSet().each( function() { - var $this = $( this ); - - if ( ( this.checked || self.inputtype === "checkbox" ) && !changeTriggered ) { - $this.trigger( "change" ); - } - }) - .checkboxradio( "refresh" ); - }, - - _reset: function() { - this.refresh(); - }, - - // Is the widget supposed to display an icon? - _hasIcon: function() { - var controlgroup, controlgroupWidget, - controlgroupConstructor = $.mobile.controlgroup; - - // If the controlgroup widget is defined ... - if ( controlgroupConstructor ) { - controlgroup = this.element.closest( - ":mobile-controlgroup," + - controlgroupConstructor.prototype.initSelector ); - - // ... and the checkbox is in a controlgroup ... - if ( controlgroup.length > 0 ) { - - // ... look for a controlgroup widget instance, and ... - controlgroupWidget = $.data( controlgroup[ 0 ], "mobile-controlgroup" ); - - // ... if found, decide based on the option value, ... - return ( ( controlgroupWidget ? controlgroupWidget.options.type : - - // ... otherwise decide based on the "type" data attribute. - controlgroup.attr( "data-" + $.mobile.ns + "type" ) ) !== "horizontal" ); - } - } - - // Normally, the widget displays an icon. - return true; - }, - - refresh: function() { - var isChecked = this.element[ 0 ].checked, - active = $.mobile.activeBtnClass, - iconposClass = "ui-btn-icon-" + this.options.iconpos, - addClasses = [], - removeClasses = []; - - if ( this._hasIcon() ) { - removeClasses.push( active ); - addClasses.push( iconposClass ); - } else { - removeClasses.push( iconposClass ); - ( isChecked ? addClasses : removeClasses ).push( active ); - } - - if ( isChecked ) { - addClasses.push( this.checkedClass ); - removeClasses.push( this.uncheckedClass ); - } else { - addClasses.push( this.uncheckedClass ); - removeClasses.push( this.checkedClass ); - } - - this.widget().toggleClass( "ui-state-disabled", this.element.prop( "disabled" ) ); - - this.label - .addClass( addClasses.join( " " ) ) - .removeClass( removeClasses.join( " " ) ); - }, - - widget: function() { - return this.label.parent(); - }, - - _setOptions: function( options ) { - var label = this.label, - currentOptions = this.options, - outer = this.widget(), - hasIcon = this._hasIcon(); - - if ( options.disabled !== undefined ) { - this.input.prop( "disabled", !!options.disabled ); - outer.toggleClass( "ui-state-disabled", !!options.disabled ); - } - if ( options.mini !== undefined ) { - outer.toggleClass( "ui-mini", !!options.mini ); - } - if ( options.theme !== undefined ) { - label - .removeClass( "ui-btn-" + currentOptions.theme ) - .addClass( "ui-btn-" + options.theme ); - } - if ( options.wrapperClass !== undefined ) { - outer - .removeClass( currentOptions.wrapperClass ) - .addClass( options.wrapperClass ); - } - if ( options.iconpos !== undefined && hasIcon ) { - label.removeClass( "ui-btn-icon-" + currentOptions.iconpos ).addClass( "ui-btn-icon-" + options.iconpos ); - } else if ( !hasIcon ) { - label.removeClass( "ui-btn-icon-" + currentOptions.iconpos ); - } - this._super( options ); - } - -}, $.mobile.behaviors.formReset ) ); - -})( jQuery ); - -(function( $, undefined ) { - -$.widget( "mobile.button", { - - initSelector: "input[type='button'], input[type='submit'], input[type='reset']", - - options: { - theme: null, - icon: null, - iconpos: "left", - iconshadow: false, /* TODO: Deprecated in 1.4, remove in 1.5. */ - corners: true, - shadow: true, - inline: null, - mini: null, - wrapperClass: null, - enhanced: false - }, - - _create: function() { - - if ( this.element.is( ":disabled" ) ) { - this.options.disabled = true; - } - - if ( !this.options.enhanced ) { - this._enhance(); - } - - $.extend( this, { - wrapper: this.element.parent() - }); - - this._on( { - focus: function() { - this.widget().addClass( $.mobile.focusClass ); - }, - - blur: function() { - this.widget().removeClass( $.mobile.focusClass ); - } - }); - - this.refresh( true ); - }, - - _enhance: function() { - this.element.wrap( this._button() ); - }, - - _button: function() { - var options = this.options, - iconClasses = this._getIconClasses( this.options ); - - return $("<div class='ui-btn ui-input-btn" + - ( options.wrapperClass ? " " + options.wrapperClass : "" ) + - ( options.theme ? " ui-btn-" + options.theme : "" ) + - ( options.corners ? " ui-corner-all" : "" ) + - ( options.shadow ? " ui-shadow" : "" ) + - ( options.inline ? " ui-btn-inline" : "" ) + - ( options.mini ? " ui-mini" : "" ) + - ( options.disabled ? " ui-state-disabled" : "" ) + - ( iconClasses ? ( " " + iconClasses ) : "" ) + - "' >" + this.element.val() + "</div>" ); - }, - - widget: function() { - return this.wrapper; - }, - - _destroy: function() { - this.element.insertBefore( this.wrapper ); - this.wrapper.remove(); - }, - - _getIconClasses: function( options ) { - return ( options.icon ? ( "ui-icon-" + options.icon + - ( options.iconshadow ? " ui-shadow-icon" : "" ) + /* TODO: Deprecated in 1.4, remove in 1.5. */ - " ui-btn-icon-" + options.iconpos ) : "" ); - }, - - _setOptions: function( options ) { - var outer = this.widget(); - - if ( options.theme !== undefined ) { - outer - .removeClass( this.options.theme ) - .addClass( "ui-btn-" + options.theme ); - } - if ( options.corners !== undefined ) { - outer.toggleClass( "ui-corner-all", options.corners ); - } - if ( options.shadow !== undefined ) { - outer.toggleClass( "ui-shadow", options.shadow ); - } - if ( options.inline !== undefined ) { - outer.toggleClass( "ui-btn-inline", options.inline ); - } - if ( options.mini !== undefined ) { - outer.toggleClass( "ui-mini", options.mini ); - } - if ( options.disabled !== undefined ) { - this.element.prop( "disabled", options.disabled ); - outer.toggleClass( "ui-state-disabled", options.disabled ); - } - - if ( options.icon !== undefined || - options.iconshadow !== undefined || /* TODO: Deprecated in 1.4, remove in 1.5. */ - options.iconpos !== undefined ) { - outer - .removeClass( this._getIconClasses( this.options ) ) - .addClass( this._getIconClasses( - $.extend( {}, this.options, options ) ) ); - } - - this._super( options ); - }, - - refresh: function( create ) { - var originalElement, - isDisabled = this.element.prop( "disabled" ); - - if ( this.options.icon && this.options.iconpos === "notext" && this.element.attr( "title" ) ) { - this.element.attr( "title", this.element.val() ); - } - if ( !create ) { - originalElement = this.element.detach(); - $( this.wrapper ).text( this.element.val() ).append( originalElement ); - } - if ( this.options.disabled !== isDisabled ) { - this._setOptions({ disabled: isDisabled }); - } - } -}); - -})( jQuery ); - -(function( $ ) { - var meta = $( "meta[name=viewport]" ), - initialContent = meta.attr( "content" ), - disabledZoom = initialContent + ",maximum-scale=1, user-scalable=no", - enabledZoom = initialContent + ",maximum-scale=10, user-scalable=yes", - disabledInitially = /(user-scalable[\s]*=[\s]*no)|(maximum-scale[\s]*=[\s]*1)[$,\s]/.test( initialContent ); - - $.mobile.zoom = $.extend( {}, { - enabled: !disabledInitially, - locked: false, - disable: function( lock ) { - if ( !disabledInitially && !$.mobile.zoom.locked ) { - meta.attr( "content", disabledZoom ); - $.mobile.zoom.enabled = false; - $.mobile.zoom.locked = lock || false; - } - }, - enable: function( unlock ) { - if ( !disabledInitially && ( !$.mobile.zoom.locked || unlock === true ) ) { - meta.attr( "content", enabledZoom ); - $.mobile.zoom.enabled = true; - $.mobile.zoom.locked = false; - } - }, - restore: function() { - if ( !disabledInitially ) { - meta.attr( "content", initialContent ); - $.mobile.zoom.enabled = true; - } - } - }); - -}( jQuery )); - -(function( $, undefined ) { - -$.widget( "mobile.textinput", { - initSelector: "input[type='text']," + - "input[type='search']," + - ":jqmData(type='search')," + - "input[type='number']," + - ":jqmData(type='number')," + - "input[type='password']," + - "input[type='email']," + - "input[type='url']," + - "input[type='tel']," + - "textarea," + - "input[type='time']," + - "input[type='date']," + - "input[type='month']," + - "input[type='week']," + - "input[type='datetime']," + - "input[type='datetime-local']," + - "input[type='color']," + - "input:not([type])," + - "input[type='file']", - - options: { - theme: null, - corners: true, - mini: false, - // This option defaults to true on iOS devices. - preventFocusZoom: /iPhone|iPad|iPod/.test( navigator.platform ) && navigator.userAgent.indexOf( "AppleWebKit" ) > -1, - wrapperClass: "", - enhanced: false - }, - - _create: function() { - - var options = this.options, - isSearch = this.element.is( "[type='search'], :jqmData(type='search')" ), - isTextarea = this.element[ 0 ].tagName === "TEXTAREA", - isRange = this.element.is( "[data-" + ( $.mobile.ns || "" ) + "type='range']" ), - inputNeedsWrap = ( (this.element.is( "input" ) || - this.element.is( "[data-" + ( $.mobile.ns || "" ) + "type='search']" ) ) && - !isRange ); - - if ( this.element.prop( "disabled" ) ) { - options.disabled = true; - } - - $.extend( this, { - classes: this._classesFromOptions(), - isSearch: isSearch, - isTextarea: isTextarea, - isRange: isRange, - inputNeedsWrap: inputNeedsWrap - }); - - this._autoCorrect(); - - if ( !options.enhanced ) { - this._enhance(); - } - - this._on( { - "focus": "_handleFocus", - "blur": "_handleBlur" - }); - - }, - - refresh: function() { - this.setOptions({ - "disabled" : this.element.is( ":disabled" ) - }); - }, - - _enhance: function() { - var elementClasses = []; - - if ( this.isTextarea ) { - elementClasses.push( "ui-input-text" ); - } - - if ( this.isTextarea || this.isRange ) { - elementClasses.push( "ui-shadow-inset" ); - } - - //"search" and "text" input widgets - if ( this.inputNeedsWrap ) { - this.element.wrap( this._wrap() ); - } else { - elementClasses = elementClasses.concat( this.classes ); - } - - this.element.addClass( elementClasses.join( " " ) ); - }, - - widget: function() { - return ( this.inputNeedsWrap ) ? this.element.parent() : this.element; - }, - - _classesFromOptions: function() { - var options = this.options, - classes = []; - - classes.push( "ui-body-" + ( ( options.theme === null ) ? "inherit" : options.theme ) ); - if ( options.corners ) { - classes.push( "ui-corner-all" ); - } - if ( options.mini ) { - classes.push( "ui-mini" ); - } - if ( options.disabled ) { - classes.push( "ui-state-disabled" ); - } - if ( options.wrapperClass ) { - classes.push( options.wrapperClass ); - } - - return classes; - }, - - _wrap: function() { - return $( "<div class='" + - ( this.isSearch ? "ui-input-search " : "ui-input-text " ) + - this.classes.join( " " ) + " " + - "ui-shadow-inset'></div>" ); - }, - - _autoCorrect: function() { - // XXX: Temporary workaround for issue 785 (Apple bug 8910589). - // Turn off autocorrect and autocomplete on non-iOS 5 devices - // since the popup they use can't be dismissed by the user. Note - // that we test for the presence of the feature by looking for - // the autocorrect property on the input element. We currently - // have no test for iOS 5 or newer so we're temporarily using - // the touchOverflow support flag for jQM 1.0. Yes, I feel dirty. - // - jblas - if ( typeof this.element[0].autocorrect !== "undefined" && - !$.support.touchOverflow ) { - - // Set the attribute instead of the property just in case there - // is code that attempts to make modifications via HTML. - this.element[0].setAttribute( "autocorrect", "off" ); - this.element[0].setAttribute( "autocomplete", "off" ); - } - }, - - _handleBlur: function() { - this.widget().removeClass( $.mobile.focusClass ); - if ( this.options.preventFocusZoom ) { - $.mobile.zoom.enable( true ); - } - }, - - _handleFocus: function() { - // In many situations, iOS will zoom into the input upon tap, this - // prevents that from happening - if ( this.options.preventFocusZoom ) { - $.mobile.zoom.disable( true ); - } - this.widget().addClass( $.mobile.focusClass ); - }, - - _setOptions: function ( options ) { - var outer = this.widget(); - - this._super( options ); - - if ( !( options.disabled === undefined && - options.mini === undefined && - options.corners === undefined && - options.theme === undefined && - options.wrapperClass === undefined ) ) { - - outer.removeClass( this.classes.join( " " ) ); - this.classes = this._classesFromOptions(); - outer.addClass( this.classes.join( " " ) ); - } - - if ( options.disabled !== undefined ) { - this.element.prop( "disabled", !!options.disabled ); - } - }, - - _destroy: function() { - if ( this.options.enhanced ) { - return; - } - if ( this.inputNeedsWrap ) { - this.element.unwrap(); - } - this.element.removeClass( "ui-input-text " + this.classes.join( " " ) ); - } -}); - -})( jQuery ); - -(function( $, undefined ) { - -$.widget( "mobile.slider", $.extend( { - initSelector: "input[type='range'], :jqmData(type='range'), :jqmData(role='slider')", - - widgetEventPrefix: "slide", - - options: { - theme: null, - trackTheme: null, - corners: true, - mini: false, - highlight: false - }, - - _create: function() { - - // TODO: Each of these should have comments explain what they're for - var self = this, - control = this.element, - trackTheme = this.options.trackTheme || $.mobile.getAttribute( control[ 0 ], "theme" ), - trackThemeClass = trackTheme ? " ui-bar-" + trackTheme : " ui-bar-inherit", - cornerClass = ( this.options.corners || control.jqmData( "corners" ) ) ? " ui-corner-all" : "", - miniClass = ( this.options.mini || control.jqmData( "mini" ) ) ? " ui-mini" : "", - cType = control[ 0 ].nodeName.toLowerCase(), - isToggleSwitch = ( cType === "select" ), - isRangeslider = control.parent().is( ":jqmData(role='rangeslider')" ), - selectClass = ( isToggleSwitch ) ? "ui-slider-switch" : "", - controlID = control.attr( "id" ), - $label = $( "[for='" + controlID + "']" ), - labelID = $label.attr( "id" ) || controlID + "-label", - min = !isToggleSwitch ? parseFloat( control.attr( "min" ) ) : 0, - max = !isToggleSwitch ? parseFloat( control.attr( "max" ) ) : control.find( "option" ).length-1, - step = window.parseFloat( control.attr( "step" ) || 1 ), - domHandle = document.createElement( "a" ), - handle = $( domHandle ), - domSlider = document.createElement( "div" ), - slider = $( domSlider ), - valuebg = this.options.highlight && !isToggleSwitch ? (function() { - var bg = document.createElement( "div" ); - bg.className = "ui-slider-bg " + $.mobile.activeBtnClass; - return $( bg ).prependTo( slider ); - })() : false, - options, - wrapper, - j, length, - i, optionsCount, origTabIndex, - side, activeClass, sliderImg; - - $label.attr( "id", labelID ); - this.isToggleSwitch = isToggleSwitch; - - domHandle.setAttribute( "href", "#" ); - domSlider.setAttribute( "role", "application" ); - domSlider.className = [ this.isToggleSwitch ? "ui-slider ui-slider-track ui-shadow-inset " : "ui-slider-track ui-shadow-inset ", selectClass, trackThemeClass, cornerClass, miniClass ].join( "" ); - domHandle.className = "ui-slider-handle"; - domSlider.appendChild( domHandle ); - - handle.attr({ - "role": "slider", - "aria-valuemin": min, - "aria-valuemax": max, - "aria-valuenow": this._value(), - "aria-valuetext": this._value(), - "title": this._value(), - "aria-labelledby": labelID - }); - - $.extend( this, { - slider: slider, - handle: handle, - control: control, - type: cType, - step: step, - max: max, - min: min, - valuebg: valuebg, - isRangeslider: isRangeslider, - dragging: false, - beforeStart: null, - userModified: false, - mouseMoved: false - }); - - if ( isToggleSwitch ) { - // TODO: restore original tabindex (if any) in a destroy method - origTabIndex = control.attr( "tabindex" ); - if ( origTabIndex ) { - handle.attr( "tabindex", origTabIndex ); - } - control.attr( "tabindex", "-1" ).focus(function() { - $( this ).blur(); - handle.focus(); - }); - - wrapper = document.createElement( "div" ); - wrapper.className = "ui-slider-inneroffset"; - - for ( j = 0, length = domSlider.childNodes.length; j < length; j++ ) { - wrapper.appendChild( domSlider.childNodes[j] ); - } - - domSlider.appendChild( wrapper ); - - // slider.wrapInner( "<div class='ui-slider-inneroffset'></div>" ); - - // make the handle move with a smooth transition - handle.addClass( "ui-slider-handle-snapping" ); - - options = control.find( "option" ); - - for ( i = 0, optionsCount = options.length; i < optionsCount; i++ ) { - side = !i ? "b" : "a"; - activeClass = !i ? "" : " " + $.mobile.activeBtnClass; - sliderImg = document.createElement( "span" ); - - sliderImg.className = [ "ui-slider-label ui-slider-label-", side, activeClass ].join( "" ); - sliderImg.setAttribute( "role", "img" ); - sliderImg.appendChild( document.createTextNode( options[i].innerHTML ) ); - $( sliderImg ).prependTo( slider ); - } - - self._labels = $( ".ui-slider-label", slider ); - - } - - // monitor the input for updated values - control.addClass( isToggleSwitch ? "ui-slider-switch" : "ui-slider-input" ); - - this._on( control, { - "change": "_controlChange", - "keyup": "_controlKeyup", - "blur": "_controlBlur", - "vmouseup": "_controlVMouseUp" - }); - - slider.bind( "vmousedown", $.proxy( this._sliderVMouseDown, this ) ) - .bind( "vclick", false ); - - // We have to instantiate a new function object for the unbind to work properly - // since the method itself is defined in the prototype (causing it to unbind everything) - this._on( document, { "vmousemove": "_preventDocumentDrag" }); - this._on( slider.add( document ), { "vmouseup": "_sliderVMouseUp" }); - - slider.insertAfter( control ); - - // wrap in a div for styling purposes - if ( !isToggleSwitch && !isRangeslider ) { - wrapper = this.options.mini ? "<div class='ui-slider ui-mini'>" : "<div class='ui-slider'>"; - - control.add( slider ).wrapAll( wrapper ); - } - - // bind the handle event callbacks and set the context to the widget instance - this._on( this.handle, { - "vmousedown": "_handleVMouseDown", - "keydown": "_handleKeydown", - "keyup": "_handleKeyup" - }); - - this.handle.bind( "vclick", false ); - - this._handleFormReset(); - - this.refresh( undefined, undefined, true ); - }, - - _setOptions: function( options ) { - if ( options.theme !== undefined ) { - this._setTheme( options.theme ); - } - - if ( options.trackTheme !== undefined ) { - this._setTrackTheme( options.trackTheme ); - } - - if ( options.corners !== undefined ) { - this._setCorners( options.corners ); - } - - if ( options.mini !== undefined ) { - this._setMini( options.mini ); - } - - if ( options.highlight !== undefined ) { - this._setHighlight( options.highlight ); - } - - if ( options.disabled !== undefined ) { - this._setDisabled( options.disabled ); - } - this._super( options ); - }, - - _controlChange: function( event ) { - // if the user dragged the handle, the "change" event was triggered from inside refresh(); don't call refresh() again - if ( this._trigger( "controlchange", event ) === false ) { - return false; - } - if ( !this.mouseMoved ) { - this.refresh( this._value(), true ); - } - }, - - _controlKeyup: function(/* event */) { // necessary? - this.refresh( this._value(), true, true ); - }, - - _controlBlur: function(/* event */) { - this.refresh( this._value(), true ); - }, - - // it appears the clicking the up and down buttons in chrome on - // range/number inputs doesn't trigger a change until the field is - // blurred. Here we check thif the value has changed and refresh - _controlVMouseUp: function(/* event */) { - this._checkedRefresh(); - }, - - // NOTE force focus on handle - _handleVMouseDown: function(/* event */) { - this.handle.focus(); - }, - - _handleKeydown: function( event ) { - var index = this._value(); - if ( this.options.disabled ) { - return; - } - - // In all cases prevent the default and mark the handle as active - switch ( event.keyCode ) { - case $.mobile.keyCode.HOME: - case $.mobile.keyCode.END: - case $.mobile.keyCode.PAGE_UP: - case $.mobile.keyCode.PAGE_DOWN: - case $.mobile.keyCode.UP: - case $.mobile.keyCode.RIGHT: - case $.mobile.keyCode.DOWN: - case $.mobile.keyCode.LEFT: - event.preventDefault(); - - if ( !this._keySliding ) { - this._keySliding = true; - this.handle.addClass( "ui-state-active" ); /* TODO: We don't use this class for styling. Do we need to add it? */ - } - - break; - } - - // move the slider according to the keypress - switch ( event.keyCode ) { - case $.mobile.keyCode.HOME: - this.refresh( this.min ); - break; - case $.mobile.keyCode.END: - this.refresh( this.max ); - break; - case $.mobile.keyCode.PAGE_UP: - case $.mobile.keyCode.UP: - case $.mobile.keyCode.RIGHT: - this.refresh( index + this.step ); - break; - case $.mobile.keyCode.PAGE_DOWN: - case $.mobile.keyCode.DOWN: - case $.mobile.keyCode.LEFT: - this.refresh( index - this.step ); - break; - } - }, // remove active mark - - _handleKeyup: function(/* event */) { - if ( this._keySliding ) { - this._keySliding = false; - this.handle.removeClass( "ui-state-active" ); /* See comment above. */ - } - }, - - _sliderVMouseDown: function( event ) { - // NOTE: we don't do this in refresh because we still want to - // support programmatic alteration of disabled inputs - if ( this.options.disabled || !( event.which === 1 || event.which === 0 || event.which === undefined ) ) { - return false; - } - if ( this._trigger( "beforestart", event ) === false ) { - return false; - } - this.dragging = true; - this.userModified = false; - this.mouseMoved = false; - - if ( this.isToggleSwitch ) { - this.beforeStart = this.element[0].selectedIndex; - } - - this.refresh( event ); - this._trigger( "start" ); - return false; - }, - - _sliderVMouseUp: function() { - if ( this.dragging ) { - this.dragging = false; - - if ( this.isToggleSwitch ) { - // make the handle move with a smooth transition - this.handle.addClass( "ui-slider-handle-snapping" ); - - if ( this.mouseMoved ) { - // this is a drag, change the value only if user dragged enough - if ( this.userModified ) { - this.refresh( this.beforeStart === 0 ? 1 : 0 ); - } else { - this.refresh( this.beforeStart ); - } - } else { - // this is just a click, change the value - this.refresh( this.beforeStart === 0 ? 1 : 0 ); - } - } - - this.mouseMoved = false; - this._trigger( "stop" ); - return false; - } - }, - - _preventDocumentDrag: function( event ) { - // NOTE: we don't do this in refresh because we still want to - // support programmatic alteration of disabled inputs - if ( this._trigger( "drag", event ) === false) { - return false; - } - if ( this.dragging && !this.options.disabled ) { - - // this.mouseMoved must be updated before refresh() because it will be used in the control "change" event - this.mouseMoved = true; - - if ( this.isToggleSwitch ) { - // make the handle move in sync with the mouse - this.handle.removeClass( "ui-slider-handle-snapping" ); - } - - this.refresh( event ); - - // only after refresh() you can calculate this.userModified - this.userModified = this.beforeStart !== this.element[0].selectedIndex; - return false; - } - }, - - _checkedRefresh: function() { - if ( this.value !== this._value() ) { - this.refresh( this._value() ); - } - }, - - _value: function() { - return this.isToggleSwitch ? this.element[0].selectedIndex : parseFloat( this.element.val() ) ; - }, - - _reset: function() { - this.refresh( undefined, false, true ); - }, - - refresh: function( val, isfromControl, preventInputUpdate ) { - // NOTE: we don't return here because we want to support programmatic - // alteration of the input value, which should still update the slider - - var self = this, - parentTheme = $.mobile.getAttribute( this.element[ 0 ], "theme" ), - theme = this.options.theme || parentTheme, - themeClass = theme ? " ui-btn-" + theme : "", - trackTheme = this.options.trackTheme || parentTheme, - trackThemeClass = trackTheme ? " ui-bar-" + trackTheme : " ui-bar-inherit", - cornerClass = this.options.corners ? " ui-corner-all" : "", - miniClass = this.options.mini ? " ui-mini" : "", - left, width, data, tol, - pxStep, percent, - control, isInput, optionElements, min, max, step, - newval, valModStep, alignValue, percentPerStep, - handlePercent, aPercent, bPercent, - valueChanged; - - self.slider[0].className = [ this.isToggleSwitch ? "ui-slider ui-slider-switch ui-slider-track ui-shadow-inset" : "ui-slider-track ui-shadow-inset", trackThemeClass, cornerClass, miniClass ].join( "" ); - if ( this.options.disabled || this.element.prop( "disabled" ) ) { - this.disable(); - } - - // set the stored value for comparison later - this.value = this._value(); - if ( this.options.highlight && !this.isToggleSwitch && this.slider.find( ".ui-slider-bg" ).length === 0 ) { - this.valuebg = (function() { - var bg = document.createElement( "div" ); - bg.className = "ui-slider-bg " + $.mobile.activeBtnClass; - return $( bg ).prependTo( self.slider ); - })(); - } - this.handle.addClass( "ui-btn" + themeClass + " ui-shadow" ); - - control = this.element; - isInput = !this.isToggleSwitch; - optionElements = isInput ? [] : control.find( "option" ); - min = isInput ? parseFloat( control.attr( "min" ) ) : 0; - max = isInput ? parseFloat( control.attr( "max" ) ) : optionElements.length - 1; - step = ( isInput && parseFloat( control.attr( "step" ) ) > 0 ) ? parseFloat( control.attr( "step" ) ) : 1; - - if ( typeof val === "object" ) { - data = val; - // a slight tolerance helped get to the ends of the slider - tol = 8; - - left = this.slider.offset().left; - width = this.slider.width(); - pxStep = width/((max-min)/step); - if ( !this.dragging || - data.pageX < left - tol || - data.pageX > left + width + tol ) { - return; - } - if ( pxStep > 1 ) { - percent = ( ( data.pageX - left ) / width ) * 100; - } else { - percent = Math.round( ( ( data.pageX - left ) / width ) * 100 ); - } - } else { - if ( val == null ) { - val = isInput ? parseFloat( control.val() || 0 ) : control[0].selectedIndex; - } - percent = ( parseFloat( val ) - min ) / ( max - min ) * 100; - } - - if ( isNaN( percent ) ) { - return; - } - - newval = ( percent / 100 ) * ( max - min ) + min; - - //from jQuery UI slider, the following source will round to the nearest step - valModStep = ( newval - min ) % step; - alignValue = newval - valModStep; - - if ( Math.abs( valModStep ) * 2 >= step ) { - alignValue += ( valModStep > 0 ) ? step : ( -step ); - } - - percentPerStep = 100/((max-min)/step); - // Since JavaScript has problems with large floats, round - // the final value to 5 digits after the decimal point (see jQueryUI: #4124) - newval = parseFloat( alignValue.toFixed(5) ); - - if ( typeof pxStep === "undefined" ) { - pxStep = width / ( (max-min) / step ); - } - if ( pxStep > 1 && isInput ) { - percent = ( newval - min ) * percentPerStep * ( 1 / step ); - } - if ( percent < 0 ) { - percent = 0; - } - - if ( percent > 100 ) { - percent = 100; - } - - if ( newval < min ) { - newval = min; - } - - if ( newval > max ) { - newval = max; - } - - this.handle.css( "left", percent + "%" ); - - this.handle[0].setAttribute( "aria-valuenow", isInput ? newval : optionElements.eq( newval ).attr( "value" ) ); - - this.handle[0].setAttribute( "aria-valuetext", isInput ? newval : optionElements.eq( newval ).getEncodedText() ); - - this.handle[0].setAttribute( "title", isInput ? newval : optionElements.eq( newval ).getEncodedText() ); - - if ( this.valuebg ) { - this.valuebg.css( "width", percent + "%" ); - } - - // drag the label widths - if ( this._labels ) { - handlePercent = this.handle.width() / this.slider.width() * 100; - aPercent = percent && handlePercent + ( 100 - handlePercent ) * percent / 100; - bPercent = percent === 100 ? 0 : Math.min( handlePercent + 100 - aPercent, 100 ); - - this._labels.each(function() { - var ab = $( this ).hasClass( "ui-slider-label-a" ); - $( this ).width( ( ab ? aPercent : bPercent ) + "%" ); - }); - } - - if ( !preventInputUpdate ) { - valueChanged = false; - - // update control"s value - if ( isInput ) { - valueChanged = parseFloat( control.val() ) !== newval; - control.val( newval ); - } else { - valueChanged = control[ 0 ].selectedIndex !== newval; - control[ 0 ].selectedIndex = newval; - } - if ( this._trigger( "beforechange", val ) === false) { - return false; - } - if ( !isfromControl && valueChanged ) { - control.trigger( "change" ); - } - } - }, - - _setHighlight: function( value ) { - value = !!value; - if ( value ) { - this.options.highlight = !!value; - this.refresh(); - } else if ( this.valuebg ) { - this.valuebg.remove(); - this.valuebg = false; - } - }, - - _setTheme: function( value ) { - this.handle - .removeClass( "ui-btn-" + this.options.theme ) - .addClass( "ui-btn-" + value ); - - var currentTheme = this.options.theme ? this.options.theme : "inherit", - newTheme = value ? value : "inherit"; - - this.control - .removeClass( "ui-body-" + currentTheme ) - .addClass( "ui-body-" + newTheme ); - }, - - _setTrackTheme: function( value ) { - var currentTrackTheme = this.options.trackTheme ? this.options.trackTheme : "inherit", - newTrackTheme = value ? value : "inherit"; - - this.slider - .removeClass( "ui-body-" + currentTrackTheme ) - .addClass( "ui-body-" + newTrackTheme ); - }, - - _setMini: function( value ) { - value = !!value; - if ( !this.isToggleSwitch && !this.isRangeslider ) { - this.slider.parent().toggleClass( "ui-mini", value ); - this.element.toggleClass( "ui-mini", value ); - } - this.slider.toggleClass( "ui-mini", value ); - }, - - _setCorners: function( value ) { - this.slider.toggleClass( "ui-corner-all", value ); - - if ( !this.isToggleSwitch ) { - this.control.toggleClass( "ui-corner-all", value ); - } - }, - - _setDisabled: function( value ) { - value = !!value; - this.element.prop( "disabled", value ); - this.slider - .toggleClass( "ui-state-disabled", value ) - .attr( "aria-disabled", value ); - - this.element.toggleClass( "ui-state-disabled", value ); - } - -}, $.mobile.behaviors.formReset ) ); - -})( jQuery ); - -(function( $, undefined ) { - -var popup; - -function getPopup() { - if ( !popup ) { - popup = $( "<div></div>", { - "class": "ui-slider-popup ui-shadow ui-corner-all" - }); - } - return popup.clone(); -} - -$.widget( "mobile.slider", $.mobile.slider, { - options: { - popupEnabled: false, - showValue: false - }, - - _create: function() { - this._super(); - - $.extend( this, { - _currentValue: null, - _popup: null, - _popupVisible: false - }); - - this._setOption( "popupEnabled", this.options.popupEnabled ); - - this._on( this.handle, { "vmousedown" : "_showPopup" } ); - this._on( this.slider.add( this.document ), { "vmouseup" : "_hidePopup" } ); - this._refresh(); - }, - - // position the popup centered 5px above the handle - _positionPopup: function() { - var dstOffset = this.handle.offset(); - - this._popup.offset( { - left: dstOffset.left + ( this.handle.width() - this._popup.width() ) / 2, - top: dstOffset.top - this._popup.outerHeight() - 5 - }); - }, - - _setOption: function( key, value ) { - this._super( key, value ); - - if ( key === "showValue" ) { - this.handle.html( value && !this.options.mini ? this._value() : "" ); - } else if ( key === "popupEnabled" ) { - if ( value && !this._popup ) { - this._popup = getPopup() - .addClass( "ui-body-" + ( this.options.theme || "a" ) ) - .hide() - .insertBefore( this.element ); - } - } - }, - - // show value on the handle and in popup - refresh: function() { - this._super.apply( this, arguments ); - this._refresh(); - }, - - _refresh: function() { - var o = this.options, newValue; - - if ( o.popupEnabled ) { - // remove the title attribute from the handle (which is - // responsible for the annoying tooltip); NB we have - // to do it here as the jqm slider sets it every time - // the slider's value changes :( - this.handle.removeAttr( "title" ); - } - - newValue = this._value(); - if ( newValue === this._currentValue ) { - return; - } - this._currentValue = newValue; - - if ( o.popupEnabled && this._popup ) { - this._positionPopup(); - this._popup.html( newValue ); - } - - if ( o.showValue && !this.options.mini ) { - this.handle.html( newValue ); - } - }, - - _showPopup: function() { - if ( this.options.popupEnabled && !this._popupVisible ) { - this.handle.html( "" ); - this._popup.show(); - this._positionPopup(); - this._popupVisible = true; - } - }, - - _hidePopup: function() { - var o = this.options; - - if ( o.popupEnabled && this._popupVisible ) { - if ( o.showValue && !o.mini ) { - this.handle.html( this._value() ); - } - this._popup.hide(); - this._popupVisible = false; - } - } -}); - -})( jQuery ); - -(function( $, undefined ) { - -$.widget( "mobile.flipswitch", $.extend({ - - options: { - onText: "On", - offText: "Off", - theme: null, - enhanced: false, - wrapperClass: null, - corners: true, - mini: false - }, - - _create: function() { - if ( !this.options.enhanced ) { - this._enhance(); - } else { - $.extend( this, { - flipswitch: this.element.parent(), - on: this.element.find( ".ui-flipswitch-on" ).eq( 0 ), - off: this.element.find( ".ui-flipswitch-off" ).eq(0), - type: this.element.get( 0 ).tagName - }); - } - - this._handleFormReset(); - - // Transfer tabindex to "on" element and make input unfocusable - this._originalTabIndex = this.element.attr( "tabindex" ); - if ( this._originalTabIndex != null ) { - this.on.attr( "tabindex", this._originalTabIndex ); - } - this.element.attr( "tabindex", "-1" ); - this._on({ - "focus" : "_handleInputFocus" - }); - - if ( this.element.is( ":disabled" ) ) { - this._setOptions({ - "disabled": true - }); - } - - this._on( this.flipswitch, { - "click": "_toggle", - "swipeleft": "_left", - "swiperight": "_right" - }); - - this._on( this.on, { - "keydown": "_keydown" - }); - - this._on( { - "change": "refresh" - }); - }, - - _handleInputFocus: function() { - this.on.focus(); - }, - - widget: function() { - return this.flipswitch; - }, - - _left: function() { - this.flipswitch.removeClass( "ui-flipswitch-active" ); - if ( this.type === "SELECT" ) { - this.element.get( 0 ).selectedIndex = 0; - } else { - this.element.prop( "checked", false ); - } - this.element.trigger( "change" ); - }, - - _right: function() { - this.flipswitch.addClass( "ui-flipswitch-active" ); - if ( this.type === "SELECT" ) { - this.element.get( 0 ).selectedIndex = 1; - } else { - this.element.prop( "checked", true ); - } - this.element.trigger( "change" ); - }, - - _enhance: function() { - var flipswitch = $( "<div>" ), - options = this.options, - element = this.element, - theme = options.theme ? options.theme : "inherit", - - // The "on" button is an anchor so it's focusable - on = $( "<a></a>", { - "href": "#" - }), - off = $( "<span></span>" ), - type = element.get( 0 ).tagName, - onText = ( type === "INPUT" ) ? - options.onText : element.find( "option" ).eq( 1 ).text(), - offText = ( type === "INPUT" ) ? - options.offText : element.find( "option" ).eq( 0 ).text(); - - on - .addClass( "ui-flipswitch-on ui-btn ui-shadow ui-btn-inherit" ) - .text( onText ); - off - .addClass( "ui-flipswitch-off" ) - .text( offText ); - - flipswitch - .addClass( "ui-flipswitch ui-shadow-inset " + - "ui-bar-" + theme + " " + - ( options.wrapperClass ? options.wrapperClass : "" ) + " " + - ( ( element.is( ":checked" ) || - element - .find( "option" ) - .eq( 1 ) - .is( ":selected" ) ) ? "ui-flipswitch-active" : "" ) + - ( element.is(":disabled") ? " ui-state-disabled": "") + - ( options.corners ? " ui-corner-all": "" ) + - ( options.mini ? " ui-mini": "" ) ) - .append( on, off ); - - element - .addClass( "ui-flipswitch-input" ) - .after( flipswitch ) - .appendTo( flipswitch ); - - $.extend( this, { - flipswitch: flipswitch, - on: on, - off: off, - type: type - }); - }, - - _reset: function() { - this.refresh(); - }, - - refresh: function() { - var direction, - existingDirection = this.flipswitch.hasClass( "ui-flipswitch-active" ) ? "_right" : "_left"; - - if ( this.type === "SELECT" ) { - direction = ( this.element.get( 0 ).selectedIndex > 0 ) ? "_right": "_left"; - } else { - direction = this.element.prop( "checked" ) ? "_right": "_left"; - } - - if ( direction !== existingDirection ) { - this[ direction ](); - } - }, - - _toggle: function() { - var direction = this.flipswitch.hasClass( "ui-flipswitch-active" ) ? "_left" : "_right"; - - this[ direction ](); - }, - - _keydown: function( e ) { - if ( e.which === $.mobile.keyCode.LEFT ) { - this._left(); - } else if ( e.which === $.mobile.keyCode.RIGHT ) { - this._right(); - } else if ( e.which === $.mobile.keyCode.SPACE ) { - this._toggle(); - e.preventDefault(); - } - }, - - _setOptions: function( options ) { - if ( options.theme !== undefined ) { - var currentTheme = options.theme ? options.theme : "inherit", - newTheme = options.theme ? options.theme : "inherit"; - - this.widget() - .removeClass( "ui-bar-" + currentTheme ) - .addClass( "ui-bar-" + newTheme ); - } - if ( options.onText !== undefined ) { - this.on.text( options.onText ); - } - if ( options.offText !== undefined ) { - this.off.text( options.offText ); - } - if ( options.disabled !== undefined ) { - this.widget().toggleClass( "ui-state-disabled", options.disabled ); - } - if ( options.mini !== undefined ) { - this.widget().toggleClass( "ui-mini", options.mini ); - } - if ( options.corners !== undefined ) { - this.widget().toggleClass( "ui-corner-all", options.corners ); - } - - this._super( options ); - }, - - _destroy: function() { - if ( this.options.enhanced ) { - return; - } - if ( this._originalTabIndex != null ) { - this.element.attr( "tabindex", this._originalTabIndex ); - } else { - this.element.removeAttr( "tabindex" ); - } - this.on.remove(); - this.off.remove(); - this.element.unwrap(); - this.flipswitch.remove(); - this.removeClass( "ui-flipswitch-input" ); - } - -}, $.mobile.behaviors.formReset ) ); - -})( jQuery ); - -(function( $, undefined ) { - $.widget( "mobile.rangeslider", $.extend( { - - options: { - theme: null, - trackTheme: null, - corners: true, - mini: false, - highlight: true - }, - - _create: function() { - var $el = this.element, - elClass = this.options.mini ? "ui-rangeslider ui-mini" : "ui-rangeslider", - _inputFirst = $el.find( "input" ).first(), - _inputLast = $el.find( "input" ).last(), - _label = $el.find( "label" ).first(), - _sliderWidgetFirst = $.data( _inputFirst.get( 0 ), "mobile-slider" ) || - $.data( _inputFirst.slider().get( 0 ), "mobile-slider" ), - _sliderWidgetLast = $.data( _inputLast.get(0), "mobile-slider" ) || - $.data( _inputLast.slider().get( 0 ), "mobile-slider" ), - _sliderFirst = _sliderWidgetFirst.slider, - _sliderLast = _sliderWidgetLast.slider, - firstHandle = _sliderWidgetFirst.handle, - _sliders = $( "<div class='ui-rangeslider-sliders' />" ).appendTo( $el ); - - _inputFirst.addClass( "ui-rangeslider-first" ); - _inputLast.addClass( "ui-rangeslider-last" ); - $el.addClass( elClass ); - - _sliderFirst.appendTo( _sliders ); - _sliderLast.appendTo( _sliders ); - _label.insertBefore( $el ); - firstHandle.prependTo( _sliderLast ); - - $.extend( this, { - _inputFirst: _inputFirst, - _inputLast: _inputLast, - _sliderFirst: _sliderFirst, - _sliderLast: _sliderLast, - _label: _label, - _targetVal: null, - _sliderTarget: false, - _sliders: _sliders, - _proxy: false - }); - - this.refresh(); - this._on( this.element.find( "input.ui-slider-input" ), { - "slidebeforestart": "_slidebeforestart", - "slidestop": "_slidestop", - "slidedrag": "_slidedrag", - "slidebeforechange": "_change", - "blur": "_change", - "keyup": "_change" - }); - this._on({ - "mousedown":"_change" - }); - this._on( this.element.closest( "form" ), { - "reset":"_handleReset" - }); - this._on( firstHandle, { - "vmousedown": "_dragFirstHandle" - }); - }, - _handleReset: function() { - var self = this; - //we must wait for the stack to unwind before updateing other wise sliders will not have updated yet - setTimeout( function() { - self._updateHighlight(); - },0); - }, - - _dragFirstHandle: function( event ) { - //if the first handle is dragged send the event to the first slider - $.data( this._inputFirst.get(0), "mobile-slider" ).dragging = true; - $.data( this._inputFirst.get(0), "mobile-slider" ).refresh( event ); - $.data( this._inputFirst.get(0), "mobile-slider" )._trigger( "start" ); - return false; - }, - - _slidedrag: function( event ) { - var first = $( event.target ).is( this._inputFirst ), - otherSlider = ( first ) ? this._inputLast : this._inputFirst; - - this._sliderTarget = false; - //if the drag was initiated on an extreme and the other handle is focused send the events to - //the closest handle - if ( ( this._proxy === "first" && first ) || ( this._proxy === "last" && !first ) ) { - $.data( otherSlider.get(0), "mobile-slider" ).dragging = true; - $.data( otherSlider.get(0), "mobile-slider" ).refresh( event ); - return false; - } - }, - - _slidestop: function( event ) { - var first = $( event.target ).is( this._inputFirst ); - - this._proxy = false; - //this stops dragging of the handle and brings the active track to the front - //this makes clicks on the track go the the last handle used - this.element.find( "input" ).trigger( "vmouseup" ); - this._sliderFirst.css( "z-index", first ? 1 : "" ); - }, - - _slidebeforestart: function( event ) { - this._sliderTarget = false; - //if the track is the target remember this and the original value - if ( $( event.originalEvent.target ).hasClass( "ui-slider-track" ) ) { - this._sliderTarget = true; - this._targetVal = $( event.target ).val(); - } - }, - - _setOptions: function( options ) { - if ( options.theme !== undefined ) { - this._setTheme( options.theme ); - } - - if ( options.trackTheme !== undefined ) { - this._setTrackTheme( options.trackTheme ); - } - - if ( options.mini !== undefined ) { - this._setMini( options.mini ); - } - - if ( options.highlight !== undefined ) { - this._setHighlight( options.highlight ); - } - - if ( options.disabled !== undefined ) { - this._setDisabled( options.disabled ); - } - - this._super( options ); - this.refresh(); - }, - - refresh: function() { - var $el = this.element, - o = this.options; - - if ( this._inputFirst.is( ":disabled" ) || this._inputLast.is( ":disabled" ) ) { - this.options.disabled = true; - } - - $el.find( "input" ).slider({ - theme: o.theme, - trackTheme: o.trackTheme, - disabled: o.disabled, - corners: o.corners, - mini: o.mini, - highlight: o.highlight - }).slider( "refresh" ); - this._updateHighlight(); - }, - - _change: function( event ) { - if ( event.type === "keyup" ) { - this._updateHighlight(); - return false; - } - - var self = this, - min = parseFloat( this._inputFirst.val(), 10 ), - max = parseFloat( this._inputLast.val(), 10 ), - first = $( event.target ).hasClass( "ui-rangeslider-first" ), - thisSlider = first ? this._inputFirst : this._inputLast, - otherSlider = first ? this._inputLast : this._inputFirst; - - if ( ( this._inputFirst.val() > this._inputLast.val() && event.type === "mousedown" && !$(event.target).hasClass("ui-slider-handle")) ) { - thisSlider.blur(); - } else if ( event.type === "mousedown" ) { - return; - } - if ( min > max && !this._sliderTarget ) { - //this prevents min from being greater then max - thisSlider.val( first ? max: min ).slider( "refresh" ); - this._trigger( "normalize" ); - } else if ( min > max ) { - //this makes it so clicks on the target on either extreme go to the closest handle - thisSlider.val( this._targetVal ).slider( "refresh" ); - - //You must wait for the stack to unwind so first slider is updated before updating second - setTimeout( function() { - otherSlider.val( first ? min: max ).slider( "refresh" ); - $.data( otherSlider.get(0), "mobile-slider" ).handle.focus(); - self._sliderFirst.css( "z-index", first ? "" : 1 ); - self._trigger( "normalize" ); - }, 0 ); - this._proxy = ( first ) ? "first" : "last"; - } - //fixes issue where when both _sliders are at min they cannot be adjusted - if ( min === max ) { - $.data( thisSlider.get(0), "mobile-slider" ).handle.css( "z-index", 1 ); - $.data( otherSlider.get(0), "mobile-slider" ).handle.css( "z-index", 0 ); - } else { - $.data( otherSlider.get(0), "mobile-slider" ).handle.css( "z-index", "" ); - $.data( thisSlider.get(0), "mobile-slider" ).handle.css( "z-index", "" ); - } - - this._updateHighlight(); - - if ( min >= max ) { - return false; - } - }, - - _updateHighlight: function() { - var min = parseInt( $.data( this._inputFirst.get(0), "mobile-slider" ).handle.get(0).style.left, 10 ), - max = parseInt( $.data( this._inputLast.get(0), "mobile-slider" ).handle.get(0).style.left, 10 ), - width = (max - min); - - this.element.find( ".ui-slider-bg" ).css({ - "margin-left": min + "%", - "width": width + "%" - }); - }, - - _setTheme: function( value ) { - this._inputFirst.slider( "option", "theme", value ); - this._inputLast.slider( "option", "theme", value ); - }, - - _setTrackTheme: function( value ) { - this._inputFirst.slider( "option", "trackTheme", value ); - this._inputLast.slider( "option", "trackTheme", value ); - }, - - _setMini: function( value ) { - this._inputFirst.slider( "option", "mini", value ); - this._inputLast.slider( "option", "mini", value ); - this.element.toggleClass( "ui-mini", !!value ); - }, - - _setHighlight: function( value ) { - this._inputFirst.slider( "option", "highlight", value ); - this._inputLast.slider( "option", "highlight", value ); - }, - - _setDisabled: function( value ) { - this._inputFirst.prop( "disabled", value ); - this._inputLast.prop( "disabled", value ); - }, - - _destroy: function() { - this._label.prependTo( this.element ); - this.element.removeClass( "ui-rangeslider ui-mini" ); - this._inputFirst.after( this._sliderFirst ); - this._inputLast.after( this._sliderLast ); - this._sliders.remove(); - this.element.find( "input" ).removeClass( "ui-rangeslider-first ui-rangeslider-last" ).slider( "destroy" ); - } - - }, $.mobile.behaviors.formReset ) ); - -})( jQuery ); - -(function( $, undefined ) { - - $.widget( "mobile.textinput", $.mobile.textinput, { - options: { - clearBtn: false, - clearBtnText: "Clear text" - }, - - _create: function() { - this._super(); - - if ( this.isSearch ) { - this.options.clearBtn = true; - } - - if ( !!this.options.clearBtn && this.inputNeedsWrap ) { - this._addClearBtn(); - } - }, - - clearButton: function() { - return $( "<a href='#' tabindex='-1' aria-hidden='true' " + - "class='ui-input-clear ui-btn ui-icon-delete ui-btn-icon-notext ui-corner-all'>" + - "</a>" ) - .attr( "title", this.options.clearBtnText ) - .text( this.options.clearBtnText ); - }, - - _clearBtnClick: function( event ) { - this.element.val( "" ) - .focus() - .trigger( "change" ); - - this._clearBtn.addClass( "ui-input-clear-hidden" ); - event.preventDefault(); - }, - - _addClearBtn: function() { - - if ( !this.options.enhanced ) { - this._enhanceClear(); - } - - $.extend( this, { - _clearBtn: this.widget().find("a.ui-input-clear") - }); - - this._bindClearEvents(); - - this._toggleClear(); - - }, - - _enhanceClear: function() { - - this.clearButton().appendTo( this.widget() ); - this.widget().addClass( "ui-input-has-clear" ); - - }, - - _bindClearEvents: function() { - - this._on( this._clearBtn, { - "click": "_clearBtnClick" - }); - - this._on({ - "keyup": "_toggleClear", - "change": "_toggleClear", - "input": "_toggleClear", - "focus": "_toggleClear", - "blur": "_toggleClear", - "cut": "_toggleClear", - "paste": "_toggleClear" - - }); - - }, - - _unbindClear: function() { - this._off( this._clearBtn, "click"); - this._off( this.element, "keyup change input focus blur cut paste" ); - }, - - _setOptions: function( options ) { - this._super( options ); - - if ( options.clearBtn !== undefined && - !this.element.is( "textarea, :jqmData(type='range')" ) ) { - if ( options.clearBtn ) { - this._addClearBtn(); - } else { - this._destroyClear(); - } - } - - if ( options.clearBtnText !== undefined && this._clearBtn !== undefined ) { - this._clearBtn.text( options.clearBtnText ) - .attr("title", options.clearBtnText); - } - }, - - _toggleClear: function() { - this._delay( "_toggleClearClass", 0 ); - }, - - _toggleClearClass: function() { - this._clearBtn.toggleClass( "ui-input-clear-hidden", !this.element.val() ); - }, - - _destroyClear: function() { - this.widget().removeClass( "ui-input-has-clear" ); - this._unbindClear(); - this._clearBtn.remove(); - }, - - _destroy: function() { - this._super(); - if ( this.options.clearBtn ) { - this._destroyClear(); - } - } - - }); - -})( jQuery ); - -(function( $, undefined ) { - - $.widget( "mobile.textinput", $.mobile.textinput, { - options: { - autogrow:true, - keyupTimeoutBuffer: 100 - }, - - _create: function() { - this._super(); - - if ( this.options.autogrow && this.isTextarea ) { - this._autogrow(); - } - }, - - _autogrow: function() { - this.element.addClass( "ui-textinput-autogrow" ); - - this._on({ - "keyup": "_timeout", - "change": "_timeout", - "input": "_timeout", - "paste": "_timeout" - }); - - // Attach to the various you-have-become-visible notifications that the - // various framework elements emit. - // TODO: Remove all but the updatelayout handler once #6426 is fixed. - this._on( true, this.document, { - - // TODO: Move to non-deprecated event - "pageshow": "_handleShow", - "popupbeforeposition": "_handleShow", - "updatelayout": "_handleShow", - "panelopen": "_handleShow" - }); - }, - - // Synchronously fix the widget height if this widget's parents are such - // that they show/hide content at runtime. We still need to check whether - // the widget is actually visible in case it is contained inside multiple - // such containers. For example: panel contains collapsible contains - // autogrow textinput. The panel may emit "panelopen" indicating that its - // content has become visible, but the collapsible is still collapsed, so - // the autogrow textarea is still not visible. - _handleShow: function( event ) { - if ( $.contains( event.target, this.element[ 0 ] ) && - this.element.is( ":visible" ) ) { - - if ( event.type !== "popupbeforeposition" ) { - this.element - .addClass( "ui-textinput-autogrow-resize" ) - .animationComplete( - $.proxy( function() { - this.element.removeClass( "ui-textinput-autogrow-resize" ); - }, this ), - "transition" ); - } - this._prepareHeightUpdate(); - } - }, - - _unbindAutogrow: function() { - this.element.removeClass( "ui-textinput-autogrow" ); - this._off( this.element, "keyup change input paste" ); - this._off( this.document, - "pageshow popupbeforeposition updatelayout panelopen" ); - }, - - keyupTimeout: null, - - _prepareHeightUpdate: function( delay ) { - if ( this.keyupTimeout ) { - clearTimeout( this.keyupTimeout ); - } - if ( delay === undefined ) { - this._updateHeight(); - } else { - this.keyupTimeout = this._delay( "_updateHeight", delay ); - } - }, - - _timeout: function() { - this._prepareHeightUpdate( this.options.keyupTimeoutBuffer ); - }, - - _updateHeight: function() { - var paddingTop, paddingBottom, paddingHeight, scrollHeight, clientHeight, - borderTop, borderBottom, borderHeight, height, - scrollTop = this.window.scrollTop(); - this.keyupTimeout = 0; - - // IE8 textareas have the onpage property - others do not - if ( !( "onpage" in this.element[ 0 ] ) ) { - this.element.css({ - "height": 0, - "min-height": 0, - "max-height": 0 - }); - } - - scrollHeight = this.element[ 0 ].scrollHeight; - clientHeight = this.element[ 0 ].clientHeight; - borderTop = parseFloat( this.element.css( "border-top-width" ) ); - borderBottom = parseFloat( this.element.css( "border-bottom-width" ) ); - borderHeight = borderTop + borderBottom; - height = scrollHeight + borderHeight + 15; - - // Issue 6179: Padding is not included in scrollHeight and - // clientHeight by Firefox if no scrollbar is visible. Because - // textareas use the border-box box-sizing model, padding should be - // included in the new (assigned) height. Because the height is set - // to 0, clientHeight == 0 in Firefox. Therefore, we can use this to - // check if padding must be added. - if ( clientHeight === 0 ) { - paddingTop = parseFloat( this.element.css( "padding-top" ) ); - paddingBottom = parseFloat( this.element.css( "padding-bottom" ) ); - paddingHeight = paddingTop + paddingBottom; - - height += paddingHeight; - } - - this.element.css({ - "height": height, - "min-height": "", - "max-height": "" - }); - - this.window.scrollTop( scrollTop ); - }, - - refresh: function() { - if ( this.options.autogrow && this.isTextarea ) { - this._updateHeight(); - } - }, - - _setOptions: function( options ) { - - this._super( options ); - - if ( options.autogrow !== undefined && this.isTextarea ) { - if ( options.autogrow ) { - this._autogrow(); - } else { - this._unbindAutogrow(); - } - } - } - - }); -})( jQuery ); - -(function( $, undefined ) { - -$.widget( "mobile.selectmenu", $.extend( { - initSelector: "select:not( :jqmData(role='slider')):not( :jqmData(role='flipswitch') )", - - options: { - theme: null, - icon: "carat-d", - iconpos: "right", - inline: false, - corners: true, - shadow: true, - iconshadow: false, /* TODO: Deprecated in 1.4, remove in 1.5. */ - overlayTheme: null, - dividerTheme: null, - hidePlaceholderMenuItems: true, - closeText: "Close", - nativeMenu: true, - // This option defaults to true on iOS devices. - preventFocusZoom: /iPhone|iPad|iPod/.test( navigator.platform ) && navigator.userAgent.indexOf( "AppleWebKit" ) > -1, - mini: false - }, - - _button: function() { - return $( "<div/>" ); - }, - - _setDisabled: function( value ) { - this.element.attr( "disabled", value ); - this.button.attr( "aria-disabled", value ); - return this._setOption( "disabled", value ); - }, - - _focusButton : function() { - var self = this; - - setTimeout( function() { - self.button.focus(); - }, 40); - }, - - _selectOptions: function() { - return this.select.find( "option" ); - }, - - // setup items that are generally necessary for select menu extension - _preExtension: function() { - var inline = this.options.inline || this.element.jqmData( "inline" ), - mini = this.options.mini || this.element.jqmData( "mini" ), - classes = ""; - // TODO: Post 1.1--once we have time to test thoroughly--any classes manually applied to the original element should be carried over to the enhanced element, with an `-enhanced` suffix. See https://github.com/jquery/jquery-mobile/issues/3577 - /* if ( $el[0].className.length ) { - classes = $el[0].className; - } */ - if ( !!~this.element[0].className.indexOf( "ui-btn-left" ) ) { - classes = " ui-btn-left"; - } - - if ( !!~this.element[0].className.indexOf( "ui-btn-right" ) ) { - classes = " ui-btn-right"; - } - - if ( inline ) { - classes += " ui-btn-inline"; - } - if ( mini ) { - classes += " ui-mini"; - } - - this.select = this.element.removeClass( "ui-btn-left ui-btn-right" ).wrap( "<div class='ui-select" + classes + "'>" ); - this.selectId = this.select.attr( "id" ) || ( "select-" + this.uuid ); - this.buttonId = this.selectId + "-button"; - this.label = $( "label[for='"+ this.selectId +"']" ); - this.isMultiple = this.select[ 0 ].multiple; - }, - - _destroy: function() { - var wrapper = this.element.parents( ".ui-select" ); - if ( wrapper.length > 0 ) { - if ( wrapper.is( ".ui-btn-left, .ui-btn-right" ) ) { - this.element.addClass( wrapper.hasClass( "ui-btn-left" ) ? "ui-btn-left" : "ui-btn-right" ); - } - this.element.insertAfter( wrapper ); - wrapper.remove(); - } - }, - - _create: function() { - this._preExtension(); - - this.button = this._button(); - - var self = this, - - options = this.options, - - iconpos = options.icon ? ( options.iconpos || this.select.jqmData( "iconpos" ) ) : false, - - button = this.button - .insertBefore( this.select ) - .attr( "id", this.buttonId ) - .addClass( "ui-btn" + - ( options.icon ? ( " ui-icon-" + options.icon + " ui-btn-icon-" + iconpos + - ( options.iconshadow ? " ui-shadow-icon" : "" ) ) : "" ) + /* TODO: Remove in 1.5. */ - ( options.theme ? " ui-btn-" + options.theme : "" ) + - ( options.corners ? " ui-corner-all" : "" ) + - ( options.shadow ? " ui-shadow" : "" ) ); - - this.setButtonText(); - - // Opera does not properly support opacity on select elements - // In Mini, it hides the element, but not its text - // On the desktop,it seems to do the opposite - // for these reasons, using the nativeMenu option results in a full native select in Opera - if ( options.nativeMenu && window.opera && window.opera.version ) { - button.addClass( "ui-select-nativeonly" ); - } - - // Add counter for multi selects - if ( this.isMultiple ) { - this.buttonCount = $( "<span>" ) - .addClass( "ui-li-count ui-body-inherit" ) - .hide() - .appendTo( button.addClass( "ui-li-has-count" ) ); - } - - // Disable if specified - if ( options.disabled || this.element.attr( "disabled" )) { - this.disable(); - } - - // Events on native select - this.select.change(function() { - self.refresh(); - - if ( !!options.nativeMenu ) { - self._delay( function() { - self.select.blur(); - }); - } - }); - - this._handleFormReset(); - - this._on( this.button, { - keydown: "_handleKeydown" - }); - - this.build(); - }, - - build: function() { - var self = this; - - this.select - .appendTo( self.button ) - .bind( "vmousedown", function() { - // Add active class to button - self.button.addClass( $.mobile.activeBtnClass ); - }) - .bind( "focus", function() { - self.button.addClass( $.mobile.focusClass ); - }) - .bind( "blur", function() { - self.button.removeClass( $.mobile.focusClass ); - }) - .bind( "focus vmouseover", function() { - self.button.trigger( "vmouseover" ); - }) - .bind( "vmousemove", function() { - // Remove active class on scroll/touchmove - self.button.removeClass( $.mobile.activeBtnClass ); - }) - .bind( "change blur vmouseout", function() { - self.button.trigger( "vmouseout" ) - .removeClass( $.mobile.activeBtnClass ); - }); - - // In many situations, iOS will zoom into the select upon tap, this prevents that from happening - self.button.bind( "vmousedown", function() { - if ( self.options.preventFocusZoom ) { - $.mobile.zoom.disable( true ); - } - }); - self.label.bind( "click focus", function() { - if ( self.options.preventFocusZoom ) { - $.mobile.zoom.disable( true ); - } - }); - self.select.bind( "focus", function() { - if ( self.options.preventFocusZoom ) { - $.mobile.zoom.disable( true ); - } - }); - self.button.bind( "mouseup", function() { - if ( self.options.preventFocusZoom ) { - setTimeout(function() { - $.mobile.zoom.enable( true ); - }, 0 ); - } - }); - self.select.bind( "blur", function() { - if ( self.options.preventFocusZoom ) { - $.mobile.zoom.enable( true ); - } - }); - - }, - - selected: function() { - return this._selectOptions().filter( ":selected" ); - }, - - selectedIndices: function() { - var self = this; - - return this.selected().map(function() { - return self._selectOptions().index( this ); - }).get(); - }, - - setButtonText: function() { - var self = this, - selected = this.selected(), - text = this.placeholder, - span = $( document.createElement( "span" ) ); - - this.button.children( "span" ).not( ".ui-li-count" ).remove().end().end().prepend( (function() { - if ( selected.length ) { - text = selected.map(function() { - return $( this ).text(); - }).get().join( ", " ); - } else { - text = self.placeholder; - } - - if ( text ) { - span.text( text ); - } else { - - // Set the contents to which we write as   to be XHTML compliant - see gh-6699 - span.html( " " ); - } - - // TODO possibly aggregate multiple select option classes - return span - .addClass( self.select.attr( "class" ) ) - .addClass( selected.attr( "class" ) ) - .removeClass( "ui-screen-hidden" ); - })()); - }, - - setButtonCount: function() { - var selected = this.selected(); - - // multiple count inside button - if ( this.isMultiple ) { - this.buttonCount[ selected.length > 1 ? "show" : "hide" ]().text( selected.length ); - } - }, - - _handleKeydown: function( /* event */ ) { - this._delay( "_refreshButton" ); - }, - - _reset: function() { - this.refresh(); - }, - - _refreshButton: function() { - this.setButtonText(); - this.setButtonCount(); - }, - - refresh: function() { - this._refreshButton(); - }, - - // open and close preserved in native selects - // to simplify users code when looping over selects - open: $.noop, - close: $.noop, - - disable: function() { - this._setDisabled( true ); - this.button.addClass( "ui-state-disabled" ); - }, - - enable: function() { - this._setDisabled( false ); - this.button.removeClass( "ui-state-disabled" ); - } -}, $.mobile.behaviors.formReset ) ); - -})( jQuery ); - -(function( $, undefined ) { - -$.mobile.links = function( target ) { - - //links within content areas, tests included with page - $( target ) - .find( "a" ) - .jqmEnhanceable() - .filter( ":jqmData(rel='popup')[href][href!='']" ) - .each( function() { - // Accessibility info for popups - var element = this, - idref = element.getAttribute( "href" ).substring( 1 ); - - if ( idref ) { - element.setAttribute( "aria-haspopup", true ); - element.setAttribute( "aria-owns", idref ); - element.setAttribute( "aria-expanded", false ); - } - }) - .end() - .not( ".ui-btn, :jqmData(role='none'), :jqmData(role='nojs')" ) - .addClass( "ui-link" ); - -}; - -})( jQuery ); - - -(function( $, undefined ) { - -function fitSegmentInsideSegment( windowSize, segmentSize, offset, desired ) { - var returnValue = desired; - - if ( windowSize < segmentSize ) { - // Center segment if it's bigger than the window - returnValue = offset + ( windowSize - segmentSize ) / 2; - } else { - // Otherwise center it at the desired coordinate while keeping it completely inside the window - returnValue = Math.min( Math.max( offset, desired - segmentSize / 2 ), offset + windowSize - segmentSize ); - } - - return returnValue; -} - -function getWindowCoordinates( theWindow ) { - return { - x: theWindow.scrollLeft(), - y: theWindow.scrollTop(), - cx: ( theWindow[ 0 ].innerWidth || theWindow.width() ), - cy: ( theWindow[ 0 ].innerHeight || theWindow.height() ) - }; -} - -$.widget( "mobile.popup", { - options: { - wrapperClass: null, - theme: null, - overlayTheme: null, - shadow: true, - corners: true, - transition: "none", - positionTo: "origin", - tolerance: null, - closeLinkSelector: "a:jqmData(rel='back')", - closeLinkEvents: "click.popup", - navigateEvents: "navigate.popup", - closeEvents: "navigate.popup pagebeforechange.popup", - dismissible: true, - enhanced: false, - - // NOTE Windows Phone 7 has a scroll position caching issue that - // requires us to disable popup history management by default - // https://github.com/jquery/jquery-mobile/issues/4784 - // - // NOTE this option is modified in _create! - history: !$.mobile.browser.oldIE - }, - - // When the user depresses the mouse/finger on an element inside the popup while the popup is - // open, we ignore resize events for a short while. This prevents #6961. - _handleDocumentVmousedown: function( theEvent ) { - if ( this._isOpen && $.contains( this._ui.container[ 0 ], theEvent.target ) ) { - this._ignoreResizeEvents(); - } - }, - - _create: function() { - var theElement = this.element, - myId = theElement.attr( "id" ), - currentOptions = this.options; - - // We need to adjust the history option to be false if there's no AJAX nav. - // We can't do it in the option declarations because those are run before - // it is determined whether there shall be AJAX nav. - currentOptions.history = currentOptions.history && $.mobile.ajaxEnabled && $.mobile.hashListeningEnabled; - - this._on( this.document, { - "vmousedown": "_handleDocumentVmousedown" - }); - - // Define instance variables - $.extend( this, { - _scrollTop: 0, - _page: theElement.closest( ".ui-page" ), - _ui: null, - _fallbackTransition: "", - _currentTransition: false, - _prerequisites: null, - _isOpen: false, - _tolerance: null, - _resizeData: null, - _ignoreResizeTo: 0, - _orientationchangeInProgress: false - }); - - if ( this._page.length === 0 ) { - this._page = $( "body" ); - } - - if ( currentOptions.enhanced ) { - this._ui = { - container: theElement.parent(), - screen: theElement.parent().prev(), - placeholder: $( this.document[ 0 ].getElementById( myId + "-placeholder" ) ) - }; - } else { - this._ui = this._enhance( theElement, myId ); - this._applyTransition( currentOptions.transition ); - } - this - ._setTolerance( currentOptions.tolerance ) - ._ui.focusElement = this._ui.container; - - // Event handlers - this._on( this._ui.screen, { "vclick": "_eatEventAndClose" } ); - this._on( this.window, { - orientationchange: $.proxy( this, "_handleWindowOrientationchange" ), - resize: $.proxy( this, "_handleWindowResize" ), - keyup: $.proxy( this, "_handleWindowKeyUp" ) - }); - this._on( this.document, { "focusin": "_handleDocumentFocusIn" } ); - }, - - _enhance: function( theElement, myId ) { - var currentOptions = this.options, - wrapperClass = currentOptions.wrapperClass, - ui = { - screen: $( "<div class='ui-screen-hidden ui-popup-screen " + - this._themeClassFromOption( "ui-overlay-", currentOptions.overlayTheme ) + "'></div>" ), - placeholder: $( "<div style='display: none;'><!-- placeholder --></div>" ), - container: $( "<div class='ui-popup-container ui-popup-hidden ui-popup-truncate" + - ( wrapperClass ? ( " " + wrapperClass ) : "" ) + "'></div>" ) - }, - fragment = this.document[ 0 ].createDocumentFragment(); - - fragment.appendChild( ui.screen[ 0 ] ); - fragment.appendChild( ui.container[ 0 ] ); - - if ( myId ) { - ui.screen.attr( "id", myId + "-screen" ); - ui.container.attr( "id", myId + "-popup" ); - ui.placeholder - .attr( "id", myId + "-placeholder" ) - .html( "<!-- placeholder for " + myId + " -->" ); - } - - // Apply the proto - this._page[ 0 ].appendChild( fragment ); - // Leave a placeholder where the element used to be - ui.placeholder.insertAfter( theElement ); - theElement - .detach() - .addClass( "ui-popup " + - this._themeClassFromOption( "ui-body-", currentOptions.theme ) + " " + - ( currentOptions.shadow ? "ui-overlay-shadow " : "" ) + - ( currentOptions.corners ? "ui-corner-all " : "" ) ) - .appendTo( ui.container ); - - return ui; - }, - - _eatEventAndClose: function( theEvent ) { - theEvent.preventDefault(); - theEvent.stopImmediatePropagation(); - if ( this.options.dismissible ) { - this.close(); - } - return false; - }, - - // Make sure the screen covers the entire document - CSS is sometimes not - // enough to accomplish this. - _resizeScreen: function() { - var screen = this._ui.screen, - popupHeight = this._ui.container.outerHeight( true ), - screenHeight = screen.removeAttr( "style" ).height(), - - // Subtracting 1 here is necessary for an obscure Andrdoid 4.0 bug where - // the browser hangs if the screen covers the entire document :/ - documentHeight = this.document.height() - 1; - - if ( screenHeight < documentHeight ) { - screen.height( documentHeight ); - } else if ( popupHeight > screenHeight ) { - screen.height( popupHeight ); - } - }, - - _handleWindowKeyUp: function( theEvent ) { - if ( this._isOpen && theEvent.keyCode === $.mobile.keyCode.ESCAPE ) { - return this._eatEventAndClose( theEvent ); - } - }, - - _expectResizeEvent: function() { - var windowCoordinates = getWindowCoordinates( this.window ); - - if ( this._resizeData ) { - if ( windowCoordinates.x === this._resizeData.windowCoordinates.x && - windowCoordinates.y === this._resizeData.windowCoordinates.y && - windowCoordinates.cx === this._resizeData.windowCoordinates.cx && - windowCoordinates.cy === this._resizeData.windowCoordinates.cy ) { - // timeout not refreshed - return false; - } else { - // clear existing timeout - it will be refreshed below - clearTimeout( this._resizeData.timeoutId ); - } - } - - this._resizeData = { - timeoutId: this._delay( "_resizeTimeout", 200 ), - windowCoordinates: windowCoordinates - }; - - return true; - }, - - _resizeTimeout: function() { - if ( this._isOpen ) { - if ( !this._expectResizeEvent() ) { - if ( this._ui.container.hasClass( "ui-popup-hidden" ) ) { - // effectively rapid-open the popup while leaving the screen intact - this._ui.container.removeClass( "ui-popup-hidden ui-popup-truncate" ); - this.reposition( { positionTo: "window" } ); - this._ignoreResizeEvents(); - } - - this._resizeScreen(); - this._resizeData = null; - this._orientationchangeInProgress = false; - } - } else { - this._resizeData = null; - this._orientationchangeInProgress = false; - } - }, - - _stopIgnoringResizeEvents: function() { - this._ignoreResizeTo = 0; - }, - - _ignoreResizeEvents: function() { - if ( this._ignoreResizeTo ) { - clearTimeout( this._ignoreResizeTo ); - } - this._ignoreResizeTo = this._delay( "_stopIgnoringResizeEvents", 1000 ); - }, - - _handleWindowResize: function(/* theEvent */) { - if ( this._isOpen && this._ignoreResizeTo === 0 ) { - if ( ( this._expectResizeEvent() || this._orientationchangeInProgress ) && - !this._ui.container.hasClass( "ui-popup-hidden" ) ) { - // effectively rapid-close the popup while leaving the screen intact - this._ui.container - .addClass( "ui-popup-hidden ui-popup-truncate" ) - .removeAttr( "style" ); - } - } - }, - - _handleWindowOrientationchange: function(/* theEvent */) { - if ( !this._orientationchangeInProgress && this._isOpen && this._ignoreResizeTo === 0 ) { - this._expectResizeEvent(); - this._orientationchangeInProgress = true; - } - }, - - // When the popup is open, attempting to focus on an element that is not a - // child of the popup will redirect focus to the popup - _handleDocumentFocusIn: function( theEvent ) { - var target, - targetElement = theEvent.target, - ui = this._ui; - - if ( !this._isOpen ) { - return; - } - - if ( targetElement !== ui.container[ 0 ] ) { - target = $( targetElement ); - if ( !$.contains( ui.container[ 0 ], targetElement ) ) { - $( this.document[ 0 ].activeElement ).one( "focus", $.proxy( function() { - this._safelyBlur( targetElement ); - }, this ) ); - ui.focusElement.focus(); - theEvent.preventDefault(); - theEvent.stopImmediatePropagation(); - return false; - } else if ( ui.focusElement[ 0 ] === ui.container[ 0 ] ) { - ui.focusElement = target; - } - } - - this._ignoreResizeEvents(); - }, - - _themeClassFromOption: function( prefix, value ) { - return ( value ? ( value === "none" ? "" : ( prefix + value ) ) : ( prefix + "inherit" ) ); - }, - - _applyTransition: function( value ) { - if ( value ) { - this._ui.container.removeClass( this._fallbackTransition ); - if ( value !== "none" ) { - this._fallbackTransition = $.mobile._maybeDegradeTransition( value ); - if ( this._fallbackTransition === "none" ) { - this._fallbackTransition = ""; - } - this._ui.container.addClass( this._fallbackTransition ); - } - } - - return this; - }, - - _setOptions: function( newOptions ) { - var currentOptions = this.options, - theElement = this.element, - screen = this._ui.screen; - - if ( newOptions.wrapperClass !== undefined ) { - this._ui.container - .removeClass( currentOptions.wrapperClass ) - .addClass( newOptions.wrapperClass ); - } - - if ( newOptions.theme !== undefined ) { - theElement - .removeClass( this._themeClassFromOption( "ui-body-", currentOptions.theme ) ) - .addClass( this._themeClassFromOption( "ui-body-", newOptions.theme ) ); - } - - if ( newOptions.overlayTheme !== undefined ) { - screen - .removeClass( this._themeClassFromOption( "ui-overlay-", currentOptions.overlayTheme ) ) - .addClass( this._themeClassFromOption( "ui-overlay-", newOptions.overlayTheme ) ); - - if ( this._isOpen ) { - screen.addClass( "in" ); - } - } - - if ( newOptions.shadow !== undefined ) { - theElement.toggleClass( "ui-overlay-shadow", newOptions.shadow ); - } - - if ( newOptions.corners !== undefined ) { - theElement.toggleClass( "ui-corner-all", newOptions.corners ); - } - - if ( newOptions.transition !== undefined ) { - if ( !this._currentTransition ) { - this._applyTransition( newOptions.transition ); - } - } - - if ( newOptions.tolerance !== undefined ) { - this._setTolerance( newOptions.tolerance ); - } - - if ( newOptions.disabled !== undefined ) { - if ( newOptions.disabled ) { - this.close(); - } - } - - return this._super( newOptions ); - }, - - _setTolerance: function( value ) { - var tol = { t: 30, r: 15, b: 30, l: 15 }, - ar; - - if ( value !== undefined ) { - ar = String( value ).split( "," ); - - $.each( ar, function( idx, val ) { ar[ idx ] = parseInt( val, 10 ); } ); - - switch( ar.length ) { - // All values are to be the same - case 1: - if ( !isNaN( ar[ 0 ] ) ) { - tol.t = tol.r = tol.b = tol.l = ar[ 0 ]; - } - break; - - // The first value denotes top/bottom tolerance, and the second value denotes left/right tolerance - case 2: - if ( !isNaN( ar[ 0 ] ) ) { - tol.t = tol.b = ar[ 0 ]; - } - if ( !isNaN( ar[ 1 ] ) ) { - tol.l = tol.r = ar[ 1 ]; - } - break; - - // The array contains values in the order top, right, bottom, left - case 4: - if ( !isNaN( ar[ 0 ] ) ) { - tol.t = ar[ 0 ]; - } - if ( !isNaN( ar[ 1 ] ) ) { - tol.r = ar[ 1 ]; - } - if ( !isNaN( ar[ 2 ] ) ) { - tol.b = ar[ 2 ]; - } - if ( !isNaN( ar[ 3 ] ) ) { - tol.l = ar[ 3 ]; - } - break; - - default: - break; - } - } - - this._tolerance = tol; - return this; - }, - - _clampPopupWidth: function( infoOnly ) { - var menuSize, - windowCoordinates = getWindowCoordinates( this.window ), - // rectangle within which the popup must fit - rectangle = { - x: this._tolerance.l, - y: windowCoordinates.y + this._tolerance.t, - cx: windowCoordinates.cx - this._tolerance.l - this._tolerance.r, - cy: windowCoordinates.cy - this._tolerance.t - this._tolerance.b - }; - - if ( !infoOnly ) { - // Clamp the width of the menu before grabbing its size - this._ui.container.css( "max-width", rectangle.cx ); - } - - menuSize = { - cx: this._ui.container.outerWidth( true ), - cy: this._ui.container.outerHeight( true ) - }; - - return { rc: rectangle, menuSize: menuSize }; - }, - - _calculateFinalLocation: function( desired, clampInfo ) { - var returnValue, - rectangle = clampInfo.rc, - menuSize = clampInfo.menuSize; - - // Center the menu over the desired coordinates, while not going outside - // the window tolerances. This will center wrt. the window if the popup is - // too large. - returnValue = { - left: fitSegmentInsideSegment( rectangle.cx, menuSize.cx, rectangle.x, desired.x ), - top: fitSegmentInsideSegment( rectangle.cy, menuSize.cy, rectangle.y, desired.y ) - }; - - // Make sure the top of the menu is visible - returnValue.top = Math.max( 0, returnValue.top ); - - // If the height of the menu is smaller than the height of the document - // align the bottom with the bottom of the document - - returnValue.top -= Math.min( returnValue.top, - Math.max( 0, returnValue.top + menuSize.cy - this.document.height() ) ); - - return returnValue; - }, - - // Try and center the overlay over the given coordinates - _placementCoords: function( desired ) { - return this._calculateFinalLocation( desired, this._clampPopupWidth() ); - }, - - _createPrerequisites: function( screenPrerequisite, containerPrerequisite, whenDone ) { - var prerequisites, - self = this; - - // It is important to maintain both the local variable prerequisites and - // self._prerequisites. The local variable remains in the closure of the - // functions which call the callbacks passed in. The comparison between the - // local variable and self._prerequisites is necessary, because once a - // function has been passed to .animationComplete() it will be called next - // time an animation completes, even if that's not the animation whose end - // the function was supposed to catch (for example, if an abort happens - // during the opening animation, the .animationComplete handler is not - // called for that animation anymore, but the handler remains attached, so - // it is called the next time the popup is opened - making it stale. - // Comparing the local variable prerequisites to the widget-level variable - // self._prerequisites ensures that callbacks triggered by a stale - // .animationComplete will be ignored. - - prerequisites = { - screen: $.Deferred(), - container: $.Deferred() - }; - - prerequisites.screen.then( function() { - if ( prerequisites === self._prerequisites ) { - screenPrerequisite(); - } - }); - - prerequisites.container.then( function() { - if ( prerequisites === self._prerequisites ) { - containerPrerequisite(); - } - }); - - $.when( prerequisites.screen, prerequisites.container ).done( function() { - if ( prerequisites === self._prerequisites ) { - self._prerequisites = null; - whenDone(); - } - }); - - self._prerequisites = prerequisites; - }, - - _animate: function( args ) { - // NOTE before removing the default animation of the screen - // this had an animate callback that would resolve the deferred - // now the deferred is resolved immediately - // TODO remove the dependency on the screen deferred - this._ui.screen - .removeClass( args.classToRemove ) - .addClass( args.screenClassToAdd ); - - args.prerequisites.screen.resolve(); - - if ( args.transition && args.transition !== "none" ) { - if ( args.applyTransition ) { - this._applyTransition( args.transition ); - } - if ( this._fallbackTransition ) { - this._ui.container - .addClass( args.containerClassToAdd ) - .removeClass( args.classToRemove ) - .animationComplete( $.proxy( args.prerequisites.container, "resolve" ) ); - return; - } - } - this._ui.container.removeClass( args.classToRemove ); - args.prerequisites.container.resolve(); - }, - - // The desired coordinates passed in will be returned untouched if no reference element can be identified via - // desiredPosition.positionTo. Nevertheless, this function ensures that its return value always contains valid - // x and y coordinates by specifying the center middle of the window if the coordinates are absent. - // options: { x: coordinate, y: coordinate, positionTo: string: "origin", "window", or jQuery selector - _desiredCoords: function( openOptions ) { - var offset, - dst = null, - windowCoordinates = getWindowCoordinates( this.window ), - x = openOptions.x, - y = openOptions.y, - pTo = openOptions.positionTo; - - // Establish which element will serve as the reference - if ( pTo && pTo !== "origin" ) { - if ( pTo === "window" ) { - x = windowCoordinates.cx / 2 + windowCoordinates.x; - y = windowCoordinates.cy / 2 + windowCoordinates.y; - } else { - try { - dst = $( pTo ); - } catch( err ) { - dst = null; - } - if ( dst ) { - dst.filter( ":visible" ); - if ( dst.length === 0 ) { - dst = null; - } - } - } - } - - // If an element was found, center over it - if ( dst ) { - offset = dst.offset(); - x = offset.left + dst.outerWidth() / 2; - y = offset.top + dst.outerHeight() / 2; - } - - // Make sure x and y are valid numbers - center over the window - if ( $.type( x ) !== "number" || isNaN( x ) ) { - x = windowCoordinates.cx / 2 + windowCoordinates.x; - } - if ( $.type( y ) !== "number" || isNaN( y ) ) { - y = windowCoordinates.cy / 2 + windowCoordinates.y; - } - - return { x: x, y: y }; - }, - - _reposition: function( openOptions ) { - // We only care about position-related parameters for repositioning - openOptions = { - x: openOptions.x, - y: openOptions.y, - positionTo: openOptions.positionTo - }; - this._trigger( "beforeposition", undefined, openOptions ); - this._ui.container.offset( this._placementCoords( this._desiredCoords( openOptions ) ) ); - }, - - reposition: function( openOptions ) { - if ( this._isOpen ) { - this._reposition( openOptions ); - } - }, - - _safelyBlur: function( currentElement ){ - if ( currentElement !== this.window[ 0 ] && - currentElement.nodeName.toLowerCase() !== "body" ) { - $( currentElement ).blur(); - } - }, - - _openPrerequisitesComplete: function() { - var id = this.element.attr( "id" ), - firstFocus = this._ui.container.find( ":focusable" ).first(); - - this._ui.container.addClass( "ui-popup-active" ); - this._isOpen = true; - this._resizeScreen(); - - // Check to see if currElement is not a child of the container. If it's not, blur - if ( !$.contains( this._ui.container[ 0 ], this.document[ 0 ].activeElement ) ) { - this._safelyBlur( this.document[ 0 ].activeElement ); - } - if ( firstFocus.length > 0 ) { - this._ui.focusElement = firstFocus; - } - this._ignoreResizeEvents(); - if ( id ) { - this.document.find( "[aria-haspopup='true'][aria-owns='" + id + "']" ).attr( "aria-expanded", true ); - } - this._trigger( "afteropen" ); - }, - - _open: function( options ) { - var openOptions = $.extend( {}, this.options, options ), - // TODO move blacklist to private method - androidBlacklist = ( function() { - var ua = navigator.userAgent, - // Rendering engine is Webkit, and capture major version - wkmatch = ua.match( /AppleWebKit\/([0-9\.]+)/ ), - wkversion = !!wkmatch && wkmatch[ 1 ], - androidmatch = ua.match( /Android (\d+(?:\.\d+))/ ), - andversion = !!androidmatch && androidmatch[ 1 ], - chromematch = ua.indexOf( "Chrome" ) > -1; - - // Platform is Android, WebKit version is greater than 534.13 ( Android 3.2.1 ) and not Chrome. - if ( androidmatch !== null && andversion === "4.0" && wkversion && wkversion > 534.13 && !chromematch ) { - return true; - } - return false; - }()); - - // Count down to triggering "popupafteropen" - we have two prerequisites: - // 1. The popup window animation completes (container()) - // 2. The screen opacity animation completes (screen()) - this._createPrerequisites( - $.noop, - $.noop, - $.proxy( this, "_openPrerequisitesComplete" ) ); - - this._currentTransition = openOptions.transition; - this._applyTransition( openOptions.transition ); - - this._ui.screen.removeClass( "ui-screen-hidden" ); - this._ui.container.removeClass( "ui-popup-truncate" ); - - // Give applications a chance to modify the contents of the container before it appears - this._reposition( openOptions ); - - this._ui.container.removeClass( "ui-popup-hidden" ); - - if ( this.options.overlayTheme && androidBlacklist ) { - /* TODO: The native browser on Android 4.0.X ("Ice Cream Sandwich") suffers from an issue where the popup overlay appears to be z-indexed above the popup itself when certain other styles exist on the same page -- namely, any element set to `position: fixed` and certain types of input. These issues are reminiscent of previously uncovered bugs in older versions of Android's native browser: https://github.com/scottjehl/Device-Bugs/issues/3 - This fix closes the following bugs ( I use "closes" with reluctance, and stress that this issue should be revisited as soon as possible ): - https://github.com/jquery/jquery-mobile/issues/4816 - https://github.com/jquery/jquery-mobile/issues/4844 - https://github.com/jquery/jquery-mobile/issues/4874 - */ - - // TODO sort out why this._page isn't working - this.element.closest( ".ui-page" ).addClass( "ui-popup-open" ); - } - this._animate({ - additionalCondition: true, - transition: openOptions.transition, - classToRemove: "", - screenClassToAdd: "in", - containerClassToAdd: "in", - applyTransition: false, - prerequisites: this._prerequisites - }); - }, - - _closePrerequisiteScreen: function() { - this._ui.screen - .removeClass( "out" ) - .addClass( "ui-screen-hidden" ); - }, - - _closePrerequisiteContainer: function() { - this._ui.container - .removeClass( "reverse out" ) - .addClass( "ui-popup-hidden ui-popup-truncate" ) - .removeAttr( "style" ); - }, - - _closePrerequisitesDone: function() { - var container = this._ui.container, - id = this.element.attr( "id" ); - - // remove the global mutex for popups - $.mobile.popup.active = undefined; - - // Blur elements inside the container, including the container - $( ":focus", container[ 0 ] ).add( container[ 0 ] ).blur(); - - if ( id ) { - this.document.find( "[aria-haspopup='true'][aria-owns='" + id + "']" ).attr( "aria-expanded", false ); - } - - // alert users that the popup is closed - this._trigger( "afterclose" ); - }, - - _close: function( immediate ) { - this._ui.container.removeClass( "ui-popup-active" ); - this._page.removeClass( "ui-popup-open" ); - - this._isOpen = false; - - // Count down to triggering "popupafterclose" - we have two prerequisites: - // 1. The popup window reverse animation completes (container()) - // 2. The screen opacity animation completes (screen()) - this._createPrerequisites( - $.proxy( this, "_closePrerequisiteScreen" ), - $.proxy( this, "_closePrerequisiteContainer" ), - $.proxy( this, "_closePrerequisitesDone" ) ); - - this._animate( { - additionalCondition: this._ui.screen.hasClass( "in" ), - transition: ( immediate ? "none" : ( this._currentTransition ) ), - classToRemove: "in", - screenClassToAdd: "out", - containerClassToAdd: "reverse out", - applyTransition: true, - prerequisites: this._prerequisites - }); - }, - - _unenhance: function() { - if ( this.options.enhanced ) { - return; - } - - // Put the element back to where the placeholder was and remove the "ui-popup" class - this._setOptions( { theme: $.mobile.popup.prototype.options.theme } ); - this.element - // Cannot directly insertAfter() - we need to detach() first, because - // insertAfter() will do nothing if the payload div was not attached - // to the DOM at the time the widget was created, and so the payload - // will remain inside the container even after we call insertAfter(). - // If that happens and we remove the container a few lines below, we - // will cause an infinite recursion - #5244 - .detach() - .insertAfter( this._ui.placeholder ) - .removeClass( "ui-popup ui-overlay-shadow ui-corner-all ui-body-inherit" ); - this._ui.screen.remove(); - this._ui.container.remove(); - this._ui.placeholder.remove(); - }, - - _destroy: function() { - if ( $.mobile.popup.active === this ) { - this.element.one( "popupafterclose", $.proxy( this, "_unenhance" ) ); - this.close(); - } else { - this._unenhance(); - } - - return this; - }, - - _closePopup: function( theEvent, data ) { - var parsedDst, toUrl, - currentOptions = this.options, - immediate = false; - - if ( ( theEvent && theEvent.isDefaultPrevented() ) || $.mobile.popup.active !== this ) { - return; - } - - // restore location on screen - window.scrollTo( 0, this._scrollTop ); - - if ( theEvent && theEvent.type === "pagebeforechange" && data ) { - // Determine whether we need to rapid-close the popup, or whether we can - // take the time to run the closing transition - if ( typeof data.toPage === "string" ) { - parsedDst = data.toPage; - } else { - parsedDst = data.toPage.jqmData( "url" ); - } - parsedDst = $.mobile.path.parseUrl( parsedDst ); - toUrl = parsedDst.pathname + parsedDst.search + parsedDst.hash; - - if ( this._myUrl !== $.mobile.path.makeUrlAbsolute( toUrl ) ) { - // Going to a different page - close immediately - immediate = true; - } else { - theEvent.preventDefault(); - } - } - - // remove nav bindings - this.window.off( currentOptions.closeEvents ); - // unbind click handlers added when history is disabled - this.element.undelegate( currentOptions.closeLinkSelector, currentOptions.closeLinkEvents ); - - this._close( immediate ); - }, - - // any navigation event after a popup is opened should close the popup - // NOTE the pagebeforechange is bound to catch navigation events that don't - // alter the url (eg, dialogs from popups) - _bindContainerClose: function() { - this.window - .on( this.options.closeEvents, $.proxy( this, "_closePopup" ) ); - }, - - widget: function() { - return this._ui.container; - }, - - // TODO no clear deliniation of what should be here and - // what should be in _open. Seems to be "visual" vs "history" for now - open: function( options ) { - var url, hashkey, activePage, currentIsDialog, hasHash, urlHistory, - self = this, - currentOptions = this.options; - - // make sure open is idempotent - if ( $.mobile.popup.active || currentOptions.disabled ) { - return this; - } - - // set the global popup mutex - $.mobile.popup.active = this; - this._scrollTop = this.window.scrollTop(); - - // if history alteration is disabled close on navigate events - // and leave the url as is - if ( !( currentOptions.history ) ) { - self._open( options ); - self._bindContainerClose(); - - // When histoy is disabled we have to grab the data-rel - // back link clicks so we can close the popup instead of - // relying on history to do it for us - self.element - .delegate( currentOptions.closeLinkSelector, currentOptions.closeLinkEvents, function( theEvent ) { - self.close(); - theEvent.preventDefault(); - }); - - return this; - } - - // cache some values for min/readability - urlHistory = $.mobile.navigate.history; - hashkey = $.mobile.dialogHashKey; - activePage = $.mobile.activePage; - currentIsDialog = ( activePage ? activePage.hasClass( "ui-dialog" ) : false ); - this._myUrl = url = urlHistory.getActive().url; - hasHash = ( url.indexOf( hashkey ) > -1 ) && !currentIsDialog && ( urlHistory.activeIndex > 0 ); - - if ( hasHash ) { - self._open( options ); - self._bindContainerClose(); - return this; - } - - // if the current url has no dialog hash key proceed as normal - // otherwise, if the page is a dialog simply tack on the hash key - if ( url.indexOf( hashkey ) === -1 && !currentIsDialog ) { - url = url + (url.indexOf( "#" ) > -1 ? hashkey : "#" + hashkey); - } else { - url = $.mobile.path.parseLocation().hash + hashkey; - } - - // swallow the the initial navigation event, and bind for the next - this.window.one( "beforenavigate", function( theEvent ) { - theEvent.preventDefault(); - self._open( options ); - self._bindContainerClose(); - }); - - this.urlAltered = true; - $.mobile.navigate( url, { role: "dialog" } ); - - return this; - }, - - close: function() { - // make sure close is idempotent - if ( $.mobile.popup.active !== this ) { - return this; - } - - this._scrollTop = this.window.scrollTop(); - - if ( this.options.history && this.urlAltered ) { - $.mobile.back(); - this.urlAltered = false; - } else { - // simulate the nav bindings having fired - this._closePopup(); - } - - return this; - } -}); - -// TODO this can be moved inside the widget -$.mobile.popup.handleLink = function( $link ) { - var offset, - path = $.mobile.path, - - // NOTE make sure to get only the hash from the href because ie7 (wp7) - // returns the absolute href in this case ruining the element selection - popup = $( path.hashToSelector( path.parseUrl( $link.attr( "href" ) ).hash ) ).first(); - - if ( popup.length > 0 && popup.data( "mobile-popup" ) ) { - offset = $link.offset(); - popup.popup( "open", { - x: offset.left + $link.outerWidth() / 2, - y: offset.top + $link.outerHeight() / 2, - transition: $link.jqmData( "transition" ), - positionTo: $link.jqmData( "position-to" ) - }); - } - - //remove after delay - setTimeout( function() { - $link.removeClass( $.mobile.activeBtnClass ); - }, 300 ); -}; - -// TODO move inside _create -$.mobile.document.on( "pagebeforechange", function( theEvent, data ) { - if ( data.options.role === "popup" ) { - $.mobile.popup.handleLink( data.options.link ); - theEvent.preventDefault(); - } -}); - -})( jQuery ); - -/* -* custom "selectmenu" plugin -*/ - -(function( $, undefined ) { - -var unfocusableItemSelector = ".ui-disabled,.ui-state-disabled,.ui-li-divider,.ui-screen-hidden,:jqmData(role='placeholder')", - goToAdjacentItem = function( item, target, direction ) { - var adjacent = item[ direction + "All" ]() - .not( unfocusableItemSelector ) - .first(); - - // if there's a previous option, focus it - if ( adjacent.length ) { - target - .blur() - .attr( "tabindex", "-1" ); - - adjacent.find( "a" ).first().focus(); - } - }; - -$.widget( "mobile.selectmenu", $.mobile.selectmenu, { - _create: function() { - var o = this.options; - - // Custom selects cannot exist inside popups, so revert the "nativeMenu" - // option to true if a parent is a popup - o.nativeMenu = o.nativeMenu || ( this.element.parents( ":jqmData(role='popup'),:mobile-popup" ).length > 0 ); - - return this._super(); - }, - - _handleSelectFocus: function() { - this.element.blur(); - this.button.focus(); - }, - - _handleKeydown: function( event ) { - this._super( event ); - this._handleButtonVclickKeydown( event ); - }, - - _handleButtonVclickKeydown: function( event ) { - if ( this.options.disabled || this.isOpen || this.options.nativeMenu ) { - return; - } - - if (event.type === "vclick" || - event.keyCode && (event.keyCode === $.mobile.keyCode.ENTER || event.keyCode === $.mobile.keyCode.SPACE)) { - - this._decideFormat(); - if ( this.menuType === "overlay" ) { - this.button.attr( "href", "#" + this.popupId ).attr( "data-" + ( $.mobile.ns || "" ) + "rel", "popup" ); - } else { - this.button.attr( "href", "#" + this.dialogId ).attr( "data-" + ( $.mobile.ns || "" ) + "rel", "dialog" ); - } - this.isOpen = true; - // Do not prevent default, so the navigation may have a chance to actually open the chosen format - } - }, - - _handleListFocus: function( e ) { - var params = ( e.type === "focusin" ) ? - { tabindex: "0", event: "vmouseover" }: - { tabindex: "-1", event: "vmouseout" }; - - $( e.target ) - .attr( "tabindex", params.tabindex ) - .trigger( params.event ); - }, - - _handleListKeydown: function( event ) { - var target = $( event.target ), - li = target.closest( "li" ); - - // switch logic based on which key was pressed - switch ( event.keyCode ) { - // up or left arrow keys - case 38: - goToAdjacentItem( li, target, "prev" ); - return false; - // down or right arrow keys - case 40: - goToAdjacentItem( li, target, "next" ); - return false; - // If enter or space is pressed, trigger click - case 13: - case 32: - target.trigger( "click" ); - return false; - } - }, - - _handleMenuPageHide: function() { - - // After the dialog's done, we may want to trigger change if the value has actually changed - this._delayedTrigger(); - - // TODO centralize page removal binding / handling in the page plugin. - // Suggestion from @jblas to do refcounting - // - // TODO extremely confusing dependency on the open method where the pagehide.remove - // bindings are stripped to prevent the parent page from disappearing. The way - // we're keeping pages in the DOM right now sucks - // - // rebind the page remove that was unbound in the open function - // to allow for the parent page removal from actions other than the use - // of a dialog sized custom select - // - // doing this here provides for the back button on the custom select dialog - this.thisPage.page( "bindRemove" ); - }, - - _handleHeaderCloseClick: function() { - if ( this.menuType === "overlay" ) { - this.close(); - return false; - } - }, - - _handleListItemClick: function( event ) { - var listItem = $( event.target ).closest( "li" ), - - // Index of option tag to be selected - oldIndex = this.select[ 0 ].selectedIndex, - newIndex = $.mobile.getAttribute( listItem, "option-index" ), - option = this._selectOptions().eq( newIndex )[ 0 ]; - - // Toggle selected status on the tag for multi selects - option.selected = this.isMultiple ? !option.selected : true; - - // Toggle checkbox class for multiple selects - if ( this.isMultiple ) { - listItem.find( "a" ) - .toggleClass( "ui-checkbox-on", option.selected ) - .toggleClass( "ui-checkbox-off", !option.selected ); - } - - // If it's not a multiple select, trigger change after it has finished closing - if ( !this.isMultiple && oldIndex !== newIndex ) { - this._triggerChange = true; - } - - // Trigger change if it's a multiple select - // Hide custom select for single selects only - otherwise focus clicked item - // We need to grab the clicked item the hard way, because the list may have been rebuilt - if ( this.isMultiple ) { - this.select.trigger( "change" ); - this.list.find( "li:not(.ui-li-divider)" ).eq( newIndex ) - .find( "a" ).first().focus(); - } - else { - this.close(); - } - - event.preventDefault(); - }, - - build: function() { - var selectId, popupId, dialogId, label, thisPage, isMultiple, menuId, - themeAttr, overlayTheme, overlayThemeAttr, dividerThemeAttr, - menuPage, listbox, list, header, headerTitle, menuPageContent, - menuPageClose, headerClose, - o = this.options; - - if ( o.nativeMenu ) { - return this._super(); - } - - selectId = this.selectId; - popupId = selectId + "-listbox"; - dialogId = selectId + "-dialog"; - label = this.label; - thisPage = this.element.closest( ".ui-page" ); - isMultiple = this.element[ 0 ].multiple; - menuId = selectId + "-menu"; - themeAttr = o.theme ? ( " data-" + $.mobile.ns + "theme='" + o.theme + "'" ) : ""; - overlayTheme = o.overlayTheme || o.theme || null; - overlayThemeAttr = overlayTheme ? ( " data-" + $.mobile.ns + - "overlay-theme='" + overlayTheme + "'" ) : ""; - dividerThemeAttr = ( o.dividerTheme && isMultiple ) ? ( " data-" + $.mobile.ns + "divider-theme='" + o.dividerTheme + "'" ) : ""; - menuPage = $( "<div data-" + $.mobile.ns + "role='dialog' class='ui-selectmenu' id='" + dialogId + "'" + themeAttr + overlayThemeAttr + ">" + - "<div data-" + $.mobile.ns + "role='header'>" + - "<div class='ui-title'></div>"+ - "</div>"+ - "<div data-" + $.mobile.ns + "role='content'></div>"+ - "</div>" ); - listbox = $( "<div" + themeAttr + overlayThemeAttr + " id='" + popupId + - "' class='ui-selectmenu'></div>" ) - .insertAfter( this.select ) - .popup(); - list = $( "<ul class='ui-selectmenu-list' id='" + menuId + "' role='listbox' aria-labelledby='" + this.buttonId + "'" + themeAttr + dividerThemeAttr + "></ul>" ).appendTo( listbox ); - header = $( "<div class='ui-header ui-bar-" + ( o.theme ? o.theme : "inherit" ) + "'></div>" ).prependTo( listbox ); - headerTitle = $( "<h1 class='ui-title'></h1>" ).appendTo( header ); - - if ( this.isMultiple ) { - headerClose = $( "<a>", { - "role": "button", - "text": o.closeText, - "href": "#", - "class": "ui-btn ui-corner-all ui-btn-left ui-btn-icon-notext ui-icon-delete" - }).appendTo( header ); - } - - $.extend( this, { - selectId: selectId, - menuId: menuId, - popupId: popupId, - dialogId: dialogId, - thisPage: thisPage, - menuPage: menuPage, - label: label, - isMultiple: isMultiple, - theme: o.theme, - listbox: listbox, - list: list, - header: header, - headerTitle: headerTitle, - headerClose: headerClose, - menuPageContent: menuPageContent, - menuPageClose: menuPageClose, - placeholder: "" - }); - - // Create list from select, update state - this.refresh(); - - if ( this._origTabIndex === undefined ) { - // Map undefined to false, because this._origTabIndex === undefined - // indicates that we have not yet checked whether the select has - // originally had a tabindex attribute, whereas false indicates that - // we have checked the select for such an attribute, and have found - // none present. - this._origTabIndex = ( this.select[ 0 ].getAttribute( "tabindex" ) === null ) ? false : this.select.attr( "tabindex" ); - } - this.select.attr( "tabindex", "-1" ); - this._on( this.select, { focus : "_handleSelectFocus" } ); - - // Button events - this._on( this.button, { - vclick: "_handleButtonVclickKeydown" - }); - - // Events for list items - this.list.attr( "role", "listbox" ); - this._on( this.list, { - "focusin": "_handleListFocus", - "focusout": "_handleListFocus", - "keydown": "_handleListKeydown", - "click li:not(.ui-disabled,.ui-state-disabled,.ui-li-divider)": "_handleListItemClick" - }); - - // button refocus ensures proper height calculation - // by removing the inline style and ensuring page inclusion - this._on( this.menuPage, { pagehide: "_handleMenuPageHide" } ); - - // Events on the popup - this._on( this.listbox, { popupafterclose: "_popupClosed" } ); - - // Close button on small overlays - if ( this.isMultiple ) { - this._on( this.headerClose, { click: "_handleHeaderCloseClick" } ); - } - - return this; - }, - - _popupClosed: function() { - this.close(); - this._delayedTrigger(); - }, - - _delayedTrigger: function() { - if ( this._triggerChange ) { - this.element.trigger( "change" ); - } - this._triggerChange = false; - }, - - _isRebuildRequired: function() { - var list = this.list.find( "li" ), - options = this._selectOptions().not( ".ui-screen-hidden" ); - - // TODO exceedingly naive method to determine difference - // ignores value changes etc in favor of a forcedRebuild - // from the user in the refresh method - return options.text() !== list.text(); - }, - - selected: function() { - return this._selectOptions().filter( ":selected:not( :jqmData(placeholder='true') )" ); - }, - - refresh: function( force ) { - var self, indices; - - if ( this.options.nativeMenu ) { - return this._super( force ); - } - - self = this; - if ( force || this._isRebuildRequired() ) { - self._buildList(); - } - - indices = this.selectedIndices(); - - self.setButtonText(); - self.setButtonCount(); - - self.list.find( "li:not(.ui-li-divider)" ) - .find( "a" ).removeClass( $.mobile.activeBtnClass ).end() - .attr( "aria-selected", false ) - .each(function( i ) { - var item = $( this ); - if ( $.inArray( i, indices ) > -1 ) { - - // Aria selected attr - item.attr( "aria-selected", true ); - - // Multiple selects: add the "on" checkbox state to the icon - if ( self.isMultiple ) { - item.find( "a" ).removeClass( "ui-checkbox-off" ).addClass( "ui-checkbox-on" ); - } else { - if ( item.hasClass( "ui-screen-hidden" ) ) { - item.next().find( "a" ).addClass( $.mobile.activeBtnClass ); - } else { - item.find( "a" ).addClass( $.mobile.activeBtnClass ); - } - } - } else if ( self.isMultiple ) { - item.find( "a" ).removeClass( "ui-checkbox-on" ).addClass( "ui-checkbox-off" ); - } - }); - }, - - close: function() { - if ( this.options.disabled || !this.isOpen ) { - return; - } - - var self = this; - - if ( self.menuType === "page" ) { - self.menuPage.dialog( "close" ); - self.list.appendTo( self.listbox ); - } else { - self.listbox.popup( "close" ); - } - - self._focusButton(); - // allow the dialog to be closed again - self.isOpen = false; - }, - - open: function() { - this.button.click(); - }, - - _focusMenuItem: function() { - var selector = this.list.find( "a." + $.mobile.activeBtnClass ); - if ( selector.length === 0 ) { - selector = this.list.find( "li:not(" + unfocusableItemSelector + ") a.ui-btn" ); - } - selector.first().focus(); - }, - - _decideFormat: function() { - var self = this, - $window = this.window, - selfListParent = self.list.parent(), - menuHeight = selfListParent.outerHeight(), - scrollTop = $window.scrollTop(), - btnOffset = self.button.offset().top, - screenHeight = $window.height(); - - if ( menuHeight > screenHeight - 80 || !$.support.scrollTop ) { - - self.menuPage.appendTo( $.mobile.pageContainer ).page(); - self.menuPageContent = self.menuPage.find( ".ui-content" ); - self.menuPageClose = self.menuPage.find( ".ui-header a" ); - - // prevent the parent page from being removed from the DOM, - // otherwise the results of selecting a list item in the dialog - // fall into a black hole - self.thisPage.unbind( "pagehide.remove" ); - - //for WebOS/Opera Mini (set lastscroll using button offset) - if ( scrollTop === 0 && btnOffset > screenHeight ) { - self.thisPage.one( "pagehide", function() { - $( this ).jqmData( "lastScroll", btnOffset ); - }); - } - - self.menuPage.one( { - pageshow: $.proxy( this, "_focusMenuItem" ), - pagehide: $.proxy( this, "close" ) - }); - - self.menuType = "page"; - self.menuPageContent.append( self.list ); - self.menuPage - .find( "div .ui-title" ) - .text( self.label.getEncodedText() || self.placeholder ); - } else { - self.menuType = "overlay"; - - self.listbox.one( { popupafteropen: $.proxy( this, "_focusMenuItem" ) } ); - } - }, - - _buildList: function() { - var self = this, - o = this.options, - placeholder = this.placeholder, - needPlaceholder = true, - dataIcon = "false", - $options, numOptions, select, - dataPrefix = "data-" + $.mobile.ns, - dataIndexAttr = dataPrefix + "option-index", - dataIconAttr = dataPrefix + "icon", - dataRoleAttr = dataPrefix + "role", - dataPlaceholderAttr = dataPrefix + "placeholder", - fragment = document.createDocumentFragment(), - isPlaceholderItem = false, - optGroup, - i, - option, $option, parent, text, anchor, classes, - optLabel, divider, item; - - self.list.empty().filter( ".ui-listview" ).listview( "destroy" ); - $options = this._selectOptions(); - numOptions = $options.length; - select = this.select[ 0 ]; - - for ( i = 0; i < numOptions;i++, isPlaceholderItem = false) { - option = $options[i]; - $option = $( option ); - - // Do not create options based on ui-screen-hidden select options - if ( $option.hasClass( "ui-screen-hidden" ) ) { - continue; - } - - parent = option.parentNode; - classes = []; - - // Although using .text() here raises the risk that, when we later paste this into the - // list item we end up pasting possibly malicious things like <script> tags, that risk - // only arises if we do something like $( "<li><a href='#'>" + text + "</a></li>" ). We - // don't do that. We do document.createTextNode( text ) instead, which guarantees that - // whatever we paste in will end up as text, with characters like <, > and & escaped. - text = $option.text(); - anchor = document.createElement( "a" ); - anchor.setAttribute( "href", "#" ); - anchor.appendChild( document.createTextNode( text ) ); - - // Are we inside an optgroup? - if ( parent !== select && parent.nodeName.toLowerCase() === "optgroup" ) { - optLabel = parent.getAttribute( "label" ); - if ( optLabel !== optGroup ) { - divider = document.createElement( "li" ); - divider.setAttribute( dataRoleAttr, "list-divider" ); - divider.setAttribute( "role", "option" ); - divider.setAttribute( "tabindex", "-1" ); - divider.appendChild( document.createTextNode( optLabel ) ); - fragment.appendChild( divider ); - optGroup = optLabel; - } - } - - if ( needPlaceholder && ( !option.getAttribute( "value" ) || text.length === 0 || $option.jqmData( "placeholder" ) ) ) { - needPlaceholder = false; - isPlaceholderItem = true; - - // If we have identified a placeholder, record the fact that it was - // us who have added the placeholder to the option and mark it - // retroactively in the select as well - if ( null === option.getAttribute( dataPlaceholderAttr ) ) { - this._removePlaceholderAttr = true; - } - option.setAttribute( dataPlaceholderAttr, true ); - if ( o.hidePlaceholderMenuItems ) { - classes.push( "ui-screen-hidden" ); - } - if ( placeholder !== text ) { - placeholder = self.placeholder = text; - } - } - - item = document.createElement( "li" ); - if ( option.disabled ) { - classes.push( "ui-state-disabled" ); - item.setAttribute( "aria-disabled", true ); - } - item.setAttribute( dataIndexAttr, i ); - item.setAttribute( dataIconAttr, dataIcon ); - if ( isPlaceholderItem ) { - item.setAttribute( dataPlaceholderAttr, true ); - } - item.className = classes.join( " " ); - item.setAttribute( "role", "option" ); - anchor.setAttribute( "tabindex", "-1" ); - if ( this.isMultiple ) { - $( anchor ).addClass( "ui-btn ui-checkbox-off ui-btn-icon-right" ); - } - - item.appendChild( anchor ); - fragment.appendChild( item ); - } - - self.list[0].appendChild( fragment ); - - // Hide header if it's not a multiselect and there's no placeholder - if ( !this.isMultiple && !placeholder.length ) { - this.header.addClass( "ui-screen-hidden" ); - } else { - this.headerTitle.text( this.placeholder ); - } - - // Now populated, create listview - self.list.listview(); - }, - - _button: function() { - return this.options.nativeMenu ? - this._super() : - $( "<a>", { - "href": "#", - "role": "button", - // TODO value is undefined at creation - "id": this.buttonId, - "aria-haspopup": "true", - - // TODO value is undefined at creation - "aria-owns": this.menuId - }); - }, - - _destroy: function() { - - if ( !this.options.nativeMenu ) { - this.close(); - - // Restore the tabindex attribute to its original value - if ( this._origTabIndex !== undefined ) { - if ( this._origTabIndex !== false ) { - this.select.attr( "tabindex", this._origTabIndex ); - } else { - this.select.removeAttr( "tabindex" ); - } - } - - // Remove the placeholder attribute if we were the ones to add it - if ( this._removePlaceholderAttr ) { - this._selectOptions().removeAttr( "data-" + $.mobile.ns + "placeholder" ); - } - - // Remove the popup - this.listbox.remove(); - - // Remove the dialog - this.menuPage.remove(); - } - - // Chain up - this._super(); - } -}); - -})( jQuery ); - - -// buttonMarkup is deprecated as of 1.4.0 and will be removed in 1.5.0. - -(function( $, undefined ) { - -// General policy: Do not access data-* attributes except during enhancement. -// In all other cases we determine the state of the button exclusively from its -// className. That's why optionsToClasses expects a full complement of options, -// and the jQuery plugin completes the set of options from the default values. - -// Map classes to buttonMarkup boolean options - used in classNameToOptions() -var reverseBoolOptionMap = { - "ui-shadow" : "shadow", - "ui-corner-all" : "corners", - "ui-btn-inline" : "inline", - "ui-shadow-icon" : "iconshadow", /* TODO: Remove in 1.5 */ - "ui-mini" : "mini" - }, - getAttrFixed = function() { - var ret = $.mobile.getAttribute.apply( this, arguments ); - - return ( ret == null ? undefined : ret ); - }, - capitalLettersRE = /[A-Z]/g; - -// optionsToClasses: -// @options: A complete set of options to convert to class names. -// @existingClasses: extra classes to add to the result -// -// Converts @options to buttonMarkup classes and returns the result as an array -// that can be converted to an element's className with .join( " " ). All -// possible options must be set inside @options. Use $.fn.buttonMarkup.defaults -// to get a complete set and use $.extend to override your choice of options -// from that set. -function optionsToClasses( options, existingClasses ) { - var classes = existingClasses ? existingClasses : []; - - // Add classes to the array - first ui-btn - classes.push( "ui-btn" ); - - // If there is a theme - if ( options.theme ) { - classes.push( "ui-btn-" + options.theme ); - } - - // If there's an icon, add the icon-related classes - if ( options.icon ) { - classes = classes.concat([ - "ui-icon-" + options.icon, - "ui-btn-icon-" + options.iconpos - ]); - if ( options.iconshadow ) { - classes.push( "ui-shadow-icon" ); /* TODO: Remove in 1.5 */ - } - } - - // Add the appropriate class for each boolean option - if ( options.inline ) { - classes.push( "ui-btn-inline" ); - } - if ( options.shadow ) { - classes.push( "ui-shadow" ); - } - if ( options.corners ) { - classes.push( "ui-corner-all" ); - } - if ( options.mini ) { - classes.push( "ui-mini" ); - } - - // Create a string from the array and return it - return classes; -} - -// classNameToOptions: -// @classes: A string containing a .className-style space-separated class list -// -// Loops over @classes and calculates an options object based on the -// buttonMarkup-related classes it finds. It records unrecognized classes in an -// array. -// -// Returns: An object containing the following items: -// -// "options": buttonMarkup options found to be present because of the -// presence/absence of corresponding classes -// -// "unknownClasses": a string containing all the non-buttonMarkup-related -// classes found in @classes -// -// "alreadyEnhanced": A boolean indicating whether the ui-btn class was among -// those found to be present -function classNameToOptions( classes ) { - var idx, map, unknownClass, - alreadyEnhanced = false, - noIcon = true, - o = { - icon: "", - inline: false, - shadow: false, - corners: false, - iconshadow: false, - mini: false - }, - unknownClasses = []; - - classes = classes.split( " " ); - - // Loop over the classes - for ( idx = 0 ; idx < classes.length ; idx++ ) { - - // Assume it's an unrecognized class - unknownClass = true; - - // Recognize boolean options from the presence of classes - map = reverseBoolOptionMap[ classes[ idx ] ]; - if ( map !== undefined ) { - unknownClass = false; - o[ map ] = true; - - // Recognize the presence of an icon and establish the icon position - } else if ( classes[ idx ].indexOf( "ui-btn-icon-" ) === 0 ) { - unknownClass = false; - noIcon = false; - o.iconpos = classes[ idx ].substring( 12 ); - - // Establish which icon is present - } else if ( classes[ idx ].indexOf( "ui-icon-" ) === 0 ) { - unknownClass = false; - o.icon = classes[ idx ].substring( 8 ); - - // Establish the theme - this recognizes one-letter theme swatch names - } else if ( classes[ idx ].indexOf( "ui-btn-" ) === 0 && classes[ idx ].length === 8 ) { - unknownClass = false; - o.theme = classes[ idx ].substring( 7 ); - - // Recognize that this element has already been buttonMarkup-enhanced - } else if ( classes[ idx ] === "ui-btn" ) { - unknownClass = false; - alreadyEnhanced = true; - } - - // If this class has not been recognized, add it to the list - if ( unknownClass ) { - unknownClasses.push( classes[ idx ] ); - } - } - - // If a "ui-btn-icon-*" icon position class is absent there cannot be an icon - if ( noIcon ) { - o.icon = ""; - } - - return { - options: o, - unknownClasses: unknownClasses, - alreadyEnhanced: alreadyEnhanced - }; -} - -function camelCase2Hyphenated( c ) { - return "-" + c.toLowerCase(); -} - -// $.fn.buttonMarkup: -// DOM: gets/sets .className -// -// @options: options to apply to the elements in the jQuery object -// @overwriteClasses: boolean indicating whether to honour existing classes -// -// Calculates the classes to apply to the elements in the jQuery object based on -// the options passed in. If @overwriteClasses is true, it sets the className -// property of each element in the jQuery object to the buttonMarkup classes -// it calculates based on the options passed in. -// -// If you wish to preserve any classes that are already present on the elements -// inside the jQuery object, including buttonMarkup-related classes that were -// added by a previous call to $.fn.buttonMarkup() or during page enhancement -// then you should omit @overwriteClasses or set it to false. -$.fn.buttonMarkup = function( options, overwriteClasses ) { - var idx, data, el, retrievedOptions, optionKey, - defaults = $.fn.buttonMarkup.defaults; - - for ( idx = 0 ; idx < this.length ; idx++ ) { - el = this[ idx ]; - data = overwriteClasses ? - - // Assume this element is not enhanced and ignore its classes - { alreadyEnhanced: false, unknownClasses: [] } : - - // Otherwise analyze existing classes to establish existing options and - // classes - classNameToOptions( el.className ); - - retrievedOptions = $.extend( {}, - - // If the element already has the class ui-btn, then we assume that - // it has passed through buttonMarkup before - otherwise, the options - // returned by classNameToOptions do not correctly reflect the state of - // the element - ( data.alreadyEnhanced ? data.options : {} ), - - // Finally, apply the options passed in - options ); - - // If this is the first call on this element, retrieve remaining options - // from the data-attributes - if ( !data.alreadyEnhanced ) { - for ( optionKey in defaults ) { - if ( retrievedOptions[ optionKey ] === undefined ) { - retrievedOptions[ optionKey ] = getAttrFixed( el, - optionKey.replace( capitalLettersRE, camelCase2Hyphenated ) - ); - } - } - } - - el.className = optionsToClasses( - - // Merge all the options and apply them as classes - $.extend( {}, - - // The defaults form the basis - defaults, - - // Add the computed options - retrievedOptions - ), - - // ... and re-apply any unrecognized classes that were found - data.unknownClasses ).join( " " ); - if ( el.tagName.toLowerCase() !== "button" ) { - el.setAttribute( "role", "button" ); - } - } - - return this; -}; - -// buttonMarkup defaults. This must be a complete set, i.e., a value must be -// given here for all recognized options -$.fn.buttonMarkup.defaults = { - icon: "", - iconpos: "left", - theme: null, - inline: false, - shadow: true, - corners: true, - iconshadow: false, /* TODO: Remove in 1.5. Option deprecated in 1.4. */ - mini: false -}; - -$.extend( $.fn.buttonMarkup, { - initSelector: "a:jqmData(role='button'), .ui-bar > a, .ui-bar > :jqmData(role='controlgroup') > a, button:not(:jqmData(role='navbar') button)" -}); - -})( jQuery ); - - -(function( $, undefined ) { - -$.widget( "mobile.controlgroup", $.extend( { - options: { - enhanced: false, - theme: null, - shadow: false, - corners: true, - excludeInvisible: true, - type: "vertical", - mini: false - }, - - _create: function() { - var elem = this.element, - opts = this.options, - keepNative = $.mobile.page.prototype.keepNativeSelector(); - - // Run buttonmarkup - if ( $.fn.buttonMarkup ) { - this.element - .find( $.fn.buttonMarkup.initSelector ) - .not( keepNative ) - .buttonMarkup(); - } - // Enhance child widgets - $.each( this._childWidgets, $.proxy( function( number, widgetName ) { - if ( $.mobile[ widgetName ] ) { - this.element - .find( $.mobile[ widgetName ].initSelector ) - .not( keepNative )[ widgetName ](); - } - }, this )); - - $.extend( this, { - _ui: null, - _initialRefresh: true - }); - - if ( opts.enhanced ) { - this._ui = { - groupLegend: elem.children( ".ui-controlgroup-label" ).children(), - childWrapper: elem.children( ".ui-controlgroup-controls" ) - }; - } else { - this._ui = this._enhance(); - } - - }, - - _childWidgets: [ "checkboxradio", "selectmenu", "button" ], - - _themeClassFromOption: function( value ) { - return ( value ? ( value === "none" ? "" : "ui-group-theme-" + value ) : "" ); - }, - - _enhance: function() { - var elem = this.element, - opts = this.options, - ui = { - groupLegend: elem.children( "legend" ), - childWrapper: elem - .addClass( "ui-controlgroup " + - "ui-controlgroup-" + - ( opts.type === "horizontal" ? "horizontal" : "vertical" ) + " " + - this._themeClassFromOption( opts.theme ) + " " + - ( opts.corners ? "ui-corner-all " : "" ) + - ( opts.mini ? "ui-mini " : "" ) ) - .wrapInner( "<div " + - "class='ui-controlgroup-controls " + - ( opts.shadow === true ? "ui-shadow" : "" ) + "'></div>" ) - .children() - }; - - if ( ui.groupLegend.length > 0 ) { - $( "<div role='heading' class='ui-controlgroup-label'></div>" ) - .append( ui.groupLegend ) - .prependTo( elem ); - } - - return ui; - }, - - _init: function() { - this.refresh(); - }, - - _setOptions: function( options ) { - var callRefresh, returnValue, - elem = this.element; - - // Must have one of horizontal or vertical - if ( options.type !== undefined ) { - elem - .removeClass( "ui-controlgroup-horizontal ui-controlgroup-vertical" ) - .addClass( "ui-controlgroup-" + ( options.type === "horizontal" ? "horizontal" : "vertical" ) ); - callRefresh = true; - } - - if ( options.theme !== undefined ) { - elem - .removeClass( this._themeClassFromOption( this.options.theme ) ) - .addClass( this._themeClassFromOption( options.theme ) ); - } - - if ( options.corners !== undefined ) { - elem.toggleClass( "ui-corner-all", options.corners ); - } - - if ( options.mini !== undefined ) { - elem.toggleClass( "ui-mini", options.mini ); - } - - if ( options.shadow !== undefined ) { - this._ui.childWrapper.toggleClass( "ui-shadow", options.shadow ); - } - - if ( options.excludeInvisible !== undefined ) { - this.options.excludeInvisible = options.excludeInvisible; - callRefresh = true; - } - - returnValue = this._super( options ); - - if ( callRefresh ) { - this.refresh(); - } - - return returnValue; - }, - - container: function() { - return this._ui.childWrapper; - }, - - refresh: function() { - var $el = this.container(), - els = $el.find( ".ui-btn" ).not( ".ui-slider-handle" ), - create = this._initialRefresh; - if ( $.mobile.checkboxradio ) { - $el.find( ":mobile-checkboxradio" ).checkboxradio( "refresh" ); - } - this._addFirstLastClasses( els, - this.options.excludeInvisible ? this._getVisibles( els, create ) : els, - create ); - this._initialRefresh = false; - }, - - // Caveat: If the legend is not the first child of the controlgroup at enhance - // time, it will be after _destroy(). - _destroy: function() { - var ui, buttons, - opts = this.options; - - if ( opts.enhanced ) { - return this; - } - - ui = this._ui; - buttons = this.element - .removeClass( "ui-controlgroup " + - "ui-controlgroup-horizontal ui-controlgroup-vertical ui-corner-all ui-mini " + - this._themeClassFromOption( opts.theme ) ) - .find( ".ui-btn" ) - .not( ".ui-slider-handle" ); - - this._removeFirstLastClasses( buttons ); - - ui.groupLegend.unwrap(); - ui.childWrapper.children().unwrap(); - } -}, $.mobile.behaviors.addFirstLastClasses ) ); - -})(jQuery); - -(function( $, undefined ) { - - $.widget( "mobile.toolbar", { - initSelector: ":jqmData(role='footer'), :jqmData(role='header')", - - options: { - theme: null, - addBackBtn: false, - backBtnTheme: null, - backBtnText: "Back" - }, - - _create: function() { - var leftbtn, rightbtn, - role = this.element.is( ":jqmData(role='header')" ) ? "header" : "footer", - page = this.element.closest( ".ui-page" ); - if ( page.length === 0 ) { - page = false; - this._on( this.document, { - "pageshow": "refresh" - }); - } - $.extend( this, { - role: role, - page: page, - leftbtn: leftbtn, - rightbtn: rightbtn - }); - this.element.attr( "role", role === "header" ? "banner" : "contentinfo" ).addClass( "ui-" + role ); - this.refresh(); - this._setOptions( this.options ); - }, - _setOptions: function( o ) { - if ( o.addBackBtn !== undefined ) { - this._updateBackButton(); - } - if ( o.backBtnTheme != null ) { - this.element - .find( ".ui-toolbar-back-btn" ) - .addClass( "ui-btn ui-btn-" + o.backBtnTheme ); - } - if ( o.backBtnText !== undefined ) { - this.element.find( ".ui-toolbar-back-btn .ui-btn-text" ).text( o.backBtnText ); - } - if ( o.theme !== undefined ) { - var currentTheme = this.options.theme ? this.options.theme : "inherit", - newTheme = o.theme ? o.theme : "inherit"; - - this.element.removeClass( "ui-bar-" + currentTheme ).addClass( "ui-bar-" + newTheme ); - } - - this._super( o ); - }, - refresh: function() { - if ( this.role === "header" ) { - this._addHeaderButtonClasses(); - } - if ( !this.page ) { - this._setRelative(); - if ( this.role === "footer" ) { - this.element.appendTo( "body" ); - } else if ( this.role === "header" ) { - this._updateBackButton(); - } - } - this._addHeadingClasses(); - this._btnMarkup(); - }, - - //we only want this to run on non fixed toolbars so make it easy to override - _setRelative: function() { - $( "[data-"+ $.mobile.ns + "role='page']" ).css({ "position": "relative" }); - }, - - // Deprecated in 1.4. As from 1.5 button classes have to be present in the markup. - _btnMarkup: function() { - this.element - .children( "a" ) - .filter( ":not([data-" + $.mobile.ns + "role='none'])" ) - .attr( "data-" + $.mobile.ns + "role", "button" ); - this.element.trigger( "create" ); - }, - // Deprecated in 1.4. As from 1.5 ui-btn-left/right classes have to be present in the markup. - _addHeaderButtonClasses: function() { - var headerAnchors = this.element.children( "a, button" ); - - // Do not mistake a back button for a left toolbar button - this.leftbtn = headerAnchors.hasClass( "ui-btn-left" ) && - !headerAnchors.hasClass( "ui-toolbar-back-btn" ); - - this.rightbtn = headerAnchors.hasClass( "ui-btn-right" ); - - // Filter out right buttons and back buttons - this.leftbtn = this.leftbtn || - headerAnchors.eq( 0 ) - .not( ".ui-btn-right,.ui-toolbar-back-btn" ) - .addClass( "ui-btn-left" ) - .length; - - this.rightbtn = this.rightbtn || headerAnchors.eq( 1 ).addClass( "ui-btn-right" ).length; - }, - _updateBackButton: function() { - var backButton, - options = this.options, - theme = options.backBtnTheme || options.theme; - - // Retrieve the back button or create a new, empty one - backButton = this._backButton = ( this._backButton || {} ); - - // We add a back button only if the option to do so is on - if ( this.options.addBackBtn && - - // This must also be a header toolbar - this.role === "header" && - - // There must be multiple pages in the DOM - $( ".ui-page" ).length > 1 && - ( this.page ? - - // If the toolbar is internal the page's URL must differ from the hash - ( this.page[ 0 ].getAttribute( "data-" + $.mobile.ns + "url" ) !== - $.mobile.path.stripHash( location.hash ) ) : - - // Otherwise, if the toolbar is external there must be at least one - // history item to which one can go back - ( $.mobile.navigate && $.mobile.navigate.history && - $.mobile.navigate.history.activeIndex > 0 ) ) && - - // The toolbar does not have a left button - !this.leftbtn ) { - - // Skip back button creation if one is already present - if ( !backButton.attached ) { - this.backButton = backButton.element = ( backButton.element || - $( "<a role='button' href='javascript:void(0);' " + - "class='ui-btn ui-corner-all ui-shadow ui-btn-left " + - ( theme ? "ui-btn-" + theme + " " : "" ) + - "ui-toolbar-back-btn ui-icon-carat-l ui-btn-icon-left' " + - "data-" + $.mobile.ns + "rel='back'>" + options.backBtnText + - "</a>" ) ) - .prependTo( this.element ); - backButton.attached = true; - } - - // If we are not adding a back button, then remove the one present, if any - } else if ( backButton.element ) { - backButton.element.detach(); - backButton.attached = false; - } - }, - _addHeadingClasses: function() { - this.element.children( "h1, h2, h3, h4, h5, h6" ) - .addClass( "ui-title" ) - // Regardless of h element number in src, it becomes h1 for the enhanced page - .attr({ - "role": "heading", - "aria-level": "1" - }); - }, - _destroy: function() { - var currentTheme; - - this.element.children( "h1, h2, h3, h4, h5, h6" ) - .removeClass( "ui-title" ) - .removeAttr( "role" ) - .removeAttr( "aria-level" ); - - if ( this.role === "header" ) { - this.element.children( "a, button" ) - .removeClass( "ui-btn-left ui-btn-right ui-btn ui-shadow ui-corner-all" ); - if ( this.backButton) { - this.backButton.remove(); - } - } - - currentTheme = this.options.theme ? this.options.theme : "inherit"; - this.element.removeClass( "ui-bar-" + currentTheme ); - - this.element.removeClass( "ui-" + this.role ).removeAttr( "role" ); - } - }); - -})( jQuery ); - -(function( $, undefined ) { - - $.widget( "mobile.toolbar", $.mobile.toolbar, { - options: { - position:null, - visibleOnPageShow: true, - disablePageZoom: true, - transition: "slide", //can be none, fade, slide (slide maps to slideup or slidedown) - fullscreen: false, - tapToggle: true, - tapToggleBlacklist: "a, button, input, select, textarea, .ui-header-fixed, .ui-footer-fixed, .ui-flipswitch, .ui-popup, .ui-panel, .ui-panel-dismiss-open", - hideDuringFocus: "input, textarea, select", - updatePagePadding: true, - trackPersistentToolbars: true, - - // Browser detection! Weeee, here we go... - // Unfortunately, position:fixed is costly, not to mention probably impossible, to feature-detect accurately. - // Some tests exist, but they currently return false results in critical devices and browsers, which could lead to a broken experience. - // Testing fixed positioning is also pretty obtrusive to page load, requiring injected elements and scrolling the window - // The following function serves to rule out some popular browsers with known fixed-positioning issues - // This is a plugin option like any other, so feel free to improve or overwrite it - supportBlacklist: function() { - return !$.support.fixedPosition; - } - }, - - _create: function() { - this._super(); - this.pagecontainer = $( ":mobile-pagecontainer" ); - if ( this.options.position === "fixed" && !this.options.supportBlacklist() ) { - this._makeFixed(); - } - }, - - _makeFixed: function() { - this.element.addClass( "ui-"+ this.role +"-fixed" ); - this.updatePagePadding(); - this._addTransitionClass(); - this._bindPageEvents(); - this._bindToggleHandlers(); - }, - - _setOptions: function( o ) { - if ( o.position === "fixed" && this.options.position !== "fixed" ) { - this._makeFixed(); - } - if ( this.options.position === "fixed" && !this.options.supportBlacklist() ) { - var $page = ( !!this.page )? this.page: ( $(".ui-page-active").length > 0 )? $(".ui-page-active"): $(".ui-page").eq(0); - - if ( o.fullscreen !== undefined) { - if ( o.fullscreen ) { - this.element.addClass( "ui-"+ this.role +"-fullscreen" ); - $page.addClass( "ui-page-" + this.role + "-fullscreen" ); - } - // If not fullscreen, add class to page to set top or bottom padding - else { - this.element.removeClass( "ui-"+ this.role +"-fullscreen" ); - $page.removeClass( "ui-page-" + this.role + "-fullscreen" ).addClass( "ui-page-" + this.role+ "-fixed" ); - } - } - } - this._super(o); - }, - - _addTransitionClass: function() { - var tclass = this.options.transition; - - if ( tclass && tclass !== "none" ) { - // use appropriate slide for header or footer - if ( tclass === "slide" ) { - tclass = this.element.hasClass( "ui-header" ) ? "slidedown" : "slideup"; - } - - this.element.addClass( tclass ); - } - }, - - _bindPageEvents: function() { - var page = ( !!this.page )? this.element.closest( ".ui-page" ): this.document; - //page event bindings - // Fixed toolbars require page zoom to be disabled, otherwise usability issues crop up - // This method is meant to disable zoom while a fixed-positioned toolbar page is visible - this._on( page , { - "pagebeforeshow": "_handlePageBeforeShow", - "webkitAnimationStart":"_handleAnimationStart", - "animationstart":"_handleAnimationStart", - "updatelayout": "_handleAnimationStart", - "pageshow": "_handlePageShow", - "pagebeforehide": "_handlePageBeforeHide" - }); - }, - - _handlePageBeforeShow: function( ) { - var o = this.options; - if ( o.disablePageZoom ) { - $.mobile.zoom.disable( true ); - } - if ( !o.visibleOnPageShow ) { - this.hide( true ); - } - }, - - _handleAnimationStart: function() { - if ( this.options.updatePagePadding ) { - this.updatePagePadding( ( !!this.page )? this.page: ".ui-page-active" ); - } - }, - - _handlePageShow: function() { - this.updatePagePadding( ( !!this.page )? this.page: ".ui-page-active" ); - if ( this.options.updatePagePadding ) { - this._on( this.window, { "throttledresize": "updatePagePadding" } ); - } - }, - - _handlePageBeforeHide: function( e, ui ) { - var o = this.options, - thisFooter, thisHeader, nextFooter, nextHeader; - - if ( o.disablePageZoom ) { - $.mobile.zoom.enable( true ); - } - if ( o.updatePagePadding ) { - this._off( this.window, "throttledresize" ); - } - - if ( o.trackPersistentToolbars ) { - thisFooter = $( ".ui-footer-fixed:jqmData(id)", this.page ); - thisHeader = $( ".ui-header-fixed:jqmData(id)", this.page ); - nextFooter = thisFooter.length && ui.nextPage && $( ".ui-footer-fixed:jqmData(id='" + thisFooter.jqmData( "id" ) + "')", ui.nextPage ) || $(); - nextHeader = thisHeader.length && ui.nextPage && $( ".ui-header-fixed:jqmData(id='" + thisHeader.jqmData( "id" ) + "')", ui.nextPage ) || $(); - - if ( nextFooter.length || nextHeader.length ) { - - nextFooter.add( nextHeader ).appendTo( $.mobile.pageContainer ); - - ui.nextPage.one( "pageshow", function() { - nextHeader.prependTo( this ); - nextFooter.appendTo( this ); - }); - } - } - }, - - _visible: true, - - // This will set the content element's top or bottom padding equal to the toolbar's height - updatePagePadding: function( tbPage ) { - var $el = this.element, - header = ( this.role ==="header" ), - pos = parseFloat( $el.css( header ? "top" : "bottom" ) ); - - // This behavior only applies to "fixed", not "fullscreen" - if ( this.options.fullscreen ) { return; } - // tbPage argument can be a Page object or an event, if coming from throttled resize. - tbPage = ( tbPage && tbPage.type === undefined && tbPage ) || this.page || $el.closest( ".ui-page" ); - tbPage = ( !!this.page )? this.page: ".ui-page-active"; - $( tbPage ).css( "padding-" + ( header ? "top" : "bottom" ), $el.outerHeight() + pos ); - }, - - _useTransition: function( notransition ) { - var $win = this.window, - $el = this.element, - scroll = $win.scrollTop(), - elHeight = $el.height(), - pHeight = ( !!this.page )? $el.closest( ".ui-page" ).height():$(".ui-page-active").height(), - viewportHeight = $.mobile.getScreenHeight(); - - return !notransition && - ( this.options.transition && this.options.transition !== "none" && - ( - ( this.role === "header" && !this.options.fullscreen && scroll > elHeight ) || - ( this.role === "footer" && !this.options.fullscreen && scroll + viewportHeight < pHeight - elHeight ) - ) || this.options.fullscreen - ); - }, - - show: function( notransition ) { - var hideClass = "ui-fixed-hidden", - $el = this.element; - - if ( this._useTransition( notransition ) ) { - $el - .removeClass( "out " + hideClass ) - .addClass( "in" ) - .animationComplete(function () { - $el.removeClass( "in" ); - }); - } - else { - $el.removeClass( hideClass ); - } - this._visible = true; - }, - - hide: function( notransition ) { - var hideClass = "ui-fixed-hidden", - $el = this.element, - // if it's a slide transition, our new transitions need the reverse class as well to slide outward - outclass = "out" + ( this.options.transition === "slide" ? " reverse" : "" ); - - if ( this._useTransition( notransition ) ) { - $el - .addClass( outclass ) - .removeClass( "in" ) - .animationComplete(function() { - $el.addClass( hideClass ).removeClass( outclass ); - }); - } - else { - $el.addClass( hideClass ).removeClass( outclass ); - } - this._visible = false; - }, - - toggle: function() { - this[ this._visible ? "hide" : "show" ](); - }, - - _bindToggleHandlers: function() { - var self = this, - o = self.options, - delayShow, delayHide, - isVisible = true, - page = ( !!this.page )? this.page: $(".ui-page"); - - // tap toggle - page - .bind( "vclick", function( e ) { - if ( o.tapToggle && !$( e.target ).closest( o.tapToggleBlacklist ).length ) { - self.toggle(); - } - }) - .bind( "focusin focusout", function( e ) { - //this hides the toolbars on a keyboard pop to give more screen room and prevent ios bug which - //positions fixed toolbars in the middle of the screen on pop if the input is near the top or - //bottom of the screen addresses issues #4410 Footer navbar moves up when clicking on a textbox in an Android environment - //and issue #4113 Header and footer change their position after keyboard popup - iOS - //and issue #4410 Footer navbar moves up when clicking on a textbox in an Android environment - if ( screen.width < 1025 && $( e.target ).is( o.hideDuringFocus ) && !$( e.target ).closest( ".ui-header-fixed, .ui-footer-fixed" ).length ) { - //Fix for issue #4724 Moving through form in Mobile Safari with "Next" and "Previous" system - //controls causes fixed position, tap-toggle false Header to reveal itself - // isVisible instead of self._visible because the focusin and focusout events fire twice at the same time - // Also use a delay for hiding the toolbars because on Android native browser focusin is direclty followed - // by a focusout when a native selects opens and the other way around when it closes. - if ( e.type === "focusout" && !isVisible ) { - isVisible = true; - //wait for the stack to unwind and see if we have jumped to another input - clearTimeout( delayHide ); - delayShow = setTimeout( function() { - self.show(); - }, 0 ); - } else if ( e.type === "focusin" && !!isVisible ) { - //if we have jumped to another input clear the time out to cancel the show. - clearTimeout( delayShow ); - isVisible = false; - delayHide = setTimeout( function() { - self.hide(); - }, 0 ); - } - } - }); - }, - - _setRelative: function() { - if( this.options.position !== "fixed" ){ - $( "[data-"+ $.mobile.ns + "role='page']" ).css({ "position": "relative" }); - } - }, - - _destroy: function() { - var pageClasses, toolbarClasses, hasFixed, header, hasFullscreen, - page = this.pagecontainer.pagecontainer( "getActivePage" ); - - this._super(); - if ( this.options.position === "fixed" ) { - hasFixed = $( "body>.ui-" + this.role + "-fixed" ) - .add( page.find( ".ui-" + this.options.role + "-fixed" ) ) - .not( this.element ).length > 0; - hasFullscreen = $( "body>.ui-" + this.role + "-fixed" ) - .add( page.find( ".ui-" + this.options.role + "-fullscreen" ) ) - .not( this.element ).length > 0; - toolbarClasses = "ui-header-fixed ui-footer-fixed ui-header-fullscreen in out" + - " ui-footer-fullscreen fade slidedown slideup ui-fixed-hidden"; - this.element.removeClass( toolbarClasses ); - if ( !hasFullscreen ) { - pageClasses = "ui-page-" + this.role + "-fullscreen"; - } - if ( !hasFixed ) { - header = this.role === "header"; - pageClasses += " ui-page-" + this.role + "-fixed"; - page.css( "padding-" + ( header ? "top" : "bottom" ), "" ); - } - page.removeClass( pageClasses ); - } - } - - }); -})( jQuery ); - -(function( $, undefined ) { - $.widget( "mobile.toolbar", $.mobile.toolbar, { - - _makeFixed: function() { - this._super(); - this._workarounds(); - }, - - //check the browser and version and run needed workarounds - _workarounds: function() { - var ua = navigator.userAgent, - platform = navigator.platform, - // Rendering engine is Webkit, and capture major version - wkmatch = ua.match( /AppleWebKit\/([0-9]+)/ ), - wkversion = !!wkmatch && wkmatch[ 1 ], - os = null, - self = this; - //set the os we are working in if it dosent match one with workarounds return - if ( platform.indexOf( "iPhone" ) > -1 || platform.indexOf( "iPad" ) > -1 || platform.indexOf( "iPod" ) > -1 ) { - os = "ios"; - } else if ( ua.indexOf( "Android" ) > -1 ) { - os = "android"; - } else { - return; - } - //check os version if it dosent match one with workarounds return - if ( os === "ios" ) { - //iOS workarounds - self._bindScrollWorkaround(); - } else if ( os === "android" && wkversion && wkversion < 534 ) { - //Android 2.3 run all Android 2.3 workaround - self._bindScrollWorkaround(); - self._bindListThumbWorkaround(); - } else { - return; - } - }, - - //Utility class for checking header and footer positions relative to viewport - _viewportOffset: function() { - var $el = this.element, - header = $el.hasClass( "ui-header" ), - offset = Math.abs( $el.offset().top - this.window.scrollTop() ); - if ( !header ) { - offset = Math.round( offset - this.window.height() + $el.outerHeight() ) - 60; - } - return offset; - }, - - //bind events for _triggerRedraw() function - _bindScrollWorkaround: function() { - var self = this; - //bind to scrollstop and check if the toolbars are correctly positioned - this._on( this.window, { scrollstop: function() { - var viewportOffset = self._viewportOffset(); - //check if the header is visible and if its in the right place - if ( viewportOffset > 2 && self._visible ) { - self._triggerRedraw(); - } - }}); - }, - - //this addresses issue #4250 Persistent footer instability in v1.1 with long select lists in Android 2.3.3 - //and issue #3748 Android 2.x: Page transitions broken when fixed toolbars used - //the absolutely positioned thumbnail in a list view causes problems with fixed position buttons above in a nav bar - //setting the li's to -webkit-transform:translate3d(0,0,0); solves this problem to avoide potential issues in other - //platforms we scope this with the class ui-android-2x-fix - _bindListThumbWorkaround: function() { - this.element.closest( ".ui-page" ).addClass( "ui-android-2x-fixed" ); - }, - //this addresses issues #4337 Fixed header problem after scrolling content on iOS and Android - //and device bugs project issue #1 Form elements can lose click hit area in position: fixed containers. - //this also addresses not on fixed toolbars page in docs - //adding 1px of padding to the bottom then removing it causes a "redraw" - //which positions the toolbars correctly (they will always be visually correct) - _triggerRedraw: function() { - var paddingBottom = parseFloat( $( ".ui-page-active" ).css( "padding-bottom" ) ); - //trigger page redraw to fix incorrectly positioned fixed elements - $( ".ui-page-active" ).css( "padding-bottom", ( paddingBottom + 1 ) + "px" ); - //if the padding is reset with out a timeout the reposition will not occure. - //this is independant of JQM the browser seems to need the time to react. - setTimeout( function() { - $( ".ui-page-active" ).css( "padding-bottom", paddingBottom + "px" ); - }, 0 ); - }, - - destroy: function() { - this._super(); - //Remove the class we added to the page previously in android 2.x - this.element.closest( ".ui-page-active" ).removeClass( "ui-android-2x-fix" ); - } - }); - -})( jQuery ); - - -( function( $, undefined ) { - -var ieHack = ( $.mobile.browser.oldIE && $.mobile.browser.oldIE <= 8 ), - uiTemplate = $( - "<div class='ui-popup-arrow-guide'></div>" + - "<div class='ui-popup-arrow-container" + ( ieHack ? " ie" : "" ) + "'>" + - "<div class='ui-popup-arrow'></div>" + - "</div>" - ); - -function getArrow() { - var clone = uiTemplate.clone(), - gd = clone.eq( 0 ), - ct = clone.eq( 1 ), - ar = ct.children(); - - return { arEls: ct.add( gd ), gd: gd, ct: ct, ar: ar }; -} - -$.widget( "mobile.popup", $.mobile.popup, { - options: { - - arrow: "" - }, - - _create: function() { - var ar, - ret = this._super(); - - if ( this.options.arrow ) { - this._ui.arrow = ar = this._addArrow(); - } - - return ret; - }, - - _addArrow: function() { - var theme, - opts = this.options, - ar = getArrow(); - - theme = this._themeClassFromOption( "ui-body-", opts.theme ); - ar.ar.addClass( theme + ( opts.shadow ? " ui-overlay-shadow" : "" ) ); - ar.arEls.hide().appendTo( this.element ); - - return ar; - }, - - _unenhance: function() { - var ar = this._ui.arrow; - - if ( ar ) { - ar.arEls.remove(); - } - - return this._super(); - }, - - // Pretend to show an arrow described by @p and @dir and calculate the - // distance from the desired point. If a best-distance is passed in, return - // the minimum of the one passed in and the one calculated. - _tryAnArrow: function( p, dir, desired, s, best ) { - var result, r, diff, desiredForArrow = {}, tip = {}; - - // If the arrow has no wiggle room along the edge of the popup, it cannot - // be displayed along the requested edge without it sticking out. - if ( s.arFull[ p.dimKey ] > s.guideDims[ p.dimKey ] ) { - return best; - } - - desiredForArrow[ p.fst ] = desired[ p.fst ] + - ( s.arHalf[ p.oDimKey ] + s.menuHalf[ p.oDimKey ] ) * p.offsetFactor - - s.contentBox[ p.fst ] + ( s.clampInfo.menuSize[ p.oDimKey ] - s.contentBox[ p.oDimKey ] ) * p.arrowOffsetFactor; - desiredForArrow[ p.snd ] = desired[ p.snd ]; - - result = s.result || this._calculateFinalLocation( desiredForArrow, s.clampInfo ); - r = { x: result.left, y: result.top }; - - tip[ p.fst ] = r[ p.fst ] + s.contentBox[ p.fst ] + p.tipOffset; - tip[ p.snd ] = Math.max( result[ p.prop ] + s.guideOffset[ p.prop ] + s.arHalf[ p.dimKey ], - Math.min( result[ p.prop ] + s.guideOffset[ p.prop ] + s.guideDims[ p.dimKey ] - s.arHalf[ p.dimKey ], - desired[ p.snd ] ) ); - - diff = Math.abs( desired.x - tip.x ) + Math.abs( desired.y - tip.y ); - if ( !best || diff < best.diff ) { - // Convert tip offset to coordinates inside the popup - tip[ p.snd ] -= s.arHalf[ p.dimKey ] + result[ p.prop ] + s.contentBox[ p.snd ]; - best = { dir: dir, diff: diff, result: result, posProp: p.prop, posVal: tip[ p.snd ] }; - } - - return best; - }, - - _getPlacementState: function( clamp ) { - var offset, gdOffset, - ar = this._ui.arrow, - state = { - clampInfo: this._clampPopupWidth( !clamp ), - arFull: { cx: ar.ct.width(), cy: ar.ct.height() }, - guideDims: { cx: ar.gd.width(), cy: ar.gd.height() }, - guideOffset: ar.gd.offset() - }; - - offset = this.element.offset(); - - ar.gd.css( { left: 0, top: 0, right: 0, bottom: 0 } ); - gdOffset = ar.gd.offset(); - state.contentBox = { - x: gdOffset.left - offset.left, - y: gdOffset.top - offset.top, - cx: ar.gd.width(), - cy: ar.gd.height() - }; - ar.gd.removeAttr( "style" ); - - // The arrow box moves between guideOffset and guideOffset + guideDims - arFull - state.guideOffset = { left: state.guideOffset.left - offset.left, top: state.guideOffset.top - offset.top }; - state.arHalf = { cx: state.arFull.cx / 2, cy: state.arFull.cy / 2 }; - state.menuHalf = { cx: state.clampInfo.menuSize.cx / 2, cy: state.clampInfo.menuSize.cy / 2 }; - - return state; - }, - - _placementCoords: function( desired ) { - var state, best, params, elOffset, bgRef, - optionValue = this.options.arrow, - ar = this._ui.arrow; - - if ( !ar ) { - return this._super( desired ); - } - - ar.arEls.show(); - - bgRef = {}; - state = this._getPlacementState( true ); - params = { - "l": { fst: "x", snd: "y", prop: "top", dimKey: "cy", oDimKey: "cx", offsetFactor: 1, tipOffset: -state.arHalf.cx, arrowOffsetFactor: 0 }, - "r": { fst: "x", snd: "y", prop: "top", dimKey: "cy", oDimKey: "cx", offsetFactor: -1, tipOffset: state.arHalf.cx + state.contentBox.cx, arrowOffsetFactor: 1 }, - "b": { fst: "y", snd: "x", prop: "left", dimKey: "cx", oDimKey: "cy", offsetFactor: -1, tipOffset: state.arHalf.cy + state.contentBox.cy, arrowOffsetFactor: 1 }, - "t": { fst: "y", snd: "x", prop: "left", dimKey: "cx", oDimKey: "cy", offsetFactor: 1, tipOffset: -state.arHalf.cy, arrowOffsetFactor: 0 } - }; - - // Try each side specified in the options to see on which one the arrow - // should be placed such that the distance between the tip of the arrow and - // the desired coordinates is the shortest. - $.each( ( optionValue === true ? "l,t,r,b" : optionValue ).split( "," ), - $.proxy( function( key, value ) { - best = this._tryAnArrow( params[ value ], value, desired, state, best ); - }, this ) ); - - // Could not place the arrow along any of the edges - behave as if showing - // the arrow was turned off. - if ( !best ) { - ar.arEls.hide(); - return this._super( desired ); - } - - // Move the arrow into place - ar.ct - .removeClass( "ui-popup-arrow-l ui-popup-arrow-t ui-popup-arrow-r ui-popup-arrow-b" ) - .addClass( "ui-popup-arrow-" + best.dir ) - .removeAttr( "style" ).css( best.posProp, best.posVal ) - .show(); - - // Do not move/size the background div on IE, because we use the arrow div for background as well. - if ( !ieHack ) { - elOffset = this.element.offset(); - bgRef[ params[ best.dir ].fst ] = ar.ct.offset(); - bgRef[ params[ best.dir ].snd ] = { - left: elOffset.left + state.contentBox.x, - top: elOffset.top + state.contentBox.y - }; - } - - return best.result; - }, - - _setOptions: function( opts ) { - var newTheme, - oldTheme = this.options.theme, - ar = this._ui.arrow, - ret = this._super( opts ); - - if ( opts.arrow !== undefined ) { - if ( !ar && opts.arrow ) { - this._ui.arrow = this._addArrow(); - - // Important to return here so we don't set the same options all over - // again below. - return; - } else if ( ar && !opts.arrow ) { - ar.arEls.remove(); - this._ui.arrow = null; - } - } - - // Reassign with potentially new arrow - ar = this._ui.arrow; - - if ( ar ) { - if ( opts.theme !== undefined ) { - oldTheme = this._themeClassFromOption( "ui-body-", oldTheme ); - newTheme = this._themeClassFromOption( "ui-body-", opts.theme ); - ar.ar.removeClass( oldTheme ).addClass( newTheme ); - } - - if ( opts.shadow !== undefined ) { - ar.ar.toggleClass( "ui-overlay-shadow", opts.shadow ); - } - } - - return ret; - }, - - _destroy: function() { - var ar = this._ui.arrow; - - if ( ar ) { - ar.arEls.remove(); - } - - return this._super(); - } -}); - -})( jQuery ); - - -(function( $, undefined ) { - -$.widget( "mobile.panel", { - options: { - classes: { - panel: "ui-panel", - panelOpen: "ui-panel-open", - panelClosed: "ui-panel-closed", - panelFixed: "ui-panel-fixed", - panelInner: "ui-panel-inner", - modal: "ui-panel-dismiss", - modalOpen: "ui-panel-dismiss-open", - pageContainer: "ui-panel-page-container", - pageWrapper: "ui-panel-wrapper", - pageFixedToolbar: "ui-panel-fixed-toolbar", - pageContentPrefix: "ui-panel-page-content", /* Used for wrapper and fixed toolbars position, display and open classes. */ - animate: "ui-panel-animate" - }, - animate: true, - theme: null, - position: "left", - dismissible: true, - display: "reveal", //accepts reveal, push, overlay - swipeClose: true, - positionFixed: false - }, - - _closeLink: null, - _parentPage: null, - _page: null, - _modal: null, - _panelInner: null, - _wrapper: null, - _fixedToolbars: null, - - _create: function() { - var el = this.element, - parentPage = el.closest( ".ui-page, :jqmData(role='page')" ); - - // expose some private props to other methods - $.extend( this, { - _closeLink: el.find( ":jqmData(rel='close')" ), - _parentPage: ( parentPage.length > 0 ) ? parentPage : false, - _openedPage: null, - _page: this._getPage, - _panelInner: this._getPanelInner(), - _fixedToolbars: this._getFixedToolbars - }); - if ( this.options.display !== "overlay" ){ - this._getWrapper(); - } - this._addPanelClasses(); - - // if animating, add the class to do so - if ( $.support.cssTransform3d && !!this.options.animate ) { - this.element.addClass( this.options.classes.animate ); - } - - this._bindUpdateLayout(); - this._bindCloseEvents(); - this._bindLinkListeners(); - this._bindPageEvents(); - - if ( !!this.options.dismissible ) { - this._createModal(); - } - - this._bindSwipeEvents(); - }, - - _getPanelInner: function() { - var panelInner = this.element.find( "." + this.options.classes.panelInner ); - - if ( panelInner.length === 0 ) { - panelInner = this.element.children().wrapAll( "<div class='" + this.options.classes.panelInner + "' />" ).parent(); - } - - return panelInner; - }, - - _createModal: function() { - var self = this, - target = self._parentPage ? self._parentPage.parent() : self.element.parent(); - - self._modal = $( "<div class='" + self.options.classes.modal + "'></div>" ) - .on( "mousedown", function() { - self.close(); - }) - .appendTo( target ); - }, - - _getPage: function() { - var page = this._openedPage || this._parentPage || $( "." + $.mobile.activePageClass ); - - return page; - }, - - _getWrapper: function() { - var wrapper = this._page().find( "." + this.options.classes.pageWrapper ); - if ( wrapper.length === 0 ) { - wrapper = this._page().children( ".ui-header:not(.ui-header-fixed), .ui-content:not(.ui-popup), .ui-footer:not(.ui-footer-fixed)" ) - .wrapAll( "<div class='" + this.options.classes.pageWrapper + "'></div>" ) - .parent(); - } - - this._wrapper = wrapper; - }, - - _getFixedToolbars: function() { - var extFixedToolbars = $( "body" ).children( ".ui-header-fixed, .ui-footer-fixed" ), - intFixedToolbars = this._page().find( ".ui-header-fixed, .ui-footer-fixed" ), - fixedToolbars = extFixedToolbars.add( intFixedToolbars ).addClass( this.options.classes.pageFixedToolbar ); - - return fixedToolbars; - }, - - _getPosDisplayClasses: function( prefix ) { - return prefix + "-position-" + this.options.position + " " + prefix + "-display-" + this.options.display; - }, - - _getPanelClasses: function() { - var panelClasses = this.options.classes.panel + - " " + this._getPosDisplayClasses( this.options.classes.panel ) + - " " + this.options.classes.panelClosed + - " " + "ui-body-" + ( this.options.theme ? this.options.theme : "inherit" ); - - if ( !!this.options.positionFixed ) { - panelClasses += " " + this.options.classes.panelFixed; - } - - return panelClasses; - }, - - _addPanelClasses: function() { - this.element.addClass( this._getPanelClasses() ); - }, - - _handleCloseClick: function( event ) { - if ( !event.isDefaultPrevented() ) { - this.close(); - } - }, - - _bindCloseEvents: function() { - this._on( this._closeLink, { - "click": "_handleCloseClick" - }); - - this._on({ - "click a:jqmData(ajax='false')": "_handleCloseClick" - }); - }, - - _positionPanel: function( scrollToTop ) { - var self = this, - panelInnerHeight = self._panelInner.outerHeight(), - expand = panelInnerHeight > $.mobile.getScreenHeight(); - - if ( expand || !self.options.positionFixed ) { - if ( expand ) { - self._unfixPanel(); - $.mobile.resetActivePageHeight( panelInnerHeight ); - } - if ( scrollToTop ) { - this.window[ 0 ].scrollTo( 0, $.mobile.defaultHomeScroll ); - } - } else { - self._fixPanel(); - } - }, - - _bindFixListener: function() { - this._on( $( window ), { "throttledresize": "_positionPanel" }); - }, - - _unbindFixListener: function() { - this._off( $( window ), "throttledresize" ); - }, - - _unfixPanel: function() { - if ( !!this.options.positionFixed && $.support.fixedPosition ) { - this.element.removeClass( this.options.classes.panelFixed ); - } - }, - - _fixPanel: function() { - if ( !!this.options.positionFixed && $.support.fixedPosition ) { - this.element.addClass( this.options.classes.panelFixed ); - } - }, - - _bindUpdateLayout: function() { - var self = this; - - self.element.on( "updatelayout", function(/* e */) { - if ( self._open ) { - self._positionPanel(); - } - }); - }, - - _bindLinkListeners: function() { - this._on( "body", { - "click a": "_handleClick" - }); - - }, - - _handleClick: function( e ) { - var link, - panelId = this.element.attr( "id" ); - - if ( e.currentTarget.href.split( "#" )[ 1 ] === panelId && panelId !== undefined ) { - - e.preventDefault(); - link = $( e.target ); - if ( link.hasClass( "ui-btn" ) ) { - link.addClass( $.mobile.activeBtnClass ); - this.element.one( "panelopen panelclose", function() { - link.removeClass( $.mobile.activeBtnClass ); - }); - } - this.toggle(); - } - }, - - _bindSwipeEvents: function() { - var self = this, - area = self._modal ? self.element.add( self._modal ) : self.element; - - // on swipe, close the panel - if ( !!self.options.swipeClose ) { - if ( self.options.position === "left" ) { - area.on( "swipeleft.panel", function(/* e */) { - self.close(); - }); - } else { - area.on( "swiperight.panel", function(/* e */) { - self.close(); - }); - } - } - }, - - _bindPageEvents: function() { - var self = this; - - this.document - // Close the panel if another panel on the page opens - .on( "panelbeforeopen", function( e ) { - if ( self._open && e.target !== self.element[ 0 ] ) { - self.close(); - } - }) - // On escape, close? might need to have a target check too... - .on( "keyup.panel", function( e ) { - if ( e.keyCode === 27 && self._open ) { - self.close(); - } - }); - if ( !this._parentPage && this.options.display !== "overlay" ) { - this._on( this.document, { - "pageshow": function() { - this._openedPage = null; - this._getWrapper(); - } - }); - } - // Clean up open panels after page hide - if ( self._parentPage ) { - this.document.on( "pagehide", ":jqmData(role='page')", function() { - if ( self._open ) { - self.close( true ); - } - }); - } else { - this.document.on( "pagebeforehide", function() { - if ( self._open ) { - self.close( true ); - } - }); - } - }, - - // state storage of open or closed - _open: false, - _pageContentOpenClasses: null, - _modalOpenClasses: null, - - open: function( immediate ) { - if ( !this._open ) { - var self = this, - o = self.options, - - _openPanel = function() { - self._off( self.document , "panelclose" ); - self._page().jqmData( "panel", "open" ); - - if ( $.support.cssTransform3d && !!o.animate && o.display !== "overlay" ) { - self._wrapper.addClass( o.classes.animate ); - self._fixedToolbars().addClass( o.classes.animate ); - } - - if ( !immediate && $.support.cssTransform3d && !!o.animate ) { - ( self._wrapper || self.element ) - .animationComplete( complete, "transition" ); - } else { - setTimeout( complete, 0 ); - } - - if ( o.theme && o.display !== "overlay" ) { - self._page().parent() - .addClass( o.classes.pageContainer + "-themed " + o.classes.pageContainer + "-" + o.theme ); - } - - self.element - .removeClass( o.classes.panelClosed ) - .addClass( o.classes.panelOpen ); - - self._positionPanel( true ); - - self._pageContentOpenClasses = self._getPosDisplayClasses( o.classes.pageContentPrefix ); - - if ( o.display !== "overlay" ) { - self._page().parent().addClass( o.classes.pageContainer ); - self._wrapper.addClass( self._pageContentOpenClasses ); - self._fixedToolbars().addClass( self._pageContentOpenClasses ); - } - - self._modalOpenClasses = self._getPosDisplayClasses( o.classes.modal ) + " " + o.classes.modalOpen; - if ( self._modal ) { - self._modal - .addClass( self._modalOpenClasses ) - .height( Math.max( self._modal.height(), self.document.height() ) ); - } - }, - complete = function() { - - // Bail if the panel was closed before the opening animation has completed - if ( !self._open ) { - return; - } - - if ( o.display !== "overlay" ) { - self._wrapper.addClass( o.classes.pageContentPrefix + "-open" ); - self._fixedToolbars().addClass( o.classes.pageContentPrefix + "-open" ); - } - - self._bindFixListener(); - - self._trigger( "open" ); - - self._openedPage = self._page(); - }; - - self._trigger( "beforeopen" ); - - if ( self._page().jqmData( "panel" ) === "open" ) { - self._on( self.document, { - "panelclose": _openPanel - }); - } else { - _openPanel(); - } - - self._open = true; - } - }, - - close: function( immediate ) { - if ( this._open ) { - var self = this, - o = this.options, - - _closePanel = function() { - - self.element.removeClass( o.classes.panelOpen ); - - if ( o.display !== "overlay" ) { - self._wrapper.removeClass( self._pageContentOpenClasses ); - self._fixedToolbars().removeClass( self._pageContentOpenClasses ); - } - - if ( !immediate && $.support.cssTransform3d && !!o.animate ) { - ( self._wrapper || self.element ) - .animationComplete( complete, "transition" ); - } else { - setTimeout( complete, 0 ); - } - - if ( self._modal ) { - self._modal - .removeClass( self._modalOpenClasses ) - .height( "" ); - } - }, - complete = function() { - if ( o.theme && o.display !== "overlay" ) { - self._page().parent().removeClass( o.classes.pageContainer + "-themed " + o.classes.pageContainer + "-" + o.theme ); - } - - self.element.addClass( o.classes.panelClosed ); - - if ( o.display !== "overlay" ) { - self._page().parent().removeClass( o.classes.pageContainer ); - self._wrapper.removeClass( o.classes.pageContentPrefix + "-open" ); - self._fixedToolbars().removeClass( o.classes.pageContentPrefix + "-open" ); - } - - if ( $.support.cssTransform3d && !!o.animate && o.display !== "overlay" ) { - self._wrapper.removeClass( o.classes.animate ); - self._fixedToolbars().removeClass( o.classes.animate ); - } - - self._fixPanel(); - self._unbindFixListener(); - $.mobile.resetActivePageHeight(); - - self._page().jqmRemoveData( "panel" ); - - self._trigger( "close" ); - - self._openedPage = null; - }; - - self._trigger( "beforeclose" ); - - _closePanel(); - - self._open = false; - } - }, - - toggle: function() { - this[ this._open ? "close" : "open" ](); - }, - - _destroy: function() { - var otherPanels, - o = this.options, - multiplePanels = ( $( "body > :mobile-panel" ).length + $.mobile.activePage.find( ":mobile-panel" ).length ) > 1; - - if ( o.display !== "overlay" ) { - - // remove the wrapper if not in use by another panel - otherPanels = $( "body > :mobile-panel" ).add( $.mobile.activePage.find( ":mobile-panel" ) ); - if ( otherPanels.not( ".ui-panel-display-overlay" ).not( this.element ).length === 0 ) { - this._wrapper.children().unwrap(); - } - - if ( this._open ) { - - this._fixedToolbars().removeClass( o.classes.pageContentPrefix + "-open" ); - - if ( $.support.cssTransform3d && !!o.animate ) { - this._fixedToolbars().removeClass( o.classes.animate ); - } - - this._page().parent().removeClass( o.classes.pageContainer ); - - if ( o.theme ) { - this._page().parent().removeClass( o.classes.pageContainer + "-themed " + o.classes.pageContainer + "-" + o.theme ); - } - } - } - - if ( !multiplePanels ) { - - this.document.off( "panelopen panelclose" ); - - } - - if ( this._open ) { - this._page().jqmRemoveData( "panel" ); - } - - this._panelInner.children().unwrap(); - - this.element - .removeClass( [ this._getPanelClasses(), o.classes.panelOpen, o.classes.animate ].join( " " ) ) - .off( "swipeleft.panel swiperight.panel" ) - .off( "panelbeforeopen" ) - .off( "panelhide" ) - .off( "keyup.panel" ) - .off( "updatelayout" ); - - if ( this._modal ) { - this._modal.remove(); - } - } -}); - -})( jQuery ); - -(function( $, undefined ) { - -$.widget( "mobile.table", { - options: { - classes: { - table: "ui-table" - }, - enhanced: false - }, - - _create: function() { - if ( !this.options.enhanced ) { - this.element.addClass( this.options.classes.table ); - } - - // extend here, assign on refresh > _setHeaders - $.extend( this, { - - // Expose headers and allHeaders properties on the widget - // headers references the THs within the first TR in the table - headers: undefined, - - // allHeaders references headers, plus all THs in the thead, which may - // include several rows, or not - allHeaders: undefined - }); - - this._refresh( true ); - }, - - _setHeaders: function() { - var trs = this.element.find( "thead tr" ); - - this.headers = this.element.find( "tr:eq(0)" ).children(); - this.allHeaders = this.headers.add( trs.children() ); - }, - - refresh: function() { - this._refresh(); - }, - - rebuild: $.noop, - - _refresh: function( /* create */ ) { - var table = this.element, - trs = table.find( "thead tr" ); - - // updating headers on refresh (fixes #5880) - this._setHeaders(); - - // Iterate over the trs - trs.each( function() { - var columnCount = 0; - - // Iterate over the children of the tr - $( this ).children().each( function() { - var span = parseInt( this.getAttribute( "colspan" ), 10 ), - selector = ":nth-child(" + ( columnCount + 1 ) + ")", - j; - - this.setAttribute( "data-" + $.mobile.ns + "colstart", columnCount + 1 ); - - if ( span ) { - for( j = 0; j < span - 1; j++ ) { - columnCount++; - selector += ", :nth-child(" + ( columnCount + 1 ) + ")"; - } - } - - // Store "cells" data on header as a reference to all cells in the - // same column as this TH - $( this ).jqmData( "cells", table.find( "tr" ).not( trs.eq( 0 ) ).not( this ).children( selector ) ); - - columnCount++; - }); - }); - } -}); - -})( jQuery ); - - -(function( $, undefined ) { - -$.widget( "mobile.table", $.mobile.table, { - options: { - mode: "columntoggle", - columnBtnTheme: null, - columnPopupTheme: null, - columnBtnText: "Columns...", - classes: $.extend( $.mobile.table.prototype.options.classes, { - popup: "ui-table-columntoggle-popup", - columnBtn: "ui-table-columntoggle-btn", - priorityPrefix: "ui-table-priority-", - columnToggleTable: "ui-table-columntoggle" - }) - }, - - _create: function() { - this._super(); - - if ( this.options.mode !== "columntoggle" ) { - return; - } - - $.extend( this, { - _menu: null - }); - - if ( this.options.enhanced ) { - this._menu = $( this.document[ 0 ].getElementById( this._id() + "-popup" ) ).children().first(); - this._addToggles( this._menu, true ); - } else { - this._menu = this._enhanceColToggle(); - this.element.addClass( this.options.classes.columnToggleTable ); - } - - this._setupEvents(); - - this._setToggleState(); - }, - - _id: function() { - return ( this.element.attr( "id" ) || ( this.widgetName + this.uuid ) ); - }, - - _setupEvents: function() { - //NOTE: inputs are bound in bindToggles, - // so it can be called on refresh, too - - // update column toggles on resize - this._on( this.window, { - throttledresize: "_setToggleState" - }); - this._on( this._menu, { - "change input": "_menuInputChange" - }); - }, - - _addToggles: function( menu, keep ) { - var inputs, - checkboxIndex = 0, - opts = this.options, - container = menu.controlgroup( "container" ); - - // allow update of menu on refresh (fixes #5880) - if ( keep ) { - inputs = menu.find( "input" ); - } else { - container.empty(); - } - - // create the hide/show toggles - this.headers.not( "td" ).each( function() { - var input, cells, - header = $( this ), - priority = $.mobile.getAttribute( this, "priority" ); - - if ( priority ) { - cells = header.add( header.jqmData( "cells" ) ); - cells.addClass( opts.classes.priorityPrefix + priority ); - - // Make sure the (new?) checkbox is associated with its header via .jqmData() and - // that, vice versa, the header is also associated with the checkbox - input = ( keep ? inputs.eq( checkboxIndex++ ) : - $("<label><input type='checkbox' checked />" + - ( header.children( "abbr" ).first().attr( "title" ) || - header.text() ) + - "</label>" ) - .appendTo( container ) - .children( 0 ) - .checkboxradio( { - theme: opts.columnPopupTheme - }) ) - - // Associate the header with the checkbox - .jqmData( "header", header ) - .jqmData( "cells", cells ); - - // Associate the checkbox with the header - header.jqmData( "input", input ); - } - }); - - // set bindings here - if ( !keep ) { - menu.controlgroup( "refresh" ); - } - }, - - _menuInputChange: function( evt ) { - var input = $( evt.target ), - checked = input[ 0 ].checked; - - input.jqmData( "cells" ) - .toggleClass( "ui-table-cell-hidden", !checked ) - .toggleClass( "ui-table-cell-visible", checked ); - }, - - _unlockCells: function( cells ) { - // allow hide/show via CSS only = remove all toggle-locks - cells.removeClass( "ui-table-cell-hidden ui-table-cell-visible"); - }, - - _enhanceColToggle: function() { - var id , menuButton, popup, menu, - table = this.element, - opts = this.options, - ns = $.mobile.ns, - fragment = this.document[ 0 ].createDocumentFragment(); - - id = this._id() + "-popup"; - menuButton = $( "<a href='#" + id + "' " + - "class='" + opts.classes.columnBtn + " ui-btn " + - "ui-btn-" + ( opts.columnBtnTheme || "a" ) + - " ui-corner-all ui-shadow ui-mini' " + - "data-" + ns + "rel='popup'>" + opts.columnBtnText + "</a>" ); - popup = $( "<div class='" + opts.classes.popup + "' id='" + id + "'></div>" ); - menu = $( "<fieldset></fieldset>" ).controlgroup(); - - // set extension here, send "false" to trigger build/rebuild - this._addToggles( menu, false ); - - menu.appendTo( popup ); - - fragment.appendChild( popup[ 0 ] ); - fragment.appendChild( menuButton[ 0 ] ); - table.before( fragment ); - - popup.popup(); - - return menu; - }, - - rebuild: function() { - this._super(); - - if ( this.options.mode === "columntoggle" ) { - // NOTE: rebuild passes "false", while refresh passes "undefined" - // both refresh the table, but inside addToggles, !false will be true, - // so a rebuild call can be indentified - this._refresh( false ); - } - }, - - _refresh: function( create ) { - var headers, hiddenColumns, index; - - // Calling _super() here updates this.headers - this._super( create ); - - if ( !create && this.options.mode === "columntoggle" ) { - headers = this.headers; - hiddenColumns = []; - - // Find the index of the column header associated with each old checkbox among the - // post-refresh headers and, if the header is still there, make sure the corresponding - // column will be hidden if the pre-refresh checkbox indicates that the column is - // hidden by recording its index in the array of hidden columns. - this._menu.find( "input" ).each( function() { - var input = $( this ), - header = input.jqmData( "header" ), - index = headers.index( header[ 0 ] ); - - if ( index > -1 && !input.prop( "checked" ) ) { - - // The column header associated with /this/ checkbox is still present in the - // post-refresh table and the checkbox is not checked, so the column associated - // with this column header is currently hidden. Let's record that. - hiddenColumns.push( index ); - } - }); - - // columns not being replaced must be cleared from input toggle-locks - this._unlockCells( this.element.find( ".ui-table-cell-hidden, " + - ".ui-table-cell-visible" ) ); - - // update columntoggles and cells - this._addToggles( this._menu, create ); - - // At this point all columns are visible, so uncheck the checkboxes that correspond to - // those columns we've found to be hidden - for ( index = hiddenColumns.length - 1 ; index > -1 ; index-- ) { - headers.eq( hiddenColumns[ index ] ).jqmData( "input" ) - .prop( "checked", false ) - .checkboxradio( "refresh" ) - .trigger( "change" ); - } - } - }, - - _setToggleState: function() { - this._menu.find( "input" ).each( function() { - var checkbox = $( this ); - - this.checked = checkbox.jqmData( "cells" ).eq( 0 ).css( "display" ) === "table-cell"; - checkbox.checkboxradio( "refresh" ); - }); - }, - - _destroy: function() { - this._super(); - } -}); - -})( jQuery ); - -(function( $, undefined ) { - -$.widget( "mobile.table", $.mobile.table, { - options: { - mode: "reflow", - classes: $.extend( $.mobile.table.prototype.options.classes, { - reflowTable: "ui-table-reflow", - cellLabels: "ui-table-cell-label" - }) - }, - - _create: function() { - this._super(); - - // If it's not reflow mode, return here. - if ( this.options.mode !== "reflow" ) { - return; - } - - if ( !this.options.enhanced ) { - this.element.addClass( this.options.classes.reflowTable ); - - this._updateReflow(); - } - }, - - rebuild: function() { - this._super(); - - if ( this.options.mode === "reflow" ) { - this._refresh( false ); - } - }, - - _refresh: function( create ) { - this._super( create ); - if ( !create && this.options.mode === "reflow" ) { - this._updateReflow( ); - } - }, - - _updateReflow: function() { - var table = this, - opts = this.options; - - // get headers in reverse order so that top-level headers are appended last - $( table.allHeaders.get().reverse() ).each( function() { - var cells = $( this ).jqmData( "cells" ), - colstart = $.mobile.getAttribute( this, "colstart" ), - hierarchyClass = cells.not( this ).filter( "thead th" ).length && " ui-table-cell-label-top", - contents = $( this ).clone().contents(), - iteration, filter; - - if ( contents.length > 0 ) { - - if ( hierarchyClass ) { - iteration = parseInt( this.getAttribute( "colspan" ), 10 ); - filter = ""; - - if ( iteration ) { - filter = "td:nth-child("+ iteration +"n + " + ( colstart ) +")"; - } - - table._addLabels( cells.filter( filter ), - opts.classes.cellLabels + hierarchyClass, contents ); - } else { - table._addLabels( cells, opts.classes.cellLabels, contents ); - } - - } - }); - }, - - _addLabels: function( cells, label, contents ) { - if ( contents.length === 1 && contents[ 0 ].nodeName.toLowerCase() === "abbr" ) { - contents = contents.eq( 0 ).attr( "title" ); - } - // .not fixes #6006 - cells - .not( ":has(b." + label + ")" ) - .prepend( $( "<b class='" + label + "'></b>" ).append( contents ) ); - } -}); - -})( jQuery ); - -(function( $, undefined ) { - -// TODO rename filterCallback/deprecate and default to the item itself as the first argument -var defaultFilterCallback = function( index, searchValue ) { - return ( ( "" + ( $.mobile.getAttribute( this, "filtertext" ) || $( this ).text() ) ) - .toLowerCase().indexOf( searchValue ) === -1 ); -}; - -$.widget( "mobile.filterable", { - - initSelector: ":jqmData(filter='true')", - - options: { - filterReveal: false, - filterCallback: defaultFilterCallback, - enhanced: false, - input: null, - children: "> li, > option, > optgroup option, > tbody tr, > .ui-controlgroup-controls > .ui-btn, > .ui-controlgroup-controls > .ui-checkbox, > .ui-controlgroup-controls > .ui-radio" - }, - - _create: function() { - var opts = this.options; - - $.extend( this, { - _search: null, - _timer: 0 - }); - - this._setInput( opts.input ); - if ( !opts.enhanced ) { - this._filterItems( ( ( this._search && this._search.val() ) || "" ).toLowerCase() ); - } - }, - - _onKeyUp: function() { - var val, lastval, - search = this._search; - - if ( search ) { - val = search.val().toLowerCase(), - lastval = $.mobile.getAttribute( search[ 0 ], "lastval" ) + ""; - - if ( lastval && lastval === val ) { - // Execute the handler only once per value change - return; - } - - if ( this._timer ) { - window.clearTimeout( this._timer ); - this._timer = 0; - } - - this._timer = this._delay( function() { - if ( this._trigger( "beforefilter", null, { input: search } ) === false ) { - return false; - } - - // Change val as lastval for next execution - search[ 0 ].setAttribute( "data-" + $.mobile.ns + "lastval", val ); - - this._filterItems( val ); - this._timer = 0; - }, 250 ); - } - }, - - _getFilterableItems: function() { - var elem = this.element, - children = this.options.children, - items = !children ? { length: 0 }: - $.isFunction( children ) ? children(): - children.nodeName ? $( children ): - children.jquery ? children: - this.element.find( children ); - - if ( items.length === 0 ) { - items = elem.children(); - } - - return items; - }, - - _filterItems: function( val ) { - var idx, callback, length, dst, - show = [], - hide = [], - opts = this.options, - filterItems = this._getFilterableItems(); - - if ( val != null ) { - callback = opts.filterCallback || defaultFilterCallback; - length = filterItems.length; - - // Partition the items into those to be hidden and those to be shown - for ( idx = 0 ; idx < length ; idx++ ) { - dst = ( callback.call( filterItems[ idx ], idx, val ) ) ? hide : show; - dst.push( filterItems[ idx ] ); - } - } - - // If nothing is hidden, then the decision whether to hide or show the items - // is based on the "filterReveal" option. - if ( hide.length === 0 ) { - filterItems[ ( opts.filterReveal && val.length === 0 ) ? - "addClass" : "removeClass" ]( "ui-screen-hidden" ); - } else { - $( hide ).addClass( "ui-screen-hidden" ); - $( show ).removeClass( "ui-screen-hidden" ); - } - - this._refreshChildWidget(); - - this._trigger( "filter", null, { - items: filterItems - }); - }, - - // The Default implementation of _refreshChildWidget attempts to call - // refresh on collapsibleset, controlgroup, selectmenu, or listview - _refreshChildWidget: function() { - var widget, idx, - recognizedWidgets = [ "collapsibleset", "selectmenu", "controlgroup", "listview" ]; - - for ( idx = recognizedWidgets.length - 1 ; idx > -1 ; idx-- ) { - widget = recognizedWidgets[ idx ]; - if ( $.mobile[ widget ] ) { - widget = this.element.data( "mobile-" + widget ); - if ( widget && $.isFunction( widget.refresh ) ) { - widget.refresh(); - } - } - } - }, - - // TODO: When the input is not internal, do not even store it in this._search - _setInput: function ( selector ) { - var search = this._search; - - // Stop a pending filter operation - if ( this._timer ) { - window.clearTimeout( this._timer ); - this._timer = 0; - } - - if ( search ) { - this._off( search, "keyup change input" ); - search = null; - } - - if ( selector ) { - search = selector.jquery ? selector: - selector.nodeName ? $( selector ): - this.document.find( selector ); - - this._on( search, { - keydown: "_onKeyDown", - keypress: "_onKeyPress", - keyup: "_onKeyUp", - change: "_onKeyUp", - input: "_onKeyUp" - }); - } - - this._search = search; - }, - - // Prevent form submission - _onKeyDown: function( event ) { - if ( event.keyCode === $.ui.keyCode.ENTER ) { - event.preventDefault(); - this._preventKeyPress = true; - } - }, - - _onKeyPress: function( event ) { - if ( this._preventKeyPress ) { - event.preventDefault(); - this._preventKeyPress = false; - } - }, - - _setOptions: function( options ) { - var refilter = !( ( options.filterReveal === undefined ) && - ( options.filterCallback === undefined ) && - ( options.children === undefined ) ); - - this._super( options ); - - if ( options.input !== undefined ) { - this._setInput( options.input ); - refilter = true; - } - - if ( refilter ) { - this.refresh(); - } - }, - - _destroy: function() { - var opts = this.options, - items = this._getFilterableItems(); - - if ( opts.enhanced ) { - items.toggleClass( "ui-screen-hidden", opts.filterReveal ); - } else { - items.removeClass( "ui-screen-hidden" ); - } - }, - - refresh: function() { - if ( this._timer ) { - window.clearTimeout( this._timer ); - this._timer = 0; - } - this._filterItems( ( ( this._search && this._search.val() ) || "" ).toLowerCase() ); - } -}); - -})( jQuery ); - -(function( $, undefined ) { - -// Create a function that will replace the _setOptions function of a widget, -// and will pass the options on to the input of the filterable. -var replaceSetOptions = function( self, orig ) { - return function( options ) { - orig.call( this, options ); - self._syncTextInputOptions( options ); - }; - }, - rDividerListItem = /(^|\s)ui-li-divider(\s|$)/, - origDefaultFilterCallback = $.mobile.filterable.prototype.options.filterCallback; - -// Override the default filter callback with one that does not hide list dividers -$.mobile.filterable.prototype.options.filterCallback = function( index, searchValue ) { - return !this.className.match( rDividerListItem ) && - origDefaultFilterCallback.call( this, index, searchValue ); -}; - -$.widget( "mobile.filterable", $.mobile.filterable, { - options: { - filterPlaceholder: "Filter items...", - filterTheme: null - }, - - _create: function() { - var idx, widgetName, - elem = this.element, - recognizedWidgets = [ "collapsibleset", "selectmenu", "controlgroup", "listview" ], - createHandlers = {}; - - this._super(); - - $.extend( this, { - _widget: null - }); - - for ( idx = recognizedWidgets.length - 1 ; idx > -1 ; idx-- ) { - widgetName = recognizedWidgets[ idx ]; - if ( $.mobile[ widgetName ] ) { - if ( this._setWidget( elem.data( "mobile-" + widgetName ) ) ) { - break; - } else { - createHandlers[ widgetName + "create" ] = "_handleCreate"; - } - } - } - - if ( !this._widget ) { - this._on( elem, createHandlers ); - } - }, - - _handleCreate: function( evt ) { - this._setWidget( this.element.data( "mobile-" + evt.type.substring( 0, evt.type.length - 6 ) ) ); - }, - - _trigger: function( type, event, data ) { - if ( this._widget && this._widget.widgetFullName === "mobile-listview" && - type === "beforefilter" ) { - - // Also trigger listviewbeforefilter if this widget is also a listview - this._widget._trigger( "beforefilter", event, data ); - } - - // Passing back the response enables calling preventDefault() - return this._super( type, event, data ); - }, - - _setWidget: function( widget ) { - if ( !this._widget && widget ) { - this._widget = widget; - this._widget._setOptions = replaceSetOptions( this, this._widget._setOptions ); - } - - if ( !!this._widget ) { - this._syncTextInputOptions( this._widget.options ); - if ( this._widget.widgetName === "listview" ) { - this._widget.options.hideDividers = true; - this._widget.element.listview( "refresh" ); - } - } - - return !!this._widget; - }, - - _isSearchInternal: function() { - return ( this._search && this._search.jqmData( "ui-filterable-" + this.uuid + "-internal" ) ); - }, - - _setInput: function( selector ) { - var opts = this.options, - updatePlaceholder = true, - textinputOpts = {}; - - if ( !selector ) { - if ( this._isSearchInternal() ) { - - // Ignore the call to set a new input if the selector goes to falsy and - // the current textinput is already of the internally generated variety. - return; - } else { - - // Generating a new textinput widget. No need to set the placeholder - // further down the function. - updatePlaceholder = false; - selector = $( "<input " + - "data-" + $.mobile.ns + "type='search' " + - "placeholder='" + opts.filterPlaceholder + "'></input>" ) - .jqmData( "ui-filterable-" + this.uuid + "-internal", true ); - $( "<form class='ui-filterable'></form>" ) - .append( selector ) - .submit( function( evt ) { - evt.preventDefault(); - selector.blur(); - }) - .insertBefore( this.element ); - if ( $.mobile.textinput ) { - if ( this.options.filterTheme != null ) { - textinputOpts[ "theme" ] = opts.filterTheme; - } - - selector.textinput( textinputOpts ); - } - } - } - - this._super( selector ); - - if ( this._isSearchInternal() && updatePlaceholder ) { - this._search.attr( "placeholder", this.options.filterPlaceholder ); - } - }, - - _setOptions: function( options ) { - var ret = this._super( options ); - - // Need to set the filterPlaceholder after having established the search input - if ( options.filterPlaceholder !== undefined ) { - if ( this._isSearchInternal() ) { - this._search.attr( "placeholder", options.filterPlaceholder ); - } - } - - if ( options.filterTheme !== undefined && this._search && $.mobile.textinput ) { - this._search.textinput( "option", "theme", options.filterTheme ); - } - - return ret; - }, - - // The listview implementation accompanying this filterable backcompat layer will call - // filterable.refresh() after it's done refreshing the listview to make sure the filterable - // filters out any new items added. However, when the listview refresh has been initiated by - // the filterable itself, then such filtering has already taken place, and calling the - // filterable's refresh() method will cause an infinite recursion. We stop this by setting a - // flag that will cause the filterable's refresh() method to short-circuit. - _refreshChildWidget: function() { - this._refreshingChildWidget = true; - this._superApply( arguments ); - this._refreshingChildWidget = false; - }, - - refresh: function() { - if ( !this._refreshingChildWidget ) { - this._superApply( arguments ); - } - }, - - _destroy: function() { - if ( this._isSearchInternal() ) { - this._search.remove(); - } - this._super(); - }, - - _syncTextInputOptions: function( options ) { - var idx, - textinputOptions = {}; - - // We only sync options if the filterable's textinput is of the internally - // generated variety, rather than one specified by the user. - if ( this._isSearchInternal() && $.mobile.textinput ) { - - // Apply only the options understood by textinput - for ( idx in $.mobile.textinput.prototype.options ) { - if ( options[ idx ] !== undefined ) { - if ( idx === "theme" && this.options.filterTheme != null ) { - textinputOptions[ idx ] = this.options.filterTheme; - } else { - textinputOptions[ idx ] = options[ idx ]; - } - } - } - this._search.textinput( "option", textinputOptions ); - } - } -}); - -// Instantiate a filterable on a listview that has the data-filter="true" attribute -// This is not necessary for static content, because the auto-enhance takes care of instantiating -// the filterable upon encountering data-filter="true". However, because of 1.3.x it is expected -// that a listview with data-filter="true" will be filterable even if you just instantiate a -// listview on it. The extension below ensures that this continues to happen in 1.4.x. -$.widget( "mobile.listview", $.mobile.listview, { - options: { - filter: false - }, - _create: function() { - if ( this.options.filter === true && - !this.element.data( "mobile-filterable" ) ) { - this.element.filterable(); - } - return this._super(); - }, - - refresh: function() { - var filterable; - - this._superApply( arguments ); - - if ( this.options.filter === true ) { - filterable = this.element.data( "mobile-filterable" ); - - if ( filterable ) { - filterable.refresh(); - } - } - } -}); - -})( jQuery ); - -/*! - * jQuery UI Tabs fadf2b312a05040436451c64bbfaf4814bc62c56 - * http://jqueryui.com - * - * Copyright 2013 jQuery Foundation and other contributors - * Released under the MIT license. - * http://jquery.org/license - * - * http://api.jqueryui.com/tabs/ - * - * Depends: - * jquery.ui.core.js - * jquery.ui.widget.js - */ -(function( $, undefined ) { - -var tabId = 0, - rhash = /#.*$/; - -function getNextTabId() { - return ++tabId; -} - -function isLocal( anchor ) { - return anchor.hash.length > 1 && - decodeURIComponent( anchor.href.replace( rhash, "" ) ) === - decodeURIComponent( location.href.replace( rhash, "" ) ); -} - -$.widget( "ui.tabs", { - version: "fadf2b312a05040436451c64bbfaf4814bc62c56", - delay: 300, - options: { - active: null, - collapsible: false, - event: "click", - heightStyle: "content", - hide: null, - show: null, - - // callbacks - activate: null, - beforeActivate: null, - beforeLoad: null, - load: null - }, - - _create: function() { - var that = this, - options = this.options; - - this.running = false; - - this.element - .addClass( "ui-tabs ui-widget ui-widget-content ui-corner-all" ) - .toggleClass( "ui-tabs-collapsible", options.collapsible ) - // Prevent users from focusing disabled tabs via click - .delegate( ".ui-tabs-nav > li", "mousedown" + this.eventNamespace, function( event ) { - if ( $( this ).is( ".ui-state-disabled" ) ) { - event.preventDefault(); - } - }) - // support: IE <9 - // Preventing the default action in mousedown doesn't prevent IE - // from focusing the element, so if the anchor gets focused, blur. - // We don't have to worry about focusing the previously focused - // element since clicking on a non-focusable element should focus - // the body anyway. - .delegate( ".ui-tabs-anchor", "focus" + this.eventNamespace, function() { - if ( $( this ).closest( "li" ).is( ".ui-state-disabled" ) ) { - this.blur(); - } - }); - - this._processTabs(); - options.active = this._initialActive(); - - // Take disabling tabs via class attribute from HTML - // into account and update option properly. - if ( $.isArray( options.disabled ) ) { - options.disabled = $.unique( options.disabled.concat( - $.map( this.tabs.filter( ".ui-state-disabled" ), function( li ) { - return that.tabs.index( li ); - }) - ) ).sort(); - } - - // check for length avoids error when initializing empty list - if ( this.options.active !== false && this.anchors.length ) { - this.active = this._findActive( options.active ); - } else { - this.active = $(); - } - - this._refresh(); - - if ( this.active.length ) { - this.load( options.active ); - } - }, - - _initialActive: function() { - var active = this.options.active, - collapsible = this.options.collapsible, - locationHash = location.hash.substring( 1 ); - - if ( active === null ) { - // check the fragment identifier in the URL - if ( locationHash ) { - this.tabs.each(function( i, tab ) { - if ( $( tab ).attr( "aria-controls" ) === locationHash ) { - active = i; - return false; - } - }); - } - - // check for a tab marked active via a class - if ( active === null ) { - active = this.tabs.index( this.tabs.filter( ".ui-tabs-active" ) ); - } - - // no active tab, set to false - if ( active === null || active === -1 ) { - active = this.tabs.length ? 0 : false; - } - } - - // handle numbers: negative, out of range - if ( active !== false ) { - active = this.tabs.index( this.tabs.eq( active ) ); - if ( active === -1 ) { - active = collapsible ? false : 0; - } - } - - // don't allow collapsible: false and active: false - if ( !collapsible && active === false && this.anchors.length ) { - active = 0; - } - - return active; - }, - - _getCreateEventData: function() { - return { - tab: this.active, - panel: !this.active.length ? $() : this._getPanelForTab( this.active ) - }; - }, - - _tabKeydown: function( event ) { - var focusedTab = $( this.document[0].activeElement ).closest( "li" ), - selectedIndex = this.tabs.index( focusedTab ), - goingForward = true; - - if ( this._handlePageNav( event ) ) { - return; - } - - switch ( event.keyCode ) { - case $.ui.keyCode.RIGHT: - case $.ui.keyCode.DOWN: - selectedIndex++; - break; - case $.ui.keyCode.UP: - case $.ui.keyCode.LEFT: - goingForward = false; - selectedIndex--; - break; - case $.ui.keyCode.END: - selectedIndex = this.anchors.length - 1; - break; - case $.ui.keyCode.HOME: - selectedIndex = 0; - break; - case $.ui.keyCode.SPACE: - // Activate only, no collapsing - event.preventDefault(); - clearTimeout( this.activating ); - this._activate( selectedIndex ); - return; - case $.ui.keyCode.ENTER: - // Toggle (cancel delayed activation, allow collapsing) - event.preventDefault(); - clearTimeout( this.activating ); - // Determine if we should collapse or activate - this._activate( selectedIndex === this.options.active ? false : selectedIndex ); - return; - default: - return; - } - - // Focus the appropriate tab, based on which key was pressed - event.preventDefault(); - clearTimeout( this.activating ); - selectedIndex = this._focusNextTab( selectedIndex, goingForward ); - - // Navigating with control key will prevent automatic activation - if ( !event.ctrlKey ) { - // Update aria-selected immediately so that AT think the tab is already selected. - // Otherwise AT may confuse the user by stating that they need to activate the tab, - // but the tab will already be activated by the time the announcement finishes. - focusedTab.attr( "aria-selected", "false" ); - this.tabs.eq( selectedIndex ).attr( "aria-selected", "true" ); - - this.activating = this._delay(function() { - this.option( "active", selectedIndex ); - }, this.delay ); - } - }, - - _panelKeydown: function( event ) { - if ( this._handlePageNav( event ) ) { - return; - } - - // Ctrl+up moves focus to the current tab - if ( event.ctrlKey && event.keyCode === $.ui.keyCode.UP ) { - event.preventDefault(); - this.active.focus(); - } - }, - - // Alt+page up/down moves focus to the previous/next tab (and activates) - _handlePageNav: function( event ) { - if ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_UP ) { - this._activate( this._focusNextTab( this.options.active - 1, false ) ); - return true; - } - if ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_DOWN ) { - this._activate( this._focusNextTab( this.options.active + 1, true ) ); - return true; - } - }, - - _findNextTab: function( index, goingForward ) { - var lastTabIndex = this.tabs.length - 1; - - function constrain() { - if ( index > lastTabIndex ) { - index = 0; - } - if ( index < 0 ) { - index = lastTabIndex; - } - return index; - } - - while ( $.inArray( constrain(), this.options.disabled ) !== -1 ) { - index = goingForward ? index + 1 : index - 1; - } - - return index; - }, - - _focusNextTab: function( index, goingForward ) { - index = this._findNextTab( index, goingForward ); - this.tabs.eq( index ).focus(); - return index; - }, - - _setOption: function( key, value ) { - if ( key === "active" ) { - // _activate() will handle invalid values and update this.options - this._activate( value ); - return; - } - - if ( key === "disabled" ) { - // don't use the widget factory's disabled handling - this._setupDisabled( value ); - return; - } - - this._super( key, value); - - if ( key === "collapsible" ) { - this.element.toggleClass( "ui-tabs-collapsible", value ); - // Setting collapsible: false while collapsed; open first panel - if ( !value && this.options.active === false ) { - this._activate( 0 ); - } - } - - if ( key === "event" ) { - this._setupEvents( value ); - } - - if ( key === "heightStyle" ) { - this._setupHeightStyle( value ); - } - }, - - _tabId: function( tab ) { - return tab.attr( "aria-controls" ) || "ui-tabs-" + getNextTabId(); - }, - - _sanitizeSelector: function( hash ) { - return hash ? hash.replace( /[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g, "\\$&" ) : ""; - }, - - refresh: function() { - var options = this.options, - lis = this.tablist.children( ":has(a[href])" ); - - // get disabled tabs from class attribute from HTML - // this will get converted to a boolean if needed in _refresh() - options.disabled = $.map( lis.filter( ".ui-state-disabled" ), function( tab ) { - return lis.index( tab ); - }); - - this._processTabs(); - - // was collapsed or no tabs - if ( options.active === false || !this.anchors.length ) { - options.active = false; - this.active = $(); - // was active, but active tab is gone - } else if ( this.active.length && !$.contains( this.tablist[ 0 ], this.active[ 0 ] ) ) { - // all remaining tabs are disabled - if ( this.tabs.length === options.disabled.length ) { - options.active = false; - this.active = $(); - // activate previous tab - } else { - this._activate( this._findNextTab( Math.max( 0, options.active - 1 ), false ) ); - } - // was active, active tab still exists - } else { - // make sure active index is correct - options.active = this.tabs.index( this.active ); - } - - this._refresh(); - }, - - _refresh: function() { - this._setupDisabled( this.options.disabled ); - this._setupEvents( this.options.event ); - this._setupHeightStyle( this.options.heightStyle ); - - this.tabs.not( this.active ).attr({ - "aria-selected": "false", - tabIndex: -1 - }); - this.panels.not( this._getPanelForTab( this.active ) ) - .hide() - .attr({ - "aria-expanded": "false", - "aria-hidden": "true" - }); - - // Make sure one tab is in the tab order - if ( !this.active.length ) { - this.tabs.eq( 0 ).attr( "tabIndex", 0 ); - } else { - this.active - .addClass( "ui-tabs-active ui-state-active" ) - .attr({ - "aria-selected": "true", - tabIndex: 0 - }); - this._getPanelForTab( this.active ) - .show() - .attr({ - "aria-expanded": "true", - "aria-hidden": "false" - }); - } - }, - - _processTabs: function() { - var that = this; - - this.tablist = this._getList() - .addClass( "ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all" ) - .attr( "role", "tablist" ); - - this.tabs = this.tablist.find( "> li:has(a[href])" ) - .addClass( "ui-state-default ui-corner-top" ) - .attr({ - role: "tab", - tabIndex: -1 - }); - - this.anchors = this.tabs.map(function() { - return $( "a", this )[ 0 ]; - }) - .addClass( "ui-tabs-anchor" ) - .attr({ - role: "presentation", - tabIndex: -1 - }); - - this.panels = $(); - - this.anchors.each(function( i, anchor ) { - var selector, panel, panelId, - anchorId = $( anchor ).uniqueId().attr( "id" ), - tab = $( anchor ).closest( "li" ), - originalAriaControls = tab.attr( "aria-controls" ); - - // inline tab - if ( isLocal( anchor ) ) { - selector = anchor.hash; - panel = that.element.find( that._sanitizeSelector( selector ) ); - // remote tab - } else { - panelId = that._tabId( tab ); - selector = "#" + panelId; - panel = that.element.find( selector ); - if ( !panel.length ) { - panel = that._createPanel( panelId ); - panel.insertAfter( that.panels[ i - 1 ] || that.tablist ); - } - panel.attr( "aria-live", "polite" ); - } - - if ( panel.length) { - that.panels = that.panels.add( panel ); - } - if ( originalAriaControls ) { - tab.data( "ui-tabs-aria-controls", originalAriaControls ); - } - tab.attr({ - "aria-controls": selector.substring( 1 ), - "aria-labelledby": anchorId - }); - panel.attr( "aria-labelledby", anchorId ); - }); - - this.panels - .addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom" ) - .attr( "role", "tabpanel" ); - }, - - // allow overriding how to find the list for rare usage scenarios (#7715) - _getList: function() { - return this.element.find( "ol,ul" ).eq( 0 ); - }, - - _createPanel: function( id ) { - return $( "<div>" ) - .attr( "id", id ) - .addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom" ) - .data( "ui-tabs-destroy", true ); - }, - - _setupDisabled: function( disabled ) { - if ( $.isArray( disabled ) ) { - if ( !disabled.length ) { - disabled = false; - } else if ( disabled.length === this.anchors.length ) { - disabled = true; - } - } - - // disable tabs - for ( var i = 0, li; ( li = this.tabs[ i ] ); i++ ) { - if ( disabled === true || $.inArray( i, disabled ) !== -1 ) { - $( li ) - .addClass( "ui-state-disabled" ) - .attr( "aria-disabled", "true" ); - } else { - $( li ) - .removeClass( "ui-state-disabled" ) - .removeAttr( "aria-disabled" ); - } - } - - this.options.disabled = disabled; - }, - - _setupEvents: function( event ) { - var events = { - click: function( event ) { - event.preventDefault(); - } - }; - if ( event ) { - $.each( event.split(" "), function( index, eventName ) { - events[ eventName ] = "_eventHandler"; - }); - } - - this._off( this.anchors.add( this.tabs ).add( this.panels ) ); - this._on( this.anchors, events ); - this._on( this.tabs, { keydown: "_tabKeydown" } ); - this._on( this.panels, { keydown: "_panelKeydown" } ); - - this._focusable( this.tabs ); - this._hoverable( this.tabs ); - }, - - _setupHeightStyle: function( heightStyle ) { - var maxHeight, - parent = this.element.parent(); - - if ( heightStyle === "fill" ) { - maxHeight = parent.height(); - maxHeight -= this.element.outerHeight() - this.element.height(); - - this.element.siblings( ":visible" ).each(function() { - var elem = $( this ), - position = elem.css( "position" ); - - if ( position === "absolute" || position === "fixed" ) { - return; - } - maxHeight -= elem.outerHeight( true ); - }); - - this.element.children().not( this.panels ).each(function() { - maxHeight -= $( this ).outerHeight( true ); - }); - - this.panels.each(function() { - $( this ).height( Math.max( 0, maxHeight - - $( this ).innerHeight() + $( this ).height() ) ); - }) - .css( "overflow", "auto" ); - } else if ( heightStyle === "auto" ) { - maxHeight = 0; - this.panels.each(function() { - maxHeight = Math.max( maxHeight, $( this ).height( "" ).height() ); - }).height( maxHeight ); - } - }, - - _eventHandler: function( event ) { - var options = this.options, - active = this.active, - anchor = $( event.currentTarget ), - tab = anchor.closest( "li" ), - clickedIsActive = tab[ 0 ] === active[ 0 ], - collapsing = clickedIsActive && options.collapsible, - toShow = collapsing ? $() : this._getPanelForTab( tab ), - toHide = !active.length ? $() : this._getPanelForTab( active ), - eventData = { - oldTab: active, - oldPanel: toHide, - newTab: collapsing ? $() : tab, - newPanel: toShow - }; - - event.preventDefault(); - - if ( tab.hasClass( "ui-state-disabled" ) || - // tab is already loading - tab.hasClass( "ui-tabs-loading" ) || - // can't switch durning an animation - this.running || - // click on active header, but not collapsible - ( clickedIsActive && !options.collapsible ) || - // allow canceling activation - ( this._trigger( "beforeActivate", event, eventData ) === false ) ) { - return; - } - - options.active = collapsing ? false : this.tabs.index( tab ); - - this.active = clickedIsActive ? $() : tab; - if ( this.xhr ) { - this.xhr.abort(); - } - - if ( !toHide.length && !toShow.length ) { - $.error( "jQuery UI Tabs: Mismatching fragment identifier." ); - } - - if ( toShow.length ) { - this.load( this.tabs.index( tab ), event ); - } - this._toggle( event, eventData ); - }, - - // handles show/hide for selecting tabs - _toggle: function( event, eventData ) { - var that = this, - toShow = eventData.newPanel, - toHide = eventData.oldPanel; - - this.running = true; - - function complete() { - that.running = false; - that._trigger( "activate", event, eventData ); - } - - function show() { - eventData.newTab.closest( "li" ).addClass( "ui-tabs-active ui-state-active" ); - - if ( toShow.length && that.options.show ) { - that._show( toShow, that.options.show, complete ); - } else { - toShow.show(); - complete(); - } - } - - // start out by hiding, then showing, then completing - if ( toHide.length && this.options.hide ) { - this._hide( toHide, this.options.hide, function() { - eventData.oldTab.closest( "li" ).removeClass( "ui-tabs-active ui-state-active" ); - show(); - }); - } else { - eventData.oldTab.closest( "li" ).removeClass( "ui-tabs-active ui-state-active" ); - toHide.hide(); - show(); - } - - toHide.attr({ - "aria-expanded": "false", - "aria-hidden": "true" - }); - eventData.oldTab.attr( "aria-selected", "false" ); - // If we're switching tabs, remove the old tab from the tab order. - // If we're opening from collapsed state, remove the previous tab from the tab order. - // If we're collapsing, then keep the collapsing tab in the tab order. - if ( toShow.length && toHide.length ) { - eventData.oldTab.attr( "tabIndex", -1 ); - } else if ( toShow.length ) { - this.tabs.filter(function() { - return $( this ).attr( "tabIndex" ) === 0; - }) - .attr( "tabIndex", -1 ); - } - - toShow.attr({ - "aria-expanded": "true", - "aria-hidden": "false" - }); - eventData.newTab.attr({ - "aria-selected": "true", - tabIndex: 0 - }); - }, - - _activate: function( index ) { - var anchor, - active = this._findActive( index ); - - // trying to activate the already active panel - if ( active[ 0 ] === this.active[ 0 ] ) { - return; - } - - // trying to collapse, simulate a click on the current active header - if ( !active.length ) { - active = this.active; - } - - anchor = active.find( ".ui-tabs-anchor" )[ 0 ]; - this._eventHandler({ - target: anchor, - currentTarget: anchor, - preventDefault: $.noop - }); - }, - - _findActive: function( index ) { - return index === false ? $() : this.tabs.eq( index ); - }, - - _getIndex: function( index ) { - // meta-function to give users option to provide a href string instead of a numerical index. - if ( typeof index === "string" ) { - index = this.anchors.index( this.anchors.filter( "[href$='" + index + "']" ) ); - } - - return index; - }, - - _destroy: function() { - if ( this.xhr ) { - this.xhr.abort(); - } - - this.element.removeClass( "ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible" ); - - this.tablist - .removeClass( "ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all" ) - .removeAttr( "role" ); - - this.anchors - .removeClass( "ui-tabs-anchor" ) - .removeAttr( "role" ) - .removeAttr( "tabIndex" ) - .removeUniqueId(); - - this.tabs.add( this.panels ).each(function() { - if ( $.data( this, "ui-tabs-destroy" ) ) { - $( this ).remove(); - } else { - $( this ) - .removeClass( "ui-state-default ui-state-active ui-state-disabled " + - "ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel" ) - .removeAttr( "tabIndex" ) - .removeAttr( "aria-live" ) - .removeAttr( "aria-busy" ) - .removeAttr( "aria-selected" ) - .removeAttr( "aria-labelledby" ) - .removeAttr( "aria-hidden" ) - .removeAttr( "aria-expanded" ) - .removeAttr( "role" ); - } - }); - - this.tabs.each(function() { - var li = $( this ), - prev = li.data( "ui-tabs-aria-controls" ); - if ( prev ) { - li - .attr( "aria-controls", prev ) - .removeData( "ui-tabs-aria-controls" ); - } else { - li.removeAttr( "aria-controls" ); - } - }); - - this.panels.show(); - - if ( this.options.heightStyle !== "content" ) { - this.panels.css( "height", "" ); - } - }, - - enable: function( index ) { - var disabled = this.options.disabled; - if ( disabled === false ) { - return; - } - - if ( index === undefined ) { - disabled = false; - } else { - index = this._getIndex( index ); - if ( $.isArray( disabled ) ) { - disabled = $.map( disabled, function( num ) { - return num !== index ? num : null; - }); - } else { - disabled = $.map( this.tabs, function( li, num ) { - return num !== index ? num : null; - }); - } - } - this._setupDisabled( disabled ); - }, - - disable: function( index ) { - var disabled = this.options.disabled; - if ( disabled === true ) { - return; - } - - if ( index === undefined ) { - disabled = true; - } else { - index = this._getIndex( index ); - if ( $.inArray( index, disabled ) !== -1 ) { - return; - } - if ( $.isArray( disabled ) ) { - disabled = $.merge( [ index ], disabled ).sort(); - } else { - disabled = [ index ]; - } - } - this._setupDisabled( disabled ); - }, - - load: function( index, event ) { - index = this._getIndex( index ); - var that = this, - tab = this.tabs.eq( index ), - anchor = tab.find( ".ui-tabs-anchor" ), - panel = this._getPanelForTab( tab ), - eventData = { - tab: tab, - panel: panel - }; - - // not remote - if ( isLocal( anchor[ 0 ] ) ) { - return; - } - - this.xhr = $.ajax( this._ajaxSettings( anchor, event, eventData ) ); - - // support: jQuery <1.8 - // jQuery <1.8 returns false if the request is canceled in beforeSend, - // but as of 1.8, $.ajax() always returns a jqXHR object. - if ( this.xhr && this.xhr.statusText !== "canceled" ) { - tab.addClass( "ui-tabs-loading" ); - panel.attr( "aria-busy", "true" ); - - this.xhr - .success(function( response ) { - // support: jQuery <1.8 - // http://bugs.jquery.com/ticket/11778 - setTimeout(function() { - panel.html( response ); - that._trigger( "load", event, eventData ); - }, 1 ); - }) - .complete(function( jqXHR, status ) { - // support: jQuery <1.8 - // http://bugs.jquery.com/ticket/11778 - setTimeout(function() { - if ( status === "abort" ) { - that.panels.stop( false, true ); - } - - tab.removeClass( "ui-tabs-loading" ); - panel.removeAttr( "aria-busy" ); - - if ( jqXHR === that.xhr ) { - delete that.xhr; - } - }, 1 ); - }); - } - }, - - _ajaxSettings: function( anchor, event, eventData ) { - var that = this; - return { - url: anchor.attr( "href" ), - beforeSend: function( jqXHR, settings ) { - return that._trigger( "beforeLoad", event, - $.extend( { jqXHR : jqXHR, ajaxSettings: settings }, eventData ) ); - } - }; - }, - - _getPanelForTab: function( tab ) { - var id = $( tab ).attr( "aria-controls" ); - return this.element.find( this._sanitizeSelector( "#" + id ) ); - } -}); - -})( jQuery ); - -(function( $, undefined ) { - -})( jQuery ); - -(function( $, window ) { - - $.mobile.iosorientationfixEnabled = true; - - // This fix addresses an iOS bug, so return early if the UA claims it's something else. - var ua = navigator.userAgent, - zoom, - evt, x, y, z, aig; - if ( !( /iPhone|iPad|iPod/.test( navigator.platform ) && /OS [1-5]_[0-9_]* like Mac OS X/i.test( ua ) && ua.indexOf( "AppleWebKit" ) > -1 ) ) { - $.mobile.iosorientationfixEnabled = false; - return; - } - - zoom = $.mobile.zoom; - - function checkTilt( e ) { - evt = e.originalEvent; - aig = evt.accelerationIncludingGravity; - - x = Math.abs( aig.x ); - y = Math.abs( aig.y ); - z = Math.abs( aig.z ); - - // If portrait orientation and in one of the danger zones - if ( !window.orientation && ( x > 7 || ( ( z > 6 && y < 8 || z < 8 && y > 6 ) && x > 5 ) ) ) { - if ( zoom.enabled ) { - zoom.disable(); - } - } else if ( !zoom.enabled ) { - zoom.enable(); - } - } - - $.mobile.document.on( "mobileinit", function() { - if ( $.mobile.iosorientationfixEnabled ) { - $.mobile.window - .bind( "orientationchange.iosorientationfix", zoom.enable ) - .bind( "devicemotion.iosorientationfix", checkTilt ); - } - }); - -}( jQuery, this )); - -(function( $, window, undefined ) { - var $html = $( "html" ), - $window = $.mobile.window; - - //remove initial build class (only present on first pageshow) - function hideRenderingClass() { - $html.removeClass( "ui-mobile-rendering" ); - } - - // trigger mobileinit event - useful hook for configuring $.mobile settings before they're used - $( window.document ).trigger( "mobileinit" ); - - // support conditions - // if device support condition(s) aren't met, leave things as they are -> a basic, usable experience, - // otherwise, proceed with the enhancements - if ( !$.mobile.gradeA() ) { - return; - } - - // override ajaxEnabled on platforms that have known conflicts with hash history updates - // or generally work better browsing in regular http for full page refreshes (BB5, Opera Mini) - if ( $.mobile.ajaxBlacklist ) { - $.mobile.ajaxEnabled = false; - } - - // Add mobile, initial load "rendering" classes to docEl - $html.addClass( "ui-mobile ui-mobile-rendering" ); - - // This is a fallback. If anything goes wrong (JS errors, etc), or events don't fire, - // this ensures the rendering class is removed after 5 seconds, so content is visible and accessible - setTimeout( hideRenderingClass, 5000 ); - - $.extend( $.mobile, { - // find and enhance the pages in the dom and transition to the first page. - initializePage: function() { - // find present pages - var path = $.mobile.path, - $pages = $( ":jqmData(role='page'), :jqmData(role='dialog')" ), - hash = path.stripHash( path.stripQueryParams(path.parseLocation().hash) ), - theLocation = $.mobile.path.parseLocation(), - hashPage = hash ? document.getElementById( hash ) : undefined; - - // if no pages are found, create one with body's inner html - if ( !$pages.length ) { - $pages = $( "body" ).wrapInner( "<div data-" + $.mobile.ns + "role='page'></div>" ).children( 0 ); - } - - // add dialogs, set data-url attrs - $pages.each(function() { - var $this = $( this ); - - // unless the data url is already set set it to the pathname - if ( !$this[ 0 ].getAttribute( "data-" + $.mobile.ns + "url" ) ) { - $this.attr( "data-" + $.mobile.ns + "url", $this.attr( "id" ) || - path.convertUrlToDataUrl( theLocation.pathname + theLocation.search ) ); - } - }); - - // define first page in dom case one backs out to the directory root (not always the first page visited, but defined as fallback) - $.mobile.firstPage = $pages.first(); - - // define page container - $.mobile.pageContainer = $.mobile.firstPage - .parent() - .addClass( "ui-mobile-viewport" ) - .pagecontainer(); - - // initialize navigation events now, after mobileinit has occurred and the page container - // has been created but before the rest of the library is alerted to that fact - $.mobile.navreadyDeferred.resolve(); - - // alert listeners that the pagecontainer has been determined for binding - // to events triggered on it - $window.trigger( "pagecontainercreate" ); - - // cue page loading message - $.mobile.loading( "show" ); - - //remove initial build class (only present on first pageshow) - hideRenderingClass(); - - // if hashchange listening is disabled, there's no hash deeplink, - // the hash is not valid (contains more than one # or does not start with #) - // or there is no page with that hash, change to the first page in the DOM - // Remember, however, that the hash can also be a path! - if ( ! ( $.mobile.hashListeningEnabled && - $.mobile.path.isHashValid( location.hash ) && - ( $( hashPage ).is( ":jqmData(role='page')" ) || - $.mobile.path.isPath( hash ) || - hash === $.mobile.dialogHashKey ) ) ) { - - // make sure to set initial popstate state if it exists - // so that navigation back to the initial page works properly - if ( $.event.special.navigate.isPushStateEnabled() ) { - $.mobile.navigate.navigator.squash( path.parseLocation().href ); - } - - $.mobile.changePage( $.mobile.firstPage, { - transition: "none", - reverse: true, - changeHash: false, - fromHashChange: true - }); - } else { - // trigger hashchange or navigate to squash and record the correct - // history entry for an initial hash path - if ( !$.event.special.navigate.isPushStateEnabled() ) { - $window.trigger( "hashchange", [true] ); - } else { - // TODO figure out how to simplify this interaction with the initial history entry - // at the bottom js/navigate/navigate.js - $.mobile.navigate.history.stack = []; - $.mobile.navigate( $.mobile.path.isPath( location.hash ) ? location.hash : location.href ); - } - } - } - }); - - $(function() { - //Run inlineSVG support test - $.support.inlineSVG(); - - // check which scrollTop value should be used by scrolling to 1 immediately at domready - // then check what the scroll top is. Android will report 0... others 1 - // note that this initial scroll won't hide the address bar. It's just for the check. - - // hide iOS browser chrome on load if hideUrlBar is true this is to try and do it as soon as possible - if ( $.mobile.hideUrlBar ) { - window.scrollTo( 0, 1 ); - } - - // if defaultHomeScroll hasn't been set yet, see if scrollTop is 1 - // it should be 1 in most browsers, but android treats 1 as 0 (for hiding addr bar) - // so if it's 1, use 0 from now on - $.mobile.defaultHomeScroll = ( !$.support.scrollTop || $.mobile.window.scrollTop() === 1 ) ? 0 : 1; - - //dom-ready inits - if ( $.mobile.autoInitializePage ) { - $.mobile.initializePage(); - } - - // window load event - // hide iOS browser chrome on load if hideUrlBar is true this is as fall back incase we were too early before - if ( $.mobile.hideUrlBar ) { - $window.load( $.mobile.silentScroll ); - } - - if ( !$.support.cssPointerEvents ) { - // IE and Opera don't support CSS pointer-events: none that we use to disable link-based buttons - // by adding the 'ui-disabled' class to them. Using a JavaScript workaround for those browser. - // https://github.com/jquery/jquery-mobile/issues/3558 - - // DEPRECATED as of 1.4.0 - remove ui-disabled after 1.4.0 release - // only ui-state-disabled should be present thereafter - $.mobile.document.delegate( ".ui-state-disabled,.ui-disabled", "vclick", - function( e ) { - e.preventDefault(); - e.stopImmediatePropagation(); - } - ); - } - }); -}( jQuery, this )); - - -})); diff --git a/ucoinj-ui-wicket/src/main/webapp/js/jquery.mobile-1.4.5.min.js b/ucoinj-ui-wicket/src/main/webapp/js/jquery.mobile-1.4.5.min.js deleted file mode 100644 index 6e1cbf7d18d3924b7b070fef3215f272eb3c801a..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/js/jquery.mobile-1.4.5.min.js +++ /dev/null @@ -1,31 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! jQuery Mobile 1.4.5 | Git HEADhash: 68e55e7 <> 2014-10-31T17:33:30Z | (c) 2010, 2014 jQuery Foundation, Inc. | jquery.org/license */ - -!function(a,b,c){"function"==typeof define&&define.amd?define(["jquery"],function(d){return c(d,a,b),d.mobile}):c(a.jQuery,a,b)}(this,document,function(a,b,c){!function(a){a.mobile={}}(a),function(a,b){function d(b,c){var d,f,g,h=b.nodeName.toLowerCase();return"area"===h?(d=b.parentNode,f=d.name,b.href&&f&&"map"===d.nodeName.toLowerCase()?(g=a("img[usemap=#"+f+"]")[0],!!g&&e(g)):!1):(/input|select|textarea|button|object/.test(h)?!b.disabled:"a"===h?b.href||c:c)&&e(b)}function e(b){return a.expr.filters.visible(b)&&!a(b).parents().addBack().filter(function(){return"hidden"===a.css(this,"visibility")}).length}var f=0,g=/^ui-id-\d+$/;a.ui=a.ui||{},a.extend(a.ui,{version:"c0ab71056b936627e8a7821f03c044aec6280a40",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),a.fn.extend({focus:function(b){return function(c,d){return"number"==typeof c?this.each(function(){var b=this;setTimeout(function(){a(b).focus(),d&&d.call(b)},c)}):b.apply(this,arguments)}}(a.fn.focus),scrollParent:function(){var b;return b=a.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(a.css(this,"position"))&&/(auto|scroll)/.test(a.css(this,"overflow")+a.css(this,"overflow-y")+a.css(this,"overflow-x"))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(a.css(this,"overflow")+a.css(this,"overflow-y")+a.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!b.length?a(this[0].ownerDocument||c):b},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++f)})},removeUniqueId:function(){return this.each(function(){g.test(this.id)&&a(this).removeAttr("id")})}}),a.extend(a.expr[":"],{data:a.expr.createPseudo?a.expr.createPseudo(function(b){return function(c){return!!a.data(c,b)}}):function(b,c,d){return!!a.data(b,d[3])},focusable:function(b){return d(b,!isNaN(a.attr(b,"tabindex")))},tabbable:function(b){var c=a.attr(b,"tabindex"),e=isNaN(c);return(e||c>=0)&&d(b,!e)}}),a("<a>").outerWidth(1).jquery||a.each(["Width","Height"],function(c,d){function e(b,c,d,e){return a.each(f,function(){c-=parseFloat(a.css(b,"padding"+this))||0,d&&(c-=parseFloat(a.css(b,"border"+this+"Width"))||0),e&&(c-=parseFloat(a.css(b,"margin"+this))||0)}),c}var f="Width"===d?["Left","Right"]:["Top","Bottom"],g=d.toLowerCase(),h={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+d]=function(c){return c===b?h["inner"+d].call(this):this.each(function(){a(this).css(g,e(this,c)+"px")})},a.fn["outer"+d]=function(b,c){return"number"!=typeof b?h["outer"+d].call(this,b):this.each(function(){a(this).css(g,e(this,b,!0,c)+"px")})}}),a.fn.addBack||(a.fn.addBack=function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}),a("<a>").data("a-b","a").removeData("a-b").data("a-b")&&(a.fn.removeData=function(b){return function(c){return arguments.length?b.call(this,a.camelCase(c)):b.call(this)}}(a.fn.removeData)),a.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),a.support.selectstart="onselectstart"in c.createElement("div"),a.fn.extend({disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")},zIndex:function(d){if(d!==b)return this.css("zIndex",d);if(this.length)for(var e,f,g=a(this[0]);g.length&&g[0]!==c;){if(e=g.css("position"),("absolute"===e||"relative"===e||"fixed"===e)&&(f=parseInt(g.css("zIndex"),10),!isNaN(f)&&0!==f))return f;g=g.parent()}return 0}}),a.ui.plugin={add:function(b,c,d){var e,f=a.ui[b].prototype;for(e in d)f.plugins[e]=f.plugins[e]||[],f.plugins[e].push([c,d[e]])},call:function(a,b,c,d){var e,f=a.plugins[b];if(f&&(d||a.element[0].parentNode&&11!==a.element[0].parentNode.nodeType))for(e=0;e<f.length;e++)a.options[f[e][0]]&&f[e][1].apply(a.element,c)}}}(a),function(a,b){var d=function(b,c){var d=b.parent(),e=[],f=function(){var b=a(this),c=a.mobile.toolbar&&b.data("mobile-toolbar")?b.toolbar("option"):{position:b.attr("data-"+a.mobile.ns+"position"),updatePagePadding:b.attr("data-"+a.mobile.ns+"update-page-padding")!==!1};return!("fixed"===c.position&&c.updatePagePadding===!0)},g=d.children(":jqmData(role='header')").filter(f),h=b.children(":jqmData(role='header')"),i=d.children(":jqmData(role='footer')").filter(f),j=b.children(":jqmData(role='footer')");return 0===h.length&&g.length>0&&(e=e.concat(g.toArray())),0===j.length&&i.length>0&&(e=e.concat(i.toArray())),a.each(e,function(b,d){c-=a(d).outerHeight()}),Math.max(0,c)};a.extend(a.mobile,{window:a(b),document:a(c),keyCode:a.ui.keyCode,behaviors:{},silentScroll:function(c){"number"!==a.type(c)&&(c=a.mobile.defaultHomeScroll),a.event.special.scrollstart.enabled=!1,setTimeout(function(){b.scrollTo(0,c),a.mobile.document.trigger("silentscroll",{x:0,y:c})},20),setTimeout(function(){a.event.special.scrollstart.enabled=!0},150)},getClosestBaseUrl:function(b){var c=a(b).closest(".ui-page").jqmData("url"),d=a.mobile.path.documentBase.hrefNoHash;return a.mobile.dynamicBaseEnabled&&c&&a.mobile.path.isPath(c)||(c=d),a.mobile.path.makeUrlAbsolute(c,d)},removeActiveLinkClass:function(b){!a.mobile.activeClickedLink||a.mobile.activeClickedLink.closest("."+a.mobile.activePageClass).length&&!b||a.mobile.activeClickedLink.removeClass(a.mobile.activeBtnClass),a.mobile.activeClickedLink=null},getInheritedTheme:function(a,b){for(var c,d,e=a[0],f="",g=/ui-(bar|body|overlay)-([a-z])\b/;e&&(c=e.className||"",!(c&&(d=g.exec(c))&&(f=d[2])));)e=e.parentNode;return f||b||"a"},enhanceable:function(a){return this.haveParents(a,"enhance")},hijackable:function(a){return this.haveParents(a,"ajax")},haveParents:function(b,c){if(!a.mobile.ignoreContentEnabled)return b;var d,e,f,g,h,i=b.length,j=a();for(g=0;i>g;g++){for(e=b.eq(g),f=!1,d=b[g];d;){if(h=d.getAttribute?d.getAttribute("data-"+a.mobile.ns+c):"","false"===h){f=!0;break}d=d.parentNode}f||(j=j.add(e))}return j},getScreenHeight:function(){return b.innerHeight||a.mobile.window.height()},resetActivePageHeight:function(b){var c=a("."+a.mobile.activePageClass),e=c.height(),f=c.outerHeight(!0);b=d(c,"number"==typeof b?b:a.mobile.getScreenHeight()),c.css("min-height",""),c.height()<b&&c.css("min-height",b-(f-e))},loading:function(){var b=this.loading._widget||a(a.mobile.loader.prototype.defaultHtml).loader(),c=b.loader.apply(b,arguments);return this.loading._widget=b,c}}),a.addDependents=function(b,c){var d=a(b),e=d.jqmData("dependents")||a();d.jqmData("dependents",a(e).add(c))},a.fn.extend({removeWithDependents:function(){a.removeWithDependents(this)},enhanceWithin:function(){var b,c={},d=a.mobile.page.prototype.keepNativeSelector(),e=this;a.mobile.nojs&&a.mobile.nojs(this),a.mobile.links&&a.mobile.links(this),a.mobile.degradeInputsWithin&&a.mobile.degradeInputsWithin(this),a.fn.buttonMarkup&&this.find(a.fn.buttonMarkup.initSelector).not(d).jqmEnhanceable().buttonMarkup(),a.fn.fieldcontain&&this.find(":jqmData(role='fieldcontain')").not(d).jqmEnhanceable().fieldcontain(),a.each(a.mobile.widgets,function(b,f){if(f.initSelector){var g=a.mobile.enhanceable(e.find(f.initSelector));g.length>0&&(g=g.not(d)),g.length>0&&(c[f.prototype.widgetName]=g)}});for(b in c)c[b][b]();return this},addDependents:function(b){a.addDependents(this,b)},getEncodedText:function(){return a("<a>").text(this.text()).html()},jqmEnhanceable:function(){return a.mobile.enhanceable(this)},jqmHijackable:function(){return a.mobile.hijackable(this)}}),a.removeWithDependents=function(b){var c=a(b);(c.jqmData("dependents")||a()).remove(),c.remove()},a.addDependents=function(b,c){var d=a(b),e=d.jqmData("dependents")||a();d.jqmData("dependents",a(e).add(c))},a.find.matches=function(b,c){return a.find(b,null,null,c)},a.find.matchesSelector=function(b,c){return a.find(c,null,null,[b]).length>0}}(a,this),function(a){a.extend(a.mobile,{version:"1.4.5",subPageUrlKey:"ui-page",hideUrlBar:!0,keepNative:":jqmData(role='none'), :jqmData(role='nojs')",activePageClass:"ui-page-active",activeBtnClass:"ui-btn-active",focusClass:"ui-focus",ajaxEnabled:!0,hashListeningEnabled:!0,linkBindingEnabled:!0,defaultPageTransition:"fade",maxTransitionWidth:!1,minScrollBack:0,defaultDialogTransition:"pop",pageLoadErrorMessage:"Error Loading Page",pageLoadErrorMessageTheme:"a",phonegapNavigationEnabled:!1,autoInitializePage:!0,pushStateEnabled:!0,ignoreContentEnabled:!1,buttonMarkup:{hoverDelay:200},dynamicBaseEnabled:!0,pageContainer:a(),allowCrossDomainPages:!1,dialogHashKey:"&ui-state=dialog"})}(a,this),function(a,b){var c=0,d=Array.prototype.slice,e=a.cleanData;a.cleanData=function(b){for(var c,d=0;null!=(c=b[d]);d++)try{a(c).triggerHandler("remove")}catch(f){}e(b)},a.widget=function(b,c,d){var e,f,g,h,i={},j=b.split(".")[0];return b=b.split(".")[1],e=j+"-"+b,d||(d=c,c=a.Widget),a.expr[":"][e.toLowerCase()]=function(b){return!!a.data(b,e)},a[j]=a[j]||{},f=a[j][b],g=a[j][b]=function(a,b){return this._createWidget?void(arguments.length&&this._createWidget(a,b)):new g(a,b)},a.extend(g,f,{version:d.version,_proto:a.extend({},d),_childConstructors:[]}),h=new c,h.options=a.widget.extend({},h.options),a.each(d,function(b,d){return a.isFunction(d)?void(i[b]=function(){var a=function(){return c.prototype[b].apply(this,arguments)},e=function(a){return c.prototype[b].apply(this,a)};return function(){var b,c=this._super,f=this._superApply;return this._super=a,this._superApply=e,b=d.apply(this,arguments),this._super=c,this._superApply=f,b}}()):void(i[b]=d)}),g.prototype=a.widget.extend(h,{widgetEventPrefix:f?h.widgetEventPrefix||b:b},i,{constructor:g,namespace:j,widgetName:b,widgetFullName:e}),f?(a.each(f._childConstructors,function(b,c){var d=c.prototype;a.widget(d.namespace+"."+d.widgetName,g,c._proto)}),delete f._childConstructors):c._childConstructors.push(g),a.widget.bridge(b,g),g},a.widget.extend=function(c){for(var e,f,g=d.call(arguments,1),h=0,i=g.length;i>h;h++)for(e in g[h])f=g[h][e],g[h].hasOwnProperty(e)&&f!==b&&(c[e]=a.isPlainObject(f)?a.isPlainObject(c[e])?a.widget.extend({},c[e],f):a.widget.extend({},f):f);return c},a.widget.bridge=function(c,e){var f=e.prototype.widgetFullName||c;a.fn[c]=function(g){var h="string"==typeof g,i=d.call(arguments,1),j=this;return g=!h&&i.length?a.widget.extend.apply(null,[g].concat(i)):g,this.each(h?function(){var d,e=a.data(this,f);return"instance"===g?(j=e,!1):e?a.isFunction(e[g])&&"_"!==g.charAt(0)?(d=e[g].apply(e,i),d!==e&&d!==b?(j=d&&d.jquery?j.pushStack(d.get()):d,!1):void 0):a.error("no such method '"+g+"' for "+c+" widget instance"):a.error("cannot call methods on "+c+" prior to initialization; attempted to call method '"+g+"'")}:function(){var b=a.data(this,f);b?b.option(g||{})._init():a.data(this,f,new e(g,this))}),j}},a.Widget=function(){},a.Widget._childConstructors=[],a.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(b,d){d=a(d||this.defaultElement||this)[0],this.element=a(d),this.uuid=c++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=a.widget.extend({},this.options,this._getCreateOptions(),b),this.bindings=a(),this.hoverable=a(),this.focusable=a(),d!==this&&(a.data(d,this.widgetFullName,this),this._on(!0,this.element,{remove:function(a){a.target===d&&this.destroy()}}),this.document=a(d.style?d.ownerDocument:d.document||d),this.window=a(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:a.noop,_getCreateEventData:a.noop,_create:a.noop,_init:a.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(a.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:a.noop,widget:function(){return this.element},option:function(c,d){var e,f,g,h=c;if(0===arguments.length)return a.widget.extend({},this.options);if("string"==typeof c)if(h={},e=c.split("."),c=e.shift(),e.length){for(f=h[c]=a.widget.extend({},this.options[c]),g=0;g<e.length-1;g++)f[e[g]]=f[e[g]]||{},f=f[e[g]];if(c=e.pop(),d===b)return f[c]===b?null:f[c];f[c]=d}else{if(d===b)return this.options[c]===b?null:this.options[c];h[c]=d}return this._setOptions(h),this},_setOptions:function(a){var b;for(b in a)this._setOption(b,a[b]);return this},_setOption:function(a,b){return this.options[a]=b,"disabled"===a&&(this.widget().toggleClass(this.widgetFullName+"-disabled",!!b),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")),this},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_on:function(b,c,d){var e,f=this;"boolean"!=typeof b&&(d=c,c=b,b=!1),d?(c=e=a(c),this.bindings=this.bindings.add(c)):(d=c,c=this.element,e=this.widget()),a.each(d,function(d,g){function h(){return b||f.options.disabled!==!0&&!a(this).hasClass("ui-state-disabled")?("string"==typeof g?f[g]:g).apply(f,arguments):void 0}"string"!=typeof g&&(h.guid=g.guid=g.guid||h.guid||a.guid++);var i=d.match(/^(\w+)\s*(.*)$/),j=i[1]+f.eventNamespace,k=i[2];k?e.delegate(k,j,h):c.bind(j,h)})},_off:function(a,b){b=(b||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,a.unbind(b).undelegate(b)},_delay:function(a,b){function c(){return("string"==typeof a?d[a]:a).apply(d,arguments)}var d=this;return setTimeout(c,b||0)},_hoverable:function(b){this.hoverable=this.hoverable.add(b),this._on(b,{mouseenter:function(b){a(b.currentTarget).addClass("ui-state-hover")},mouseleave:function(b){a(b.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(b){this.focusable=this.focusable.add(b),this._on(b,{focusin:function(b){a(b.currentTarget).addClass("ui-state-focus")},focusout:function(b){a(b.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(b,c,d){var e,f,g=this.options[b];if(d=d||{},c=a.Event(c),c.type=(b===this.widgetEventPrefix?b:this.widgetEventPrefix+b).toLowerCase(),c.target=this.element[0],f=c.originalEvent)for(e in f)e in c||(c[e]=f[e]);return this.element.trigger(c,d),!(a.isFunction(g)&&g.apply(this.element[0],[c].concat(d))===!1||c.isDefaultPrevented())}},a.each({show:"fadeIn",hide:"fadeOut"},function(b,c){a.Widget.prototype["_"+b]=function(d,e,f){"string"==typeof e&&(e={effect:e});var g,h=e?e===!0||"number"==typeof e?c:e.effect||c:b;e=e||{},"number"==typeof e&&(e={duration:e}),g=!a.isEmptyObject(e),e.complete=f,e.delay&&d.delay(e.delay),g&&a.effects&&a.effects.effect[h]?d[b](e):h!==b&&d[h]?d[h](e.duration,e.easing,f):d.queue(function(c){a(this)[b](),f&&f.call(d[0]),c()})}})}(a),function(a,b,c){var d={},e=a.find,f=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,g=/:jqmData\(([^)]*)\)/g;a.extend(a.mobile,{ns:"",getAttribute:function(b,c){var d;b=b.jquery?b[0]:b,b&&b.getAttribute&&(d=b.getAttribute("data-"+a.mobile.ns+c));try{d="true"===d?!0:"false"===d?!1:"null"===d?null:+d+""===d?+d:f.test(d)?JSON.parse(d):d}catch(e){}return d},nsNormalizeDict:d,nsNormalize:function(b){return d[b]||(d[b]=a.camelCase(a.mobile.ns+b))},closestPageData:function(a){return a.closest(":jqmData(role='page'), :jqmData(role='dialog')").data("mobile-page")}}),a.fn.jqmData=function(b,d){var e;return"undefined"!=typeof b&&(b&&(b=a.mobile.nsNormalize(b)),e=arguments.length<2||d===c?this.data(b):this.data(b,d)),e},a.jqmData=function(b,c,d){var e;return"undefined"!=typeof c&&(e=a.data(b,c?a.mobile.nsNormalize(c):c,d)),e},a.fn.jqmRemoveData=function(b){return this.removeData(a.mobile.nsNormalize(b))},a.jqmRemoveData=function(b,c){return a.removeData(b,a.mobile.nsNormalize(c))},a.find=function(b,c,d,f){return b.indexOf(":jqmData")>-1&&(b=b.replace(g,"[data-"+(a.mobile.ns||"")+"$1]")),e.call(this,b,c,d,f)},a.extend(a.find,e)}(a,this),function(a){var b=/[A-Z]/g,c=function(a){return"-"+a.toLowerCase()};a.extend(a.Widget.prototype,{_getCreateOptions:function(){var d,e,f=this.element[0],g={};if(!a.mobile.getAttribute(f,"defaults"))for(d in this.options)e=a.mobile.getAttribute(f,d.replace(b,c)),null!=e&&(g[d]=e);return g}}),a.mobile.widget=a.Widget}(a),function(a){var b="ui-loader",c=a("html");a.widget("mobile.loader",{options:{theme:"a",textVisible:!1,html:"",text:"loading"},defaultHtml:"<div class='"+b+"'><span class='ui-icon-loading'></span><h1></h1></div>",fakeFixLoader:function(){var b=a("."+a.mobile.activeBtnClass).first();this.element.css({top:a.support.scrollTop&&this.window.scrollTop()+this.window.height()/2||b.length&&b.offset().top||100})},checkLoaderPosition:function(){var b=this.element.offset(),c=this.window.scrollTop(),d=a.mobile.getScreenHeight();(b.top<c||b.top-c>d)&&(this.element.addClass("ui-loader-fakefix"),this.fakeFixLoader(),this.window.unbind("scroll",this.checkLoaderPosition).bind("scroll",a.proxy(this.fakeFixLoader,this)))},resetHtml:function(){this.element.html(a(this.defaultHtml).html())},show:function(d,e,f){var g,h,i;this.resetHtml(),"object"===a.type(d)?(i=a.extend({},this.options,d),d=i.theme):(i=this.options,d=d||i.theme),h=e||(i.text===!1?"":i.text),c.addClass("ui-loading"),g=i.textVisible,this.element.attr("class",b+" ui-corner-all ui-body-"+d+" ui-loader-"+(g||e||d.text?"verbose":"default")+(i.textonly||f?" ui-loader-textonly":"")),i.html?this.element.html(i.html):this.element.find("h1").text(h),this.element.appendTo(a(a.mobile.pagecontainer?":mobile-pagecontainer":"body")),this.checkLoaderPosition(),this.window.bind("scroll",a.proxy(this.checkLoaderPosition,this))},hide:function(){c.removeClass("ui-loading"),this.options.text&&this.element.removeClass("ui-loader-fakefix"),this.window.unbind("scroll",this.fakeFixLoader),this.window.unbind("scroll",this.checkLoaderPosition)}})}(a,this),function(a,b,d){"$:nomunge";function e(a){return a=a||location.href,"#"+a.replace(/^[^#]*#?(.*)$/,"$1")}var f,g="hashchange",h=c,i=a.event.special,j=h.documentMode,k="on"+g in b&&(j===d||j>7);a.fn[g]=function(a){return a?this.bind(g,a):this.trigger(g)},a.fn[g].delay=50,i[g]=a.extend(i[g],{setup:function(){return k?!1:void a(f.start)},teardown:function(){return k?!1:void a(f.stop)}}),f=function(){function c(){var d=e(),h=n(j);d!==j?(m(j=d,h),a(b).trigger(g)):h!==j&&(location.href=location.href.replace(/#.*/,"")+h),f=setTimeout(c,a.fn[g].delay)}var f,i={},j=e(),l=function(a){return a},m=l,n=l;return i.start=function(){f||c()},i.stop=function(){f&&clearTimeout(f),f=d},b.attachEvent&&!b.addEventListener&&!k&&function(){var b,d;i.start=function(){b||(d=a.fn[g].src,d=d&&d+e(),b=a('<iframe tabindex="-1" title="empty"/>').hide().one("load",function(){d||m(e()),c()}).attr("src",d||"javascript:0").insertAfter("body")[0].contentWindow,h.onpropertychange=function(){try{"title"===event.propertyName&&(b.document.title=h.title)}catch(a){}})},i.stop=l,n=function(){return e(b.location.href)},m=function(c,d){var e=b.document,f=a.fn[g].domain;c!==d&&(e.title=h.title,e.open(),f&&e.write('<script>document.domain="'+f+'"</script>'),e.close(),b.location.hash=c)}}(),i}()}(a,this),function(a){b.matchMedia=b.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='­<style media="'+a+'"> #mq-test-1 { width: 42px; }</style>',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(c),a.mobile.media=function(a){return b.matchMedia(a).matches}}(a),function(a){var b={touch:"ontouchend"in c};a.mobile.support=a.mobile.support||{},a.extend(a.support,b),a.extend(a.mobile.support,b)}(a),function(a){a.extend(a.support,{orientation:"orientation"in b&&"onorientationchange"in b})}(a),function(a,d){function e(a){var b,c=a.charAt(0).toUpperCase()+a.substr(1),e=(a+" "+o.join(c+" ")+c).split(" ");for(b in e)if(n[e[b]]!==d)return!0}function f(){var c=b,d=!(!c.document.createElementNS||!c.document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect||c.opera&&-1===navigator.userAgent.indexOf("Chrome")),e=function(b){b&&d||a("html").addClass("ui-nosvg")},f=new c.Image;f.onerror=function(){e(!1)},f.onload=function(){e(1===f.width&&1===f.height)},f.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw=="}function g(){var e,f,g,h="transform-3d",i=a.mobile.media("(-"+o.join("-"+h+"),(-")+"-"+h+"),("+h+")");if(i)return!!i;e=c.createElement("div"),f={MozTransform:"-moz-transform",transform:"transform"},m.append(e);for(g in f)e.style[g]!==d&&(e.style[g]="translate3d( 100px, 1px, 1px )",i=b.getComputedStyle(e).getPropertyValue(f[g]));return!!i&&"none"!==i}function h(){var b,c,d=location.protocol+"//"+location.host+location.pathname+"ui-dir/",e=a("head base"),f=null,g="";return e.length?g=e.attr("href"):e=f=a("<base>",{href:d}).appendTo("head"),b=a("<a href='testurl' />").prependTo(m),c=b[0].href,e[0].href=g||location.pathname,f&&f.remove(),0===c.indexOf(d)}function i(){var a,d=c.createElement("x"),e=c.documentElement,f=b.getComputedStyle;return"pointerEvents"in d.style?(d.style.pointerEvents="auto",d.style.pointerEvents="x",e.appendChild(d),a=f&&"auto"===f(d,"").pointerEvents,e.removeChild(d),!!a):!1}function j(){var a=c.createElement("div");return"undefined"!=typeof a.getBoundingClientRect}function k(){var a=b,c=navigator.userAgent,d=navigator.platform,e=c.match(/AppleWebKit\/([0-9]+)/),f=!!e&&e[1],g=c.match(/Fennec\/([0-9]+)/),h=!!g&&g[1],i=c.match(/Opera Mobi\/([0-9]+)/),j=!!i&&i[1];return(d.indexOf("iPhone")>-1||d.indexOf("iPad")>-1||d.indexOf("iPod")>-1)&&f&&534>f||a.operamini&&"[object OperaMini]"==={}.toString.call(a.operamini)||i&&7458>j||c.indexOf("Android")>-1&&f&&533>f||h&&6>h||"palmGetResource"in b&&f&&534>f||c.indexOf("MeeGo")>-1&&c.indexOf("NokiaBrowser/8.5.0")>-1?!1:!0}var l,m=a("<body>").prependTo("html"),n=m[0].style,o=["Webkit","Moz","O"],p="palmGetResource"in b,q=b.operamini&&"[object OperaMini]"==={}.toString.call(b.operamini),r=b.blackberry&&!e("-webkit-transform");a.extend(a.mobile,{browser:{}}),a.mobile.browser.oldIE=function(){var a=3,b=c.createElement("div"),d=b.all||[];do b.innerHTML="<!--[if gt IE "+ ++a+"]><br><![endif]-->";while(d[0]);return a>4?a:!a}(),a.extend(a.support,{pushState:"pushState"in history&&"replaceState"in history&&!(b.navigator.userAgent.indexOf("Firefox")>=0&&b.top!==b)&&-1===b.navigator.userAgent.search(/CriOS/),mediaquery:a.mobile.media("only all"),cssPseudoElement:!!e("content"),touchOverflow:!!e("overflowScrolling"),cssTransform3d:g(),boxShadow:!!e("boxShadow")&&!r,fixedPosition:k(),scrollTop:("pageXOffset"in b||"scrollTop"in c.documentElement||"scrollTop"in m[0])&&!p&&!q,dynamicBaseTag:h(),cssPointerEvents:i(),boundingRect:j(),inlineSVG:f}),m.remove(),l=function(){var a=b.navigator.userAgent;return a.indexOf("Nokia")>-1&&(a.indexOf("Symbian/3")>-1||a.indexOf("Series60/5")>-1)&&a.indexOf("AppleWebKit")>-1&&a.match(/(BrowserNG|NokiaBrowser)\/7\.[0-3]/)}(),a.mobile.gradeA=function(){return(a.support.mediaquery&&a.support.cssPseudoElement||a.mobile.browser.oldIE&&a.mobile.browser.oldIE>=8)&&(a.support.boundingRect||null!==a.fn.jquery.match(/1\.[0-7+]\.[0-9+]?/))},a.mobile.ajaxBlacklist=b.blackberry&&!b.WebKitPoint||q||l,l&&a(function(){a("head link[rel='stylesheet']").attr("rel","alternate stylesheet").attr("rel","stylesheet")}),a.support.boxShadow||a("html").addClass("ui-noboxshadow")}(a),function(a,b){var c,d=a.mobile.window,e=function(){};a.event.special.beforenavigate={setup:function(){d.on("navigate",e)},teardown:function(){d.off("navigate",e)}},a.event.special.navigate=c={bound:!1,pushStateEnabled:!0,originalEventName:b,isPushStateEnabled:function(){return a.support.pushState&&a.mobile.pushStateEnabled===!0&&this.isHashChangeEnabled()},isHashChangeEnabled:function(){return a.mobile.hashListeningEnabled===!0},popstate:function(b){var c=new a.Event("navigate"),e=new a.Event("beforenavigate"),f=b.originalEvent.state||{};e.originalEvent=b,d.trigger(e),e.isDefaultPrevented()||(b.historyState&&a.extend(f,b.historyState),c.originalEvent=b,setTimeout(function(){d.trigger(c,{state:f})},0))},hashchange:function(b){var c=new a.Event("navigate"),e=new a.Event("beforenavigate");e.originalEvent=b,d.trigger(e),e.isDefaultPrevented()||(c.originalEvent=b,d.trigger(c,{state:b.hashchangeState||{}}))},setup:function(){c.bound||(c.bound=!0,c.isPushStateEnabled()?(c.originalEventName="popstate",d.bind("popstate.navigate",c.popstate)):c.isHashChangeEnabled()&&(c.originalEventName="hashchange",d.bind("hashchange.navigate",c.hashchange)))}}}(a),function(a,c){var d,e,f="&ui-state=dialog";a.mobile.path=d={uiStateKey:"&ui-state",urlParseRE:/^\s*(((([^:\/#\?]+:)?(?:(\/\/)((?:(([^:@\/#\?]+)(?:\:([^:@\/#\?]+))?)@)?(([^:\/#\?\]\[]+|\[[^\/\]@#?]+\])(?:\:([0-9]+))?))?)?)?((\/?(?:[^\/\?#]+\/+)*)([^\?#]*)))?(\?[^#]+)?)(#.*)?/,getLocation:function(a){var b=this.parseUrl(a||location.href),c=a?b:location,d=b.hash;return d="#"===d?"":d,c.protocol+b.doubleSlash+c.host+(""!==c.protocol&&"/"!==c.pathname.substring(0,1)?"/":"")+c.pathname+c.search+d},getDocumentUrl:function(b){return b?a.extend({},d.documentUrl):d.documentUrl.href},parseLocation:function(){return this.parseUrl(this.getLocation())},parseUrl:function(b){if("object"===a.type(b))return b;var c=d.urlParseRE.exec(b||"")||[];return{href:c[0]||"",hrefNoHash:c[1]||"",hrefNoSearch:c[2]||"",domain:c[3]||"",protocol:c[4]||"",doubleSlash:c[5]||"",authority:c[6]||"",username:c[8]||"",password:c[9]||"",host:c[10]||"",hostname:c[11]||"",port:c[12]||"",pathname:c[13]||"",directory:c[14]||"",filename:c[15]||"",search:c[16]||"",hash:c[17]||""}},makePathAbsolute:function(a,b){var c,d,e,f;if(a&&"/"===a.charAt(0))return a;for(a=a||"",b=b?b.replace(/^\/|(\/[^\/]*|[^\/]+)$/g,""):"",c=b?b.split("/"):[],d=a.split("/"),e=0;e<d.length;e++)switch(f=d[e]){case".":break;case"..":c.length&&c.pop();break;default:c.push(f)}return"/"+c.join("/")},isSameDomain:function(a,b){return d.parseUrl(a).domain.toLowerCase()===d.parseUrl(b).domain.toLowerCase()},isRelativeUrl:function(a){return""===d.parseUrl(a).protocol},isAbsoluteUrl:function(a){return""!==d.parseUrl(a).protocol},makeUrlAbsolute:function(a,b){if(!d.isRelativeUrl(a))return a;b===c&&(b=this.documentBase);var e=d.parseUrl(a),f=d.parseUrl(b),g=e.protocol||f.protocol,h=e.protocol?e.doubleSlash:e.doubleSlash||f.doubleSlash,i=e.authority||f.authority,j=""!==e.pathname,k=d.makePathAbsolute(e.pathname||f.filename,f.pathname),l=e.search||!j&&f.search||"",m=e.hash;return g+h+i+k+l+m},addSearchParams:function(b,c){var e=d.parseUrl(b),f="object"==typeof c?a.param(c):c,g=e.search||"?";return e.hrefNoSearch+g+("?"!==g.charAt(g.length-1)?"&":"")+f+(e.hash||"")},convertUrlToDataUrl:function(a){var c=a,e=d.parseUrl(a);return d.isEmbeddedPage(e)?c=e.hash.split(f)[0].replace(/^#/,"").replace(/\?.*$/,""):d.isSameDomain(e,this.documentBase)&&(c=e.hrefNoHash.replace(this.documentBase.domain,"").split(f)[0]),b.decodeURIComponent(c)},get:function(a){return a===c&&(a=d.parseLocation().hash),d.stripHash(a).replace(/[^\/]*\.[^\/*]+$/,"")},set:function(a){location.hash=a},isPath:function(a){return/\//.test(a)},clean:function(a){return a.replace(this.documentBase.domain,"")},stripHash:function(a){return a.replace(/^#/,"")},stripQueryParams:function(a){return a.replace(/\?.*$/,"")},cleanHash:function(a){return d.stripHash(a.replace(/\?.*$/,"").replace(f,""))},isHashValid:function(a){return/^#[^#]+$/.test(a)},isExternal:function(a){var b=d.parseUrl(a);return!(!b.protocol||b.domain.toLowerCase()===this.documentUrl.domain.toLowerCase())},hasProtocol:function(a){return/^(:?\w+:)/.test(a)},isEmbeddedPage:function(a){var b=d.parseUrl(a);return""!==b.protocol?!this.isPath(b.hash)&&b.hash&&(b.hrefNoHash===this.documentUrl.hrefNoHash||this.documentBaseDiffers&&b.hrefNoHash===this.documentBase.hrefNoHash):/^#/.test(b.href)},squash:function(a,b){var c,e,f,g,h,i=this.isPath(a),j=this.parseUrl(a),k=j.hash,l="";return b||(i?b=d.getLocation():(h=d.getDocumentUrl(!0),b=d.isPath(h.hash)?d.squash(h.href):h.href)),e=i?d.stripHash(a):a,e=d.isPath(j.hash)?d.stripHash(j.hash):e,g=e.indexOf(this.uiStateKey),g>-1&&(l=e.slice(g),e=e.slice(0,g)),c=d.makeUrlAbsolute(e,b),f=this.parseUrl(c).search,i?((d.isPath(k)||0===k.replace("#","").indexOf(this.uiStateKey))&&(k=""),l&&-1===k.indexOf(this.uiStateKey)&&(k+=l),-1===k.indexOf("#")&&""!==k&&(k="#"+k),c=d.parseUrl(c),c=c.protocol+c.doubleSlash+c.host+c.pathname+f+k):c+=c.indexOf("#")>-1?l:"#"+l,c},isPreservableHash:function(a){return 0===a.replace("#","").indexOf(this.uiStateKey)},hashToSelector:function(a){var b="#"===a.substring(0,1);return b&&(a=a.substring(1)),(b?"#":"")+a.replace(/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g,"\\$1")},getFilePath:function(a){return a&&a.split(f)[0]},isFirstPageUrl:function(b){var e=d.parseUrl(d.makeUrlAbsolute(b,this.documentBase)),f=e.hrefNoHash===this.documentUrl.hrefNoHash||this.documentBaseDiffers&&e.hrefNoHash===this.documentBase.hrefNoHash,g=a.mobile.firstPage,h=g&&g[0]?g[0].id:c;return f&&(!e.hash||"#"===e.hash||h&&e.hash.replace(/^#/,"")===h)},isPermittedCrossDomainRequest:function(b,c){return a.mobile.allowCrossDomainPages&&("file:"===b.protocol||"content:"===b.protocol)&&-1!==c.search(/^https?:/)}},d.documentUrl=d.parseLocation(),e=a("head").find("base"),d.documentBase=e.length?d.parseUrl(d.makeUrlAbsolute(e.attr("href"),d.documentUrl.href)):d.documentUrl,d.documentBaseDiffers=d.documentUrl.hrefNoHash!==d.documentBase.hrefNoHash,d.getDocumentBase=function(b){return b?a.extend({},d.documentBase):d.documentBase.href},a.extend(a.mobile,{getDocumentUrl:d.getDocumentUrl,getDocumentBase:d.getDocumentBase})}(a),function(a,b){a.mobile.History=function(a,b){this.stack=a||[],this.activeIndex=b||0},a.extend(a.mobile.History.prototype,{getActive:function(){return this.stack[this.activeIndex]},getLast:function(){return this.stack[this.previousIndex]},getNext:function(){return this.stack[this.activeIndex+1]},getPrev:function(){return this.stack[this.activeIndex-1]},add:function(a,b){b=b||{},this.getNext()&&this.clearForward(),b.hash&&-1===b.hash.indexOf("#")&&(b.hash="#"+b.hash),b.url=a,this.stack.push(b),this.activeIndex=this.stack.length-1},clearForward:function(){this.stack=this.stack.slice(0,this.activeIndex+1)},find:function(a,b,c){b=b||this.stack;var d,e,f,g=b.length;for(e=0;g>e;e++)if(d=b[e],(decodeURIComponent(a)===decodeURIComponent(d.url)||decodeURIComponent(a)===decodeURIComponent(d.hash))&&(f=e,c))return f;return f},closest:function(a){var c,d=this.activeIndex;return c=this.find(a,this.stack.slice(0,d)),c===b&&(c=this.find(a,this.stack.slice(d),!0),c=c===b?c:c+d),c},direct:function(c){var d=this.closest(c.url),e=this.activeIndex;d!==b&&(this.activeIndex=d,this.previousIndex=e),e>d?(c.present||c.back||a.noop)(this.getActive(),"back"):d>e?(c.present||c.forward||a.noop)(this.getActive(),"forward"):d===b&&c.missing&&c.missing(this.getActive())}})}(a),function(a){var d=a.mobile.path,e=location.href;a.mobile.Navigator=function(b){this.history=b,this.ignoreInitialHashChange=!0,a.mobile.window.bind({"popstate.history":a.proxy(this.popstate,this),"hashchange.history":a.proxy(this.hashchange,this)})},a.extend(a.mobile.Navigator.prototype,{squash:function(e,f){var g,h,i=d.isPath(e)?d.stripHash(e):e;return h=d.squash(e),g=a.extend({hash:i,url:h},f),b.history.replaceState(g,g.title||c.title,h),g},hash:function(a,b){var c,e,f,g;return c=d.parseUrl(a),e=d.parseLocation(),e.pathname+e.search===c.pathname+c.search?f=c.hash?c.hash:c.pathname+c.search:d.isPath(a)?(g=d.parseUrl(b),f=g.pathname+g.search+(d.isPreservableHash(g.hash)?g.hash.replace("#",""):"")):f=a,f},go:function(e,f,g){var h,i,j,k,l=a.event.special.navigate.isPushStateEnabled(); -i=d.squash(e),j=this.hash(e,i),g&&j!==d.stripHash(d.parseLocation().hash)&&(this.preventNextHashChange=g),this.preventHashAssignPopState=!0,b.location.hash=j,this.preventHashAssignPopState=!1,h=a.extend({url:i,hash:j,title:c.title},f),l&&(k=new a.Event("popstate"),k.originalEvent={type:"popstate",state:null},this.squash(e,h),g||(this.ignorePopState=!0,a.mobile.window.trigger(k))),this.history.add(h.url,h)},popstate:function(b){var c,f;if(a.event.special.navigate.isPushStateEnabled())return this.preventHashAssignPopState?(this.preventHashAssignPopState=!1,void b.stopImmediatePropagation()):this.ignorePopState?void(this.ignorePopState=!1):!b.originalEvent.state&&1===this.history.stack.length&&this.ignoreInitialHashChange&&(this.ignoreInitialHashChange=!1,location.href===e)?void b.preventDefault():(c=d.parseLocation().hash,!b.originalEvent.state&&c?(f=this.squash(c),this.history.add(f.url,f),void(b.historyState=f)):void this.history.direct({url:(b.originalEvent.state||{}).url||c,present:function(c,d){b.historyState=a.extend({},c),b.historyState.direction=d}}))},hashchange:function(b){var e,f;if(a.event.special.navigate.isHashChangeEnabled()&&!a.event.special.navigate.isPushStateEnabled()){if(this.preventNextHashChange)return this.preventNextHashChange=!1,void b.stopImmediatePropagation();e=this.history,f=d.parseLocation().hash,this.history.direct({url:f,present:function(c,d){b.hashchangeState=a.extend({},c),b.hashchangeState.direction=d},missing:function(){e.add(f,{hash:f,title:c.title})}})}}})}(a),function(a){a.mobile.navigate=function(b,c,d){a.mobile.navigate.navigator.go(b,c,d)},a.mobile.navigate.history=new a.mobile.History,a.mobile.navigate.navigator=new a.mobile.Navigator(a.mobile.navigate.history);var b=a.mobile.path.parseLocation();a.mobile.navigate.history.add(b.href,{hash:b.hash})}(a),function(a,b){var d={animation:{},transition:{}},e=c.createElement("a"),f=["","webkit-","moz-","o-"];a.each(["animation","transition"],function(c,g){var h=0===c?g+"-name":g;a.each(f,function(c,f){return e.style[a.camelCase(f+h)]!==b?(d[g].prefix=f,!1):void 0}),d[g].duration=a.camelCase(d[g].prefix+g+"-duration"),d[g].event=a.camelCase(d[g].prefix+g+"-end"),""===d[g].prefix&&(d[g].event=d[g].event.toLowerCase())}),a.support.cssTransitions=d.transition.prefix!==b,a.support.cssAnimations=d.animation.prefix!==b,a(e).remove(),a.fn.animationComplete=function(e,f,g){var h,i,j=this,k=function(){clearTimeout(h),e.apply(this,arguments)},l=f&&"animation"!==f?"transition":"animation";return a.support.cssTransitions&&"transition"===l||a.support.cssAnimations&&"animation"===l?(g===b&&(a(this).context!==c&&(i=3e3*parseFloat(a(this).css(d[l].duration))),(0===i||i===b||isNaN(i))&&(i=a.fn.animationComplete.defaultDuration)),h=setTimeout(function(){a(j).off(d[l].event,k),e.apply(j)},i),a(this).one(d[l].event,k)):(setTimeout(a.proxy(e,this),0),a(this))},a.fn.animationComplete.defaultDuration=1e3}(a),function(a,b,c,d){function e(a){for(;a&&"undefined"!=typeof a.originalEvent;)a=a.originalEvent;return a}function f(b,c){var f,g,h,i,j,k,l,m,n,o=b.type;if(b=a.Event(b),b.type=c,f=b.originalEvent,g=a.event.props,o.search(/^(mouse|click)/)>-1&&(g=E),f)for(l=g.length,i;l;)i=g[--l],b[i]=f[i];if(o.search(/mouse(down|up)|click/)>-1&&!b.which&&(b.which=1),-1!==o.search(/^touch/)&&(h=e(f),o=h.touches,j=h.changedTouches,k=o&&o.length?o[0]:j&&j.length?j[0]:d))for(m=0,n=C.length;n>m;m++)i=C[m],b[i]=k[i];return b}function g(b){for(var c,d,e={};b;){c=a.data(b,z);for(d in c)c[d]&&(e[d]=e.hasVirtualBinding=!0);b=b.parentNode}return e}function h(b,c){for(var d;b;){if(d=a.data(b,z),d&&(!c||d[c]))return b;b=b.parentNode}return null}function i(){M=!1}function j(){M=!0}function k(){Q=0,K.length=0,L=!1,j()}function l(){i()}function m(){n(),G=setTimeout(function(){G=0,k()},a.vmouse.resetTimerDuration)}function n(){G&&(clearTimeout(G),G=0)}function o(b,c,d){var e;return(d&&d[b]||!d&&h(c.target,b))&&(e=f(c,b),a(c.target).trigger(e)),e}function p(b){var c,d=a.data(b.target,A);L||Q&&Q===d||(c=o("v"+b.type,b),c&&(c.isDefaultPrevented()&&b.preventDefault(),c.isPropagationStopped()&&b.stopPropagation(),c.isImmediatePropagationStopped()&&b.stopImmediatePropagation()))}function q(b){var c,d,f,h=e(b).touches;h&&1===h.length&&(c=b.target,d=g(c),d.hasVirtualBinding&&(Q=P++,a.data(c,A,Q),n(),l(),J=!1,f=e(b).touches[0],H=f.pageX,I=f.pageY,o("vmouseover",b,d),o("vmousedown",b,d)))}function r(a){M||(J||o("vmousecancel",a,g(a.target)),J=!0,m())}function s(b){if(!M){var c=e(b).touches[0],d=J,f=a.vmouse.moveDistanceThreshold,h=g(b.target);J=J||Math.abs(c.pageX-H)>f||Math.abs(c.pageY-I)>f,J&&!d&&o("vmousecancel",b,h),o("vmousemove",b,h),m()}}function t(a){if(!M){j();var b,c,d=g(a.target);o("vmouseup",a,d),J||(b=o("vclick",a,d),b&&b.isDefaultPrevented()&&(c=e(a).changedTouches[0],K.push({touchID:Q,x:c.clientX,y:c.clientY}),L=!0)),o("vmouseout",a,d),J=!1,m()}}function u(b){var c,d=a.data(b,z);if(d)for(c in d)if(d[c])return!0;return!1}function v(){}function w(b){var c=b.substr(1);return{setup:function(){u(this)||a.data(this,z,{});var d=a.data(this,z);d[b]=!0,F[b]=(F[b]||0)+1,1===F[b]&&O.bind(c,p),a(this).bind(c,v),N&&(F.touchstart=(F.touchstart||0)+1,1===F.touchstart&&O.bind("touchstart",q).bind("touchend",t).bind("touchmove",s).bind("scroll",r))},teardown:function(){--F[b],F[b]||O.unbind(c,p),N&&(--F.touchstart,F.touchstart||O.unbind("touchstart",q).unbind("touchmove",s).unbind("touchend",t).unbind("scroll",r));var d=a(this),e=a.data(this,z);e&&(e[b]=!1),d.unbind(c,v),u(this)||d.removeData(z)}}}var x,y,z="virtualMouseBindings",A="virtualTouchID",B="vmouseover vmousedown vmousemove vmouseup vclick vmouseout vmousecancel".split(" "),C="clientX clientY pageX pageY screenX screenY".split(" "),D=a.event.mouseHooks?a.event.mouseHooks.props:[],E=a.event.props.concat(D),F={},G=0,H=0,I=0,J=!1,K=[],L=!1,M=!1,N="addEventListener"in c,O=a(c),P=1,Q=0;for(a.vmouse={moveDistanceThreshold:10,clickDistanceThreshold:10,resetTimerDuration:1500},y=0;y<B.length;y++)a.event.special[B[y]]=w(B[y]);N&&c.addEventListener("click",function(b){var c,d,e,f,g,h,i=K.length,j=b.target;if(i)for(c=b.clientX,d=b.clientY,x=a.vmouse.clickDistanceThreshold,e=j;e;){for(f=0;i>f;f++)if(g=K[f],h=0,e===j&&Math.abs(g.x-c)<x&&Math.abs(g.y-d)<x||a.data(e,A)===g.touchID)return b.preventDefault(),void b.stopPropagation();e=e.parentNode}},!0)}(a,b,c),function(a,b,d){function e(b,c,e,f){var g=e.type;e.type=c,f?a.event.trigger(e,d,b):a.event.dispatch.call(b,e),e.type=g}var f=a(c),g=a.mobile.support.touch,h="touchmove scroll",i=g?"touchstart":"mousedown",j=g?"touchend":"mouseup",k=g?"touchmove":"mousemove";a.each("touchstart touchmove touchend tap taphold swipe swipeleft swiperight scrollstart scrollstop".split(" "),function(b,c){a.fn[c]=function(a){return a?this.bind(c,a):this.trigger(c)},a.attrFn&&(a.attrFn[c]=!0)}),a.event.special.scrollstart={enabled:!0,setup:function(){function b(a,b){c=b,e(f,c?"scrollstart":"scrollstop",a)}var c,d,f=this,g=a(f);g.bind(h,function(e){a.event.special.scrollstart.enabled&&(c||b(e,!0),clearTimeout(d),d=setTimeout(function(){b(e,!1)},50))})},teardown:function(){a(this).unbind(h)}},a.event.special.tap={tapholdThreshold:750,emitTapOnTaphold:!0,setup:function(){var b=this,c=a(b),d=!1;c.bind("vmousedown",function(g){function h(){clearTimeout(k)}function i(){h(),c.unbind("vclick",j).unbind("vmouseup",h),f.unbind("vmousecancel",i)}function j(a){i(),d||l!==a.target?d&&a.preventDefault():e(b,"tap",a)}if(d=!1,g.which&&1!==g.which)return!1;var k,l=g.target;c.bind("vmouseup",h).bind("vclick",j),f.bind("vmousecancel",i),k=setTimeout(function(){a.event.special.tap.emitTapOnTaphold||(d=!0),e(b,"taphold",a.Event("taphold",{target:l}))},a.event.special.tap.tapholdThreshold)})},teardown:function(){a(this).unbind("vmousedown").unbind("vclick").unbind("vmouseup"),f.unbind("vmousecancel")}},a.event.special.swipe={scrollSupressionThreshold:30,durationThreshold:1e3,horizontalDistanceThreshold:30,verticalDistanceThreshold:30,getLocation:function(a){var c=b.pageXOffset,d=b.pageYOffset,e=a.clientX,f=a.clientY;return 0===a.pageY&&Math.floor(f)>Math.floor(a.pageY)||0===a.pageX&&Math.floor(e)>Math.floor(a.pageX)?(e-=c,f-=d):(f<a.pageY-d||e<a.pageX-c)&&(e=a.pageX-c,f=a.pageY-d),{x:e,y:f}},start:function(b){var c=b.originalEvent.touches?b.originalEvent.touches[0]:b,d=a.event.special.swipe.getLocation(c);return{time:(new Date).getTime(),coords:[d.x,d.y],origin:a(b.target)}},stop:function(b){var c=b.originalEvent.touches?b.originalEvent.touches[0]:b,d=a.event.special.swipe.getLocation(c);return{time:(new Date).getTime(),coords:[d.x,d.y]}},handleSwipe:function(b,c,d,f){if(c.time-b.time<a.event.special.swipe.durationThreshold&&Math.abs(b.coords[0]-c.coords[0])>a.event.special.swipe.horizontalDistanceThreshold&&Math.abs(b.coords[1]-c.coords[1])<a.event.special.swipe.verticalDistanceThreshold){var g=b.coords[0]>c.coords[0]?"swipeleft":"swiperight";return e(d,"swipe",a.Event("swipe",{target:f,swipestart:b,swipestop:c}),!0),e(d,g,a.Event(g,{target:f,swipestart:b,swipestop:c}),!0),!0}return!1},eventInProgress:!1,setup:function(){var b,c=this,d=a(c),e={};b=a.data(this,"mobile-events"),b||(b={length:0},a.data(this,"mobile-events",b)),b.length++,b.swipe=e,e.start=function(b){if(!a.event.special.swipe.eventInProgress){a.event.special.swipe.eventInProgress=!0;var d,g=a.event.special.swipe.start(b),h=b.target,i=!1;e.move=function(b){g&&!b.isDefaultPrevented()&&(d=a.event.special.swipe.stop(b),i||(i=a.event.special.swipe.handleSwipe(g,d,c,h),i&&(a.event.special.swipe.eventInProgress=!1)),Math.abs(g.coords[0]-d.coords[0])>a.event.special.swipe.scrollSupressionThreshold&&b.preventDefault())},e.stop=function(){i=!0,a.event.special.swipe.eventInProgress=!1,f.off(k,e.move),e.move=null},f.on(k,e.move).one(j,e.stop)}},d.on(i,e.start)},teardown:function(){var b,c;b=a.data(this,"mobile-events"),b&&(c=b.swipe,delete b.swipe,b.length--,0===b.length&&a.removeData(this,"mobile-events")),c&&(c.start&&a(this).off(i,c.start),c.move&&f.off(k,c.move),c.stop&&f.off(j,c.stop))}},a.each({scrollstop:"scrollstart",taphold:"tap",swipeleft:"swipe.left",swiperight:"swipe.right"},function(b,c){a.event.special[b]={setup:function(){a(this).bind(c,a.noop)},teardown:function(){a(this).unbind(c)}}})}(a,this),function(a){a.event.special.throttledresize={setup:function(){a(this).bind("resize",f)},teardown:function(){a(this).unbind("resize",f)}};var b,c,d,e=250,f=function(){c=(new Date).getTime(),d=c-g,d>=e?(g=c,a(this).trigger("throttledresize")):(b&&clearTimeout(b),b=setTimeout(f,e-d))},g=0}(a),function(a,b){function d(){var a=e();a!==f&&(f=a,l.trigger(m))}var e,f,g,h,i,j,k,l=a(b),m="orientationchange",n={0:!0,180:!0};a.support.orientation&&(i=b.innerWidth||l.width(),j=b.innerHeight||l.height(),k=50,g=i>j&&i-j>k,h=n[b.orientation],(g&&h||!g&&!h)&&(n={"-90":!0,90:!0})),a.event.special.orientationchange=a.extend({},a.event.special.orientationchange,{setup:function(){return a.support.orientation&&!a.event.special.orientationchange.disabled?!1:(f=e(),void l.bind("throttledresize",d))},teardown:function(){return a.support.orientation&&!a.event.special.orientationchange.disabled?!1:void l.unbind("throttledresize",d)},add:function(a){var b=a.handler;a.handler=function(a){return a.orientation=e(),b.apply(this,arguments)}}}),a.event.special.orientationchange.orientation=e=function(){var d=!0,e=c.documentElement;return d=a.support.orientation?n[b.orientation]:e&&e.clientWidth/e.clientHeight<1.1,d?"portrait":"landscape"},a.fn[m]=function(a){return a?this.bind(m,a):this.trigger(m)},a.attrFn&&(a.attrFn[m]=!0)}(a,this),function(a){var b=a("head").children("base"),c={element:b.length?b:a("<base>",{href:a.mobile.path.documentBase.hrefNoHash}).prependTo(a("head")),linkSelector:"[src], link[href], a[rel='external'], :jqmData(ajax='false'), a[target]",set:function(b){a.mobile.dynamicBaseEnabled&&a.support.dynamicBaseTag&&c.element.attr("href",a.mobile.path.makeUrlAbsolute(b,a.mobile.path.documentBase))},rewrite:function(b,d){var e=a.mobile.path.get(b);d.find(c.linkSelector).each(function(b,c){var d=a(c).is("[href]")?"href":a(c).is("[src]")?"src":"action",f=a.mobile.path.parseLocation(),g=a(c).attr(d);g=g.replace(f.protocol+f.doubleSlash+f.host+f.pathname,""),/^(\w+:|#|\/)/.test(g)||a(c).attr(d,e+g)})},reset:function(){c.element.attr("href",a.mobile.path.documentBase.hrefNoSearch)}};a.mobile.base=c}(a),function(a,b){a.mobile.widgets={};var c=a.widget,d=a.mobile.keepNative;a.widget=function(c){return function(){var d=c.apply(this,arguments),e=d.prototype.widgetName;return d.initSelector=d.prototype.initSelector!==b?d.prototype.initSelector:":jqmData(role='"+e+"')",a.mobile.widgets[e]=d,d}}(a.widget),a.extend(a.widget,c),a.mobile.document.on("create",function(b){a(b.target).enhanceWithin()}),a.widget("mobile.page",{options:{theme:"a",domCache:!1,keepNativeDefault:a.mobile.keepNative,contentTheme:null,enhanced:!1},_createWidget:function(){a.Widget.prototype._createWidget.apply(this,arguments),this._trigger("init")},_create:function(){return this._trigger("beforecreate")===!1?!1:(this.options.enhanced||this._enhance(),this._on(this.element,{pagebeforehide:"removeContainerBackground",pagebeforeshow:"_handlePageBeforeShow"}),this.element.enhanceWithin(),void("dialog"===a.mobile.getAttribute(this.element[0],"role")&&a.mobile.dialog&&this.element.dialog()))},_enhance:function(){var c="data-"+a.mobile.ns,d=this;this.options.role&&this.element.attr("data-"+a.mobile.ns+"role",this.options.role),this.element.attr("tabindex","0").addClass("ui-page ui-page-theme-"+this.options.theme),this.element.find("["+c+"role='content']").each(function(){var e=a(this),f=this.getAttribute(c+"theme")||b;d.options.contentTheme=f||d.options.contentTheme||d.options.dialog&&d.options.theme||"dialog"===d.element.jqmData("role")&&d.options.theme,e.addClass("ui-content"),d.options.contentTheme&&e.addClass("ui-body-"+d.options.contentTheme),e.attr("role","main").addClass("ui-content")})},bindRemove:function(b){var c=this.element;!c.data("mobile-page").options.domCache&&c.is(":jqmData(external-page='true')")&&c.bind("pagehide.remove",b||function(b,c){if(!c.samePage){var d=a(this),e=new a.Event("pageremove");d.trigger(e),e.isDefaultPrevented()||d.removeWithDependents()}})},_setOptions:function(c){c.theme!==b&&this.element.removeClass("ui-page-theme-"+this.options.theme).addClass("ui-page-theme-"+c.theme),c.contentTheme!==b&&this.element.find("[data-"+a.mobile.ns+"='content']").removeClass("ui-body-"+this.options.contentTheme).addClass("ui-body-"+c.contentTheme)},_handlePageBeforeShow:function(){this.setContainerBackground()},removeContainerBackground:function(){this.element.closest(":mobile-pagecontainer").pagecontainer({theme:"none"})},setContainerBackground:function(a){this.element.parent().pagecontainer({theme:a||this.options.theme})},keepNativeSelector:function(){var b=this.options,c=a.trim(b.keepNative||""),e=a.trim(a.mobile.keepNative),f=a.trim(b.keepNativeDefault),g=d===e?"":e,h=""===g?f:"";return(c?[c]:[]).concat(g?[g]:[]).concat(h?[h]:[]).join(", ")}})}(a),function(a,d){a.widget("mobile.pagecontainer",{options:{theme:"a"},initSelector:!1,_create:function(){this._trigger("beforecreate"),this.setLastScrollEnabled=!0,this._on(this.window,{navigate:"_disableRecordScroll",scrollstop:"_delayedRecordScroll"}),this._on(this.window,{navigate:"_filterNavigateEvents"}),this._on({pagechange:"_afterContentChange"}),this.window.one("navigate",a.proxy(function(){this.setLastScrollEnabled=!0},this))},_setOptions:function(a){a.theme!==d&&"none"!==a.theme?this.element.removeClass("ui-overlay-"+this.options.theme).addClass("ui-overlay-"+a.theme):a.theme!==d&&this.element.removeClass("ui-overlay-"+this.options.theme),this._super(a)},_disableRecordScroll:function(){this.setLastScrollEnabled=!1},_enableRecordScroll:function(){this.setLastScrollEnabled=!0},_afterContentChange:function(){this.setLastScrollEnabled=!0,this._off(this.window,"scrollstop"),this._on(this.window,{scrollstop:"_delayedRecordScroll"})},_recordScroll:function(){if(this.setLastScrollEnabled){var a,b,c,d=this._getActiveHistory();d&&(a=this._getScroll(),b=this._getMinScroll(),c=this._getDefaultScroll(),d.lastScroll=b>a?c:a)}},_delayedRecordScroll:function(){setTimeout(a.proxy(this,"_recordScroll"),100)},_getScroll:function(){return this.window.scrollTop()},_getMinScroll:function(){return a.mobile.minScrollBack},_getDefaultScroll:function(){return a.mobile.defaultHomeScroll},_filterNavigateEvents:function(b,c){var d;b.originalEvent&&b.originalEvent.isDefaultPrevented()||(d=b.originalEvent.type.indexOf("hashchange")>-1?c.state.hash:c.state.url,d||(d=this._getHash()),d&&"#"!==d&&0!==d.indexOf("#"+a.mobile.path.uiStateKey)||(d=location.href),this._handleNavigate(d,c.state))},_getHash:function(){return a.mobile.path.parseLocation().hash},getActivePage:function(){return this.activePage},_getInitialContent:function(){return a.mobile.firstPage},_getHistory:function(){return a.mobile.navigate.history},_getActiveHistory:function(){return this._getHistory().getActive()},_getDocumentBase:function(){return a.mobile.path.documentBase},back:function(){this.go(-1)},forward:function(){this.go(1)},go:function(c){if(a.mobile.hashListeningEnabled)b.history.go(c);else{var d=a.mobile.navigate.history.activeIndex,e=d+parseInt(c,10),f=a.mobile.navigate.history.stack[e].url,g=c>=1?"forward":"back";a.mobile.navigate.history.activeIndex=e,a.mobile.navigate.history.previousIndex=d,this.change(f,{direction:g,changeHash:!1,fromHashChange:!0})}},_handleDestination:function(b){var c;return"string"===a.type(b)&&(b=a.mobile.path.stripHash(b)),b&&(c=this._getHistory(),b=a.mobile.path.isPath(b)?b:a.mobile.path.makeUrlAbsolute("#"+b,this._getDocumentBase())),b||this._getInitialContent()},_transitionFromHistory:function(a,b){var c=this._getHistory(),d="back"===a?c.getLast():c.getActive();return d&&d.transition||b},_handleDialog:function(b,c){var d,e,f=this.getActivePage();return f&&!f.data("mobile-dialog")?("back"===c.direction?this.back():this.forward(),!1):(d=c.pageUrl,e=this._getActiveHistory(),a.extend(b,{role:e.role,transition:this._transitionFromHistory(c.direction,b.transition),reverse:"back"===c.direction}),d)},_handleNavigate:function(b,c){var d=a.mobile.path.stripHash(b),e=this._getHistory(),f=0===e.stack.length?"none":this._transitionFromHistory(c.direction),g={changeHash:!1,fromHashChange:!0,reverse:"back"===c.direction};a.extend(g,c,{transition:f}),e.activeIndex>0&&d.indexOf(a.mobile.dialogHashKey)>-1&&(d=this._handleDialog(g,c),d===!1)||this._changeContent(this._handleDestination(d),g)},_changeContent:function(b,c){a.mobile.changePage(b,c)},_getBase:function(){return a.mobile.base},_getNs:function(){return a.mobile.ns},_enhance:function(a,b){return a.page({role:b})},_include:function(a,b){a.appendTo(this.element),this._enhance(a,b.role),a.page("bindRemove")},_find:function(b){var c,d=this._createFileUrl(b),e=this._createDataUrl(b),f=this._getInitialContent();return c=this.element.children("[data-"+this._getNs()+"url='"+a.mobile.path.hashToSelector(e)+"']"),0===c.length&&e&&!a.mobile.path.isPath(e)&&(c=this.element.children(a.mobile.path.hashToSelector("#"+e)).attr("data-"+this._getNs()+"url",e).jqmData("url",e)),0===c.length&&a.mobile.path.isFirstPageUrl(d)&&f&&f.parent().length&&(c=a(f)),c},_getLoader:function(){return a.mobile.loading()},_showLoading:function(b,c,d,e){this._loadMsg||(this._loadMsg=setTimeout(a.proxy(function(){this._getLoader().loader("show",c,d,e),this._loadMsg=0},this),b))},_hideLoading:function(){clearTimeout(this._loadMsg),this._loadMsg=0,this._getLoader().loader("hide")},_showError:function(){this._hideLoading(),this._showLoading(0,a.mobile.pageLoadErrorMessageTheme,a.mobile.pageLoadErrorMessage,!0),setTimeout(a.proxy(this,"_hideLoading"),1500)},_parse:function(b,c){var d,e=a("<div></div>");return e.get(0).innerHTML=b,d=e.find(":jqmData(role='page'), :jqmData(role='dialog')").first(),d.length||(d=a("<div data-"+this._getNs()+"role='page'>"+(b.split(/<\/?body[^>]*>/gim)[1]||"")+"</div>")),d.attr("data-"+this._getNs()+"url",this._createDataUrl(c)).attr("data-"+this._getNs()+"external-page",!0),d},_setLoadedTitle:function(b,c){var d=c.match(/<title[^>]*>([^<]*)/)&&RegExp.$1;d&&!b.jqmData("title")&&(d=a("<div>"+d+"</div>").text(),b.jqmData("title",d))},_isRewritableBaseTag:function(){return a.mobile.dynamicBaseEnabled&&!a.support.dynamicBaseTag},_createDataUrl:function(b){return a.mobile.path.convertUrlToDataUrl(b)},_createFileUrl:function(b){return a.mobile.path.getFilePath(b)},_triggerWithDeprecated:function(b,c,d){var e=a.Event("page"+b),f=a.Event(this.widgetName+b);return(d||this.element).trigger(e,c),this._trigger(b,f,c),{deprecatedEvent:e,event:f}},_loadSuccess:function(b,c,e,f){var g=this._createFileUrl(b);return a.proxy(function(h,i,j){var k,l=new RegExp("(<[^>]+\\bdata-"+this._getNs()+"role=[\"']?page[\"']?[^>]*>)"),m=new RegExp("\\bdata-"+this._getNs()+"url=[\"']?([^\"'>]*)[\"']?");l.test(h)&&RegExp.$1&&m.test(RegExp.$1)&&RegExp.$1&&(g=a.mobile.path.getFilePath(a("<div>"+RegExp.$1+"</div>").text()),g=this.window[0].encodeURIComponent(g)),e.prefetch===d&&this._getBase().set(g),k=this._parse(h,g),this._setLoadedTitle(k,h),c.xhr=j,c.textStatus=i,c.page=k,c.content=k,c.toPage=k,this._triggerWithDeprecated("load",c).event.isDefaultPrevented()||(this._isRewritableBaseTag()&&k&&this._getBase().rewrite(g,k),this._include(k,e),e.showLoadMsg&&this._hideLoading(),f.resolve(b,e,k))},this)},_loadDefaults:{type:"get",data:d,reloadPage:!1,reload:!1,role:d,showLoadMsg:!1,loadMsgDelay:50},load:function(b,c){var e,f,g,h,i=c&&c.deferred||a.Deferred(),j=c&&c.reload===d&&c.reloadPage!==d?{reload:c.reloadPage}:{},k=a.extend({},this._loadDefaults,c,j),l=null,m=a.mobile.path.makeUrlAbsolute(b,this._findBaseWithDefault());return k.data&&"get"===k.type&&(m=a.mobile.path.addSearchParams(m,k.data),k.data=d),k.data&&"post"===k.type&&(k.reload=!0),e=this._createFileUrl(m),f=this._createDataUrl(m),l=this._find(m),0===l.length&&a.mobile.path.isEmbeddedPage(e)&&!a.mobile.path.isFirstPageUrl(e)?(i.reject(m,k),i.promise()):(this._getBase().reset(),l.length&&!k.reload?(this._enhance(l,k.role),i.resolve(m,k,l),k.prefetch||this._getBase().set(b),i.promise()):(h={url:b,absUrl:m,toPage:b,prevPage:c?c.fromPage:d,dataUrl:f,deferred:i,options:k},g=this._triggerWithDeprecated("beforeload",h),g.deprecatedEvent.isDefaultPrevented()||g.event.isDefaultPrevented()?i.promise():(k.showLoadMsg&&this._showLoading(k.loadMsgDelay),k.prefetch===d&&this._getBase().reset(),a.mobile.allowCrossDomainPages||a.mobile.path.isSameDomain(a.mobile.path.documentUrl,m)?(a.ajax({url:e,type:k.type,data:k.data,contentType:k.contentType,dataType:"html",success:this._loadSuccess(m,h,k,i),error:this._loadError(m,h,k,i)}),i.promise()):(i.reject(m,k),i.promise()))))},_loadError:function(b,c,d,e){return a.proxy(function(f,g,h){this._getBase().set(a.mobile.path.get()),c.xhr=f,c.textStatus=g,c.errorThrown=h;var i=this._triggerWithDeprecated("loadfailed",c);i.deprecatedEvent.isDefaultPrevented()||i.event.isDefaultPrevented()||(d.showLoadMsg&&this._showError(),e.reject(b,d))},this)},_getTransitionHandler:function(b){return b=a.mobile._maybeDegradeTransition(b),a.mobile.transitionHandlers[b]||a.mobile.defaultTransitionHandler},_triggerCssTransitionEvents:function(b,c,d){var e=!1;d=d||"",c&&(b[0]===c[0]&&(e=!0),this._triggerWithDeprecated(d+"hide",{nextPage:b,toPage:b,prevPage:c,samePage:e},c)),this._triggerWithDeprecated(d+"show",{prevPage:c||a(""),toPage:b},b)},_cssTransition:function(b,c,d){var e,f,g=d.transition,h=d.reverse,i=d.deferred;this._triggerCssTransitionEvents(b,c,"before"),this._hideLoading(),e=this._getTransitionHandler(g),f=new e(g,h,b,c).transition(),f.done(a.proxy(function(){this._triggerCssTransitionEvents(b,c)},this)),f.done(function(){i.resolve.apply(i,arguments)})},_releaseTransitionLock:function(){f=!1,e.length>0&&a.mobile.changePage.apply(null,e.pop())},_removeActiveLinkClass:function(b){a.mobile.removeActiveLinkClass(b)},_loadUrl:function(b,c,d){d.target=b,d.deferred=a.Deferred(),this.load(b,d),d.deferred.done(a.proxy(function(a,b,d){f=!1,b.absUrl=c.absUrl,this.transition(d,c,b)},this)),d.deferred.fail(a.proxy(function(){this._removeActiveLinkClass(!0),this._releaseTransitionLock(),this._triggerWithDeprecated("changefailed",c)},this))},_triggerPageBeforeChange:function(b,c,d){var e;return c.prevPage=this.activePage,a.extend(c,{toPage:b,options:d}),c.absUrl="string"===a.type(b)?a.mobile.path.makeUrlAbsolute(b,this._findBaseWithDefault()):d.absUrl,e=this._triggerWithDeprecated("beforechange",c),e.event.isDefaultPrevented()||e.deprecatedEvent.isDefaultPrevented()?!1:!0},change:function(b,c){if(f)return void e.unshift(arguments);var d=a.extend({},a.mobile.changePage.defaults,c),g={};d.fromPage=d.fromPage||this.activePage,this._triggerPageBeforeChange(b,g,d)&&(b=g.toPage,"string"===a.type(b)?(f=!0,this._loadUrl(b,g,d)):this.transition(b,g,d))},transition:function(b,g,h){var i,j,k,l,m,n,o,p,q,r,s,t,u,v;if(f)return void e.unshift([b,h]);if(this._triggerPageBeforeChange(b,g,h)&&(g.prevPage=h.fromPage,v=this._triggerWithDeprecated("beforetransition",g),!v.deprecatedEvent.isDefaultPrevented()&&!v.event.isDefaultPrevented())){if(f=!0,b[0]!==a.mobile.firstPage[0]||h.dataUrl||(h.dataUrl=a.mobile.path.documentUrl.hrefNoHash),i=h.fromPage,j=h.dataUrl&&a.mobile.path.convertUrlToDataUrl(h.dataUrl)||b.jqmData("url"),k=j,l=a.mobile.path.getFilePath(j),m=a.mobile.navigate.history.getActive(),n=0===a.mobile.navigate.history.activeIndex,o=0,p=c.title,q=("dialog"===h.role||"dialog"===b.jqmData("role"))&&b.jqmData("dialog")!==!0,i&&i[0]===b[0]&&!h.allowSamePageTransition)return f=!1,this._triggerWithDeprecated("transition",g),this._triggerWithDeprecated("change",g),void(h.fromHashChange&&a.mobile.navigate.history.direct({url:j}));b.page({role:h.role}),h.fromHashChange&&(o="back"===h.direction?-1:1);try{c.activeElement&&"body"!==c.activeElement.nodeName.toLowerCase()?a(c.activeElement).blur():a("input:focus, textarea:focus, select:focus").blur()}catch(w){}r=!1,q&&m&&(m.url&&m.url.indexOf(a.mobile.dialogHashKey)>-1&&this.activePage&&!this.activePage.hasClass("ui-dialog")&&a.mobile.navigate.history.activeIndex>0&&(h.changeHash=!1,r=!0),j=m.url||"",j+=!r&&j.indexOf("#")>-1?a.mobile.dialogHashKey:"#"+a.mobile.dialogHashKey),s=m?b.jqmData("title")||b.children(":jqmData(role='header')").find(".ui-title").text():p,s&&p===c.title&&(p=s),b.jqmData("title")||b.jqmData("title",p),h.transition=h.transition||(o&&!n?m.transition:d)||(q?a.mobile.defaultDialogTransition:a.mobile.defaultPageTransition),!o&&r&&(a.mobile.navigate.history.getActive().pageUrl=k),j&&!h.fromHashChange&&(!a.mobile.path.isPath(j)&&j.indexOf("#")<0&&(j="#"+j),t={transition:h.transition,title:p,pageUrl:k,role:h.role},h.changeHash!==!1&&a.mobile.hashListeningEnabled?a.mobile.navigate(this.window[0].encodeURI(j),t,!0):b[0]!==a.mobile.firstPage[0]&&a.mobile.navigate.history.add(j,t)),c.title=p,a.mobile.activePage=b,this.activePage=b,h.reverse=h.reverse||0>o,u=a.Deferred(),this._cssTransition(b,i,{transition:h.transition,reverse:h.reverse,deferred:u}),u.done(a.proxy(function(c,d,e,f,i){a.mobile.removeActiveLinkClass(),h.duplicateCachedPage&&h.duplicateCachedPage.remove(),i||a.mobile.focusPage(b),this._releaseTransitionLock(),this._triggerWithDeprecated("transition",g),this._triggerWithDeprecated("change",g)},this))}},_findBaseWithDefault:function(){var b=this.activePage&&a.mobile.getClosestBaseUrl(this.activePage);return b||a.mobile.path.documentBase.hrefNoHash}}),a.mobile.navreadyDeferred=a.Deferred();var e=[],f=!1}(a),function(a,d){function e(a){for(;a&&("string"!=typeof a.nodeName||"a"!==a.nodeName.toLowerCase());)a=a.parentNode;return a}var f=a.Deferred(),g=a.Deferred(),h=function(){g.resolve(),g=null},i=a.mobile.path.documentUrl,j=null;a.mobile.loadPage=function(b,c){var d;return c=c||{},d=c.pageContainer||a.mobile.pageContainer,c.deferred=a.Deferred(),d.pagecontainer("load",b,c),c.deferred.promise()},a.mobile.back=function(){var c=b.navigator;this.phonegapNavigationEnabled&&c&&c.app&&c.app.backHistory?c.app.backHistory():a.mobile.pageContainer.pagecontainer("back")},a.mobile.focusPage=function(a){var b=a.find("[autofocus]"),c=a.find(".ui-title:eq(0)");return b.length?void b.focus():void(c.length?c.focus():a.focus())},a.mobile._maybeDegradeTransition=a.mobile._maybeDegradeTransition||function(a){return a},a.mobile.changePage=function(b,c){a.mobile.pageContainer.pagecontainer("change",b,c)},a.mobile.changePage.defaults={transition:d,reverse:!1,changeHash:!0,fromHashChange:!1,role:d,duplicateCachedPage:d,pageContainer:d,showLoadMsg:!0,dataUrl:d,fromPage:d,allowSamePageTransition:!1},a.mobile._registerInternalEvents=function(){var c=function(b,c){var d,e,f,g,h=!0;return!a.mobile.ajaxEnabled||b.is(":jqmData(ajax='false')")||!b.jqmHijackable().length||b.attr("target")?!1:(d=j&&j.attr("formaction")||b.attr("action"),g=(b.attr("method")||"get").toLowerCase(),d||(d=a.mobile.getClosestBaseUrl(b),"get"===g&&(d=a.mobile.path.parseUrl(d).hrefNoSearch),d===a.mobile.path.documentBase.hrefNoHash&&(d=i.hrefNoSearch)),d=a.mobile.path.makeUrlAbsolute(d,a.mobile.getClosestBaseUrl(b)),a.mobile.path.isExternal(d)&&!a.mobile.path.isPermittedCrossDomainRequest(i,d)?!1:(c||(e=b.serializeArray(),j&&j[0].form===b[0]&&(f=j.attr("name"),f&&(a.each(e,function(a,b){return b.name===f?(f="",!1):void 0}),f&&e.push({name:f,value:j.attr("value")}))),h={url:d,options:{type:g,data:a.param(e),transition:b.jqmData("transition"),reverse:"reverse"===b.jqmData("direction"),reloadPage:!0}}),h))};a.mobile.document.delegate("form","submit",function(b){var d;b.isDefaultPrevented()||(d=c(a(this)),d&&(a.mobile.changePage(d.url,d.options),b.preventDefault()))}),a.mobile.document.bind("vclick",function(b){var d,f,g=b.target,h=!1;if(!(b.which>1)&&a.mobile.linkBindingEnabled){if(j=a(g),a.data(g,"mobile-button")){if(!c(a(g).closest("form"),!0))return;g.parentNode&&(g=g.parentNode)}else{if(g=e(g),!g||"#"===a.mobile.path.parseUrl(g.getAttribute("href")||"#").hash)return;if(!a(g).jqmHijackable().length)return}~g.className.indexOf("ui-link-inherit")?g.parentNode&&(f=a.data(g.parentNode,"buttonElements")):f=a.data(g,"buttonElements"),f?g=f.outer:h=!0,d=a(g),h&&(d=d.closest(".ui-btn")),d.length>0&&!d.hasClass("ui-state-disabled")&&(a.mobile.removeActiveLinkClass(!0),a.mobile.activeClickedLink=d,a.mobile.activeClickedLink.addClass(a.mobile.activeBtnClass))}}),a.mobile.document.bind("click",function(c){if(a.mobile.linkBindingEnabled&&!c.isDefaultPrevented()){var f,g,h,j,k,l,m,n=e(c.target),o=a(n),p=function(){b.setTimeout(function(){a.mobile.removeActiveLinkClass(!0)},200)};if(a.mobile.activeClickedLink&&a.mobile.activeClickedLink[0]===c.target.parentNode&&p(),n&&!(c.which>1)&&o.jqmHijackable().length){if(o.is(":jqmData(rel='back')"))return a.mobile.back(),!1;if(f=a.mobile.getClosestBaseUrl(o),g=a.mobile.path.makeUrlAbsolute(o.attr("href")||"#",f),!a.mobile.ajaxEnabled&&!a.mobile.path.isEmbeddedPage(g))return void p();if(!(-1===g.search("#")||a.mobile.path.isExternal(g)&&a.mobile.path.isAbsoluteUrl(g))){if(g=g.replace(/[^#]*#/,""),!g)return void c.preventDefault();g=a.mobile.path.isPath(g)?a.mobile.path.makeUrlAbsolute(g,f):a.mobile.path.makeUrlAbsolute("#"+g,i.hrefNoHash)}if(h=o.is("[rel='external']")||o.is(":jqmData(ajax='false')")||o.is("[target]"),j=h||a.mobile.path.isExternal(g)&&!a.mobile.path.isPermittedCrossDomainRequest(i,g))return void p();k=o.jqmData("transition"),l="reverse"===o.jqmData("direction")||o.jqmData("back"),m=o.attr("data-"+a.mobile.ns+"rel")||d,a.mobile.changePage(g,{transition:k,reverse:l,role:m,link:o}),c.preventDefault()}}}),a.mobile.document.delegate(".ui-page","pageshow.prefetch",function(){var b=[];a(this).find("a:jqmData(prefetch)").each(function(){var c=a(this),d=c.attr("href");d&&-1===a.inArray(d,b)&&(b.push(d),a.mobile.loadPage(d,{role:c.attr("data-"+a.mobile.ns+"rel"),prefetch:!0}))})}),a.mobile.pageContainer.pagecontainer(),a.mobile.document.bind("pageshow",function(){g?g.done(a.mobile.resetActivePageHeight):a.mobile.resetActivePageHeight() -}),a.mobile.window.bind("throttledresize",a.mobile.resetActivePageHeight)},a(function(){f.resolve()}),"complete"===c.readyState?h():a.mobile.window.load(h),a.when(f,a.mobile.navreadyDeferred).done(function(){a.mobile._registerInternalEvents()})}(a),function(a,b){a.mobile.Transition=function(){this.init.apply(this,arguments)},a.extend(a.mobile.Transition.prototype,{toPreClass:" ui-page-pre-in",init:function(b,c,d,e){a.extend(this,{name:b,reverse:c,$to:d,$from:e,deferred:new a.Deferred})},cleanFrom:function(){this.$from.removeClass(a.mobile.activePageClass+" out in reverse "+this.name).height("")},beforeDoneIn:function(){},beforeDoneOut:function(){},beforeStartOut:function(){},doneIn:function(){this.beforeDoneIn(),this.$to.removeClass("out in reverse "+this.name).height(""),this.toggleViewportClass(),a.mobile.window.scrollTop()!==this.toScroll&&this.scrollPage(),this.sequential||this.$to.addClass(a.mobile.activePageClass),this.deferred.resolve(this.name,this.reverse,this.$to,this.$from,!0)},doneOut:function(a,b,c,d){this.beforeDoneOut(),this.startIn(a,b,c,d)},hideIn:function(a){this.$to.css("z-index",-10),a.call(this),this.$to.css("z-index","")},scrollPage:function(){a.event.special.scrollstart.enabled=!1,(a.mobile.hideUrlBar||this.toScroll!==a.mobile.defaultHomeScroll)&&b.scrollTo(0,this.toScroll),setTimeout(function(){a.event.special.scrollstart.enabled=!0},150)},startIn:function(b,c,d,e){this.hideIn(function(){this.$to.addClass(a.mobile.activePageClass+this.toPreClass),e||a.mobile.focusPage(this.$to),this.$to.height(b+this.toScroll),d||this.scrollPage()}),this.$to.removeClass(this.toPreClass).addClass(this.name+" in "+c),d?this.doneIn():this.$to.animationComplete(a.proxy(function(){this.doneIn()},this))},startOut:function(b,c,d){this.beforeStartOut(b,c,d),this.$from.height(b+a.mobile.window.scrollTop()).addClass(this.name+" out"+c)},toggleViewportClass:function(){a.mobile.pageContainer.toggleClass("ui-mobile-viewport-transitioning viewport-"+this.name)},transition:function(){var b,c=this.reverse?" reverse":"",d=a.mobile.getScreenHeight(),e=a.mobile.maxTransitionWidth!==!1&&a.mobile.window.width()>a.mobile.maxTransitionWidth;return this.toScroll=a.mobile.navigate.history.getActive().lastScroll||a.mobile.defaultHomeScroll,b=!a.support.cssTransitions||!a.support.cssAnimations||e||!this.name||"none"===this.name||Math.max(a.mobile.window.scrollTop(),this.toScroll)>a.mobile.getMaxScrollForTransition(),this.toggleViewportClass(),this.$from&&!b?this.startOut(d,c,b):this.doneOut(d,c,b,!0),this.deferred.promise()}})}(a,this),function(a){a.mobile.SerialTransition=function(){this.init.apply(this,arguments)},a.extend(a.mobile.SerialTransition.prototype,a.mobile.Transition.prototype,{sequential:!0,beforeDoneOut:function(){this.$from&&this.cleanFrom()},beforeStartOut:function(b,c,d){this.$from.animationComplete(a.proxy(function(){this.doneOut(b,c,d)},this))}})}(a),function(a){a.mobile.ConcurrentTransition=function(){this.init.apply(this,arguments)},a.extend(a.mobile.ConcurrentTransition.prototype,a.mobile.Transition.prototype,{sequential:!1,beforeDoneIn:function(){this.$from&&this.cleanFrom()},beforeStartOut:function(a,b,c){this.doneOut(a,b,c)}})}(a),function(a){var b=function(){return 3*a.mobile.getScreenHeight()};a.mobile.transitionHandlers={sequential:a.mobile.SerialTransition,simultaneous:a.mobile.ConcurrentTransition},a.mobile.defaultTransitionHandler=a.mobile.transitionHandlers.sequential,a.mobile.transitionFallbacks={},a.mobile._maybeDegradeTransition=function(b){return b&&!a.support.cssTransform3d&&a.mobile.transitionFallbacks[b]&&(b=a.mobile.transitionFallbacks[b]),b},a.mobile.getMaxScrollForTransition=a.mobile.getMaxScrollForTransition||b}(a),function(a){a.mobile.transitionFallbacks.flip="fade"}(a,this),function(a){a.mobile.transitionFallbacks.flow="fade"}(a,this),function(a){a.mobile.transitionFallbacks.pop="fade"}(a,this),function(a){a.mobile.transitionHandlers.slide=a.mobile.transitionHandlers.simultaneous,a.mobile.transitionFallbacks.slide="fade"}(a,this),function(a){a.mobile.transitionFallbacks.slidedown="fade"}(a,this),function(a){a.mobile.transitionFallbacks.slidefade="fade"}(a,this),function(a){a.mobile.transitionFallbacks.slideup="fade"}(a,this),function(a){a.mobile.transitionFallbacks.turn="fade"}(a,this),function(a){a.mobile.degradeInputs={color:!1,date:!1,datetime:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:"number",search:"text",tel:!1,time:!1,url:!1,week:!1},a.mobile.page.prototype.options.degradeInputs=a.mobile.degradeInputs,a.mobile.degradeInputsWithin=function(b){b=a(b),b.find("input").not(a.mobile.page.prototype.keepNativeSelector()).each(function(){var b,c,d,e,f=a(this),g=this.getAttribute("type"),h=a.mobile.degradeInputs[g]||"text";a.mobile.degradeInputs[g]&&(b=a("<div>").html(f.clone()).html(),c=b.indexOf(" type=")>-1,d=c?/\s+type=["']?\w+['"]?/:/\/?>/,e=' type="'+h+'" data-'+a.mobile.ns+'type="'+g+'"'+(c?"":">"),f.replaceWith(b.replace(d,e)))})}}(a),function(a,b,c){a.widget("mobile.page",a.mobile.page,{options:{closeBtn:"left",closeBtnText:"Close",overlayTheme:"a",corners:!0,dialog:!1},_create:function(){this._super(),this.options.dialog&&(a.extend(this,{_inner:this.element.children(),_headerCloseButton:null}),this.options.enhanced||this._setCloseBtn(this.options.closeBtn))},_enhance:function(){this._super(),this.options.dialog&&this.element.addClass("ui-dialog").wrapInner(a("<div/>",{role:"dialog","class":"ui-dialog-contain ui-overlay-shadow"+(this.options.corners?" ui-corner-all":"")}))},_setOptions:function(b){var d,e,f=this.options;b.corners!==c&&this._inner.toggleClass("ui-corner-all",!!b.corners),b.overlayTheme!==c&&a.mobile.activePage[0]===this.element[0]&&(f.overlayTheme=b.overlayTheme,this._handlePageBeforeShow()),b.closeBtnText!==c&&(d=f.closeBtn,e=b.closeBtnText),b.closeBtn!==c&&(d=b.closeBtn),d&&this._setCloseBtn(d,e),this._super(b)},_handlePageBeforeShow:function(){this.options.overlayTheme&&this.options.dialog?(this.removeContainerBackground(),this.setContainerBackground(this.options.overlayTheme)):this._super()},_setCloseBtn:function(b,c){var d,e=this._headerCloseButton;b="left"===b?"left":"right"===b?"right":"none","none"===b?e&&(e.remove(),e=null):e?(e.removeClass("ui-btn-left ui-btn-right").addClass("ui-btn-"+b),c&&e.text(c)):(d=this._inner.find(":jqmData(role='header')").first(),e=a("<a></a>",{href:"#","class":"ui-btn ui-corner-all ui-icon-delete ui-btn-icon-notext ui-btn-"+b}).attr("data-"+a.mobile.ns+"rel","back").text(c||this.options.closeBtnText||"").prependTo(d)),this._headerCloseButton=e}})}(a,this),function(a,b,c){a.widget("mobile.dialog",{options:{closeBtn:"left",closeBtnText:"Close",overlayTheme:"a",corners:!0},_handlePageBeforeShow:function(){this._isCloseable=!0,this.options.overlayTheme&&this.element.page("removeContainerBackground").page("setContainerBackground",this.options.overlayTheme)},_handlePageBeforeHide:function(){this._isCloseable=!1},_handleVClickSubmit:function(b){var c,d=a(b.target).closest("vclick"===b.type?"a":"form");d.length&&!d.jqmData("transition")&&(c={},c["data-"+a.mobile.ns+"transition"]=(a.mobile.navigate.history.getActive()||{}).transition||a.mobile.defaultDialogTransition,c["data-"+a.mobile.ns+"direction"]="reverse",d.attr(c))},_create:function(){var b=this.element,c=this.options;b.addClass("ui-dialog").wrapInner(a("<div/>",{role:"dialog","class":"ui-dialog-contain ui-overlay-shadow"+(c.corners?" ui-corner-all":"")})),a.extend(this,{_isCloseable:!1,_inner:b.children(),_headerCloseButton:null}),this._on(b,{vclick:"_handleVClickSubmit",submit:"_handleVClickSubmit",pagebeforeshow:"_handlePageBeforeShow",pagebeforehide:"_handlePageBeforeHide"}),this._setCloseBtn(c.closeBtn)},_setOptions:function(b){var d,e,f=this.options;b.corners!==c&&this._inner.toggleClass("ui-corner-all",!!b.corners),b.overlayTheme!==c&&a.mobile.activePage[0]===this.element[0]&&(f.overlayTheme=b.overlayTheme,this._handlePageBeforeShow()),b.closeBtnText!==c&&(d=f.closeBtn,e=b.closeBtnText),b.closeBtn!==c&&(d=b.closeBtn),d&&this._setCloseBtn(d,e),this._super(b)},_setCloseBtn:function(b,c){var d,e=this._headerCloseButton;b="left"===b?"left":"right"===b?"right":"none","none"===b?e&&(e.remove(),e=null):e?(e.removeClass("ui-btn-left ui-btn-right").addClass("ui-btn-"+b),c&&e.text(c)):(d=this._inner.find(":jqmData(role='header')").first(),e=a("<a></a>",{role:"button",href:"#","class":"ui-btn ui-corner-all ui-icon-delete ui-btn-icon-notext ui-btn-"+b}).text(c||this.options.closeBtnText||"").prependTo(d),this._on(e,{click:"close"})),this._headerCloseButton=e},close:function(){var b=a.mobile.navigate.history;this._isCloseable&&(this._isCloseable=!1,a.mobile.hashListeningEnabled&&b.activeIndex>0?a.mobile.back():a.mobile.pageContainer.pagecontainer("back"))}})}(a,this),function(a,b){var c=/([A-Z])/g,d=function(a){return"ui-btn-icon-"+(null===a?"left":a)};a.widget("mobile.collapsible",{options:{enhanced:!1,expandCueText:null,collapseCueText:null,collapsed:!0,heading:"h1,h2,h3,h4,h5,h6,legend",collapsedIcon:null,expandedIcon:null,iconpos:null,theme:null,contentTheme:null,inset:null,corners:null,mini:null},_create:function(){var b=this.element,c={accordion:b.closest(":jqmData(role='collapsible-set'),:jqmData(role='collapsibleset')"+(a.mobile.collapsibleset?", :mobile-collapsibleset":"")).addClass("ui-collapsible-set")};this._ui=c,this._renderedOptions=this._getOptions(this.options),this.options.enhanced?(c.heading=this.element.children(".ui-collapsible-heading"),c.content=c.heading.next(),c.anchor=c.heading.children(),c.status=c.anchor.children(".ui-collapsible-heading-status")):this._enhance(b,c),this._on(c.heading,{tap:function(){c.heading.find("a").first().addClass(a.mobile.activeBtnClass)},click:function(a){this._handleExpandCollapse(!c.heading.hasClass("ui-collapsible-heading-collapsed")),a.preventDefault(),a.stopPropagation()}})},_getOptions:function(b){var d,e=this._ui.accordion,f=this._ui.accordionWidget;b=a.extend({},b),e.length&&!f&&(this._ui.accordionWidget=f=e.data("mobile-collapsibleset"));for(d in b)b[d]=null!=b[d]?b[d]:f?f.options[d]:e.length?a.mobile.getAttribute(e[0],d.replace(c,"-$1").toLowerCase()):null,null==b[d]&&(b[d]=a.mobile.collapsible.defaults[d]);return b},_themeClassFromOption:function(a,b){return b?"none"===b?"":a+b:""},_enhance:function(b,c){var e,f=this._renderedOptions,g=this._themeClassFromOption("ui-body-",f.contentTheme);return b.addClass("ui-collapsible "+(f.inset?"ui-collapsible-inset ":"")+(f.inset&&f.corners?"ui-corner-all ":"")+(g?"ui-collapsible-themed-content ":"")),c.originalHeading=b.children(this.options.heading).first(),c.content=b.wrapInner("<div class='ui-collapsible-content "+g+"'></div>").children(".ui-collapsible-content"),c.heading=c.originalHeading,c.heading.is("legend")&&(c.heading=a("<div role='heading'>"+c.heading.html()+"</div>"),c.placeholder=a("<div><!-- placeholder for legend --></div>").insertBefore(c.originalHeading),c.originalHeading.remove()),e=f.collapsed?f.collapsedIcon?"ui-icon-"+f.collapsedIcon:"":f.expandedIcon?"ui-icon-"+f.expandedIcon:"",c.status=a("<span class='ui-collapsible-heading-status'></span>"),c.anchor=c.heading.detach().addClass("ui-collapsible-heading").append(c.status).wrapInner("<a href='#' class='ui-collapsible-heading-toggle'></a>").find("a").first().addClass("ui-btn "+(e?e+" ":"")+(e?d(f.iconpos)+" ":"")+this._themeClassFromOption("ui-btn-",f.theme)+" "+(f.mini?"ui-mini ":"")),c.heading.insertBefore(c.content),this._handleExpandCollapse(this.options.collapsed),c},refresh:function(){this._applyOptions(this.options),this._renderedOptions=this._getOptions(this.options)},_applyOptions:function(a){var c,e,f,g,h,i=this.element,j=this._renderedOptions,k=this._ui,l=k.anchor,m=k.status,n=this._getOptions(a);a.collapsed!==b&&this._handleExpandCollapse(a.collapsed),c=i.hasClass("ui-collapsible-collapsed"),c?n.expandCueText!==b&&m.text(n.expandCueText):n.collapseCueText!==b&&m.text(n.collapseCueText),h=n.collapsedIcon!==b?n.collapsedIcon!==!1:j.collapsedIcon!==!1,(n.iconpos!==b||n.collapsedIcon!==b||n.expandedIcon!==b)&&(l.removeClass([d(j.iconpos)].concat(j.expandedIcon?["ui-icon-"+j.expandedIcon]:[]).concat(j.collapsedIcon?["ui-icon-"+j.collapsedIcon]:[]).join(" ")),h&&l.addClass([d(n.iconpos!==b?n.iconpos:j.iconpos)].concat(c?["ui-icon-"+(n.collapsedIcon!==b?n.collapsedIcon:j.collapsedIcon)]:["ui-icon-"+(n.expandedIcon!==b?n.expandedIcon:j.expandedIcon)]).join(" "))),n.theme!==b&&(f=this._themeClassFromOption("ui-btn-",j.theme),e=this._themeClassFromOption("ui-btn-",n.theme),l.removeClass(f).addClass(e)),n.contentTheme!==b&&(f=this._themeClassFromOption("ui-body-",j.contentTheme),e=this._themeClassFromOption("ui-body-",n.contentTheme),k.content.removeClass(f).addClass(e)),n.inset!==b&&(i.toggleClass("ui-collapsible-inset",n.inset),g=!(!n.inset||!n.corners&&!j.corners)),n.corners!==b&&(g=!(!n.corners||!n.inset&&!j.inset)),g!==b&&i.toggleClass("ui-corner-all",g),n.mini!==b&&l.toggleClass("ui-mini",n.mini)},_setOptions:function(a){this._applyOptions(a),this._super(a),this._renderedOptions=this._getOptions(this.options)},_handleExpandCollapse:function(b){var c=this._renderedOptions,d=this._ui;d.status.text(b?c.expandCueText:c.collapseCueText),d.heading.toggleClass("ui-collapsible-heading-collapsed",b).find("a").first().toggleClass("ui-icon-"+c.expandedIcon,!b).toggleClass("ui-icon-"+c.collapsedIcon,b||c.expandedIcon===c.collapsedIcon).removeClass(a.mobile.activeBtnClass),this.element.toggleClass("ui-collapsible-collapsed",b),d.content.toggleClass("ui-collapsible-content-collapsed",b).attr("aria-hidden",b).trigger("updatelayout"),this.options.collapsed=b,this._trigger(b?"collapse":"expand")},expand:function(){this._handleExpandCollapse(!1)},collapse:function(){this._handleExpandCollapse(!0)},_destroy:function(){var a=this._ui,b=this.options;b.enhanced||(a.placeholder?(a.originalHeading.insertBefore(a.placeholder),a.placeholder.remove(),a.heading.remove()):(a.status.remove(),a.heading.removeClass("ui-collapsible-heading ui-collapsible-heading-collapsed").children().contents().unwrap()),a.anchor.contents().unwrap(),a.content.contents().unwrap(),this.element.removeClass("ui-collapsible ui-collapsible-collapsed ui-collapsible-themed-content ui-collapsible-inset ui-corner-all"))}}),a.mobile.collapsible.defaults={expandCueText:" click to expand contents",collapseCueText:" click to collapse contents",collapsedIcon:"plus",contentTheme:"inherit",expandedIcon:"minus",iconpos:"left",inset:!0,corners:!0,theme:"inherit",mini:!1}}(a),function(a){function b(b){var d,e=b.length,f=[];for(d=0;e>d;d++)b[d].className.match(c)||f.push(b[d]);return a(f)}var c=/\bui-screen-hidden\b/;a.mobile.behaviors.addFirstLastClasses={_getVisibles:function(a,c){var d;return c?d=b(a):(d=a.filter(":visible"),0===d.length&&(d=b(a))),d},_addFirstLastClasses:function(a,b,c){a.removeClass("ui-first-child ui-last-child"),b.eq(0).addClass("ui-first-child").end().last().addClass("ui-last-child"),c||this.element.trigger("updatelayout")},_removeFirstLastClasses:function(a){a.removeClass("ui-first-child ui-last-child")}}}(a),function(a,b){var c=":mobile-collapsible, "+a.mobile.collapsible.initSelector;a.widget("mobile.collapsibleset",a.extend({initSelector:":jqmData(role='collapsible-set'),:jqmData(role='collapsibleset')",options:a.extend({enhanced:!1},a.mobile.collapsible.defaults),_handleCollapsibleExpand:function(b){var c=a(b.target).closest(".ui-collapsible");c.parent().is(":mobile-collapsibleset, :jqmData(role='collapsible-set')")&&c.siblings(".ui-collapsible:not(.ui-collapsible-collapsed)").collapsible("collapse")},_create:function(){var b=this.element,c=this.options;a.extend(this,{_classes:""}),c.enhanced||(b.addClass("ui-collapsible-set "+this._themeClassFromOption("ui-group-theme-",c.theme)+" "+(c.corners&&c.inset?"ui-corner-all ":"")),this.element.find(a.mobile.collapsible.initSelector).collapsible()),this._on(b,{collapsibleexpand:"_handleCollapsibleExpand"})},_themeClassFromOption:function(a,b){return b?"none"===b?"":a+b:""},_init:function(){this._refresh(!0),this.element.children(c).filter(":jqmData(collapsed='false')").collapsible("expand")},_setOptions:function(a){var c,d,e=this.element,f=this._themeClassFromOption("ui-group-theme-",a.theme);return f&&e.removeClass(this._themeClassFromOption("ui-group-theme-",this.options.theme)).addClass(f),a.inset!==b&&(d=!(!a.inset||!a.corners&&!this.options.corners)),a.corners!==b&&(d=!(!a.corners||!a.inset&&!this.options.inset)),d!==b&&e.toggleClass("ui-corner-all",d),c=this._super(a),this.element.children(":mobile-collapsible").collapsible("refresh"),c},_destroy:function(){var a=this.element;this._removeFirstLastClasses(a.children(c)),a.removeClass("ui-collapsible-set ui-corner-all "+this._themeClassFromOption("ui-group-theme-",this.options.theme)).children(":mobile-collapsible").collapsible("destroy")},_refresh:function(b){var d=this.element.children(c);this.element.find(a.mobile.collapsible.initSelector).not(".ui-collapsible").collapsible(),this._addFirstLastClasses(d,this._getVisibles(d,b),b)},refresh:function(){this._refresh(!1)}},a.mobile.behaviors.addFirstLastClasses))}(a),function(a){a.fn.fieldcontain=function(){return this.addClass("ui-field-contain")}}(a),function(a){a.fn.grid=function(b){return this.each(function(){var c,d,e=a(this),f=a.extend({grid:null},b),g=e.children(),h={solo:1,a:2,b:3,c:4,d:5},i=f.grid;if(!i)if(g.length<=5)for(d in h)h[d]===g.length&&(i=d);else i="a",e.addClass("ui-grid-duo");c=h[i],e.addClass("ui-grid-"+i),g.filter(":nth-child("+c+"n+1)").addClass("ui-block-a"),c>1&&g.filter(":nth-child("+c+"n+2)").addClass("ui-block-b"),c>2&&g.filter(":nth-child("+c+"n+3)").addClass("ui-block-c"),c>3&&g.filter(":nth-child("+c+"n+4)").addClass("ui-block-d"),c>4&&g.filter(":nth-child("+c+"n+5)").addClass("ui-block-e")})}}(a),function(a,b){a.widget("mobile.navbar",{options:{iconpos:"top",grid:null},_create:function(){var d=this.element,e=d.find("a, button"),f=e.filter(":jqmData(icon)").length?this.options.iconpos:b;d.addClass("ui-navbar").attr("role","navigation").find("ul").jqmEnhanceable().grid({grid:this.options.grid}),e.each(function(){var b=a.mobile.getAttribute(this,"icon"),c=a.mobile.getAttribute(this,"theme"),d="ui-btn";c&&(d+=" ui-btn-"+c),b&&(d+=" ui-icon-"+b+" ui-btn-icon-"+f),a(this).addClass(d)}),d.delegate("a","vclick",function(){var b=a(this);b.hasClass("ui-state-disabled")||b.hasClass("ui-disabled")||b.hasClass(a.mobile.activeBtnClass)||(e.removeClass(a.mobile.activeBtnClass),b.addClass(a.mobile.activeBtnClass),a(c).one("pagehide",function(){b.removeClass(a.mobile.activeBtnClass)}))}),d.closest(".ui-page").bind("pagebeforeshow",function(){e.filter(".ui-state-persist").addClass(a.mobile.activeBtnClass)})}})}(a),function(a){var b=a.mobile.getAttribute;a.widget("mobile.listview",a.extend({options:{theme:null,countTheme:null,dividerTheme:null,icon:"carat-r",splitIcon:"carat-r",splitTheme:null,corners:!0,shadow:!0,inset:!1},_create:function(){var a=this,b="";b+=a.options.inset?" ui-listview-inset":"",a.options.inset&&(b+=a.options.corners?" ui-corner-all":"",b+=a.options.shadow?" ui-shadow":""),a.element.addClass(" ui-listview"+b),a.refresh(!0)},_findFirstElementByTagName:function(a,b,c,d){var e={};for(e[c]=e[d]=!0;a;){if(e[a.nodeName])return a;a=a[b]}return null},_addThumbClasses:function(b){var c,d,e=b.length;for(c=0;e>c;c++)d=a(this._findFirstElementByTagName(b[c].firstChild,"nextSibling","img","IMG")),d.length&&a(this._findFirstElementByTagName(d[0].parentNode,"parentNode","li","LI")).addClass(d.hasClass("ui-li-icon")?"ui-li-has-icon":"ui-li-has-thumb")},_getChildrenByTagName:function(b,c,d){var e=[],f={};for(f[c]=f[d]=!0,b=b.firstChild;b;)f[b.nodeName]&&e.push(b),b=b.nextSibling;return a(e)},_beforeListviewRefresh:a.noop,_afterListviewRefresh:a.noop,refresh:function(c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x=this.options,y=this.element,z=!!a.nodeName(y[0],"ol"),A=y.attr("start"),B={},C=y.find(".ui-li-count"),D=b(y[0],"counttheme")||this.options.countTheme,E=D?"ui-body-"+D:"ui-body-inherit";for(x.theme&&y.addClass("ui-group-theme-"+x.theme),z&&(A||0===A)&&(n=parseInt(A,10)-1,y.css("counter-reset","listnumbering "+n)),this._beforeListviewRefresh(),w=this._getChildrenByTagName(y[0],"li","LI"),e=0,f=w.length;f>e;e++)g=w.eq(e),h="",(c||g[0].className.search(/\bui-li-static\b|\bui-li-divider\b/)<0)&&(l=this._getChildrenByTagName(g[0],"a","A"),m="list-divider"===b(g[0],"role"),p=g.attr("value"),i=b(g[0],"theme"),l.length&&l[0].className.search(/\bui-btn\b/)<0&&!m?(j=b(g[0],"icon"),k=j===!1?!1:j||x.icon,l.removeClass("ui-link"),d="ui-btn",i&&(d+=" ui-btn-"+i),l.length>1?(h="ui-li-has-alt",q=l.last(),r=b(q[0],"theme")||x.splitTheme||b(g[0],"theme",!0),s=r?" ui-btn-"+r:"",t=b(q[0],"icon")||b(g[0],"icon")||x.splitIcon,u="ui-btn ui-btn-icon-notext ui-icon-"+t+s,q.attr("title",a.trim(q.getEncodedText())).addClass(u).empty(),l=l.first()):k&&(d+=" ui-btn-icon-right ui-icon-"+k),l.addClass(d)):m?(v=b(g[0],"theme")||x.dividerTheme||x.theme,h="ui-li-divider ui-bar-"+(v?v:"inherit"),g.attr("role","heading")):l.length<=0&&(h="ui-li-static ui-body-"+(i?i:"inherit")),z&&p&&(o=parseInt(p,10)-1,g.css("counter-reset","listnumbering "+o))),B[h]||(B[h]=[]),B[h].push(g[0]);for(h in B)a(B[h]).addClass(h);C.each(function(){a(this).closest("li").addClass("ui-li-has-count")}),E&&C.not("[class*='ui-body-']").addClass(E),this._addThumbClasses(w),this._addThumbClasses(w.find(".ui-btn")),this._afterListviewRefresh(),this._addFirstLastClasses(w,this._getVisibles(w,c),c)}},a.mobile.behaviors.addFirstLastClasses))}(a),function(a){function b(b){var c=a.trim(b.text())||null;return c?c=c.slice(0,1).toUpperCase():null}a.widget("mobile.listview",a.mobile.listview,{options:{autodividers:!1,autodividersSelector:b},_beforeListviewRefresh:function(){this.options.autodividers&&(this._replaceDividers(),this._superApply(arguments))},_replaceDividers:function(){var b,d,e,f,g,h=null,i=this.element;for(i.children("li:jqmData(role='list-divider')").remove(),d=i.children("li"),b=0;b<d.length;b++)e=d[b],f=this.options.autodividersSelector(a(e)),f&&h!==f&&(g=c.createElement("li"),g.appendChild(c.createTextNode(f)),g.setAttribute("data-"+a.mobile.ns+"role","list-divider"),e.parentNode.insertBefore(g,e)),h=f}})}(a),function(a){var b=/(^|\s)ui-li-divider($|\s)/,c=/(^|\s)ui-screen-hidden($|\s)/;a.widget("mobile.listview",a.mobile.listview,{options:{hideDividers:!1},_afterListviewRefresh:function(){var a,d,e,f=!0;if(this._superApply(arguments),this.options.hideDividers)for(a=this._getChildrenByTagName(this.element[0],"li","LI"),d=a.length-1;d>-1;d--)e=a[d],e.className.match(b)?(f&&(e.className=e.className+" ui-screen-hidden"),f=!0):e.className.match(c)||(f=!1)}})}(a),function(a){a.mobile.nojs=function(b){a(":jqmData(role='nojs')",b).addClass("ui-nojs")}}(a),function(a){a.mobile.behaviors.formReset={_handleFormReset:function(){this._on(this.element.closest("form"),{reset:function(){this._delay("_reset")}})}}}(a),function(a,b){var c=a.mobile.path.hashToSelector;a.widget("mobile.checkboxradio",a.extend({initSelector:"input:not( :jqmData(role='flipswitch' ) )[type='checkbox'],input[type='radio']:not( :jqmData(role='flipswitch' ))",options:{theme:"inherit",mini:!1,wrapperClass:null,enhanced:!1,iconpos:"left"},_create:function(){var b=this.element,c=this.options,d=function(a,b){return a.jqmData(b)||a.closest("form, fieldset").jqmData(b)},e=this.options.enhanced?{element:this.element.siblings("label"),isParent:!1}:this._findLabel(),f=b[0].type,g="ui-"+f+"-on",h="ui-"+f+"-off";("checkbox"===f||"radio"===f)&&(this.element[0].disabled&&(this.options.disabled=!0),c.iconpos=d(b,"iconpos")||e.element.attr("data-"+a.mobile.ns+"iconpos")||c.iconpos,c.mini=d(b,"mini")||c.mini,a.extend(this,{input:b,label:e.element,labelIsParent:e.isParent,inputtype:f,checkedClass:g,uncheckedClass:h}),this.options.enhanced||this._enhance(),this._on(e.element,{vmouseover:"_handleLabelVMouseOver",vclick:"_handleLabelVClick"}),this._on(b,{vmousedown:"_cacheVals",vclick:"_handleInputVClick",focus:"_handleInputFocus",blur:"_handleInputBlur"}),this._handleFormReset(),this.refresh())},_findLabel:function(){var b,d,e,f=this.element,g=f[0].labels;return g&&g.length>0?(d=a(g[0]),e=a.contains(d[0],f[0])):(b=f.closest("label"),e=b.length>0,d=e?b:a(this.document[0].getElementsByTagName("label")).filter("[for='"+c(f[0].id)+"']").first()),{element:d,isParent:e}},_enhance:function(){this.label.addClass("ui-btn ui-corner-all"),this.labelIsParent?this.input.add(this.label).wrapAll(this._wrapper()):(this.element.wrap(this._wrapper()),this.element.parent().prepend(this.label)),this._setOptions({theme:this.options.theme,iconpos:this.options.iconpos,mini:this.options.mini})},_wrapper:function(){return a("<div class='"+(this.options.wrapperClass?this.options.wrapperClass:"")+" ui-"+this.inputtype+(this.options.disabled?" ui-state-disabled":"")+"' ></div>")},_handleInputFocus:function(){this.label.addClass(a.mobile.focusClass)},_handleInputBlur:function(){this.label.removeClass(a.mobile.focusClass)},_handleInputVClick:function(){this.element.prop("checked",this.element.is(":checked")),this._getInputSet().not(this.element).prop("checked",!1),this._updateAll(!0)},_handleLabelVMouseOver:function(a){this.label.parent().hasClass("ui-state-disabled")&&a.stopPropagation()},_handleLabelVClick:function(a){var b=this.element;return b.is(":disabled")?void a.preventDefault():(this._cacheVals(),b.prop("checked","radio"===this.inputtype&&!0||!b.prop("checked")),b.triggerHandler("click"),this._getInputSet().not(b).prop("checked",!1),this._updateAll(),!1)},_cacheVals:function(){this._getInputSet().each(function(){a(this).attr("data-"+a.mobile.ns+"cacheVal",this.checked)})},_getInputSet:function(){var b,d,e=this.element[0],f=e.name,g=e.form,h=this.element.parents().last().get(0),i=this.element;return f&&"radio"===this.inputtype&&h&&(b="input[type='radio'][name='"+c(f)+"']",g?(d=g.getAttribute("id"),d&&(i=a(b+"[form='"+c(d)+"']",h)),i=a(g).find(b).filter(function(){return this.form===g}).add(i)):i=a(b,h).filter(function(){return!this.form})),i},_updateAll:function(b){var c=this;this._getInputSet().each(function(){var d=a(this);!this.checked&&"checkbox"!==c.inputtype||b||d.trigger("change")}).checkboxradio("refresh")},_reset:function(){this.refresh()},_hasIcon:function(){var b,c,d=a.mobile.controlgroup;return d&&(b=this.element.closest(":mobile-controlgroup,"+d.prototype.initSelector),b.length>0)?(c=a.data(b[0],"mobile-controlgroup"),"horizontal"!==(c?c.options.type:b.attr("data-"+a.mobile.ns+"type"))):!0},refresh:function(){var b=this.element[0].checked,c=a.mobile.activeBtnClass,d="ui-btn-icon-"+this.options.iconpos,e=[],f=[];this._hasIcon()?(f.push(c),e.push(d)):(f.push(d),(b?e:f).push(c)),b?(e.push(this.checkedClass),f.push(this.uncheckedClass)):(e.push(this.uncheckedClass),f.push(this.checkedClass)),this.widget().toggleClass("ui-state-disabled",this.element.prop("disabled")),this.label.addClass(e.join(" ")).removeClass(f.join(" "))},widget:function(){return this.label.parent()},_setOptions:function(a){var c=this.label,d=this.options,e=this.widget(),f=this._hasIcon();a.disabled!==b&&(this.input.prop("disabled",!!a.disabled),e.toggleClass("ui-state-disabled",!!a.disabled)),a.mini!==b&&e.toggleClass("ui-mini",!!a.mini),a.theme!==b&&c.removeClass("ui-btn-"+d.theme).addClass("ui-btn-"+a.theme),a.wrapperClass!==b&&e.removeClass(d.wrapperClass).addClass(a.wrapperClass),a.iconpos!==b&&f?c.removeClass("ui-btn-icon-"+d.iconpos).addClass("ui-btn-icon-"+a.iconpos):f||c.removeClass("ui-btn-icon-"+d.iconpos),this._super(a)}},a.mobile.behaviors.formReset))}(a),function(a,b){a.widget("mobile.button",{initSelector:"input[type='button'], input[type='submit'], input[type='reset']",options:{theme:null,icon:null,iconpos:"left",iconshadow:!1,corners:!0,shadow:!0,inline:null,mini:null,wrapperClass:null,enhanced:!1},_create:function(){this.element.is(":disabled")&&(this.options.disabled=!0),this.options.enhanced||this._enhance(),a.extend(this,{wrapper:this.element.parent()}),this._on({focus:function(){this.widget().addClass(a.mobile.focusClass)},blur:function(){this.widget().removeClass(a.mobile.focusClass)}}),this.refresh(!0)},_enhance:function(){this.element.wrap(this._button())},_button:function(){var b=this.options,c=this._getIconClasses(this.options);return a("<div class='ui-btn ui-input-btn"+(b.wrapperClass?" "+b.wrapperClass:"")+(b.theme?" ui-btn-"+b.theme:"")+(b.corners?" ui-corner-all":"")+(b.shadow?" ui-shadow":"")+(b.inline?" ui-btn-inline":"")+(b.mini?" ui-mini":"")+(b.disabled?" ui-state-disabled":"")+(c?" "+c:"")+"' >"+this.element.val()+"</div>")},widget:function(){return this.wrapper},_destroy:function(){this.element.insertBefore(this.wrapper),this.wrapper.remove()},_getIconClasses:function(a){return a.icon?"ui-icon-"+a.icon+(a.iconshadow?" ui-shadow-icon":"")+" ui-btn-icon-"+a.iconpos:""},_setOptions:function(c){var d=this.widget();c.theme!==b&&d.removeClass(this.options.theme).addClass("ui-btn-"+c.theme),c.corners!==b&&d.toggleClass("ui-corner-all",c.corners),c.shadow!==b&&d.toggleClass("ui-shadow",c.shadow),c.inline!==b&&d.toggleClass("ui-btn-inline",c.inline),c.mini!==b&&d.toggleClass("ui-mini",c.mini),c.disabled!==b&&(this.element.prop("disabled",c.disabled),d.toggleClass("ui-state-disabled",c.disabled)),(c.icon!==b||c.iconshadow!==b||c.iconpos!==b)&&d.removeClass(this._getIconClasses(this.options)).addClass(this._getIconClasses(a.extend({},this.options,c))),this._super(c)},refresh:function(b){var c,d=this.element.prop("disabled");this.options.icon&&"notext"===this.options.iconpos&&this.element.attr("title")&&this.element.attr("title",this.element.val()),b||(c=this.element.detach(),a(this.wrapper).text(this.element.val()).append(c)),this.options.disabled!==d&&this._setOptions({disabled:d})}})}(a),function(a){var b=a("meta[name=viewport]"),c=b.attr("content"),d=c+",maximum-scale=1, user-scalable=no",e=c+",maximum-scale=10, user-scalable=yes",f=/(user-scalable[\s]*=[\s]*no)|(maximum-scale[\s]*=[\s]*1)[$,\s]/.test(c);a.mobile.zoom=a.extend({},{enabled:!f,locked:!1,disable:function(c){f||a.mobile.zoom.locked||(b.attr("content",d),a.mobile.zoom.enabled=!1,a.mobile.zoom.locked=c||!1)},enable:function(c){f||a.mobile.zoom.locked&&c!==!0||(b.attr("content",e),a.mobile.zoom.enabled=!0,a.mobile.zoom.locked=!1)},restore:function(){f||(b.attr("content",c),a.mobile.zoom.enabled=!0)}})}(a),function(a,b){a.widget("mobile.textinput",{initSelector:"input[type='text'],input[type='search'],:jqmData(type='search'),input[type='number'],:jqmData(type='number'),input[type='password'],input[type='email'],input[type='url'],input[type='tel'],textarea,input[type='time'],input[type='date'],input[type='month'],input[type='week'],input[type='datetime'],input[type='datetime-local'],input[type='color'],input:not([type]),input[type='file']",options:{theme:null,corners:!0,mini:!1,preventFocusZoom:/iPhone|iPad|iPod/.test(navigator.platform)&&navigator.userAgent.indexOf("AppleWebKit")>-1,wrapperClass:"",enhanced:!1},_create:function(){var b=this.options,c=this.element.is("[type='search'], :jqmData(type='search')"),d="TEXTAREA"===this.element[0].tagName,e=this.element.is("[data-"+(a.mobile.ns||"")+"type='range']"),f=(this.element.is("input")||this.element.is("[data-"+(a.mobile.ns||"")+"type='search']"))&&!e;this.element.prop("disabled")&&(b.disabled=!0),a.extend(this,{classes:this._classesFromOptions(),isSearch:c,isTextarea:d,isRange:e,inputNeedsWrap:f}),this._autoCorrect(),b.enhanced||this._enhance(),this._on({focus:"_handleFocus",blur:"_handleBlur"})},refresh:function(){this.setOptions({disabled:this.element.is(":disabled")})},_enhance:function(){var a=[];this.isTextarea&&a.push("ui-input-text"),(this.isTextarea||this.isRange)&&a.push("ui-shadow-inset"),this.inputNeedsWrap?this.element.wrap(this._wrap()):a=a.concat(this.classes),this.element.addClass(a.join(" "))},widget:function(){return this.inputNeedsWrap?this.element.parent():this.element},_classesFromOptions:function(){var a=this.options,b=[];return b.push("ui-body-"+(null===a.theme?"inherit":a.theme)),a.corners&&b.push("ui-corner-all"),a.mini&&b.push("ui-mini"),a.disabled&&b.push("ui-state-disabled"),a.wrapperClass&&b.push(a.wrapperClass),b -},_wrap:function(){return a("<div class='"+(this.isSearch?"ui-input-search ":"ui-input-text ")+this.classes.join(" ")+" ui-shadow-inset'></div>")},_autoCorrect:function(){"undefined"==typeof this.element[0].autocorrect||a.support.touchOverflow||(this.element[0].setAttribute("autocorrect","off"),this.element[0].setAttribute("autocomplete","off"))},_handleBlur:function(){this.widget().removeClass(a.mobile.focusClass),this.options.preventFocusZoom&&a.mobile.zoom.enable(!0)},_handleFocus:function(){this.options.preventFocusZoom&&a.mobile.zoom.disable(!0),this.widget().addClass(a.mobile.focusClass)},_setOptions:function(a){var c=this.widget();this._super(a),(a.disabled!==b||a.mini!==b||a.corners!==b||a.theme!==b||a.wrapperClass!==b)&&(c.removeClass(this.classes.join(" ")),this.classes=this._classesFromOptions(),c.addClass(this.classes.join(" "))),a.disabled!==b&&this.element.prop("disabled",!!a.disabled)},_destroy:function(){this.options.enhanced||(this.inputNeedsWrap&&this.element.unwrap(),this.element.removeClass("ui-input-text "+this.classes.join(" ")))}})}(a),function(a,d){a.widget("mobile.slider",a.extend({initSelector:"input[type='range'], :jqmData(type='range'), :jqmData(role='slider')",widgetEventPrefix:"slide",options:{theme:null,trackTheme:null,corners:!0,mini:!1,highlight:!1},_create:function(){var e,f,g,h,i,j,k,l,m,n,o=this,p=this.element,q=this.options.trackTheme||a.mobile.getAttribute(p[0],"theme"),r=q?" ui-bar-"+q:" ui-bar-inherit",s=this.options.corners||p.jqmData("corners")?" ui-corner-all":"",t=this.options.mini||p.jqmData("mini")?" ui-mini":"",u=p[0].nodeName.toLowerCase(),v="select"===u,w=p.parent().is(":jqmData(role='rangeslider')"),x=v?"ui-slider-switch":"",y=p.attr("id"),z=a("[for='"+y+"']"),A=z.attr("id")||y+"-label",B=v?0:parseFloat(p.attr("min")),C=v?p.find("option").length-1:parseFloat(p.attr("max")),D=b.parseFloat(p.attr("step")||1),E=c.createElement("a"),F=a(E),G=c.createElement("div"),H=a(G),I=this.options.highlight&&!v?function(){var b=c.createElement("div");return b.className="ui-slider-bg "+a.mobile.activeBtnClass,a(b).prependTo(H)}():!1;if(z.attr("id",A),this.isToggleSwitch=v,E.setAttribute("href","#"),G.setAttribute("role","application"),G.className=[this.isToggleSwitch?"ui-slider ui-slider-track ui-shadow-inset ":"ui-slider-track ui-shadow-inset ",x,r,s,t].join(""),E.className="ui-slider-handle",G.appendChild(E),F.attr({role:"slider","aria-valuemin":B,"aria-valuemax":C,"aria-valuenow":this._value(),"aria-valuetext":this._value(),title:this._value(),"aria-labelledby":A}),a.extend(this,{slider:H,handle:F,control:p,type:u,step:D,max:C,min:B,valuebg:I,isRangeslider:w,dragging:!1,beforeStart:null,userModified:!1,mouseMoved:!1}),v){for(k=p.attr("tabindex"),k&&F.attr("tabindex",k),p.attr("tabindex","-1").focus(function(){a(this).blur(),F.focus()}),f=c.createElement("div"),f.className="ui-slider-inneroffset",g=0,h=G.childNodes.length;h>g;g++)f.appendChild(G.childNodes[g]);for(G.appendChild(f),F.addClass("ui-slider-handle-snapping"),e=p.find("option"),i=0,j=e.length;j>i;i++)l=i?"a":"b",m=i?" "+a.mobile.activeBtnClass:"",n=c.createElement("span"),n.className=["ui-slider-label ui-slider-label-",l,m].join(""),n.setAttribute("role","img"),n.appendChild(c.createTextNode(e[i].innerHTML)),a(n).prependTo(H);o._labels=a(".ui-slider-label",H)}p.addClass(v?"ui-slider-switch":"ui-slider-input"),this._on(p,{change:"_controlChange",keyup:"_controlKeyup",blur:"_controlBlur",vmouseup:"_controlVMouseUp"}),H.bind("vmousedown",a.proxy(this._sliderVMouseDown,this)).bind("vclick",!1),this._on(c,{vmousemove:"_preventDocumentDrag"}),this._on(H.add(c),{vmouseup:"_sliderVMouseUp"}),H.insertAfter(p),v||w||(f=this.options.mini?"<div class='ui-slider ui-mini'>":"<div class='ui-slider'>",p.add(H).wrapAll(f)),this._on(this.handle,{vmousedown:"_handleVMouseDown",keydown:"_handleKeydown",keyup:"_handleKeyup"}),this.handle.bind("vclick",!1),this._handleFormReset(),this.refresh(d,d,!0)},_setOptions:function(a){a.theme!==d&&this._setTheme(a.theme),a.trackTheme!==d&&this._setTrackTheme(a.trackTheme),a.corners!==d&&this._setCorners(a.corners),a.mini!==d&&this._setMini(a.mini),a.highlight!==d&&this._setHighlight(a.highlight),a.disabled!==d&&this._setDisabled(a.disabled),this._super(a)},_controlChange:function(a){return this._trigger("controlchange",a)===!1?!1:void(this.mouseMoved||this.refresh(this._value(),!0))},_controlKeyup:function(){this.refresh(this._value(),!0,!0)},_controlBlur:function(){this.refresh(this._value(),!0)},_controlVMouseUp:function(){this._checkedRefresh()},_handleVMouseDown:function(){this.handle.focus()},_handleKeydown:function(b){var c=this._value();if(!this.options.disabled){switch(b.keyCode){case a.mobile.keyCode.HOME:case a.mobile.keyCode.END:case a.mobile.keyCode.PAGE_UP:case a.mobile.keyCode.PAGE_DOWN:case a.mobile.keyCode.UP:case a.mobile.keyCode.RIGHT:case a.mobile.keyCode.DOWN:case a.mobile.keyCode.LEFT:b.preventDefault(),this._keySliding||(this._keySliding=!0,this.handle.addClass("ui-state-active"))}switch(b.keyCode){case a.mobile.keyCode.HOME:this.refresh(this.min);break;case a.mobile.keyCode.END:this.refresh(this.max);break;case a.mobile.keyCode.PAGE_UP:case a.mobile.keyCode.UP:case a.mobile.keyCode.RIGHT:this.refresh(c+this.step);break;case a.mobile.keyCode.PAGE_DOWN:case a.mobile.keyCode.DOWN:case a.mobile.keyCode.LEFT:this.refresh(c-this.step)}}},_handleKeyup:function(){this._keySliding&&(this._keySliding=!1,this.handle.removeClass("ui-state-active"))},_sliderVMouseDown:function(a){return this.options.disabled||1!==a.which&&0!==a.which&&a.which!==d?!1:this._trigger("beforestart",a)===!1?!1:(this.dragging=!0,this.userModified=!1,this.mouseMoved=!1,this.isToggleSwitch&&(this.beforeStart=this.element[0].selectedIndex),this.refresh(a),this._trigger("start"),!1)},_sliderVMouseUp:function(){return this.dragging?(this.dragging=!1,this.isToggleSwitch&&(this.handle.addClass("ui-slider-handle-snapping"),this.refresh(this.mouseMoved?this.userModified?0===this.beforeStart?1:0:this.beforeStart:0===this.beforeStart?1:0)),this.mouseMoved=!1,this._trigger("stop"),!1):void 0},_preventDocumentDrag:function(a){return this._trigger("drag",a)===!1?!1:this.dragging&&!this.options.disabled?(this.mouseMoved=!0,this.isToggleSwitch&&this.handle.removeClass("ui-slider-handle-snapping"),this.refresh(a),this.userModified=this.beforeStart!==this.element[0].selectedIndex,!1):void 0},_checkedRefresh:function(){this.value!==this._value()&&this.refresh(this._value())},_value:function(){return this.isToggleSwitch?this.element[0].selectedIndex:parseFloat(this.element.val())},_reset:function(){this.refresh(d,!1,!0)},refresh:function(b,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z=this,A=a.mobile.getAttribute(this.element[0],"theme"),B=this.options.theme||A,C=B?" ui-btn-"+B:"",D=this.options.trackTheme||A,E=D?" ui-bar-"+D:" ui-bar-inherit",F=this.options.corners?" ui-corner-all":"",G=this.options.mini?" ui-mini":"";if(z.slider[0].className=[this.isToggleSwitch?"ui-slider ui-slider-switch ui-slider-track ui-shadow-inset":"ui-slider-track ui-shadow-inset",E,F,G].join(""),(this.options.disabled||this.element.prop("disabled"))&&this.disable(),this.value=this._value(),this.options.highlight&&!this.isToggleSwitch&&0===this.slider.find(".ui-slider-bg").length&&(this.valuebg=function(){var b=c.createElement("div");return b.className="ui-slider-bg "+a.mobile.activeBtnClass,a(b).prependTo(z.slider)}()),this.handle.addClass("ui-btn"+C+" ui-shadow"),l=this.element,m=!this.isToggleSwitch,n=m?[]:l.find("option"),o=m?parseFloat(l.attr("min")):0,p=m?parseFloat(l.attr("max")):n.length-1,q=m&&parseFloat(l.attr("step"))>0?parseFloat(l.attr("step")):1,"object"==typeof b){if(h=b,i=8,f=this.slider.offset().left,g=this.slider.width(),j=g/((p-o)/q),!this.dragging||h.pageX<f-i||h.pageX>f+g+i)return;k=j>1?(h.pageX-f)/g*100:Math.round((h.pageX-f)/g*100)}else null==b&&(b=m?parseFloat(l.val()||0):l[0].selectedIndex),k=(parseFloat(b)-o)/(p-o)*100;if(!isNaN(k)&&(r=k/100*(p-o)+o,s=(r-o)%q,t=r-s,2*Math.abs(s)>=q&&(t+=s>0?q:-q),u=100/((p-o)/q),r=parseFloat(t.toFixed(5)),"undefined"==typeof j&&(j=g/((p-o)/q)),j>1&&m&&(k=(r-o)*u*(1/q)),0>k&&(k=0),k>100&&(k=100),o>r&&(r=o),r>p&&(r=p),this.handle.css("left",k+"%"),this.handle[0].setAttribute("aria-valuenow",m?r:n.eq(r).attr("value")),this.handle[0].setAttribute("aria-valuetext",m?r:n.eq(r).getEncodedText()),this.handle[0].setAttribute("title",m?r:n.eq(r).getEncodedText()),this.valuebg&&this.valuebg.css("width",k+"%"),this._labels&&(v=this.handle.width()/this.slider.width()*100,w=k&&v+(100-v)*k/100,x=100===k?0:Math.min(v+100-w,100),this._labels.each(function(){var b=a(this).hasClass("ui-slider-label-a");a(this).width((b?w:x)+"%")})),!e)){if(y=!1,m?(y=parseFloat(l.val())!==r,l.val(r)):(y=l[0].selectedIndex!==r,l[0].selectedIndex=r),this._trigger("beforechange",b)===!1)return!1;!d&&y&&l.trigger("change")}},_setHighlight:function(a){a=!!a,a?(this.options.highlight=!!a,this.refresh()):this.valuebg&&(this.valuebg.remove(),this.valuebg=!1)},_setTheme:function(a){this.handle.removeClass("ui-btn-"+this.options.theme).addClass("ui-btn-"+a);var b=this.options.theme?this.options.theme:"inherit",c=a?a:"inherit";this.control.removeClass("ui-body-"+b).addClass("ui-body-"+c)},_setTrackTheme:function(a){var b=this.options.trackTheme?this.options.trackTheme:"inherit",c=a?a:"inherit";this.slider.removeClass("ui-body-"+b).addClass("ui-body-"+c)},_setMini:function(a){a=!!a,this.isToggleSwitch||this.isRangeslider||(this.slider.parent().toggleClass("ui-mini",a),this.element.toggleClass("ui-mini",a)),this.slider.toggleClass("ui-mini",a)},_setCorners:function(a){this.slider.toggleClass("ui-corner-all",a),this.isToggleSwitch||this.control.toggleClass("ui-corner-all",a)},_setDisabled:function(a){a=!!a,this.element.prop("disabled",a),this.slider.toggleClass("ui-state-disabled",a).attr("aria-disabled",a),this.element.toggleClass("ui-state-disabled",a)}},a.mobile.behaviors.formReset))}(a),function(a){function b(){return c||(c=a("<div></div>",{"class":"ui-slider-popup ui-shadow ui-corner-all"})),c.clone()}var c;a.widget("mobile.slider",a.mobile.slider,{options:{popupEnabled:!1,showValue:!1},_create:function(){this._super(),a.extend(this,{_currentValue:null,_popup:null,_popupVisible:!1}),this._setOption("popupEnabled",this.options.popupEnabled),this._on(this.handle,{vmousedown:"_showPopup"}),this._on(this.slider.add(this.document),{vmouseup:"_hidePopup"}),this._refresh()},_positionPopup:function(){var a=this.handle.offset();this._popup.offset({left:a.left+(this.handle.width()-this._popup.width())/2,top:a.top-this._popup.outerHeight()-5})},_setOption:function(a,c){this._super(a,c),"showValue"===a?this.handle.html(c&&!this.options.mini?this._value():""):"popupEnabled"===a&&c&&!this._popup&&(this._popup=b().addClass("ui-body-"+(this.options.theme||"a")).hide().insertBefore(this.element))},refresh:function(){this._super.apply(this,arguments),this._refresh()},_refresh:function(){var a,b=this.options;b.popupEnabled&&this.handle.removeAttr("title"),a=this._value(),a!==this._currentValue&&(this._currentValue=a,b.popupEnabled&&this._popup&&(this._positionPopup(),this._popup.html(a)),b.showValue&&!this.options.mini&&this.handle.html(a))},_showPopup:function(){this.options.popupEnabled&&!this._popupVisible&&(this.handle.html(""),this._popup.show(),this._positionPopup(),this._popupVisible=!0)},_hidePopup:function(){var a=this.options;a.popupEnabled&&this._popupVisible&&(a.showValue&&!a.mini&&this.handle.html(this._value()),this._popup.hide(),this._popupVisible=!1)}})}(a),function(a,b){a.widget("mobile.flipswitch",a.extend({options:{onText:"On",offText:"Off",theme:null,enhanced:!1,wrapperClass:null,corners:!0,mini:!1},_create:function(){this.options.enhanced?a.extend(this,{flipswitch:this.element.parent(),on:this.element.find(".ui-flipswitch-on").eq(0),off:this.element.find(".ui-flipswitch-off").eq(0),type:this.element.get(0).tagName}):this._enhance(),this._handleFormReset(),this._originalTabIndex=this.element.attr("tabindex"),null!=this._originalTabIndex&&this.on.attr("tabindex",this._originalTabIndex),this.element.attr("tabindex","-1"),this._on({focus:"_handleInputFocus"}),this.element.is(":disabled")&&this._setOptions({disabled:!0}),this._on(this.flipswitch,{click:"_toggle",swipeleft:"_left",swiperight:"_right"}),this._on(this.on,{keydown:"_keydown"}),this._on({change:"refresh"})},_handleInputFocus:function(){this.on.focus()},widget:function(){return this.flipswitch},_left:function(){this.flipswitch.removeClass("ui-flipswitch-active"),"SELECT"===this.type?this.element.get(0).selectedIndex=0:this.element.prop("checked",!1),this.element.trigger("change")},_right:function(){this.flipswitch.addClass("ui-flipswitch-active"),"SELECT"===this.type?this.element.get(0).selectedIndex=1:this.element.prop("checked",!0),this.element.trigger("change")},_enhance:function(){var b=a("<div>"),c=this.options,d=this.element,e=c.theme?c.theme:"inherit",f=a("<a></a>",{href:"#"}),g=a("<span></span>"),h=d.get(0).tagName,i="INPUT"===h?c.onText:d.find("option").eq(1).text(),j="INPUT"===h?c.offText:d.find("option").eq(0).text();f.addClass("ui-flipswitch-on ui-btn ui-shadow ui-btn-inherit").text(i),g.addClass("ui-flipswitch-off").text(j),b.addClass("ui-flipswitch ui-shadow-inset ui-bar-"+e+" "+(c.wrapperClass?c.wrapperClass:"")+" "+(d.is(":checked")||d.find("option").eq(1).is(":selected")?"ui-flipswitch-active":"")+(d.is(":disabled")?" ui-state-disabled":"")+(c.corners?" ui-corner-all":"")+(c.mini?" ui-mini":"")).append(f,g),d.addClass("ui-flipswitch-input").after(b).appendTo(b),a.extend(this,{flipswitch:b,on:f,off:g,type:h})},_reset:function(){this.refresh()},refresh:function(){var a,b=this.flipswitch.hasClass("ui-flipswitch-active")?"_right":"_left";a="SELECT"===this.type?this.element.get(0).selectedIndex>0?"_right":"_left":this.element.prop("checked")?"_right":"_left",a!==b&&this[a]()},_toggle:function(){var a=this.flipswitch.hasClass("ui-flipswitch-active")?"_left":"_right";this[a]()},_keydown:function(b){b.which===a.mobile.keyCode.LEFT?this._left():b.which===a.mobile.keyCode.RIGHT?this._right():b.which===a.mobile.keyCode.SPACE&&(this._toggle(),b.preventDefault())},_setOptions:function(a){if(a.theme!==b){var c=a.theme?a.theme:"inherit",d=a.theme?a.theme:"inherit";this.widget().removeClass("ui-bar-"+c).addClass("ui-bar-"+d)}a.onText!==b&&this.on.text(a.onText),a.offText!==b&&this.off.text(a.offText),a.disabled!==b&&this.widget().toggleClass("ui-state-disabled",a.disabled),a.mini!==b&&this.widget().toggleClass("ui-mini",a.mini),a.corners!==b&&this.widget().toggleClass("ui-corner-all",a.corners),this._super(a)},_destroy:function(){this.options.enhanced||(null!=this._originalTabIndex?this.element.attr("tabindex",this._originalTabIndex):this.element.removeAttr("tabindex"),this.on.remove(),this.off.remove(),this.element.unwrap(),this.flipswitch.remove(),this.removeClass("ui-flipswitch-input"))}},a.mobile.behaviors.formReset))}(a),function(a,b){a.widget("mobile.rangeslider",a.extend({options:{theme:null,trackTheme:null,corners:!0,mini:!1,highlight:!0},_create:function(){var b=this.element,c=this.options.mini?"ui-rangeslider ui-mini":"ui-rangeslider",d=b.find("input").first(),e=b.find("input").last(),f=b.find("label").first(),g=a.data(d.get(0),"mobile-slider")||a.data(d.slider().get(0),"mobile-slider"),h=a.data(e.get(0),"mobile-slider")||a.data(e.slider().get(0),"mobile-slider"),i=g.slider,j=h.slider,k=g.handle,l=a("<div class='ui-rangeslider-sliders' />").appendTo(b);d.addClass("ui-rangeslider-first"),e.addClass("ui-rangeslider-last"),b.addClass(c),i.appendTo(l),j.appendTo(l),f.insertBefore(b),k.prependTo(j),a.extend(this,{_inputFirst:d,_inputLast:e,_sliderFirst:i,_sliderLast:j,_label:f,_targetVal:null,_sliderTarget:!1,_sliders:l,_proxy:!1}),this.refresh(),this._on(this.element.find("input.ui-slider-input"),{slidebeforestart:"_slidebeforestart",slidestop:"_slidestop",slidedrag:"_slidedrag",slidebeforechange:"_change",blur:"_change",keyup:"_change"}),this._on({mousedown:"_change"}),this._on(this.element.closest("form"),{reset:"_handleReset"}),this._on(k,{vmousedown:"_dragFirstHandle"})},_handleReset:function(){var a=this;setTimeout(function(){a._updateHighlight()},0)},_dragFirstHandle:function(b){return a.data(this._inputFirst.get(0),"mobile-slider").dragging=!0,a.data(this._inputFirst.get(0),"mobile-slider").refresh(b),a.data(this._inputFirst.get(0),"mobile-slider")._trigger("start"),!1},_slidedrag:function(b){var c=a(b.target).is(this._inputFirst),d=c?this._inputLast:this._inputFirst;return this._sliderTarget=!1,"first"===this._proxy&&c||"last"===this._proxy&&!c?(a.data(d.get(0),"mobile-slider").dragging=!0,a.data(d.get(0),"mobile-slider").refresh(b),!1):void 0},_slidestop:function(b){var c=a(b.target).is(this._inputFirst);this._proxy=!1,this.element.find("input").trigger("vmouseup"),this._sliderFirst.css("z-index",c?1:"")},_slidebeforestart:function(b){this._sliderTarget=!1,a(b.originalEvent.target).hasClass("ui-slider-track")&&(this._sliderTarget=!0,this._targetVal=a(b.target).val())},_setOptions:function(a){a.theme!==b&&this._setTheme(a.theme),a.trackTheme!==b&&this._setTrackTheme(a.trackTheme),a.mini!==b&&this._setMini(a.mini),a.highlight!==b&&this._setHighlight(a.highlight),a.disabled!==b&&this._setDisabled(a.disabled),this._super(a),this.refresh()},refresh:function(){var a=this.element,b=this.options;(this._inputFirst.is(":disabled")||this._inputLast.is(":disabled"))&&(this.options.disabled=!0),a.find("input").slider({theme:b.theme,trackTheme:b.trackTheme,disabled:b.disabled,corners:b.corners,mini:b.mini,highlight:b.highlight}).slider("refresh"),this._updateHighlight()},_change:function(b){if("keyup"===b.type)return this._updateHighlight(),!1;var c=this,d=parseFloat(this._inputFirst.val(),10),e=parseFloat(this._inputLast.val(),10),f=a(b.target).hasClass("ui-rangeslider-first"),g=f?this._inputFirst:this._inputLast,h=f?this._inputLast:this._inputFirst;if(this._inputFirst.val()>this._inputLast.val()&&"mousedown"===b.type&&!a(b.target).hasClass("ui-slider-handle"))g.blur();else if("mousedown"===b.type)return;return d>e&&!this._sliderTarget?(g.val(f?e:d).slider("refresh"),this._trigger("normalize")):d>e&&(g.val(this._targetVal).slider("refresh"),setTimeout(function(){h.val(f?d:e).slider("refresh"),a.data(h.get(0),"mobile-slider").handle.focus(),c._sliderFirst.css("z-index",f?"":1),c._trigger("normalize")},0),this._proxy=f?"first":"last"),d===e?(a.data(g.get(0),"mobile-slider").handle.css("z-index",1),a.data(h.get(0),"mobile-slider").handle.css("z-index",0)):(a.data(h.get(0),"mobile-slider").handle.css("z-index",""),a.data(g.get(0),"mobile-slider").handle.css("z-index","")),this._updateHighlight(),d>=e?!1:void 0},_updateHighlight:function(){var b=parseInt(a.data(this._inputFirst.get(0),"mobile-slider").handle.get(0).style.left,10),c=parseInt(a.data(this._inputLast.get(0),"mobile-slider").handle.get(0).style.left,10),d=c-b;this.element.find(".ui-slider-bg").css({"margin-left":b+"%",width:d+"%"})},_setTheme:function(a){this._inputFirst.slider("option","theme",a),this._inputLast.slider("option","theme",a)},_setTrackTheme:function(a){this._inputFirst.slider("option","trackTheme",a),this._inputLast.slider("option","trackTheme",a)},_setMini:function(a){this._inputFirst.slider("option","mini",a),this._inputLast.slider("option","mini",a),this.element.toggleClass("ui-mini",!!a)},_setHighlight:function(a){this._inputFirst.slider("option","highlight",a),this._inputLast.slider("option","highlight",a)},_setDisabled:function(a){this._inputFirst.prop("disabled",a),this._inputLast.prop("disabled",a)},_destroy:function(){this._label.prependTo(this.element),this.element.removeClass("ui-rangeslider ui-mini"),this._inputFirst.after(this._sliderFirst),this._inputLast.after(this._sliderLast),this._sliders.remove(),this.element.find("input").removeClass("ui-rangeslider-first ui-rangeslider-last").slider("destroy")}},a.mobile.behaviors.formReset))}(a),function(a,b){a.widget("mobile.textinput",a.mobile.textinput,{options:{clearBtn:!1,clearBtnText:"Clear text"},_create:function(){this._super(),this.isSearch&&(this.options.clearBtn=!0),this.options.clearBtn&&this.inputNeedsWrap&&this._addClearBtn()},clearButton:function(){return a("<a href='#' tabindex='-1' aria-hidden='true' class='ui-input-clear ui-btn ui-icon-delete ui-btn-icon-notext ui-corner-all'></a>").attr("title",this.options.clearBtnText).text(this.options.clearBtnText)},_clearBtnClick:function(a){this.element.val("").focus().trigger("change"),this._clearBtn.addClass("ui-input-clear-hidden"),a.preventDefault()},_addClearBtn:function(){this.options.enhanced||this._enhanceClear(),a.extend(this,{_clearBtn:this.widget().find("a.ui-input-clear")}),this._bindClearEvents(),this._toggleClear()},_enhanceClear:function(){this.clearButton().appendTo(this.widget()),this.widget().addClass("ui-input-has-clear")},_bindClearEvents:function(){this._on(this._clearBtn,{click:"_clearBtnClick"}),this._on({keyup:"_toggleClear",change:"_toggleClear",input:"_toggleClear",focus:"_toggleClear",blur:"_toggleClear",cut:"_toggleClear",paste:"_toggleClear"})},_unbindClear:function(){this._off(this._clearBtn,"click"),this._off(this.element,"keyup change input focus blur cut paste")},_setOptions:function(a){this._super(a),a.clearBtn===b||this.element.is("textarea, :jqmData(type='range')")||(a.clearBtn?this._addClearBtn():this._destroyClear()),a.clearBtnText!==b&&this._clearBtn!==b&&this._clearBtn.text(a.clearBtnText).attr("title",a.clearBtnText)},_toggleClear:function(){this._delay("_toggleClearClass",0)},_toggleClearClass:function(){this._clearBtn.toggleClass("ui-input-clear-hidden",!this.element.val())},_destroyClear:function(){this.widget().removeClass("ui-input-has-clear"),this._unbindClear(),this._clearBtn.remove()},_destroy:function(){this._super(),this.options.clearBtn&&this._destroyClear()}})}(a),function(a,b){a.widget("mobile.textinput",a.mobile.textinput,{options:{autogrow:!0,keyupTimeoutBuffer:100},_create:function(){this._super(),this.options.autogrow&&this.isTextarea&&this._autogrow()},_autogrow:function(){this.element.addClass("ui-textinput-autogrow"),this._on({keyup:"_timeout",change:"_timeout",input:"_timeout",paste:"_timeout"}),this._on(!0,this.document,{pageshow:"_handleShow",popupbeforeposition:"_handleShow",updatelayout:"_handleShow",panelopen:"_handleShow"})},_handleShow:function(b){a.contains(b.target,this.element[0])&&this.element.is(":visible")&&("popupbeforeposition"!==b.type&&this.element.addClass("ui-textinput-autogrow-resize").animationComplete(a.proxy(function(){this.element.removeClass("ui-textinput-autogrow-resize")},this),"transition"),this._prepareHeightUpdate())},_unbindAutogrow:function(){this.element.removeClass("ui-textinput-autogrow"),this._off(this.element,"keyup change input paste"),this._off(this.document,"pageshow popupbeforeposition updatelayout panelopen")},keyupTimeout:null,_prepareHeightUpdate:function(a){this.keyupTimeout&&clearTimeout(this.keyupTimeout),a===b?this._updateHeight():this.keyupTimeout=this._delay("_updateHeight",a)},_timeout:function(){this._prepareHeightUpdate(this.options.keyupTimeoutBuffer)},_updateHeight:function(){var a,b,c,d,e,f,g,h,i,j=this.window.scrollTop();this.keyupTimeout=0,"onpage"in this.element[0]||this.element.css({height:0,"min-height":0,"max-height":0}),d=this.element[0].scrollHeight,e=this.element[0].clientHeight,f=parseFloat(this.element.css("border-top-width")),g=parseFloat(this.element.css("border-bottom-width")),h=f+g,i=d+h+15,0===e&&(a=parseFloat(this.element.css("padding-top")),b=parseFloat(this.element.css("padding-bottom")),c=a+b,i+=c),this.element.css({height:i,"min-height":"","max-height":""}),this.window.scrollTop(j)},refresh:function(){this.options.autogrow&&this.isTextarea&&this._updateHeight()},_setOptions:function(a){this._super(a),a.autogrow!==b&&this.isTextarea&&(a.autogrow?this._autogrow():this._unbindAutogrow())}})}(a),function(a){a.widget("mobile.selectmenu",a.extend({initSelector:"select:not( :jqmData(role='slider')):not( :jqmData(role='flipswitch') )",options:{theme:null,icon:"carat-d",iconpos:"right",inline:!1,corners:!0,shadow:!0,iconshadow:!1,overlayTheme:null,dividerTheme:null,hidePlaceholderMenuItems:!0,closeText:"Close",nativeMenu:!0,preventFocusZoom:/iPhone|iPad|iPod/.test(navigator.platform)&&navigator.userAgent.indexOf("AppleWebKit")>-1,mini:!1},_button:function(){return a("<div/>")},_setDisabled:function(a){return this.element.attr("disabled",a),this.button.attr("aria-disabled",a),this._setOption("disabled",a)},_focusButton:function(){var a=this;setTimeout(function(){a.button.focus()},40)},_selectOptions:function(){return this.select.find("option")},_preExtension:function(){var b=this.options.inline||this.element.jqmData("inline"),c=this.options.mini||this.element.jqmData("mini"),d="";~this.element[0].className.indexOf("ui-btn-left")&&(d=" ui-btn-left"),~this.element[0].className.indexOf("ui-btn-right")&&(d=" ui-btn-right"),b&&(d+=" ui-btn-inline"),c&&(d+=" ui-mini"),this.select=this.element.removeClass("ui-btn-left ui-btn-right").wrap("<div class='ui-select"+d+"'>"),this.selectId=this.select.attr("id")||"select-"+this.uuid,this.buttonId=this.selectId+"-button",this.label=a("label[for='"+this.selectId+"']"),this.isMultiple=this.select[0].multiple},_destroy:function(){var a=this.element.parents(".ui-select");a.length>0&&(a.is(".ui-btn-left, .ui-btn-right")&&this.element.addClass(a.hasClass("ui-btn-left")?"ui-btn-left":"ui-btn-right"),this.element.insertAfter(a),a.remove())},_create:function(){this._preExtension(),this.button=this._button();var c=this,d=this.options,e=d.icon?d.iconpos||this.select.jqmData("iconpos"):!1,f=this.button.insertBefore(this.select).attr("id",this.buttonId).addClass("ui-btn"+(d.icon?" ui-icon-"+d.icon+" ui-btn-icon-"+e+(d.iconshadow?" ui-shadow-icon":""):"")+(d.theme?" ui-btn-"+d.theme:"")+(d.corners?" ui-corner-all":"")+(d.shadow?" ui-shadow":""));this.setButtonText(),d.nativeMenu&&b.opera&&b.opera.version&&f.addClass("ui-select-nativeonly"),this.isMultiple&&(this.buttonCount=a("<span>").addClass("ui-li-count ui-body-inherit").hide().appendTo(f.addClass("ui-li-has-count"))),(d.disabled||this.element.attr("disabled"))&&this.disable(),this.select.change(function(){c.refresh(),d.nativeMenu&&c._delay(function(){c.select.blur()})}),this._handleFormReset(),this._on(this.button,{keydown:"_handleKeydown"}),this.build()},build:function(){var b=this;this.select.appendTo(b.button).bind("vmousedown",function(){b.button.addClass(a.mobile.activeBtnClass)}).bind("focus",function(){b.button.addClass(a.mobile.focusClass)}).bind("blur",function(){b.button.removeClass(a.mobile.focusClass)}).bind("focus vmouseover",function(){b.button.trigger("vmouseover")}).bind("vmousemove",function(){b.button.removeClass(a.mobile.activeBtnClass)}).bind("change blur vmouseout",function(){b.button.trigger("vmouseout").removeClass(a.mobile.activeBtnClass)}),b.button.bind("vmousedown",function(){b.options.preventFocusZoom&&a.mobile.zoom.disable(!0)}),b.label.bind("click focus",function(){b.options.preventFocusZoom&&a.mobile.zoom.disable(!0)}),b.select.bind("focus",function(){b.options.preventFocusZoom&&a.mobile.zoom.disable(!0)}),b.button.bind("mouseup",function(){b.options.preventFocusZoom&&setTimeout(function(){a.mobile.zoom.enable(!0)},0)}),b.select.bind("blur",function(){b.options.preventFocusZoom&&a.mobile.zoom.enable(!0)})},selected:function(){return this._selectOptions().filter(":selected")},selectedIndices:function(){var a=this;return this.selected().map(function(){return a._selectOptions().index(this)}).get()},setButtonText:function(){var b=this,d=this.selected(),e=this.placeholder,f=a(c.createElement("span"));this.button.children("span").not(".ui-li-count").remove().end().end().prepend(function(){return e=d.length?d.map(function(){return a(this).text()}).get().join(", "):b.placeholder,e?f.text(e):f.html(" "),f.addClass(b.select.attr("class")).addClass(d.attr("class")).removeClass("ui-screen-hidden")}())},setButtonCount:function(){var a=this.selected();this.isMultiple&&this.buttonCount[a.length>1?"show":"hide"]().text(a.length)},_handleKeydown:function(){this._delay("_refreshButton")},_reset:function(){this.refresh()},_refreshButton:function(){this.setButtonText(),this.setButtonCount()},refresh:function(){this._refreshButton()},open:a.noop,close:a.noop,disable:function(){this._setDisabled(!0),this.button.addClass("ui-state-disabled")},enable:function(){this._setDisabled(!1),this.button.removeClass("ui-state-disabled")}},a.mobile.behaviors.formReset))}(a),function(a){a.mobile.links=function(b){a(b).find("a").jqmEnhanceable().filter(":jqmData(rel='popup')[href][href!='']").each(function(){var a=this,b=a.getAttribute("href").substring(1);b&&(a.setAttribute("aria-haspopup",!0),a.setAttribute("aria-owns",b),a.setAttribute("aria-expanded",!1))}).end().not(".ui-btn, :jqmData(role='none'), :jqmData(role='nojs')").addClass("ui-link")}}(a),function(a,c){function d(a,b,c,d){var e=d;return e=b>a?c+(a-b)/2:Math.min(Math.max(c,d-b/2),c+a-b)}function e(a){return{x:a.scrollLeft(),y:a.scrollTop(),cx:a[0].innerWidth||a.width(),cy:a[0].innerHeight||a.height()}}a.widget("mobile.popup",{options:{wrapperClass:null,theme:null,overlayTheme:null,shadow:!0,corners:!0,transition:"none",positionTo:"origin",tolerance:null,closeLinkSelector:"a:jqmData(rel='back')",closeLinkEvents:"click.popup",navigateEvents:"navigate.popup",closeEvents:"navigate.popup pagebeforechange.popup",dismissible:!0,enhanced:!1,history:!a.mobile.browser.oldIE},_handleDocumentVmousedown:function(b){this._isOpen&&a.contains(this._ui.container[0],b.target)&&this._ignoreResizeEvents()},_create:function(){var b=this.element,c=b.attr("id"),d=this.options;d.history=d.history&&a.mobile.ajaxEnabled&&a.mobile.hashListeningEnabled,this._on(this.document,{vmousedown:"_handleDocumentVmousedown"}),a.extend(this,{_scrollTop:0,_page:b.closest(".ui-page"),_ui:null,_fallbackTransition:"",_currentTransition:!1,_prerequisites:null,_isOpen:!1,_tolerance:null,_resizeData:null,_ignoreResizeTo:0,_orientationchangeInProgress:!1}),0===this._page.length&&(this._page=a("body")),d.enhanced?this._ui={container:b.parent(),screen:b.parent().prev(),placeholder:a(this.document[0].getElementById(c+"-placeholder"))}:(this._ui=this._enhance(b,c),this._applyTransition(d.transition)),this._setTolerance(d.tolerance)._ui.focusElement=this._ui.container,this._on(this._ui.screen,{vclick:"_eatEventAndClose"}),this._on(this.window,{orientationchange:a.proxy(this,"_handleWindowOrientationchange"),resize:a.proxy(this,"_handleWindowResize"),keyup:a.proxy(this,"_handleWindowKeyUp")}),this._on(this.document,{focusin:"_handleDocumentFocusIn"})},_enhance:function(b,c){var d=this.options,e=d.wrapperClass,f={screen:a("<div class='ui-screen-hidden ui-popup-screen "+this._themeClassFromOption("ui-overlay-",d.overlayTheme)+"'></div>"),placeholder:a("<div style='display: none;'><!-- placeholder --></div>"),container:a("<div class='ui-popup-container ui-popup-hidden ui-popup-truncate"+(e?" "+e:"")+"'></div>")},g=this.document[0].createDocumentFragment();return g.appendChild(f.screen[0]),g.appendChild(f.container[0]),c&&(f.screen.attr("id",c+"-screen"),f.container.attr("id",c+"-popup"),f.placeholder.attr("id",c+"-placeholder").html("<!-- placeholder for "+c+" -->")),this._page[0].appendChild(g),f.placeholder.insertAfter(b),b.detach().addClass("ui-popup "+this._themeClassFromOption("ui-body-",d.theme)+" "+(d.shadow?"ui-overlay-shadow ":"")+(d.corners?"ui-corner-all ":"")).appendTo(f.container),f},_eatEventAndClose:function(a){return a.preventDefault(),a.stopImmediatePropagation(),this.options.dismissible&&this.close(),!1},_resizeScreen:function(){var a=this._ui.screen,b=this._ui.container.outerHeight(!0),c=a.removeAttr("style").height(),d=this.document.height()-1;d>c?a.height(d):b>c&&a.height(b)},_handleWindowKeyUp:function(b){return this._isOpen&&b.keyCode===a.mobile.keyCode.ESCAPE?this._eatEventAndClose(b):void 0},_expectResizeEvent:function(){var a=e(this.window); -if(this._resizeData){if(a.x===this._resizeData.windowCoordinates.x&&a.y===this._resizeData.windowCoordinates.y&&a.cx===this._resizeData.windowCoordinates.cx&&a.cy===this._resizeData.windowCoordinates.cy)return!1;clearTimeout(this._resizeData.timeoutId)}return this._resizeData={timeoutId:this._delay("_resizeTimeout",200),windowCoordinates:a},!0},_resizeTimeout:function(){this._isOpen?this._expectResizeEvent()||(this._ui.container.hasClass("ui-popup-hidden")&&(this._ui.container.removeClass("ui-popup-hidden ui-popup-truncate"),this.reposition({positionTo:"window"}),this._ignoreResizeEvents()),this._resizeScreen(),this._resizeData=null,this._orientationchangeInProgress=!1):(this._resizeData=null,this._orientationchangeInProgress=!1)},_stopIgnoringResizeEvents:function(){this._ignoreResizeTo=0},_ignoreResizeEvents:function(){this._ignoreResizeTo&&clearTimeout(this._ignoreResizeTo),this._ignoreResizeTo=this._delay("_stopIgnoringResizeEvents",1e3)},_handleWindowResize:function(){this._isOpen&&0===this._ignoreResizeTo&&(!this._expectResizeEvent()&&!this._orientationchangeInProgress||this._ui.container.hasClass("ui-popup-hidden")||this._ui.container.addClass("ui-popup-hidden ui-popup-truncate").removeAttr("style"))},_handleWindowOrientationchange:function(){!this._orientationchangeInProgress&&this._isOpen&&0===this._ignoreResizeTo&&(this._expectResizeEvent(),this._orientationchangeInProgress=!0)},_handleDocumentFocusIn:function(b){var c,d=b.target,e=this._ui;if(this._isOpen){if(d!==e.container[0]){if(c=a(d),!a.contains(e.container[0],d))return a(this.document[0].activeElement).one("focus",a.proxy(function(){this._safelyBlur(d)},this)),e.focusElement.focus(),b.preventDefault(),b.stopImmediatePropagation(),!1;e.focusElement[0]===e.container[0]&&(e.focusElement=c)}this._ignoreResizeEvents()}},_themeClassFromOption:function(a,b){return b?"none"===b?"":a+b:a+"inherit"},_applyTransition:function(b){return b&&(this._ui.container.removeClass(this._fallbackTransition),"none"!==b&&(this._fallbackTransition=a.mobile._maybeDegradeTransition(b),"none"===this._fallbackTransition&&(this._fallbackTransition=""),this._ui.container.addClass(this._fallbackTransition))),this},_setOptions:function(a){var b=this.options,d=this.element,e=this._ui.screen;return a.wrapperClass!==c&&this._ui.container.removeClass(b.wrapperClass).addClass(a.wrapperClass),a.theme!==c&&d.removeClass(this._themeClassFromOption("ui-body-",b.theme)).addClass(this._themeClassFromOption("ui-body-",a.theme)),a.overlayTheme!==c&&(e.removeClass(this._themeClassFromOption("ui-overlay-",b.overlayTheme)).addClass(this._themeClassFromOption("ui-overlay-",a.overlayTheme)),this._isOpen&&e.addClass("in")),a.shadow!==c&&d.toggleClass("ui-overlay-shadow",a.shadow),a.corners!==c&&d.toggleClass("ui-corner-all",a.corners),a.transition!==c&&(this._currentTransition||this._applyTransition(a.transition)),a.tolerance!==c&&this._setTolerance(a.tolerance),a.disabled!==c&&a.disabled&&this.close(),this._super(a)},_setTolerance:function(b){var d,e={t:30,r:15,b:30,l:15};if(b!==c)switch(d=String(b).split(","),a.each(d,function(a,b){d[a]=parseInt(b,10)}),d.length){case 1:isNaN(d[0])||(e.t=e.r=e.b=e.l=d[0]);break;case 2:isNaN(d[0])||(e.t=e.b=d[0]),isNaN(d[1])||(e.l=e.r=d[1]);break;case 4:isNaN(d[0])||(e.t=d[0]),isNaN(d[1])||(e.r=d[1]),isNaN(d[2])||(e.b=d[2]),isNaN(d[3])||(e.l=d[3])}return this._tolerance=e,this},_clampPopupWidth:function(a){var b,c=e(this.window),d={x:this._tolerance.l,y:c.y+this._tolerance.t,cx:c.cx-this._tolerance.l-this._tolerance.r,cy:c.cy-this._tolerance.t-this._tolerance.b};return a||this._ui.container.css("max-width",d.cx),b={cx:this._ui.container.outerWidth(!0),cy:this._ui.container.outerHeight(!0)},{rc:d,menuSize:b}},_calculateFinalLocation:function(a,b){var c,e=b.rc,f=b.menuSize;return c={left:d(e.cx,f.cx,e.x,a.x),top:d(e.cy,f.cy,e.y,a.y)},c.top=Math.max(0,c.top),c.top-=Math.min(c.top,Math.max(0,c.top+f.cy-this.document.height())),c},_placementCoords:function(a){return this._calculateFinalLocation(a,this._clampPopupWidth())},_createPrerequisites:function(b,c,d){var e,f=this;e={screen:a.Deferred(),container:a.Deferred()},e.screen.then(function(){e===f._prerequisites&&b()}),e.container.then(function(){e===f._prerequisites&&c()}),a.when(e.screen,e.container).done(function(){e===f._prerequisites&&(f._prerequisites=null,d())}),f._prerequisites=e},_animate:function(b){return this._ui.screen.removeClass(b.classToRemove).addClass(b.screenClassToAdd),b.prerequisites.screen.resolve(),b.transition&&"none"!==b.transition&&(b.applyTransition&&this._applyTransition(b.transition),this._fallbackTransition)?void this._ui.container.addClass(b.containerClassToAdd).removeClass(b.classToRemove).animationComplete(a.proxy(b.prerequisites.container,"resolve")):(this._ui.container.removeClass(b.classToRemove),void b.prerequisites.container.resolve())},_desiredCoords:function(b){var c,d=null,f=e(this.window),g=b.x,h=b.y,i=b.positionTo;if(i&&"origin"!==i)if("window"===i)g=f.cx/2+f.x,h=f.cy/2+f.y;else{try{d=a(i)}catch(j){d=null}d&&(d.filter(":visible"),0===d.length&&(d=null))}return d&&(c=d.offset(),g=c.left+d.outerWidth()/2,h=c.top+d.outerHeight()/2),("number"!==a.type(g)||isNaN(g))&&(g=f.cx/2+f.x),("number"!==a.type(h)||isNaN(h))&&(h=f.cy/2+f.y),{x:g,y:h}},_reposition:function(a){a={x:a.x,y:a.y,positionTo:a.positionTo},this._trigger("beforeposition",c,a),this._ui.container.offset(this._placementCoords(this._desiredCoords(a)))},reposition:function(a){this._isOpen&&this._reposition(a)},_safelyBlur:function(b){b!==this.window[0]&&"body"!==b.nodeName.toLowerCase()&&a(b).blur()},_openPrerequisitesComplete:function(){var b=this.element.attr("id"),c=this._ui.container.find(":focusable").first();this._ui.container.addClass("ui-popup-active"),this._isOpen=!0,this._resizeScreen(),a.contains(this._ui.container[0],this.document[0].activeElement)||this._safelyBlur(this.document[0].activeElement),c.length>0&&(this._ui.focusElement=c),this._ignoreResizeEvents(),b&&this.document.find("[aria-haspopup='true'][aria-owns='"+b+"']").attr("aria-expanded",!0),this._trigger("afteropen")},_open:function(b){var c=a.extend({},this.options,b),d=function(){var a=navigator.userAgent,b=a.match(/AppleWebKit\/([0-9\.]+)/),c=!!b&&b[1],d=a.match(/Android (\d+(?:\.\d+))/),e=!!d&&d[1],f=a.indexOf("Chrome")>-1;return null!==d&&"4.0"===e&&c&&c>534.13&&!f?!0:!1}();this._createPrerequisites(a.noop,a.noop,a.proxy(this,"_openPrerequisitesComplete")),this._currentTransition=c.transition,this._applyTransition(c.transition),this._ui.screen.removeClass("ui-screen-hidden"),this._ui.container.removeClass("ui-popup-truncate"),this._reposition(c),this._ui.container.removeClass("ui-popup-hidden"),this.options.overlayTheme&&d&&this.element.closest(".ui-page").addClass("ui-popup-open"),this._animate({additionalCondition:!0,transition:c.transition,classToRemove:"",screenClassToAdd:"in",containerClassToAdd:"in",applyTransition:!1,prerequisites:this._prerequisites})},_closePrerequisiteScreen:function(){this._ui.screen.removeClass("out").addClass("ui-screen-hidden")},_closePrerequisiteContainer:function(){this._ui.container.removeClass("reverse out").addClass("ui-popup-hidden ui-popup-truncate").removeAttr("style")},_closePrerequisitesDone:function(){var b=this._ui.container,d=this.element.attr("id");a.mobile.popup.active=c,a(":focus",b[0]).add(b[0]).blur(),d&&this.document.find("[aria-haspopup='true'][aria-owns='"+d+"']").attr("aria-expanded",!1),this._trigger("afterclose")},_close:function(b){this._ui.container.removeClass("ui-popup-active"),this._page.removeClass("ui-popup-open"),this._isOpen=!1,this._createPrerequisites(a.proxy(this,"_closePrerequisiteScreen"),a.proxy(this,"_closePrerequisiteContainer"),a.proxy(this,"_closePrerequisitesDone")),this._animate({additionalCondition:this._ui.screen.hasClass("in"),transition:b?"none":this._currentTransition,classToRemove:"in",screenClassToAdd:"out",containerClassToAdd:"reverse out",applyTransition:!0,prerequisites:this._prerequisites})},_unenhance:function(){this.options.enhanced||(this._setOptions({theme:a.mobile.popup.prototype.options.theme}),this.element.detach().insertAfter(this._ui.placeholder).removeClass("ui-popup ui-overlay-shadow ui-corner-all ui-body-inherit"),this._ui.screen.remove(),this._ui.container.remove(),this._ui.placeholder.remove())},_destroy:function(){return a.mobile.popup.active===this?(this.element.one("popupafterclose",a.proxy(this,"_unenhance")),this.close()):this._unenhance(),this},_closePopup:function(c,d){var e,f,g=this.options,h=!1;c&&c.isDefaultPrevented()||a.mobile.popup.active!==this||(b.scrollTo(0,this._scrollTop),c&&"pagebeforechange"===c.type&&d&&(e="string"==typeof d.toPage?d.toPage:d.toPage.jqmData("url"),e=a.mobile.path.parseUrl(e),f=e.pathname+e.search+e.hash,this._myUrl!==a.mobile.path.makeUrlAbsolute(f)?h=!0:c.preventDefault()),this.window.off(g.closeEvents),this.element.undelegate(g.closeLinkSelector,g.closeLinkEvents),this._close(h))},_bindContainerClose:function(){this.window.on(this.options.closeEvents,a.proxy(this,"_closePopup"))},widget:function(){return this._ui.container},open:function(b){var c,d,e,f,g,h,i=this,j=this.options;return a.mobile.popup.active||j.disabled?this:(a.mobile.popup.active=this,this._scrollTop=this.window.scrollTop(),j.history?(h=a.mobile.navigate.history,d=a.mobile.dialogHashKey,e=a.mobile.activePage,f=e?e.hasClass("ui-dialog"):!1,this._myUrl=c=h.getActive().url,(g=c.indexOf(d)>-1&&!f&&h.activeIndex>0)?(i._open(b),i._bindContainerClose(),this):(-1!==c.indexOf(d)||f?c=a.mobile.path.parseLocation().hash+d:c+=c.indexOf("#")>-1?d:"#"+d,this.window.one("beforenavigate",function(a){a.preventDefault(),i._open(b),i._bindContainerClose()}),this.urlAltered=!0,a.mobile.navigate(c,{role:"dialog"}),this)):(i._open(b),i._bindContainerClose(),i.element.delegate(j.closeLinkSelector,j.closeLinkEvents,function(a){i.close(),a.preventDefault()}),this))},close:function(){return a.mobile.popup.active!==this?this:(this._scrollTop=this.window.scrollTop(),this.options.history&&this.urlAltered?(a.mobile.back(),this.urlAltered=!1):this._closePopup(),this)}}),a.mobile.popup.handleLink=function(b){var c,d=a.mobile.path,e=a(d.hashToSelector(d.parseUrl(b.attr("href")).hash)).first();e.length>0&&e.data("mobile-popup")&&(c=b.offset(),e.popup("open",{x:c.left+b.outerWidth()/2,y:c.top+b.outerHeight()/2,transition:b.jqmData("transition"),positionTo:b.jqmData("position-to")})),setTimeout(function(){b.removeClass(a.mobile.activeBtnClass)},300)},a.mobile.document.on("pagebeforechange",function(b,c){"popup"===c.options.role&&(a.mobile.popup.handleLink(c.options.link),b.preventDefault())})}(a),function(a,b){var d=".ui-disabled,.ui-state-disabled,.ui-li-divider,.ui-screen-hidden,:jqmData(role='placeholder')",e=function(a,b,c){var e=a[c+"All"]().not(d).first();e.length&&(b.blur().attr("tabindex","-1"),e.find("a").first().focus())};a.widget("mobile.selectmenu",a.mobile.selectmenu,{_create:function(){var a=this.options;return a.nativeMenu=a.nativeMenu||this.element.parents(":jqmData(role='popup'),:mobile-popup").length>0,this._super()},_handleSelectFocus:function(){this.element.blur(),this.button.focus()},_handleKeydown:function(a){this._super(a),this._handleButtonVclickKeydown(a)},_handleButtonVclickKeydown:function(b){this.options.disabled||this.isOpen||this.options.nativeMenu||("vclick"===b.type||b.keyCode&&(b.keyCode===a.mobile.keyCode.ENTER||b.keyCode===a.mobile.keyCode.SPACE))&&(this._decideFormat(),"overlay"===this.menuType?this.button.attr("href","#"+this.popupId).attr("data-"+(a.mobile.ns||"")+"rel","popup"):this.button.attr("href","#"+this.dialogId).attr("data-"+(a.mobile.ns||"")+"rel","dialog"),this.isOpen=!0)},_handleListFocus:function(b){var c="focusin"===b.type?{tabindex:"0",event:"vmouseover"}:{tabindex:"-1",event:"vmouseout"};a(b.target).attr("tabindex",c.tabindex).trigger(c.event)},_handleListKeydown:function(b){var c=a(b.target),d=c.closest("li");switch(b.keyCode){case 38:return e(d,c,"prev"),!1;case 40:return e(d,c,"next"),!1;case 13:case 32:return c.trigger("click"),!1}},_handleMenuPageHide:function(){this._delayedTrigger(),this.thisPage.page("bindRemove")},_handleHeaderCloseClick:function(){return"overlay"===this.menuType?(this.close(),!1):void 0},_handleListItemClick:function(b){var c=a(b.target).closest("li"),d=this.select[0].selectedIndex,e=a.mobile.getAttribute(c,"option-index"),f=this._selectOptions().eq(e)[0];f.selected=this.isMultiple?!f.selected:!0,this.isMultiple&&c.find("a").toggleClass("ui-checkbox-on",f.selected).toggleClass("ui-checkbox-off",!f.selected),this.isMultiple||d===e||(this._triggerChange=!0),this.isMultiple?(this.select.trigger("change"),this.list.find("li:not(.ui-li-divider)").eq(e).find("a").first().focus()):this.close(),b.preventDefault()},build:function(){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v=this.options;return v.nativeMenu?this._super():(c=this.selectId,d=c+"-listbox",e=c+"-dialog",f=this.label,g=this.element.closest(".ui-page"),h=this.element[0].multiple,i=c+"-menu",j=v.theme?" data-"+a.mobile.ns+"theme='"+v.theme+"'":"",k=v.overlayTheme||v.theme||null,l=k?" data-"+a.mobile.ns+"overlay-theme='"+k+"'":"",m=v.dividerTheme&&h?" data-"+a.mobile.ns+"divider-theme='"+v.dividerTheme+"'":"",n=a("<div data-"+a.mobile.ns+"role='dialog' class='ui-selectmenu' id='"+e+"'"+j+l+"><div data-"+a.mobile.ns+"role='header'><div class='ui-title'></div></div><div data-"+a.mobile.ns+"role='content'></div></div>"),o=a("<div"+j+l+" id='"+d+"' class='ui-selectmenu'></div>").insertAfter(this.select).popup(),p=a("<ul class='ui-selectmenu-list' id='"+i+"' role='listbox' aria-labelledby='"+this.buttonId+"'"+j+m+"></ul>").appendTo(o),q=a("<div class='ui-header ui-bar-"+(v.theme?v.theme:"inherit")+"'></div>").prependTo(o),r=a("<h1 class='ui-title'></h1>").appendTo(q),this.isMultiple&&(u=a("<a>",{role:"button",text:v.closeText,href:"#","class":"ui-btn ui-corner-all ui-btn-left ui-btn-icon-notext ui-icon-delete"}).appendTo(q)),a.extend(this,{selectId:c,menuId:i,popupId:d,dialogId:e,thisPage:g,menuPage:n,label:f,isMultiple:h,theme:v.theme,listbox:o,list:p,header:q,headerTitle:r,headerClose:u,menuPageContent:s,menuPageClose:t,placeholder:""}),this.refresh(),this._origTabIndex===b&&(this._origTabIndex=null===this.select[0].getAttribute("tabindex")?!1:this.select.attr("tabindex")),this.select.attr("tabindex","-1"),this._on(this.select,{focus:"_handleSelectFocus"}),this._on(this.button,{vclick:"_handleButtonVclickKeydown"}),this.list.attr("role","listbox"),this._on(this.list,{focusin:"_handleListFocus",focusout:"_handleListFocus",keydown:"_handleListKeydown","click li:not(.ui-disabled,.ui-state-disabled,.ui-li-divider)":"_handleListItemClick"}),this._on(this.menuPage,{pagehide:"_handleMenuPageHide"}),this._on(this.listbox,{popupafterclose:"_popupClosed"}),this.isMultiple&&this._on(this.headerClose,{click:"_handleHeaderCloseClick"}),this)},_popupClosed:function(){this.close(),this._delayedTrigger()},_delayedTrigger:function(){this._triggerChange&&this.element.trigger("change"),this._triggerChange=!1},_isRebuildRequired:function(){var a=this.list.find("li"),b=this._selectOptions().not(".ui-screen-hidden");return b.text()!==a.text()},selected:function(){return this._selectOptions().filter(":selected:not( :jqmData(placeholder='true') )")},refresh:function(b){var c,d;return this.options.nativeMenu?this._super(b):(c=this,(b||this._isRebuildRequired())&&c._buildList(),d=this.selectedIndices(),c.setButtonText(),c.setButtonCount(),void c.list.find("li:not(.ui-li-divider)").find("a").removeClass(a.mobile.activeBtnClass).end().attr("aria-selected",!1).each(function(b){var e=a(this);a.inArray(b,d)>-1?(e.attr("aria-selected",!0),c.isMultiple?e.find("a").removeClass("ui-checkbox-off").addClass("ui-checkbox-on"):e.hasClass("ui-screen-hidden")?e.next().find("a").addClass(a.mobile.activeBtnClass):e.find("a").addClass(a.mobile.activeBtnClass)):c.isMultiple&&e.find("a").removeClass("ui-checkbox-on").addClass("ui-checkbox-off")}))},close:function(){if(!this.options.disabled&&this.isOpen){var a=this;"page"===a.menuType?(a.menuPage.dialog("close"),a.list.appendTo(a.listbox)):a.listbox.popup("close"),a._focusButton(),a.isOpen=!1}},open:function(){this.button.click()},_focusMenuItem:function(){var b=this.list.find("a."+a.mobile.activeBtnClass);0===b.length&&(b=this.list.find("li:not("+d+") a.ui-btn")),b.first().focus()},_decideFormat:function(){var b=this,c=this.window,d=b.list.parent(),e=d.outerHeight(),f=c.scrollTop(),g=b.button.offset().top,h=c.height();e>h-80||!a.support.scrollTop?(b.menuPage.appendTo(a.mobile.pageContainer).page(),b.menuPageContent=b.menuPage.find(".ui-content"),b.menuPageClose=b.menuPage.find(".ui-header a"),b.thisPage.unbind("pagehide.remove"),0===f&&g>h&&b.thisPage.one("pagehide",function(){a(this).jqmData("lastScroll",g)}),b.menuPage.one({pageshow:a.proxy(this,"_focusMenuItem"),pagehide:a.proxy(this,"close")}),b.menuType="page",b.menuPageContent.append(b.list),b.menuPage.find("div .ui-title").text(b.label.getEncodedText()||b.placeholder)):(b.menuType="overlay",b.listbox.one({popupafteropen:a.proxy(this,"_focusMenuItem")}))},_buildList:function(){var b,d,e,f,g,h,i,j,k,l,m,n,o,p,q=this,r=this.options,s=this.placeholder,t=!0,u="false",v="data-"+a.mobile.ns,w=v+"option-index",x=v+"icon",y=v+"role",z=v+"placeholder",A=c.createDocumentFragment(),B=!1;for(q.list.empty().filter(".ui-listview").listview("destroy"),b=this._selectOptions(),d=b.length,e=this.select[0],g=0;d>g;g++,B=!1)h=b[g],i=a(h),i.hasClass("ui-screen-hidden")||(j=h.parentNode,m=[],k=i.text(),l=c.createElement("a"),l.setAttribute("href","#"),l.appendChild(c.createTextNode(k)),j!==e&&"optgroup"===j.nodeName.toLowerCase()&&(n=j.getAttribute("label"),n!==f&&(o=c.createElement("li"),o.setAttribute(y,"list-divider"),o.setAttribute("role","option"),o.setAttribute("tabindex","-1"),o.appendChild(c.createTextNode(n)),A.appendChild(o),f=n)),!t||h.getAttribute("value")&&0!==k.length&&!i.jqmData("placeholder")||(t=!1,B=!0,null===h.getAttribute(z)&&(this._removePlaceholderAttr=!0),h.setAttribute(z,!0),r.hidePlaceholderMenuItems&&m.push("ui-screen-hidden"),s!==k&&(s=q.placeholder=k)),p=c.createElement("li"),h.disabled&&(m.push("ui-state-disabled"),p.setAttribute("aria-disabled",!0)),p.setAttribute(w,g),p.setAttribute(x,u),B&&p.setAttribute(z,!0),p.className=m.join(" "),p.setAttribute("role","option"),l.setAttribute("tabindex","-1"),this.isMultiple&&a(l).addClass("ui-btn ui-checkbox-off ui-btn-icon-right"),p.appendChild(l),A.appendChild(p));q.list[0].appendChild(A),this.isMultiple||s.length?this.headerTitle.text(this.placeholder):this.header.addClass("ui-screen-hidden"),q.list.listview()},_button:function(){return this.options.nativeMenu?this._super():a("<a>",{href:"#",role:"button",id:this.buttonId,"aria-haspopup":"true","aria-owns":this.menuId})},_destroy:function(){this.options.nativeMenu||(this.close(),this._origTabIndex!==b&&(this._origTabIndex!==!1?this.select.attr("tabindex",this._origTabIndex):this.select.removeAttr("tabindex")),this._removePlaceholderAttr&&this._selectOptions().removeAttr("data-"+a.mobile.ns+"placeholder"),this.listbox.remove(),this.menuPage.remove()),this._super()}})}(a),function(a,b){function c(a,b){var c=b?b:[];return c.push("ui-btn"),a.theme&&c.push("ui-btn-"+a.theme),a.icon&&(c=c.concat(["ui-icon-"+a.icon,"ui-btn-icon-"+a.iconpos]),a.iconshadow&&c.push("ui-shadow-icon")),a.inline&&c.push("ui-btn-inline"),a.shadow&&c.push("ui-shadow"),a.corners&&c.push("ui-corner-all"),a.mini&&c.push("ui-mini"),c}function d(a){var c,d,e,g=!1,h=!0,i={icon:"",inline:!1,shadow:!1,corners:!1,iconshadow:!1,mini:!1},j=[];for(a=a.split(" "),c=0;c<a.length;c++)e=!0,d=f[a[c]],d!==b?(e=!1,i[d]=!0):0===a[c].indexOf("ui-btn-icon-")?(e=!1,h=!1,i.iconpos=a[c].substring(12)):0===a[c].indexOf("ui-icon-")?(e=!1,i.icon=a[c].substring(8)):0===a[c].indexOf("ui-btn-")&&8===a[c].length?(e=!1,i.theme=a[c].substring(7)):"ui-btn"===a[c]&&(e=!1,g=!0),e&&j.push(a[c]);return h&&(i.icon=""),{options:i,unknownClasses:j,alreadyEnhanced:g}}function e(a){return"-"+a.toLowerCase()}var f={"ui-shadow":"shadow","ui-corner-all":"corners","ui-btn-inline":"inline","ui-shadow-icon":"iconshadow","ui-mini":"mini"},g=function(){var c=a.mobile.getAttribute.apply(this,arguments);return null==c?b:c},h=/[A-Z]/g;a.fn.buttonMarkup=function(f,i){var j,k,l,m,n,o=a.fn.buttonMarkup.defaults;for(j=0;j<this.length;j++){if(l=this[j],k=i?{alreadyEnhanced:!1,unknownClasses:[]}:d(l.className),m=a.extend({},k.alreadyEnhanced?k.options:{},f),!k.alreadyEnhanced)for(n in o)m[n]===b&&(m[n]=g(l,n.replace(h,e)));l.className=c(a.extend({},o,m),k.unknownClasses).join(" "),"button"!==l.tagName.toLowerCase()&&l.setAttribute("role","button")}return this},a.fn.buttonMarkup.defaults={icon:"",iconpos:"left",theme:null,inline:!1,shadow:!0,corners:!0,iconshadow:!1,mini:!1},a.extend(a.fn.buttonMarkup,{initSelector:"a:jqmData(role='button'), .ui-bar > a, .ui-bar > :jqmData(role='controlgroup') > a, button:not(:jqmData(role='navbar') button)"})}(a),function(a,b){a.widget("mobile.controlgroup",a.extend({options:{enhanced:!1,theme:null,shadow:!1,corners:!0,excludeInvisible:!0,type:"vertical",mini:!1},_create:function(){var b=this.element,c=this.options,d=a.mobile.page.prototype.keepNativeSelector();a.fn.buttonMarkup&&this.element.find(a.fn.buttonMarkup.initSelector).not(d).buttonMarkup(),a.each(this._childWidgets,a.proxy(function(b,c){a.mobile[c]&&this.element.find(a.mobile[c].initSelector).not(d)[c]()},this)),a.extend(this,{_ui:null,_initialRefresh:!0}),this._ui=c.enhanced?{groupLegend:b.children(".ui-controlgroup-label").children(),childWrapper:b.children(".ui-controlgroup-controls")}:this._enhance()},_childWidgets:["checkboxradio","selectmenu","button"],_themeClassFromOption:function(a){return a?"none"===a?"":"ui-group-theme-"+a:""},_enhance:function(){var b=this.element,c=this.options,d={groupLegend:b.children("legend"),childWrapper:b.addClass("ui-controlgroup ui-controlgroup-"+("horizontal"===c.type?"horizontal":"vertical")+" "+this._themeClassFromOption(c.theme)+" "+(c.corners?"ui-corner-all ":"")+(c.mini?"ui-mini ":"")).wrapInner("<div class='ui-controlgroup-controls "+(c.shadow===!0?"ui-shadow":"")+"'></div>").children()};return d.groupLegend.length>0&&a("<div role='heading' class='ui-controlgroup-label'></div>").append(d.groupLegend).prependTo(b),d},_init:function(){this.refresh()},_setOptions:function(a){var c,d,e=this.element;return a.type!==b&&(e.removeClass("ui-controlgroup-horizontal ui-controlgroup-vertical").addClass("ui-controlgroup-"+("horizontal"===a.type?"horizontal":"vertical")),c=!0),a.theme!==b&&e.removeClass(this._themeClassFromOption(this.options.theme)).addClass(this._themeClassFromOption(a.theme)),a.corners!==b&&e.toggleClass("ui-corner-all",a.corners),a.mini!==b&&e.toggleClass("ui-mini",a.mini),a.shadow!==b&&this._ui.childWrapper.toggleClass("ui-shadow",a.shadow),a.excludeInvisible!==b&&(this.options.excludeInvisible=a.excludeInvisible,c=!0),d=this._super(a),c&&this.refresh(),d},container:function(){return this._ui.childWrapper},refresh:function(){var b=this.container(),c=b.find(".ui-btn").not(".ui-slider-handle"),d=this._initialRefresh;a.mobile.checkboxradio&&b.find(":mobile-checkboxradio").checkboxradio("refresh"),this._addFirstLastClasses(c,this.options.excludeInvisible?this._getVisibles(c,d):c,d),this._initialRefresh=!1},_destroy:function(){var a,b,c=this.options;return c.enhanced?this:(a=this._ui,b=this.element.removeClass("ui-controlgroup ui-controlgroup-horizontal ui-controlgroup-vertical ui-corner-all ui-mini "+this._themeClassFromOption(c.theme)).find(".ui-btn").not(".ui-slider-handle"),this._removeFirstLastClasses(b),a.groupLegend.unwrap(),void a.childWrapper.children().unwrap())}},a.mobile.behaviors.addFirstLastClasses))}(a),function(a,b){a.widget("mobile.toolbar",{initSelector:":jqmData(role='footer'), :jqmData(role='header')",options:{theme:null,addBackBtn:!1,backBtnTheme:null,backBtnText:"Back"},_create:function(){var b,c,d=this.element.is(":jqmData(role='header')")?"header":"footer",e=this.element.closest(".ui-page");0===e.length&&(e=!1,this._on(this.document,{pageshow:"refresh"})),a.extend(this,{role:d,page:e,leftbtn:b,rightbtn:c}),this.element.attr("role","header"===d?"banner":"contentinfo").addClass("ui-"+d),this.refresh(),this._setOptions(this.options)},_setOptions:function(a){if(a.addBackBtn!==b&&this._updateBackButton(),null!=a.backBtnTheme&&this.element.find(".ui-toolbar-back-btn").addClass("ui-btn ui-btn-"+a.backBtnTheme),a.backBtnText!==b&&this.element.find(".ui-toolbar-back-btn .ui-btn-text").text(a.backBtnText),a.theme!==b){var c=this.options.theme?this.options.theme:"inherit",d=a.theme?a.theme:"inherit";this.element.removeClass("ui-bar-"+c).addClass("ui-bar-"+d)}this._super(a)},refresh:function(){"header"===this.role&&this._addHeaderButtonClasses(),this.page||(this._setRelative(),"footer"===this.role?this.element.appendTo("body"):"header"===this.role&&this._updateBackButton()),this._addHeadingClasses(),this._btnMarkup()},_setRelative:function(){a("[data-"+a.mobile.ns+"role='page']").css({position:"relative"})},_btnMarkup:function(){this.element.children("a").filter(":not([data-"+a.mobile.ns+"role='none'])").attr("data-"+a.mobile.ns+"role","button"),this.element.trigger("create")},_addHeaderButtonClasses:function(){var a=this.element.children("a, button");this.leftbtn=a.hasClass("ui-btn-left")&&!a.hasClass("ui-toolbar-back-btn"),this.rightbtn=a.hasClass("ui-btn-right"),this.leftbtn=this.leftbtn||a.eq(0).not(".ui-btn-right,.ui-toolbar-back-btn").addClass("ui-btn-left").length,this.rightbtn=this.rightbtn||a.eq(1).addClass("ui-btn-right").length},_updateBackButton:function(){var b,c=this.options,d=c.backBtnTheme||c.theme;b=this._backButton=this._backButton||{},this.options.addBackBtn&&"header"===this.role&&a(".ui-page").length>1&&(this.page?this.page[0].getAttribute("data-"+a.mobile.ns+"url")!==a.mobile.path.stripHash(location.hash):a.mobile.navigate&&a.mobile.navigate.history&&a.mobile.navigate.history.activeIndex>0)&&!this.leftbtn?b.attached||(this.backButton=b.element=(b.element||a("<a role='button' href='javascript:void(0);' class='ui-btn ui-corner-all ui-shadow ui-btn-left "+(d?"ui-btn-"+d+" ":"")+"ui-toolbar-back-btn ui-icon-carat-l ui-btn-icon-left' data-"+a.mobile.ns+"rel='back'>"+c.backBtnText+"</a>")).prependTo(this.element),b.attached=!0):b.element&&(b.element.detach(),b.attached=!1)},_addHeadingClasses:function(){this.element.children("h1, h2, h3, h4, h5, h6").addClass("ui-title").attr({role:"heading","aria-level":"1"})},_destroy:function(){var a;this.element.children("h1, h2, h3, h4, h5, h6").removeClass("ui-title").removeAttr("role").removeAttr("aria-level"),"header"===this.role&&(this.element.children("a, button").removeClass("ui-btn-left ui-btn-right ui-btn ui-shadow ui-corner-all"),this.backButton&&this.backButton.remove()),a=this.options.theme?this.options.theme:"inherit",this.element.removeClass("ui-bar-"+a),this.element.removeClass("ui-"+this.role).removeAttr("role")}})}(a),function(a,b){a.widget("mobile.toolbar",a.mobile.toolbar,{options:{position:null,visibleOnPageShow:!0,disablePageZoom:!0,transition:"slide",fullscreen:!1,tapToggle:!0,tapToggleBlacklist:"a, button, input, select, textarea, .ui-header-fixed, .ui-footer-fixed, .ui-flipswitch, .ui-popup, .ui-panel, .ui-panel-dismiss-open",hideDuringFocus:"input, textarea, select",updatePagePadding:!0,trackPersistentToolbars:!0,supportBlacklist:function(){return!a.support.fixedPosition}},_create:function(){this._super(),this.pagecontainer=a(":mobile-pagecontainer"),"fixed"!==this.options.position||this.options.supportBlacklist()||this._makeFixed()},_makeFixed:function(){this.element.addClass("ui-"+this.role+"-fixed"),this.updatePagePadding(),this._addTransitionClass(),this._bindPageEvents(),this._bindToggleHandlers()},_setOptions:function(c){if("fixed"===c.position&&"fixed"!==this.options.position&&this._makeFixed(),"fixed"===this.options.position&&!this.options.supportBlacklist()){var d=this.page?this.page:a(".ui-page-active").length>0?a(".ui-page-active"):a(".ui-page").eq(0);c.fullscreen!==b&&(c.fullscreen?(this.element.addClass("ui-"+this.role+"-fullscreen"),d.addClass("ui-page-"+this.role+"-fullscreen")):(this.element.removeClass("ui-"+this.role+"-fullscreen"),d.removeClass("ui-page-"+this.role+"-fullscreen").addClass("ui-page-"+this.role+"-fixed")))}this._super(c)},_addTransitionClass:function(){var a=this.options.transition;a&&"none"!==a&&("slide"===a&&(a=this.element.hasClass("ui-header")?"slidedown":"slideup"),this.element.addClass(a))},_bindPageEvents:function(){var a=this.page?this.element.closest(".ui-page"):this.document;this._on(a,{pagebeforeshow:"_handlePageBeforeShow",webkitAnimationStart:"_handleAnimationStart",animationstart:"_handleAnimationStart",updatelayout:"_handleAnimationStart",pageshow:"_handlePageShow",pagebeforehide:"_handlePageBeforeHide"})},_handlePageBeforeShow:function(){var b=this.options;b.disablePageZoom&&a.mobile.zoom.disable(!0),b.visibleOnPageShow||this.hide(!0)},_handleAnimationStart:function(){this.options.updatePagePadding&&this.updatePagePadding(this.page?this.page:".ui-page-active")},_handlePageShow:function(){this.updatePagePadding(this.page?this.page:".ui-page-active"),this.options.updatePagePadding&&this._on(this.window,{throttledresize:"updatePagePadding"})},_handlePageBeforeHide:function(b,c){var d,e,f,g,h=this.options;h.disablePageZoom&&a.mobile.zoom.enable(!0),h.updatePagePadding&&this._off(this.window,"throttledresize"),h.trackPersistentToolbars&&(d=a(".ui-footer-fixed:jqmData(id)",this.page),e=a(".ui-header-fixed:jqmData(id)",this.page),f=d.length&&c.nextPage&&a(".ui-footer-fixed:jqmData(id='"+d.jqmData("id")+"')",c.nextPage)||a(),g=e.length&&c.nextPage&&a(".ui-header-fixed:jqmData(id='"+e.jqmData("id")+"')",c.nextPage)||a(),(f.length||g.length)&&(f.add(g).appendTo(a.mobile.pageContainer),c.nextPage.one("pageshow",function(){g.prependTo(this),f.appendTo(this)})))},_visible:!0,updatePagePadding:function(c){var d=this.element,e="header"===this.role,f=parseFloat(d.css(e?"top":"bottom"));this.options.fullscreen||(c=c&&c.type===b&&c||this.page||d.closest(".ui-page"),c=this.page?this.page:".ui-page-active",a(c).css("padding-"+(e?"top":"bottom"),d.outerHeight()+f))},_useTransition:function(b){var c=this.window,d=this.element,e=c.scrollTop(),f=d.height(),g=this.page?d.closest(".ui-page").height():a(".ui-page-active").height(),h=a.mobile.getScreenHeight();return!b&&(this.options.transition&&"none"!==this.options.transition&&("header"===this.role&&!this.options.fullscreen&&e>f||"footer"===this.role&&!this.options.fullscreen&&g-f>e+h)||this.options.fullscreen)},show:function(a){var b="ui-fixed-hidden",c=this.element;this._useTransition(a)?c.removeClass("out "+b).addClass("in").animationComplete(function(){c.removeClass("in")}):c.removeClass(b),this._visible=!0},hide:function(a){var b="ui-fixed-hidden",c=this.element,d="out"+("slide"===this.options.transition?" reverse":"");this._useTransition(a)?c.addClass(d).removeClass("in").animationComplete(function(){c.addClass(b).removeClass(d)}):c.addClass(b).removeClass(d),this._visible=!1},toggle:function(){this[this._visible?"hide":"show"]()},_bindToggleHandlers:function(){var b,c,d=this,e=d.options,f=!0,g=this.page?this.page:a(".ui-page");g.bind("vclick",function(b){e.tapToggle&&!a(b.target).closest(e.tapToggleBlacklist).length&&d.toggle()}).bind("focusin focusout",function(g){screen.width<1025&&a(g.target).is(e.hideDuringFocus)&&!a(g.target).closest(".ui-header-fixed, .ui-footer-fixed").length&&("focusout"!==g.type||f?"focusin"===g.type&&f&&(clearTimeout(b),f=!1,c=setTimeout(function(){d.hide()},0)):(f=!0,clearTimeout(c),b=setTimeout(function(){d.show()},0)))})},_setRelative:function(){"fixed"!==this.options.position&&a("[data-"+a.mobile.ns+"role='page']").css({position:"relative"})},_destroy:function(){var b,c,d,e,f,g=this.pagecontainer.pagecontainer("getActivePage");this._super(),"fixed"===this.options.position&&(d=a("body>.ui-"+this.role+"-fixed").add(g.find(".ui-"+this.options.role+"-fixed")).not(this.element).length>0,f=a("body>.ui-"+this.role+"-fixed").add(g.find(".ui-"+this.options.role+"-fullscreen")).not(this.element).length>0,c="ui-header-fixed ui-footer-fixed ui-header-fullscreen in out ui-footer-fullscreen fade slidedown slideup ui-fixed-hidden",this.element.removeClass(c),f||(b="ui-page-"+this.role+"-fullscreen"),d||(e="header"===this.role,b+=" ui-page-"+this.role+"-fixed",g.css("padding-"+(e?"top":"bottom"),"")),g.removeClass(b)) -}})}(a),function(a){a.widget("mobile.toolbar",a.mobile.toolbar,{_makeFixed:function(){this._super(),this._workarounds()},_workarounds:function(){var a=navigator.userAgent,b=navigator.platform,c=a.match(/AppleWebKit\/([0-9]+)/),d=!!c&&c[1],e=null,f=this;if(b.indexOf("iPhone")>-1||b.indexOf("iPad")>-1||b.indexOf("iPod")>-1)e="ios";else{if(!(a.indexOf("Android")>-1))return;e="android"}if("ios"===e)f._bindScrollWorkaround();else{if(!("android"===e&&d&&534>d))return;f._bindScrollWorkaround(),f._bindListThumbWorkaround()}},_viewportOffset:function(){var a=this.element,b=a.hasClass("ui-header"),c=Math.abs(a.offset().top-this.window.scrollTop());return b||(c=Math.round(c-this.window.height()+a.outerHeight())-60),c},_bindScrollWorkaround:function(){var a=this;this._on(this.window,{scrollstop:function(){var b=a._viewportOffset();b>2&&a._visible&&a._triggerRedraw()}})},_bindListThumbWorkaround:function(){this.element.closest(".ui-page").addClass("ui-android-2x-fixed")},_triggerRedraw:function(){var b=parseFloat(a(".ui-page-active").css("padding-bottom"));a(".ui-page-active").css("padding-bottom",b+1+"px"),setTimeout(function(){a(".ui-page-active").css("padding-bottom",b+"px")},0)},destroy:function(){this._super(),this.element.closest(".ui-page-active").removeClass("ui-android-2x-fix")}})}(a),function(a,b){function c(){var a=e.clone(),b=a.eq(0),c=a.eq(1),d=c.children();return{arEls:c.add(b),gd:b,ct:c,ar:d}}var d=a.mobile.browser.oldIE&&a.mobile.browser.oldIE<=8,e=a("<div class='ui-popup-arrow-guide'></div><div class='ui-popup-arrow-container"+(d?" ie":"")+"'><div class='ui-popup-arrow'></div></div>");a.widget("mobile.popup",a.mobile.popup,{options:{arrow:""},_create:function(){var a,b=this._super();return this.options.arrow&&(this._ui.arrow=a=this._addArrow()),b},_addArrow:function(){var a,b=this.options,d=c();return a=this._themeClassFromOption("ui-body-",b.theme),d.ar.addClass(a+(b.shadow?" ui-overlay-shadow":"")),d.arEls.hide().appendTo(this.element),d},_unenhance:function(){var a=this._ui.arrow;return a&&a.arEls.remove(),this._super()},_tryAnArrow:function(a,b,c,d,e){var f,g,h,i={},j={};return d.arFull[a.dimKey]>d.guideDims[a.dimKey]?e:(i[a.fst]=c[a.fst]+(d.arHalf[a.oDimKey]+d.menuHalf[a.oDimKey])*a.offsetFactor-d.contentBox[a.fst]+(d.clampInfo.menuSize[a.oDimKey]-d.contentBox[a.oDimKey])*a.arrowOffsetFactor,i[a.snd]=c[a.snd],f=d.result||this._calculateFinalLocation(i,d.clampInfo),g={x:f.left,y:f.top},j[a.fst]=g[a.fst]+d.contentBox[a.fst]+a.tipOffset,j[a.snd]=Math.max(f[a.prop]+d.guideOffset[a.prop]+d.arHalf[a.dimKey],Math.min(f[a.prop]+d.guideOffset[a.prop]+d.guideDims[a.dimKey]-d.arHalf[a.dimKey],c[a.snd])),h=Math.abs(c.x-j.x)+Math.abs(c.y-j.y),(!e||h<e.diff)&&(j[a.snd]-=d.arHalf[a.dimKey]+f[a.prop]+d.contentBox[a.snd],e={dir:b,diff:h,result:f,posProp:a.prop,posVal:j[a.snd]}),e)},_getPlacementState:function(a){var b,c,d=this._ui.arrow,e={clampInfo:this._clampPopupWidth(!a),arFull:{cx:d.ct.width(),cy:d.ct.height()},guideDims:{cx:d.gd.width(),cy:d.gd.height()},guideOffset:d.gd.offset()};return b=this.element.offset(),d.gd.css({left:0,top:0,right:0,bottom:0}),c=d.gd.offset(),e.contentBox={x:c.left-b.left,y:c.top-b.top,cx:d.gd.width(),cy:d.gd.height()},d.gd.removeAttr("style"),e.guideOffset={left:e.guideOffset.left-b.left,top:e.guideOffset.top-b.top},e.arHalf={cx:e.arFull.cx/2,cy:e.arFull.cy/2},e.menuHalf={cx:e.clampInfo.menuSize.cx/2,cy:e.clampInfo.menuSize.cy/2},e},_placementCoords:function(b){var c,e,f,g,h,i=this.options.arrow,j=this._ui.arrow;return j?(j.arEls.show(),h={},c=this._getPlacementState(!0),f={l:{fst:"x",snd:"y",prop:"top",dimKey:"cy",oDimKey:"cx",offsetFactor:1,tipOffset:-c.arHalf.cx,arrowOffsetFactor:0},r:{fst:"x",snd:"y",prop:"top",dimKey:"cy",oDimKey:"cx",offsetFactor:-1,tipOffset:c.arHalf.cx+c.contentBox.cx,arrowOffsetFactor:1},b:{fst:"y",snd:"x",prop:"left",dimKey:"cx",oDimKey:"cy",offsetFactor:-1,tipOffset:c.arHalf.cy+c.contentBox.cy,arrowOffsetFactor:1},t:{fst:"y",snd:"x",prop:"left",dimKey:"cx",oDimKey:"cy",offsetFactor:1,tipOffset:-c.arHalf.cy,arrowOffsetFactor:0}},a.each((i===!0?"l,t,r,b":i).split(","),a.proxy(function(a,d){e=this._tryAnArrow(f[d],d,b,c,e)},this)),e?(j.ct.removeClass("ui-popup-arrow-l ui-popup-arrow-t ui-popup-arrow-r ui-popup-arrow-b").addClass("ui-popup-arrow-"+e.dir).removeAttr("style").css(e.posProp,e.posVal).show(),d||(g=this.element.offset(),h[f[e.dir].fst]=j.ct.offset(),h[f[e.dir].snd]={left:g.left+c.contentBox.x,top:g.top+c.contentBox.y}),e.result):(j.arEls.hide(),this._super(b))):this._super(b)},_setOptions:function(a){var c,d=this.options.theme,e=this._ui.arrow,f=this._super(a);if(a.arrow!==b){if(!e&&a.arrow)return void(this._ui.arrow=this._addArrow());e&&!a.arrow&&(e.arEls.remove(),this._ui.arrow=null)}return e=this._ui.arrow,e&&(a.theme!==b&&(d=this._themeClassFromOption("ui-body-",d),c=this._themeClassFromOption("ui-body-",a.theme),e.ar.removeClass(d).addClass(c)),a.shadow!==b&&e.ar.toggleClass("ui-overlay-shadow",a.shadow)),f},_destroy:function(){var a=this._ui.arrow;return a&&a.arEls.remove(),this._super()}})}(a),function(a,c){a.widget("mobile.panel",{options:{classes:{panel:"ui-panel",panelOpen:"ui-panel-open",panelClosed:"ui-panel-closed",panelFixed:"ui-panel-fixed",panelInner:"ui-panel-inner",modal:"ui-panel-dismiss",modalOpen:"ui-panel-dismiss-open",pageContainer:"ui-panel-page-container",pageWrapper:"ui-panel-wrapper",pageFixedToolbar:"ui-panel-fixed-toolbar",pageContentPrefix:"ui-panel-page-content",animate:"ui-panel-animate"},animate:!0,theme:null,position:"left",dismissible:!0,display:"reveal",swipeClose:!0,positionFixed:!1},_closeLink:null,_parentPage:null,_page:null,_modal:null,_panelInner:null,_wrapper:null,_fixedToolbars:null,_create:function(){var b=this.element,c=b.closest(".ui-page, :jqmData(role='page')");a.extend(this,{_closeLink:b.find(":jqmData(rel='close')"),_parentPage:c.length>0?c:!1,_openedPage:null,_page:this._getPage,_panelInner:this._getPanelInner(),_fixedToolbars:this._getFixedToolbars}),"overlay"!==this.options.display&&this._getWrapper(),this._addPanelClasses(),a.support.cssTransform3d&&this.options.animate&&this.element.addClass(this.options.classes.animate),this._bindUpdateLayout(),this._bindCloseEvents(),this._bindLinkListeners(),this._bindPageEvents(),this.options.dismissible&&this._createModal(),this._bindSwipeEvents()},_getPanelInner:function(){var a=this.element.find("."+this.options.classes.panelInner);return 0===a.length&&(a=this.element.children().wrapAll("<div class='"+this.options.classes.panelInner+"' />").parent()),a},_createModal:function(){var b=this,c=b._parentPage?b._parentPage.parent():b.element.parent();b._modal=a("<div class='"+b.options.classes.modal+"'></div>").on("mousedown",function(){b.close()}).appendTo(c)},_getPage:function(){var b=this._openedPage||this._parentPage||a("."+a.mobile.activePageClass);return b},_getWrapper:function(){var a=this._page().find("."+this.options.classes.pageWrapper);0===a.length&&(a=this._page().children(".ui-header:not(.ui-header-fixed), .ui-content:not(.ui-popup), .ui-footer:not(.ui-footer-fixed)").wrapAll("<div class='"+this.options.classes.pageWrapper+"'></div>").parent()),this._wrapper=a},_getFixedToolbars:function(){var b=a("body").children(".ui-header-fixed, .ui-footer-fixed"),c=this._page().find(".ui-header-fixed, .ui-footer-fixed"),d=b.add(c).addClass(this.options.classes.pageFixedToolbar);return d},_getPosDisplayClasses:function(a){return a+"-position-"+this.options.position+" "+a+"-display-"+this.options.display},_getPanelClasses:function(){var a=this.options.classes.panel+" "+this._getPosDisplayClasses(this.options.classes.panel)+" "+this.options.classes.panelClosed+" ui-body-"+(this.options.theme?this.options.theme:"inherit");return this.options.positionFixed&&(a+=" "+this.options.classes.panelFixed),a},_addPanelClasses:function(){this.element.addClass(this._getPanelClasses())},_handleCloseClick:function(a){a.isDefaultPrevented()||this.close()},_bindCloseEvents:function(){this._on(this._closeLink,{click:"_handleCloseClick"}),this._on({"click a:jqmData(ajax='false')":"_handleCloseClick"})},_positionPanel:function(b){var c=this,d=c._panelInner.outerHeight(),e=d>a.mobile.getScreenHeight();e||!c.options.positionFixed?(e&&(c._unfixPanel(),a.mobile.resetActivePageHeight(d)),b&&this.window[0].scrollTo(0,a.mobile.defaultHomeScroll)):c._fixPanel()},_bindFixListener:function(){this._on(a(b),{throttledresize:"_positionPanel"})},_unbindFixListener:function(){this._off(a(b),"throttledresize")},_unfixPanel:function(){this.options.positionFixed&&a.support.fixedPosition&&this.element.removeClass(this.options.classes.panelFixed)},_fixPanel:function(){this.options.positionFixed&&a.support.fixedPosition&&this.element.addClass(this.options.classes.panelFixed)},_bindUpdateLayout:function(){var a=this;a.element.on("updatelayout",function(){a._open&&a._positionPanel()})},_bindLinkListeners:function(){this._on("body",{"click a":"_handleClick"})},_handleClick:function(b){var d,e=this.element.attr("id");b.currentTarget.href.split("#")[1]===e&&e!==c&&(b.preventDefault(),d=a(b.target),d.hasClass("ui-btn")&&(d.addClass(a.mobile.activeBtnClass),this.element.one("panelopen panelclose",function(){d.removeClass(a.mobile.activeBtnClass)})),this.toggle())},_bindSwipeEvents:function(){var a=this,b=a._modal?a.element.add(a._modal):a.element;a.options.swipeClose&&("left"===a.options.position?b.on("swipeleft.panel",function(){a.close()}):b.on("swiperight.panel",function(){a.close()}))},_bindPageEvents:function(){var a=this;this.document.on("panelbeforeopen",function(b){a._open&&b.target!==a.element[0]&&a.close()}).on("keyup.panel",function(b){27===b.keyCode&&a._open&&a.close()}),this._parentPage||"overlay"===this.options.display||this._on(this.document,{pageshow:function(){this._openedPage=null,this._getWrapper()}}),a._parentPage?this.document.on("pagehide",":jqmData(role='page')",function(){a._open&&a.close(!0)}):this.document.on("pagebeforehide",function(){a._open&&a.close(!0)})},_open:!1,_pageContentOpenClasses:null,_modalOpenClasses:null,open:function(b){if(!this._open){var c=this,d=c.options,e=function(){c._off(c.document,"panelclose"),c._page().jqmData("panel","open"),a.support.cssTransform3d&&d.animate&&"overlay"!==d.display&&(c._wrapper.addClass(d.classes.animate),c._fixedToolbars().addClass(d.classes.animate)),!b&&a.support.cssTransform3d&&d.animate?(c._wrapper||c.element).animationComplete(f,"transition"):setTimeout(f,0),d.theme&&"overlay"!==d.display&&c._page().parent().addClass(d.classes.pageContainer+"-themed "+d.classes.pageContainer+"-"+d.theme),c.element.removeClass(d.classes.panelClosed).addClass(d.classes.panelOpen),c._positionPanel(!0),c._pageContentOpenClasses=c._getPosDisplayClasses(d.classes.pageContentPrefix),"overlay"!==d.display&&(c._page().parent().addClass(d.classes.pageContainer),c._wrapper.addClass(c._pageContentOpenClasses),c._fixedToolbars().addClass(c._pageContentOpenClasses)),c._modalOpenClasses=c._getPosDisplayClasses(d.classes.modal)+" "+d.classes.modalOpen,c._modal&&c._modal.addClass(c._modalOpenClasses).height(Math.max(c._modal.height(),c.document.height()))},f=function(){c._open&&("overlay"!==d.display&&(c._wrapper.addClass(d.classes.pageContentPrefix+"-open"),c._fixedToolbars().addClass(d.classes.pageContentPrefix+"-open")),c._bindFixListener(),c._trigger("open"),c._openedPage=c._page())};c._trigger("beforeopen"),"open"===c._page().jqmData("panel")?c._on(c.document,{panelclose:e}):e(),c._open=!0}},close:function(b){if(this._open){var c=this,d=this.options,e=function(){c.element.removeClass(d.classes.panelOpen),"overlay"!==d.display&&(c._wrapper.removeClass(c._pageContentOpenClasses),c._fixedToolbars().removeClass(c._pageContentOpenClasses)),!b&&a.support.cssTransform3d&&d.animate?(c._wrapper||c.element).animationComplete(f,"transition"):setTimeout(f,0),c._modal&&c._modal.removeClass(c._modalOpenClasses).height("")},f=function(){d.theme&&"overlay"!==d.display&&c._page().parent().removeClass(d.classes.pageContainer+"-themed "+d.classes.pageContainer+"-"+d.theme),c.element.addClass(d.classes.panelClosed),"overlay"!==d.display&&(c._page().parent().removeClass(d.classes.pageContainer),c._wrapper.removeClass(d.classes.pageContentPrefix+"-open"),c._fixedToolbars().removeClass(d.classes.pageContentPrefix+"-open")),a.support.cssTransform3d&&d.animate&&"overlay"!==d.display&&(c._wrapper.removeClass(d.classes.animate),c._fixedToolbars().removeClass(d.classes.animate)),c._fixPanel(),c._unbindFixListener(),a.mobile.resetActivePageHeight(),c._page().jqmRemoveData("panel"),c._trigger("close"),c._openedPage=null};c._trigger("beforeclose"),e(),c._open=!1}},toggle:function(){this[this._open?"close":"open"]()},_destroy:function(){var b,c=this.options,d=a("body > :mobile-panel").length+a.mobile.activePage.find(":mobile-panel").length>1;"overlay"!==c.display&&(b=a("body > :mobile-panel").add(a.mobile.activePage.find(":mobile-panel")),0===b.not(".ui-panel-display-overlay").not(this.element).length&&this._wrapper.children().unwrap(),this._open&&(this._fixedToolbars().removeClass(c.classes.pageContentPrefix+"-open"),a.support.cssTransform3d&&c.animate&&this._fixedToolbars().removeClass(c.classes.animate),this._page().parent().removeClass(c.classes.pageContainer),c.theme&&this._page().parent().removeClass(c.classes.pageContainer+"-themed "+c.classes.pageContainer+"-"+c.theme))),d||this.document.off("panelopen panelclose"),this._open&&this._page().jqmRemoveData("panel"),this._panelInner.children().unwrap(),this.element.removeClass([this._getPanelClasses(),c.classes.panelOpen,c.classes.animate].join(" ")).off("swipeleft.panel swiperight.panel").off("panelbeforeopen").off("panelhide").off("keyup.panel").off("updatelayout"),this._modal&&this._modal.remove()}})}(a),function(a,b){a.widget("mobile.table",{options:{classes:{table:"ui-table"},enhanced:!1},_create:function(){this.options.enhanced||this.element.addClass(this.options.classes.table),a.extend(this,{headers:b,allHeaders:b}),this._refresh(!0)},_setHeaders:function(){var a=this.element.find("thead tr");this.headers=this.element.find("tr:eq(0)").children(),this.allHeaders=this.headers.add(a.children())},refresh:function(){this._refresh()},rebuild:a.noop,_refresh:function(){var b=this.element,c=b.find("thead tr");this._setHeaders(),c.each(function(){var d=0;a(this).children().each(function(){var e,f=parseInt(this.getAttribute("colspan"),10),g=":nth-child("+(d+1)+")";if(this.setAttribute("data-"+a.mobile.ns+"colstart",d+1),f)for(e=0;f-1>e;e++)d++,g+=", :nth-child("+(d+1)+")";a(this).jqmData("cells",b.find("tr").not(c.eq(0)).not(this).children(g)),d++})})}})}(a),function(a){a.widget("mobile.table",a.mobile.table,{options:{mode:"columntoggle",columnBtnTheme:null,columnPopupTheme:null,columnBtnText:"Columns...",classes:a.extend(a.mobile.table.prototype.options.classes,{popup:"ui-table-columntoggle-popup",columnBtn:"ui-table-columntoggle-btn",priorityPrefix:"ui-table-priority-",columnToggleTable:"ui-table-columntoggle"})},_create:function(){this._super(),"columntoggle"===this.options.mode&&(a.extend(this,{_menu:null}),this.options.enhanced?(this._menu=a(this.document[0].getElementById(this._id()+"-popup")).children().first(),this._addToggles(this._menu,!0)):(this._menu=this._enhanceColToggle(),this.element.addClass(this.options.classes.columnToggleTable)),this._setupEvents(),this._setToggleState())},_id:function(){return this.element.attr("id")||this.widgetName+this.uuid},_setupEvents:function(){this._on(this.window,{throttledresize:"_setToggleState"}),this._on(this._menu,{"change input":"_menuInputChange"})},_addToggles:function(b,c){var d,e=0,f=this.options,g=b.controlgroup("container");c?d=b.find("input"):g.empty(),this.headers.not("td").each(function(){var b,h,i=a(this),j=a.mobile.getAttribute(this,"priority");j&&(h=i.add(i.jqmData("cells")),h.addClass(f.classes.priorityPrefix+j),b=(c?d.eq(e++):a("<label><input type='checkbox' checked />"+(i.children("abbr").first().attr("title")||i.text())+"</label>").appendTo(g).children(0).checkboxradio({theme:f.columnPopupTheme})).jqmData("header",i).jqmData("cells",h),i.jqmData("input",b))}),c||b.controlgroup("refresh")},_menuInputChange:function(b){var c=a(b.target),d=c[0].checked;c.jqmData("cells").toggleClass("ui-table-cell-hidden",!d).toggleClass("ui-table-cell-visible",d)},_unlockCells:function(a){a.removeClass("ui-table-cell-hidden ui-table-cell-visible")},_enhanceColToggle:function(){var b,c,d,e,f=this.element,g=this.options,h=a.mobile.ns,i=this.document[0].createDocumentFragment();return b=this._id()+"-popup",c=a("<a href='#"+b+"' class='"+g.classes.columnBtn+" ui-btn ui-btn-"+(g.columnBtnTheme||"a")+" ui-corner-all ui-shadow ui-mini' data-"+h+"rel='popup'>"+g.columnBtnText+"</a>"),d=a("<div class='"+g.classes.popup+"' id='"+b+"'></div>"),e=a("<fieldset></fieldset>").controlgroup(),this._addToggles(e,!1),e.appendTo(d),i.appendChild(d[0]),i.appendChild(c[0]),f.before(i),d.popup(),e},rebuild:function(){this._super(),"columntoggle"===this.options.mode&&this._refresh(!1)},_refresh:function(b){var c,d,e;if(this._super(b),!b&&"columntoggle"===this.options.mode)for(c=this.headers,d=[],this._menu.find("input").each(function(){var b=a(this),e=b.jqmData("header"),f=c.index(e[0]);f>-1&&!b.prop("checked")&&d.push(f)}),this._unlockCells(this.element.find(".ui-table-cell-hidden, .ui-table-cell-visible")),this._addToggles(this._menu,b),e=d.length-1;e>-1;e--)c.eq(d[e]).jqmData("input").prop("checked",!1).checkboxradio("refresh").trigger("change")},_setToggleState:function(){this._menu.find("input").each(function(){var b=a(this);this.checked="table-cell"===b.jqmData("cells").eq(0).css("display"),b.checkboxradio("refresh")})},_destroy:function(){this._super()}})}(a),function(a){a.widget("mobile.table",a.mobile.table,{options:{mode:"reflow",classes:a.extend(a.mobile.table.prototype.options.classes,{reflowTable:"ui-table-reflow",cellLabels:"ui-table-cell-label"})},_create:function(){this._super(),"reflow"===this.options.mode&&(this.options.enhanced||(this.element.addClass(this.options.classes.reflowTable),this._updateReflow()))},rebuild:function(){this._super(),"reflow"===this.options.mode&&this._refresh(!1)},_refresh:function(a){this._super(a),a||"reflow"!==this.options.mode||this._updateReflow()},_updateReflow:function(){var b=this,c=this.options;a(b.allHeaders.get().reverse()).each(function(){var d,e,f=a(this).jqmData("cells"),g=a.mobile.getAttribute(this,"colstart"),h=f.not(this).filter("thead th").length&&" ui-table-cell-label-top",i=a(this).clone().contents();i.length>0&&(h?(d=parseInt(this.getAttribute("colspan"),10),e="",d&&(e="td:nth-child("+d+"n + "+g+")"),b._addLabels(f.filter(e),c.classes.cellLabels+h,i)):b._addLabels(f,c.classes.cellLabels,i))})},_addLabels:function(b,c,d){1===d.length&&"abbr"===d[0].nodeName.toLowerCase()&&(d=d.eq(0).attr("title")),b.not(":has(b."+c+")").prepend(a("<b class='"+c+"'></b>").append(d))}})}(a),function(a,c){var d=function(b,c){return-1===(""+(a.mobile.getAttribute(this,"filtertext")||a(this).text())).toLowerCase().indexOf(c)};a.widget("mobile.filterable",{initSelector:":jqmData(filter='true')",options:{filterReveal:!1,filterCallback:d,enhanced:!1,input:null,children:"> li, > option, > optgroup option, > tbody tr, > .ui-controlgroup-controls > .ui-btn, > .ui-controlgroup-controls > .ui-checkbox, > .ui-controlgroup-controls > .ui-radio"},_create:function(){var b=this.options;a.extend(this,{_search:null,_timer:0}),this._setInput(b.input),b.enhanced||this._filterItems((this._search&&this._search.val()||"").toLowerCase())},_onKeyUp:function(){var c,d,e=this._search;if(e){if(c=e.val().toLowerCase(),d=a.mobile.getAttribute(e[0],"lastval")+"",d&&d===c)return;this._timer&&(b.clearTimeout(this._timer),this._timer=0),this._timer=this._delay(function(){return this._trigger("beforefilter",null,{input:e})===!1?!1:(e[0].setAttribute("data-"+a.mobile.ns+"lastval",c),this._filterItems(c),void(this._timer=0))},250)}},_getFilterableItems:function(){var b=this.element,c=this.options.children,d=c?a.isFunction(c)?c():c.nodeName?a(c):c.jquery?c:this.element.find(c):{length:0};return 0===d.length&&(d=b.children()),d},_filterItems:function(b){var c,e,f,g,h=[],i=[],j=this.options,k=this._getFilterableItems();if(null!=b)for(e=j.filterCallback||d,f=k.length,c=0;f>c;c++)g=e.call(k[c],c,b)?i:h,g.push(k[c]);0===i.length?k[j.filterReveal&&0===b.length?"addClass":"removeClass"]("ui-screen-hidden"):(a(i).addClass("ui-screen-hidden"),a(h).removeClass("ui-screen-hidden")),this._refreshChildWidget(),this._trigger("filter",null,{items:k})},_refreshChildWidget:function(){var b,c,d=["collapsibleset","selectmenu","controlgroup","listview"];for(c=d.length-1;c>-1;c--)b=d[c],a.mobile[b]&&(b=this.element.data("mobile-"+b),b&&a.isFunction(b.refresh)&&b.refresh())},_setInput:function(c){var d=this._search;this._timer&&(b.clearTimeout(this._timer),this._timer=0),d&&(this._off(d,"keyup change input"),d=null),c&&(d=c.jquery?c:c.nodeName?a(c):this.document.find(c),this._on(d,{keydown:"_onKeyDown",keypress:"_onKeyPress",keyup:"_onKeyUp",change:"_onKeyUp",input:"_onKeyUp"})),this._search=d},_onKeyDown:function(b){b.keyCode===a.ui.keyCode.ENTER&&(b.preventDefault(),this._preventKeyPress=!0)},_onKeyPress:function(a){this._preventKeyPress&&(a.preventDefault(),this._preventKeyPress=!1)},_setOptions:function(a){var b=!(a.filterReveal===c&&a.filterCallback===c&&a.children===c);this._super(a),a.input!==c&&(this._setInput(a.input),b=!0),b&&this.refresh()},_destroy:function(){var a=this.options,b=this._getFilterableItems();a.enhanced?b.toggleClass("ui-screen-hidden",a.filterReveal):b.removeClass("ui-screen-hidden")},refresh:function(){this._timer&&(b.clearTimeout(this._timer),this._timer=0),this._filterItems((this._search&&this._search.val()||"").toLowerCase())}})}(a),function(a,b){var c=function(a,b){return function(c){b.call(this,c),a._syncTextInputOptions(c)}},d=/(^|\s)ui-li-divider(\s|$)/,e=a.mobile.filterable.prototype.options.filterCallback;a.mobile.filterable.prototype.options.filterCallback=function(a,b){return!this.className.match(d)&&e.call(this,a,b)},a.widget("mobile.filterable",a.mobile.filterable,{options:{filterPlaceholder:"Filter items...",filterTheme:null},_create:function(){var b,c,d=this.element,e=["collapsibleset","selectmenu","controlgroup","listview"],f={};for(this._super(),a.extend(this,{_widget:null}),b=e.length-1;b>-1;b--)if(c=e[b],a.mobile[c]){if(this._setWidget(d.data("mobile-"+c)))break;f[c+"create"]="_handleCreate"}this._widget||this._on(d,f)},_handleCreate:function(a){this._setWidget(this.element.data("mobile-"+a.type.substring(0,a.type.length-6)))},_trigger:function(a,b,c){return this._widget&&"mobile-listview"===this._widget.widgetFullName&&"beforefilter"===a&&this._widget._trigger("beforefilter",b,c),this._super(a,b,c)},_setWidget:function(a){return!this._widget&&a&&(this._widget=a,this._widget._setOptions=c(this,this._widget._setOptions)),this._widget&&(this._syncTextInputOptions(this._widget.options),"listview"===this._widget.widgetName&&(this._widget.options.hideDividers=!0,this._widget.element.listview("refresh"))),!!this._widget},_isSearchInternal:function(){return this._search&&this._search.jqmData("ui-filterable-"+this.uuid+"-internal")},_setInput:function(b){var c=this.options,d=!0,e={};if(!b){if(this._isSearchInternal())return;d=!1,b=a("<input data-"+a.mobile.ns+"type='search' placeholder='"+c.filterPlaceholder+"'></input>").jqmData("ui-filterable-"+this.uuid+"-internal",!0),a("<form class='ui-filterable'></form>").append(b).submit(function(a){a.preventDefault(),b.blur()}).insertBefore(this.element),a.mobile.textinput&&(null!=this.options.filterTheme&&(e.theme=c.filterTheme),b.textinput(e))}this._super(b),this._isSearchInternal()&&d&&this._search.attr("placeholder",this.options.filterPlaceholder)},_setOptions:function(c){var d=this._super(c);return c.filterPlaceholder!==b&&this._isSearchInternal()&&this._search.attr("placeholder",c.filterPlaceholder),c.filterTheme!==b&&this._search&&a.mobile.textinput&&this._search.textinput("option","theme",c.filterTheme),d},_refreshChildWidget:function(){this._refreshingChildWidget=!0,this._superApply(arguments),this._refreshingChildWidget=!1},refresh:function(){this._refreshingChildWidget||this._superApply(arguments)},_destroy:function(){this._isSearchInternal()&&this._search.remove(),this._super()},_syncTextInputOptions:function(c){var d,e={};if(this._isSearchInternal()&&a.mobile.textinput){for(d in a.mobile.textinput.prototype.options)c[d]!==b&&(e[d]="theme"===d&&null!=this.options.filterTheme?this.options.filterTheme:c[d]);this._search.textinput("option",e)}}}),a.widget("mobile.listview",a.mobile.listview,{options:{filter:!1},_create:function(){return this.options.filter!==!0||this.element.data("mobile-filterable")||this.element.filterable(),this._super()},refresh:function(){var a;this._superApply(arguments),this.options.filter===!0&&(a=this.element.data("mobile-filterable"),a&&a.refresh())}})}(a),function(a,b){function c(){return++e}function d(a){return a.hash.length>1&&decodeURIComponent(a.href.replace(f,""))===decodeURIComponent(location.href.replace(f,""))}var e=0,f=/#.*$/;a.widget("ui.tabs",{version:"fadf2b312a05040436451c64bbfaf4814bc62c56",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_create:function(){var b=this,c=this.options;this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",c.collapsible).delegate(".ui-tabs-nav > li","mousedown"+this.eventNamespace,function(b){a(this).is(".ui-state-disabled")&&b.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){a(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this._processTabs(),c.active=this._initialActive(),a.isArray(c.disabled)&&(c.disabled=a.unique(c.disabled.concat(a.map(this.tabs.filter(".ui-state-disabled"),function(a){return b.tabs.index(a)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(c.active):a(),this._refresh(),this.active.length&&this.load(c.active)},_initialActive:function(){var b=this.options.active,c=this.options.collapsible,d=location.hash.substring(1);return null===b&&(d&&this.tabs.each(function(c,e){return a(e).attr("aria-controls")===d?(b=c,!1):void 0}),null===b&&(b=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===b||-1===b)&&(b=this.tabs.length?0:!1)),b!==!1&&(b=this.tabs.index(this.tabs.eq(b)),-1===b&&(b=c?!1:0)),!c&&b===!1&&this.anchors.length&&(b=0),b},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):a()}},_tabKeydown:function(b){var c=a(this.document[0].activeElement).closest("li"),d=this.tabs.index(c),e=!0;if(!this._handlePageNav(b)){switch(b.keyCode){case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:d++;break;case a.ui.keyCode.UP:case a.ui.keyCode.LEFT:e=!1,d--;break;case a.ui.keyCode.END:d=this.anchors.length-1;break;case a.ui.keyCode.HOME:d=0;break;case a.ui.keyCode.SPACE:return b.preventDefault(),clearTimeout(this.activating),void this._activate(d);case a.ui.keyCode.ENTER:return b.preventDefault(),clearTimeout(this.activating),void this._activate(d===this.options.active?!1:d);default:return}b.preventDefault(),clearTimeout(this.activating),d=this._focusNextTab(d,e),b.ctrlKey||(c.attr("aria-selected","false"),this.tabs.eq(d).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",d)},this.delay))}},_panelKeydown:function(b){this._handlePageNav(b)||b.ctrlKey&&b.keyCode===a.ui.keyCode.UP&&(b.preventDefault(),this.active.focus())},_handlePageNav:function(b){return b.altKey&&b.keyCode===a.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):b.altKey&&b.keyCode===a.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(b,c){function d(){return b>e&&(b=0),0>b&&(b=e),b}for(var e=this.tabs.length-1;-1!==a.inArray(d(),this.options.disabled);)b=c?b+1:b-1;return b},_focusNextTab:function(a,b){return a=this._findNextTab(a,b),this.tabs.eq(a).focus(),a},_setOption:function(a,b){return"active"===a?void this._activate(b):"disabled"===a?void this._setupDisabled(b):(this._super(a,b),"collapsible"===a&&(this.element.toggleClass("ui-tabs-collapsible",b),b||this.options.active!==!1||this._activate(0)),"event"===a&&this._setupEvents(b),void("heightStyle"===a&&this._setupHeightStyle(b)))},_tabId:function(a){return a.attr("aria-controls")||"ui-tabs-"+c()},_sanitizeSelector:function(a){return a?a.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var b=this.options,c=this.tablist.children(":has(a[href])");b.disabled=a.map(c.filter(".ui-state-disabled"),function(a){return c.index(a)}),this._processTabs(),b.active!==!1&&this.anchors.length?this.active.length&&!a.contains(this.tablist[0],this.active[0])?this.tabs.length===b.disabled.length?(b.active=!1,this.active=a()):this._activate(this._findNextTab(Math.max(0,b.active-1),!1)):b.active=this.tabs.index(this.active):(b.active=!1,this.active=a()),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-expanded":"false","aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-expanded":"true","aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var b=this;this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist"),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return a("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=a(),this.anchors.each(function(c,e){var f,g,h,i=a(e).uniqueId().attr("id"),j=a(e).closest("li"),k=j.attr("aria-controls");d(e)?(f=e.hash,g=b.element.find(b._sanitizeSelector(f))):(h=b._tabId(j),f="#"+h,g=b.element.find(f),g.length||(g=b._createPanel(h),g.insertAfter(b.panels[c-1]||b.tablist)),g.attr("aria-live","polite")),g.length&&(b.panels=b.panels.add(g)),k&&j.data("ui-tabs-aria-controls",k),j.attr({"aria-controls":f.substring(1),"aria-labelledby":i}),g.attr("aria-labelledby",i)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel")},_getList:function(){return this.element.find("ol,ul").eq(0)},_createPanel:function(b){return a("<div>").attr("id",b).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(b){a.isArray(b)&&(b.length?b.length===this.anchors.length&&(b=!0):b=!1);for(var c,d=0;c=this.tabs[d];d++)b===!0||-1!==a.inArray(d,b)?a(c).addClass("ui-state-disabled").attr("aria-disabled","true"):a(c).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=b},_setupEvents:function(b){var c={click:function(a){a.preventDefault()}};b&&a.each(b.split(" "),function(a,b){c[b]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(this.anchors,c),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(b){var c,d=this.element.parent();"fill"===b?(c=d.height(),c-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var b=a(this),d=b.css("position");"absolute"!==d&&"fixed"!==d&&(c-=b.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){c-=a(this).outerHeight(!0) -}),this.panels.each(function(){a(this).height(Math.max(0,c-a(this).innerHeight()+a(this).height()))}).css("overflow","auto")):"auto"===b&&(c=0,this.panels.each(function(){c=Math.max(c,a(this).height("").height())}).height(c))},_eventHandler:function(b){var c=this.options,d=this.active,e=a(b.currentTarget),f=e.closest("li"),g=f[0]===d[0],h=g&&c.collapsible,i=h?a():this._getPanelForTab(f),j=d.length?this._getPanelForTab(d):a(),k={oldTab:d,oldPanel:j,newTab:h?a():f,newPanel:i};b.preventDefault(),f.hasClass("ui-state-disabled")||f.hasClass("ui-tabs-loading")||this.running||g&&!c.collapsible||this._trigger("beforeActivate",b,k)===!1||(c.active=h?!1:this.tabs.index(f),this.active=g?a():f,this.xhr&&this.xhr.abort(),j.length||i.length||a.error("jQuery UI Tabs: Mismatching fragment identifier."),i.length&&this.load(this.tabs.index(f),b),this._toggle(b,k))},_toggle:function(b,c){function d(){f.running=!1,f._trigger("activate",b,c)}function e(){c.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),g.length&&f.options.show?f._show(g,f.options.show,d):(g.show(),d())}var f=this,g=c.newPanel,h=c.oldPanel;this.running=!0,h.length&&this.options.hide?this._hide(h,this.options.hide,function(){c.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),e()}):(c.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),h.hide(),e()),h.attr({"aria-expanded":"false","aria-hidden":"true"}),c.oldTab.attr("aria-selected","false"),g.length&&h.length?c.oldTab.attr("tabIndex",-1):g.length&&this.tabs.filter(function(){return 0===a(this).attr("tabIndex")}).attr("tabIndex",-1),g.attr({"aria-expanded":"true","aria-hidden":"false"}),c.newTab.attr({"aria-selected":"true",tabIndex:0})},_activate:function(b){var c,d=this._findActive(b);d[0]!==this.active[0]&&(d.length||(d=this.active),c=d.find(".ui-tabs-anchor")[0],this._eventHandler({target:c,currentTarget:c,preventDefault:a.noop}))},_findActive:function(b){return b===!1?a():this.tabs.eq(b)},_getIndex:function(a){return"string"==typeof a&&(a=this.anchors.index(this.anchors.filter("[href$='"+a+"']"))),a},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId(),this.tabs.add(this.panels).each(function(){a.data(this,"ui-tabs-destroy")?a(this).remove():a(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var b=a(this),c=b.data("ui-tabs-aria-controls");c?b.attr("aria-controls",c).removeData("ui-tabs-aria-controls"):b.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(c){var d=this.options.disabled;d!==!1&&(c===b?d=!1:(c=this._getIndex(c),d=a.isArray(d)?a.map(d,function(a){return a!==c?a:null}):a.map(this.tabs,function(a,b){return b!==c?b:null})),this._setupDisabled(d))},disable:function(c){var d=this.options.disabled;if(d!==!0){if(c===b)d=!0;else{if(c=this._getIndex(c),-1!==a.inArray(c,d))return;d=a.isArray(d)?a.merge([c],d).sort():[c]}this._setupDisabled(d)}},load:function(b,c){b=this._getIndex(b);var e=this,f=this.tabs.eq(b),g=f.find(".ui-tabs-anchor"),h=this._getPanelForTab(f),i={tab:f,panel:h};d(g[0])||(this.xhr=a.ajax(this._ajaxSettings(g,c,i)),this.xhr&&"canceled"!==this.xhr.statusText&&(f.addClass("ui-tabs-loading"),h.attr("aria-busy","true"),this.xhr.success(function(a){setTimeout(function(){h.html(a),e._trigger("load",c,i)},1)}).complete(function(a,b){setTimeout(function(){"abort"===b&&e.panels.stop(!1,!0),f.removeClass("ui-tabs-loading"),h.removeAttr("aria-busy"),a===e.xhr&&delete e.xhr},1)})))},_ajaxSettings:function(b,c,d){var e=this;return{url:b.attr("href"),beforeSend:function(b,f){return e._trigger("beforeLoad",c,a.extend({jqXHR:b,ajaxSettings:f},d))}}},_getPanelForTab:function(b){var c=a(b).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+c))}})}(a),function(){}(a),function(a,b){function c(a){e=a.originalEvent,i=e.accelerationIncludingGravity,f=Math.abs(i.x),g=Math.abs(i.y),h=Math.abs(i.z),!b.orientation&&(f>7||(h>6&&8>g||8>h&&g>6)&&f>5)?d.enabled&&d.disable():d.enabled||d.enable()}a.mobile.iosorientationfixEnabled=!0;var d,e,f,g,h,i,j=navigator.userAgent;return/iPhone|iPad|iPod/.test(navigator.platform)&&/OS [1-5]_[0-9_]* like Mac OS X/i.test(j)&&j.indexOf("AppleWebKit")>-1?(d=a.mobile.zoom,void a.mobile.document.on("mobileinit",function(){a.mobile.iosorientationfixEnabled&&a.mobile.window.bind("orientationchange.iosorientationfix",d.enable).bind("devicemotion.iosorientationfix",c)})):void(a.mobile.iosorientationfixEnabled=!1)}(a,this),function(a,b,d){function e(){f.removeClass("ui-mobile-rendering")}var f=a("html"),g=a.mobile.window;a(b.document).trigger("mobileinit"),a.mobile.gradeA()&&(a.mobile.ajaxBlacklist&&(a.mobile.ajaxEnabled=!1),f.addClass("ui-mobile ui-mobile-rendering"),setTimeout(e,5e3),a.extend(a.mobile,{initializePage:function(){var b=a.mobile.path,f=a(":jqmData(role='page'), :jqmData(role='dialog')"),h=b.stripHash(b.stripQueryParams(b.parseLocation().hash)),i=a.mobile.path.parseLocation(),j=h?c.getElementById(h):d;f.length||(f=a("body").wrapInner("<div data-"+a.mobile.ns+"role='page'></div>").children(0)),f.each(function(){var c=a(this);c[0].getAttribute("data-"+a.mobile.ns+"url")||c.attr("data-"+a.mobile.ns+"url",c.attr("id")||b.convertUrlToDataUrl(i.pathname+i.search))}),a.mobile.firstPage=f.first(),a.mobile.pageContainer=a.mobile.firstPage.parent().addClass("ui-mobile-viewport").pagecontainer(),a.mobile.navreadyDeferred.resolve(),g.trigger("pagecontainercreate"),a.mobile.loading("show"),e(),a.mobile.hashListeningEnabled&&a.mobile.path.isHashValid(location.hash)&&(a(j).is(":jqmData(role='page')")||a.mobile.path.isPath(h)||h===a.mobile.dialogHashKey)?a.event.special.navigate.isPushStateEnabled()?(a.mobile.navigate.history.stack=[],a.mobile.navigate(a.mobile.path.isPath(location.hash)?location.hash:location.href)):g.trigger("hashchange",[!0]):(a.event.special.navigate.isPushStateEnabled()&&a.mobile.navigate.navigator.squash(b.parseLocation().href),a.mobile.changePage(a.mobile.firstPage,{transition:"none",reverse:!0,changeHash:!1,fromHashChange:!0}))}}),a(function(){a.support.inlineSVG(),a.mobile.hideUrlBar&&b.scrollTo(0,1),a.mobile.defaultHomeScroll=a.support.scrollTop&&1!==a.mobile.window.scrollTop()?1:0,a.mobile.autoInitializePage&&a.mobile.initializePage(),a.mobile.hideUrlBar&&g.load(a.mobile.silentScroll),a.support.cssPointerEvents||a.mobile.document.delegate(".ui-state-disabled,.ui-disabled","vclick",function(a){a.preventDefault(),a.stopImmediatePropagation()})}))}(a,this)}); -//# sourceMappingURL=jquery.mobile-1.4.5.min.map \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/webapp/js/jquery.mobile-1.4.5.min.map b/ucoinj-ui-wicket/src/main/webapp/js/jquery.mobile-1.4.5.min.map deleted file mode 100644 index 852c422a919829f861703f156b58ac10e0faa0e2..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/js/jquery.mobile-1.4.5.min.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"jquery.mobile-1.4.5.min.js","sources":["jquery.mobile-1.4.5.js"],"names":["root","doc","factory","define","amd","$","mobile","jQuery","this","document","window","undefined","focusable","element","isTabIndexNotNaN","map","mapName","img","nodeName","toLowerCase","parentNode","name","href","visible","test","disabled","expr","filters","parents","addBack","filter","css","length","uuid","runiqueId","ui","extend","version","keyCode","BACKSPACE","COMMA","DELETE","DOWN","END","ENTER","ESCAPE","HOME","LEFT","PAGE_DOWN","PAGE_UP","PERIOD","RIGHT","SPACE","TAB","UP","fn","focus","orig","delay","each","elem","setTimeout","call","apply","arguments","scrollParent","ie","eq","ownerDocument","uniqueId","id","removeUniqueId","removeAttr","data","createPseudo","dataName","i","match","isNaN","attr","tabbable","tabIndex","isTabIndexNaN","outerWidth","jquery","reduce","size","border","margin","side","parseFloat","type","innerWidth","innerHeight","outerHeight","selector","add","prevObject","removeData","key","camelCase","exec","navigator","userAgent","support","selectstart","createElement","disableSelection","bind","event","preventDefault","enableSelection","unbind","zIndex","position","value","parseInt","parent","plugin","module","option","set","proto","prototype","plugins","push","instance","args","allowDisconnected","nodeType","options","compensateToolbars","page","desiredHeight","pageParent","toolbarsAffectingHeight","noPadders","theElement","widgetOptions","toolbar","ns","updatePagePadding","externalHeaders","children","internalHeaders","externalFooters","internalFooters","concat","toArray","index","Math","max","behaviors","silentScroll","ypos","defaultHomeScroll","special","scrollstart","enabled","scrollTo","trigger","x","y","getClosestBaseUrl","ele","url","closest","jqmData","base","path","documentBase","hrefNoHash","dynamicBaseEnabled","isPath","makeUrlAbsolute","removeActiveLinkClass","forceRemoval","activeClickedLink","activePageClass","removeClass","activeBtnClass","getInheritedTheme","el","defaultTheme","c","m","e","ltr","re","className","enhanceable","elements","haveParents","hijackable","ignoreContentEnabled","$element","excluded","count","$newSet","getAttribute","getScreenHeight","height","resetActivePageHeight","pageHeight","pageOuterHeight","loading","loader","_widget","defaultHtml","returnValue","addDependents","newDependents","$elem","dependents","removeWithDependents","enhanceWithin","widgetElements","keepNative","keepNativeSelector","that","nojs","links","degradeInputsWithin","buttonMarkup","find","initSelector","not","jqmEnhanceable","fieldcontain","widgets","constructor","widgetName","getEncodedText","text","html","jqmHijackable","nativeElement","remove","matches","matchesSelector","node","subPageUrlKey","hideUrlBar","focusClass","ajaxEnabled","hashListeningEnabled","linkBindingEnabled","defaultPageTransition","maxTransitionWidth","minScrollBack","defaultDialogTransition","pageLoadErrorMessage","pageLoadErrorMessageTheme","phonegapNavigationEnabled","autoInitializePage","pushStateEnabled","hoverDelay","pageContainer","allowCrossDomainPages","dialogHashKey","slice","Array","_cleanData","cleanData","elems","triggerHandler","widget","fullName","existingConstructor","basePrototype","proxiedPrototype","namespace","split","Widget","_createWidget","_proto","_childConstructors","prop","isFunction","_super","_superApply","__super","__superApply","widgetEventPrefix","widgetFullName","child","childPrototype","bridge","target","input","inputIndex","inputLength","hasOwnProperty","isPlainObject","object","isMethodCall","methodValue","charAt","pushStack","get","error","_init","defaultElement","create","eventNamespace","_getCreateOptions","bindings","hoverable","_on","destroy","style","defaultView","parentWindow","_create","_trigger","_getCreateEventData","noop","_destroy","parts","curOption","shift","pop","_setOptions","_setOption","toggleClass","enable","disable","suppressDisabledCheck","handlers","delegateElement","handler","handlerProxy","hasClass","guid","eventName","delegate","_off","join","undelegate","_delay","_hoverable","mouseenter","currentTarget","addClass","mouseleave","_focusable","focusin","focusout","callback","Event","originalEvent","isDefaultPrevented","show","hide","method","defaultEffect","effect","hasOptions","effectName","duration","isEmptyObject","complete","effects","easing","queue","next","nsNormalizeDict","oldFind","rbrace","jqmDataRE","JSON","parse","err","nsNormalize","closestPageData","$target","result","jqmRemoveData","context","ret","extra","indexOf","replace","rcapitals","replaceFunction","loaderClass","$html","theme","textVisible","fakeFixLoader","activeBtn","first","top","scrollTop","offset","checkLoaderPosition","screenHeight","proxy","resetHtml","msgText","textonly","message","loadSettings","appendTo","pagecontainer","get_fragment","location","fake_onhashchange","str_hashchange","doc_mode","documentMode","supports_onhashchange","setup","start","teardown","stop","poll","hash","history_hash","history_get","last_hash","history_set","timeout_id","self","fn_retval","val","clearTimeout","attachEvent","addEventListener","iframe","iframe_src","src","one","insertAfter","contentWindow","onpropertychange","propertyName","title","iframe_doc","domain","open","write","close","matchMedia","bool","docElem","documentElement","refNode","firstElementChild","firstChild","fakeBody","div","cssText","background","appendChild","q","innerHTML","insertBefore","offsetWidth","removeChild","media","touch","orientation","propExists","v","uc_prop","toUpperCase","substr","props","vendors","fbCSS","inlineSVG","w","svg","createElementNS","createSVGRect","opera","Image","onerror","onload","width","transform3dTest","transforms","t","mqProp","MozTransform","transform","append","getComputedStyle","getPropertyValue","baseTagTest","link","rebase","fauxBase","protocol","host","pathname","fauxEle","prependTo","cssPointerEventsTest","supports","pointerEvents","boundingRect","getBoundingClientRect","fixedPosition","ua","platform","wkmatch","wkversion","ffmatch","ffversion","operammobilematch","omversion","operamini","toString","nokiaLTE7_3","webos","bb","blackberry","browser","oldIE","a","all","pushState","history","search","mediaquery","cssPseudoElement","touchOverflow","cssTransform3d","boxShadow","dynamicBaseTag","cssPointerEvents","gradeA","ajaxBlacklist","WebKitPoint","$win","dummyFnToInitNavigate","beforenavigate","on","off","navigate","bound","originalEventName","isPushStateEnabled","isHashChangeEnabled","popstate","newEvent","beforeNavigate","state","historyState","hashchange","hashchangeState","$base","uiStateKey","urlParseRE","getLocation","parsedUrl","parseUrl","uri","doubleSlash","substring","getDocumentUrl","asParsedObject","documentUrl","parseLocation","hrefNoSearch","authority","username","password","hostname","port","directory","filename","makePathAbsolute","relPath","absPath","absStack","relStack","d","isSameDomain","absUrl1","absUrl2","isRelativeUrl","isAbsoluteUrl","relUrl","absUrl","relObj","absObj","hasPath","addSearchParams","params","u","p","param","s","convertUrlToDataUrl","isEmbeddedPage","decodeURIComponent","newPath","stripHash","clean","stripQueryParams","cleanHash","isHashValid","isExternal","hasProtocol","documentBaseDiffers","squash","resolutionUrl","cleanedUrl","stateIndex","docUrl","preservedHash","uiState","isPreservableHash","hashToSelector","hasHash","getFilePath","isFirstPageUrl","samePath","fp","firstPage","fpId","isPermittedCrossDomainRequest","reqUrl","getDocumentBase","History","stack","activeIndex","getActive","getLast","previousIndex","getNext","getPrev","clearForward","earlyReturn","entry","direct","opts","newActiveIndex","present","back","forward","missing","initialHref","Navigator","ignoreInitialHashChange","popstate.history","hashchange.history","replaceState","parsed","loc","resolved","go","noEvents","popstateEvent","isPopStateEvent","preventNextHashChange","preventHashAssignPopState","ignorePopState","stopImmediatePropagation","historyEntry","direction","animation","transition","testElement","vendorPrefixes","testName","j","prefix","cssTransitions","cssAnimations","animationComplete","fallbackTime","timer","eventBinding","animationType","defaultDuration","getNativeEvent","createVirtualEvent","eventType","oe","ne","ct","len","mouseEventProps","which","touches","changedTouches","touchEventProps","getVirtualBindingFlags","b","k","flags","dataPropertyName","hasVirtualBinding","getClosestElementWithVirtualBinding","enableTouchBindings","blockTouchTriggers","disableTouchBindings","enableMouseBindings","lastTouchID","clickBlockList","blockMouseTriggers","disableMouseBindings","startResetTimer","clearResetTimer","resetTimerID","vmouse","resetTimerDuration","triggerVirtualEvent","ve","mouseEventCallback","touchID","touchTargetPropertyName","isPropagationStopped","stopPropagation","isImmediatePropagationStopped","handleTouchStart","nextTouchID","didScroll","startX","pageX","startY","pageY","handleScroll","handleTouchMove","didCancel","moveThreshold","moveDistanceThreshold","abs","handleTouchEnd","clientX","clientY","hasVirtualBindings","dummyMouseHandler","getSpecialEventObject","realType","activeDocHandlers","$document","eventCaptureSupported","$this","threshold","virtualEventNames","mouseHookProps","mouseHooks","clickDistanceThreshold","o","cnt","triggerCustomEvent","obj","bubble","originalType","dispatch","supportTouch","scrollEvent","touchStartEvent","touchStopEvent","touchMoveEvent","attrFn","scrolling","thisObject","tap","tapholdThreshold","emitTapOnTaphold","isTaphold","clearTapTimer","clearTapHandlers","clickHandler","origTarget","swipe","scrollSupressionThreshold","durationThreshold","horizontalDistanceThreshold","verticalDistanceThreshold","winPageX","pageXOffset","winPageY","pageYOffset","floor","time","Date","getTime","coords","origin","handleSwipe","swipestart","swipestop","eventInProgress","events","emitted","move","scrollstop","taphold","swipeleft","swiperight","sourceEvent","throttledresize","heldCall","curr","diff","throttle","lastCall","get_orientation","last_orientation","win","event_name","initial_orientation_is_landscape","initial_orientation_is_default","ww","wh","landscape_threshold","portrait_map","0","180","-90","90","orientationchange","handleObj","old_handler","isPortrait","clientWidth","clientHeight","baseElement","linkSelector","rewrite","thisAttr","is","theLocation","thisUrl","reset","originalWidget","keepNativeFactoryDefault","domCache","keepNativeDefault","contentTheme","enhanced","_enhance","pagebeforehide","pagebeforeshow","dialog","attrPrefix","role","bindRemove","samePage","prEvent","_handlePageBeforeShow","setContainerBackground","removeContainerBackground","trim","globalValue","optionValue","newDefault","oldDefault","setLastScrollEnabled","pagechange","_disableRecordScroll","_enableRecordScroll","_afterContentChange","_recordScroll","currentScroll","minScroll","defaultScroll","active","_getActiveHistory","_getScroll","_getMinScroll","_getDefaultScroll","lastScroll","_delayedRecordScroll","_filterNavigateEvents","_getHash","_handleNavigate","getActivePage","activePage","_getInitialContent","_getHistory","_getDocumentBase","steps","change","changeHash","fromHashChange","_handleDestination","to","_transitionFromHistory","defaultTransition","_handleDialog","changePageOptions","activeContent","pageUrl","reverse","_changeContent","changePage","_getBase","_getNs","content","_include","settings","_find","fileUrl","_createFileUrl","dataUrl","_createDataUrl","initialContent","_getLoader","_showLoading","msg","_loadMsg","_hideLoading","_showError","_parse","_setLoadedTitle","newPageTitle","RegExp","$1","_isRewritableBaseTag","absoluteUrl","_triggerWithDeprecated","deprecatedEvent","_loadSuccess","triggerData","deferred","textStatus","xhr","pageElemRegex","dataUrlRegex","encodeURIComponent","prefetch","toPage","showLoadMsg","resolve","_loadDefaults","reloadPage","reload","loadMsgDelay","load","pblEvent","Deferred","reloadOptionExtension","_findBaseWithDefault","reject","promise","prevPage","fromPage","ajax","contentType","dataType","success","_loadError","errorThrown","plfEvent","_getTransitionHandler","_maybeDegradeTransition","transitionHandlers","defaultTransitionHandler","_triggerCssTransitionEvents","from","nextPage","_cssTransition","TransitionHandler","done","_releaseTransitionLock","isPageTransitioning","pageTransitionQueue","_removeActiveLinkClass","force","_loadUrl","fail","_triggerPageBeforeChange","returnEvents","unshift","defaults","activeIsInitialPage","historyDir","pageTitle","isDialog","alreadyThere","cssTransitionDeferred","beforeTransition","allowSamePageTransition","activeElement","blur","encodeURI","$to","$from","alreadyFocused","duplicateCachedPage","focusPage","closestBase","navreadyDeferred","findClosestLink","domreadyDeferred","loadDeferred","pageIsFullyLoaded","$lastVClicked","loadPage","container","nav","app","backHistory","autofocus","_registerInternalEvents","getAjaxFormData","$form","calculateOnly","formData","vclickedName","serializeArray","form","$btn","btnEls","needClosest","outer","baseUrl","useDefaultUrlHandling","$link","httpCleanup","urls","inArray","readyState","when","Transition","init","toPreClass","cleanFrom","beforeDoneIn","beforeDoneOut","beforeStartOut","doneIn","toggleViewportClass","toScroll","scrollPage","sequential","doneOut","reverseClass","none","preventFocus","startIn","hideIn","startOut","maxTransitionOverride","getMaxScrollForTransition","SerialTransition","ConcurrentTransition","defaultGetMaxScrollForTransition","simultaneous","transitionFallbacks","flip","flow","slide","slidedown","slidefade","slideup","turn","degradeInputs","color","date","datetime","datetime-local","email","month","number","range","tel","week","hasType","findstr","repstr","optType","clone","replaceWith","closeBtn","closeBtnText","overlayTheme","corners","_inner","_headerCloseButton","_setCloseBtn","wrapInner","class","closeButtonLocation","closeButtonText","currentOpts","dst","btn","_isCloseable","_handlePageBeforeHide","_handleVClickSubmit","attrs","vclick","submit","click","hist","rInitialLetter","iconposClass","iconpos","expandCueText","collapseCueText","collapsed","heading","collapsedIcon","expandedIcon","inset","mini","accordion","collapsibleset","_ui","_renderedOptions","_getOptions","anchor","status","_handleExpandCollapse","accordionWidget","collapsible","_themeClassFromOption","iconclass","contentThemeClass","originalHeading","placeholder","detach","refresh","_applyOptions","isCollapsed","newTheme","oldTheme","hasCorners","hasIcon","isCollapse","expand","collapse","contents","unwrap","noHiddenClass","uiScreenHiddenRegex","addFirstLastClasses","_getVisibles","$els","visibles","_addFirstLastClasses","$visibles","end","last","_removeFirstLastClasses","childCollapsiblesSelector","_handleCollapsibleExpand","closestCollapsible","siblings","_classes","collapsibleexpand","_refresh","themeClass","collapsiblesInSet","grid","iterator","letter","$kids","gridCols","solo","$navbar","$navbtns","icon","classes","getAttr","countTheme","dividerTheme","splitIcon","splitTheme","shadow","listviewClasses","_findFirstElementByTagName","nextProp","lcName","ucName","dict","_addThumbClasses","containers","_getChildrenByTagName","results","nextSibling","_beforeListviewRefresh","_afterListviewRefresh","buttonClass","pos","numli","item","itemClass","itemTheme","itemIcon","isDivider","startCount","newStartCount","splittheme","splitThemeClass","spliticon","altButtonClass","li","$list","ol","itemClassDict","countBubbles","countThemeClass","empty","defaultAutodividersSelector","elt","listview","autodividers","autodividersSelector","_replaceDividers","lis","dividerText","divider","lastDividerText","list","createTextNode","setAttribute","rdivider","rhidden","hideDividers","items","idx","hideDivider","formReset","_handleFormReset","escapeId","wrapperClass","inheritAttr","dataAttr","label","isParent","_findLabel","inputtype","checkedClass","uncheckedClass","labelIsParent","vmouseover","vmousedown","parentLabel","labelsList","labels","contains","getElementsByTagName","wrapAll","_wrapper","wrap","prepend","_handleInputFocus","_handleInputBlur","_handleInputVClick","_getInputSet","_updateAll","_handleLabelVMouseOver","_handleLabelVClick","_cacheVals","checked","formId","radio","radios","changeTriggered","checkboxradio","_reset","_hasIcon","controlgroup","controlgroupWidget","controlgroupConstructor","isChecked","addClasses","removeClasses","currentOptions","iconshadow","inline","wrapper","_button","iconClasses","_getIconClasses","originalElement","isDisabled","meta","disabledZoom","enabledZoom","disabledInitially","zoom","locked","lock","unlock","restore","preventFocusZoom","isSearch","isTextarea","tagName","isRange","inputNeedsWrap","_classesFromOptions","_autoCorrect","setOptions","elementClasses","_wrap","autocorrect","_handleBlur","_handleFocus","trackTheme","highlight","optionsCount","origTabIndex","activeClass","sliderImg","control","trackThemeClass","cornerClass","miniClass","cType","isToggleSwitch","isRangeslider","selectClass","controlID","$label","labelID","min","step","domHandle","handle","domSlider","slider","valuebg","bg","aria-valuemin","aria-valuemax","aria-valuenow","_value","aria-valuetext","aria-labelledby","dragging","beforeStart","userModified","mouseMoved","childNodes","_labels","keyup","vmouseup","_sliderVMouseDown","vmousemove","keydown","_setTheme","_setTrackTheme","_setCorners","_setMini","_setHighlight","_setDisabled","_controlChange","_controlKeyup","_controlBlur","_controlVMouseUp","_checkedRefresh","_handleVMouseDown","_handleKeydown","_keySliding","_handleKeyup","selectedIndex","_sliderVMouseUp","_preventDocumentDrag","isfromControl","preventInputUpdate","left","tol","pxStep","percent","isInput","optionElements","newval","valModStep","alignValue","percentPerStep","handlePercent","aPercent","bPercent","valueChanged","parentTheme","round","toFixed","ab","currentTheme","currentTrackTheme","newTrackTheme","getPopup","popup","popupEnabled","showValue","_currentValue","_popup","_popupVisible","_positionPopup","dstOffset","newValue","_showPopup","_hidePopup","onText","offText","flipswitch","_originalTabIndex","_left","_right","after","existingDirection","_toggle","_keydown","$el","elClass","_inputFirst","_inputLast","_label","_sliderWidgetFirst","_sliderWidgetLast","_sliderFirst","_sliderLast","firstHandle","_sliders","_targetVal","_sliderTarget","_proxy","slidebeforestart","slidestop","slidedrag","slidebeforechange","mousedown","_handleReset","_updateHighlight","_dragFirstHandle","_slidedrag","otherSlider","_slidestop","_slidebeforestart","_change","thisSlider","margin-left","textinput","clearBtn","clearBtnText","_addClearBtn","clearButton","_clearBtnClick","_clearBtn","_enhanceClear","_bindClearEvents","_toggleClear","cut","paste","_unbindClear","_destroyClear","_toggleClearClass","autogrow","keyupTimeoutBuffer","_autogrow","pageshow","popupbeforeposition","updatelayout","panelopen","_handleShow","_prepareHeightUpdate","_unbindAutogrow","keyupTimeout","_updateHeight","_timeout","paddingTop","paddingBottom","paddingHeight","scrollHeight","borderTop","borderBottom","borderHeight","min-height","max-height","hidePlaceholderMenuItems","closeText","nativeMenu","button","_focusButton","_selectOptions","select","_preExtension","selectId","buttonId","isMultiple","multiple","setButtonText","buttonCount","build","selected","selectedIndices","span","setButtonCount","_refreshButton","idref","fitSegmentInsideSegment","windowSize","segmentSize","desired","getWindowCoordinates","theWindow","scrollLeft","cx","cy","positionTo","tolerance","closeLinkSelector","closeLinkEvents","navigateEvents","closeEvents","dismissible","_handleDocumentVmousedown","theEvent","_isOpen","_ignoreResizeEvents","myId","_scrollTop","_page","_fallbackTransition","_currentTransition","_prerequisites","_tolerance","_resizeData","_ignoreResizeTo","_orientationchangeInProgress","screen","prev","getElementById","_applyTransition","_setTolerance","focusElement","resize","fragment","createDocumentFragment","_eatEventAndClose","_resizeScreen","popupHeight","documentHeight","_handleWindowKeyUp","_expectResizeEvent","windowCoordinates","timeoutId","_resizeTimeout","reposition","_stopIgnoringResizeEvents","_handleWindowResize","_handleWindowOrientationchange","_handleDocumentFocusIn","targetElement","_safelyBlur","newOptions","ar","r","l","String","_clampPopupWidth","infoOnly","menuSize","rectangle","rc","_calculateFinalLocation","clampInfo","_placementCoords","_createPrerequisites","screenPrerequisite","containerPrerequisite","whenDone","prerequisites","then","_animate","classToRemove","screenClassToAdd","applyTransition","containerClassToAdd","_desiredCoords","openOptions","pTo","_reposition","currentElement","_openPrerequisitesComplete","firstFocus","_open","androidBlacklist","androidmatch","andversion","chromematch","additionalCondition","_closePrerequisiteScreen","_closePrerequisiteContainer","_closePrerequisitesDone","_close","immediate","_unenhance","_closePopup","parsedDst","toUrl","_myUrl","_bindContainerClose","hashkey","currentIsDialog","urlHistory","urlAltered","handleLink","unfocusableItemSelector","goToAdjacentItem","adjacent","selectmenu","_handleSelectFocus","_handleButtonVclickKeydown","isOpen","_decideFormat","menuType","popupId","dialogId","_handleListFocus","tabindex","_handleListKeydown","_handleMenuPageHide","_delayedTrigger","thisPage","_handleHeaderCloseClick","_handleListItemClick","listItem","oldIndex","newIndex","_triggerChange","menuId","themeAttr","overlayThemeAttr","dividerThemeAttr","menuPage","listbox","header","headerTitle","menuPageContent","menuPageClose","headerClose","_origTabIndex","click li:not(.ui-disabled,.ui-state-disabled,.ui-li-divider)","pagehide","popupafterclose","_popupClosed","_isRebuildRequired","indices","_buildList","_focusMenuItem","$window","selfListParent","menuHeight","btnOffset","popupafteropen","$options","numOptions","optGroup","$option","optLabel","needPlaceholder","dataIcon","dataPrefix","dataIndexAttr","dataIconAttr","dataRoleAttr","dataPlaceholderAttr","isPlaceholderItem","_removePlaceholderAttr","aria-haspopup","aria-owns","optionsToClasses","existingClasses","classNameToOptions","unknownClass","alreadyEnhanced","noIcon","unknownClasses","reverseBoolOptionMap","camelCase2Hyphenated","ui-shadow","ui-corner-all","ui-btn-inline","ui-shadow-icon","ui-mini","getAttrFixed","capitalLettersRE","overwriteClasses","retrievedOptions","optionKey","excludeInvisible","_childWidgets","_initialRefresh","groupLegend","childWrapper","callRefresh","els","buttons","addBackBtn","backBtnTheme","backBtnText","leftbtn","rightbtn","_updateBackButton","_addHeaderButtonClasses","_setRelative","_addHeadingClasses","_btnMarkup","headerAnchors","backButton","_backButton","attached","aria-level","visibleOnPageShow","disablePageZoom","fullscreen","tapToggle","tapToggleBlacklist","hideDuringFocus","trackPersistentToolbars","supportBlacklist","_makeFixed","_addTransitionClass","_bindPageEvents","_bindToggleHandlers","$page","tclass","webkitAnimationStart","animationstart","_handleAnimationStart","_handlePageShow","thisFooter","thisHeader","nextFooter","nextHeader","_visible","tbPage","_useTransition","notransition","scroll","elHeight","pHeight","viewportHeight","hideClass","outclass","toggle","delayShow","delayHide","isVisible","pageClasses","toolbarClasses","hasFixed","hasFullscreen","_workarounds","os","_bindScrollWorkaround","_bindListThumbWorkaround","_viewportOffset","viewportOffset","_triggerRedraw","getArrow","uiTemplate","gd","arEls","ieHack","arrow","_addArrow","_tryAnArrow","dir","best","desiredForArrow","tip","arFull","dimKey","guideDims","fst","arHalf","oDimKey","menuHalf","offsetFactor","contentBox","arrowOffsetFactor","snd","tipOffset","guideOffset","posProp","posVal","_getPlacementState","clamp","gdOffset","right","bottom","elOffset","bgRef","panel","panelOpen","panelClosed","panelFixed","panelInner","modal","modalOpen","pageWrapper","pageFixedToolbar","pageContentPrefix","animate","display","swipeClose","positionFixed","_closeLink","_parentPage","_modal","_panelInner","_fixedToolbars","parentPage","_openedPage","_getPage","_getPanelInner","_getFixedToolbars","_getWrapper","_addPanelClasses","_bindUpdateLayout","_bindCloseEvents","_bindLinkListeners","_createModal","_bindSwipeEvents","extFixedToolbars","intFixedToolbars","fixedToolbars","_getPosDisplayClasses","_getPanelClasses","panelClasses","_handleCloseClick","click a:jqmData(ajax='false')","_positionPanel","scrollToTop","panelInnerHeight","_unfixPanel","_fixPanel","_bindFixListener","_unbindFixListener","click a","_handleClick","panelId","area","_pageContentOpenClasses","_modalOpenClasses","_openPanel","panelclose","_closePanel","otherPanels","multiplePanels","table","headers","allHeaders","_setHeaders","trs","rebuild","columnCount","mode","columnBtnTheme","columnPopupTheme","columnBtnText","columnBtn","priorityPrefix","columnToggleTable","_menu","_id","_addToggles","_enhanceColToggle","_setupEvents","_setToggleState","change input","menu","keep","inputs","checkboxIndex","cells","priority","_menuInputChange","evt","_unlockCells","menuButton","before","hiddenColumns","checkbox","reflowTable","cellLabels","_updateReflow","iteration","colstart","hierarchyClass","_addLabels","defaultFilterCallback","searchValue","filterReveal","filterCallback","_search","_timer","_setInput","_filterItems","_onKeyUp","lastval","_getFilterableItems","filterItems","_refreshChildWidget","recognizedWidgets","keypress","_onKeyDown","_preventKeyPress","_onKeyPress","refilter","replaceSetOptions","_syncTextInputOptions","rDividerListItem","origDefaultFilterCallback","filterable","filterPlaceholder","filterTheme","createHandlers","_setWidget","_handleCreate","_isSearchInternal","updatePlaceholder","textinputOpts","_refreshingChildWidget","textinputOptions","getNextTabId","tabId","isLocal","rhash","heightStyle","activate","beforeActivate","beforeLoad","running","_processTabs","_initialActive","isArray","unique","tabs","sort","anchors","_findActive","locationHash","tab","_getPanelForTab","_tabKeydown","focusedTab","goingForward","_handlePageNav","activating","_activate","_focusNextTab","ctrlKey","_panelKeydown","altKey","_findNextTab","constrain","lastTabIndex","_setupDisabled","_setupHeightStyle","_tabId","_sanitizeSelector","tablist","aria-selected","panels","aria-expanded","aria-hidden","_getList","anchorId","originalAriaControls","_createPanel","aria-controls","maxHeight","_eventHandler","clickedIsActive","collapsing","toShow","toHide","eventData","oldTab","oldPanel","newTab","newPanel","abort","_show","_hide","_getIndex","num","merge","_ajaxSettings","statusText","response","jqXHR","beforeSend","ajaxSettings","checkTilt","aig","accelerationIncludingGravity","z","iosorientationfixEnabled","hideRenderingClass","initializePage","$pages","hashPage"],"mappings":"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"} \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/main/webapp/js/nacl_factory.js b/ucoinj-ui-wicket/src/main/webapp/js/nacl_factory.js deleted file mode 100644 index a1a427c6c7b6284421d3fe9c690024235d4ceee0..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/js/nacl_factory.js +++ /dev/null @@ -1,26504 +0,0 @@ -/* - * #%L - * uCoinj :: UI Wicket - * %% - * Copyright (C) 2014 - 2016 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -var nacl_factory = { - instantiate: function (requested_total_memory) { - return (function (window, document) { - var Module = {TOTAL_MEMORY: (requested_total_memory || 33554432)}; - var nacl_raw = Module; -function e(a) { - throw a; -} -var k = void 0, l = !0, m = null, n = !1; -function aa() { - return function() { - } -} -var q, r; -r || (r = eval("(function() { try { return Module || {} } catch(e) { return {} } })()")); -var ba = {}, t; -for(t in r) { - r.hasOwnProperty(t) && (ba[t] = r[t]) -} -var ca = "object" === typeof process && "function" === typeof require, da = "object" === typeof window, ea = "function" === typeof importScripts, fa = !da && !ca && !ea; -if(ca) { - r.print = function(a) { - process.stdout.write(a + "\n") - }; - r.printErr = function(a) { - process.stderr.write(a + "\n") - }; - var ga = require("fs"), ha = require("path"); - r.read = function(a, b) { - var a = ha.normalize(a), c = ga.readFileSync(a); - !c && a != ha.resolve(a) && (a = path.join(__dirname, "..", "src", a), c = ga.readFileSync(a)); - c && !b && (c = c.toString()); - return c - }; - r.readBinary = function(a) { - return r.read(a, l) - }; - r.load = function(a) { - ia(read(a)) - }; - r.arguments = process.argv.slice(2); - module.ee = r -}else { - fa ? (r.print = print, "undefined" != typeof printErr && (r.printErr = printErr), r.read = read, r.readBinary = function(a) { - return read(a, "binary") - }, "undefined" != typeof scriptArgs ? r.arguments = scriptArgs : "undefined" != typeof arguments && (r.arguments = arguments), this.Module = r) : da || ea ? (r.read = function(a) { - var b = new XMLHttpRequest; - b.open("GET", a, n); - b.send(m); - return b.responseText - }, "undefined" != typeof arguments && (r.arguments = arguments), da ? (r.print = function(a) { - console.log(a) - }, r.printErr = function(a) { - console.log(a) - }, this.Module = r) : ea && (r.print = aa(), r.load = importScripts)) : e("Unknown runtime environment. Where are we?") -} -function ia(a) { - eval.call(m, a) -} -"undefined" == !r.load && r.read && (r.load = function(a) { - ia(r.read(a)) -}); -r.print || (r.print = aa()); -r.printErr || (r.printErr = r.print); -r.arguments || (r.arguments = []); -r.print = r.print; -r.P = r.printErr; -r.preRun = []; -r.postRun = []; -for(t in ba) { - ba.hasOwnProperty(t) && (r[t] = ba[t]) -} -function ja() { - return u -} -function ka(a) { - u = a -} -function la(a) { - if(1 == ma) { - return 1 - } - var b = {"%i1":1, "%i8":1, "%i16":2, "%i32":4, "%i64":8, "%float":4, "%double":8}["%" + a]; - b || ("*" == a.charAt(a.length - 1) ? b = ma : "i" == a[0] && (a = parseInt(a.substr(1)), v(0 == a % 8), b = a / 8)); - return b -} -function na(a, b, c) { - c && c.length ? (c.splice || (c = Array.prototype.slice.call(c)), c.splice(0, 0, b), r["dynCall_" + a].apply(m, c)) : r["dynCall_" + a].call(m, b) -} -var oa; -function pa() { - var a = [], b = 0; - this.oa = function(c) { - c &= 255; - b && (a.push(c), b--); - if(0 == a.length) { - if(128 > c) { - return String.fromCharCode(c) - } - a.push(c); - b = 191 < c && 224 > c ? 1 : 2; - return"" - } - if(0 < b) { - return"" - } - var c = a[0], d = a[1], f = a[2], c = 191 < c && 224 > c ? String.fromCharCode((c & 31) << 6 | d & 63) : String.fromCharCode((c & 15) << 12 | (d & 63) << 6 | f & 63); - a.length = 0; - return c - }; - this.yb = function(a) { - for(var a = unescape(encodeURIComponent(a)), b = [], f = 0;f < a.length;f++) { - b.push(a.charCodeAt(f)) - } - return b - } -} -function qa(a) { - var b = u; - u = u + a | 0; - u = u + 7 >> 3 << 3; - return b -} -function ra(a) { - var b = sa; - sa = sa + a | 0; - sa = sa + 7 >> 3 << 3; - return b -} -function ua(a) { - var b = x; - x = x + a | 0; - x = x + 7 >> 3 << 3; - x >= va && wa("Cannot enlarge memory arrays in asm.js. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value, or (2) set Module.TOTAL_MEMORY before the program runs."); - return b -} -function xa(a, b) { - return Math.ceil(a / (b ? b : 8)) * (b ? b : 8) -} -var ma = 4, ya = {}, za = n, Aa; -function v(a, b) { - a || wa("Assertion failed: " + b) -} -r.ccall = function(a, b, c, d) { - return Ba(Ca(a), b, c, d) -}; -function Ca(a) { - try { - var b = r["_" + a]; - b || (b = eval("_" + a)) - }catch(c) { - } - v(b, "Cannot call unknown function " + a + " (perhaps LLVM optimizations or closure removed it?)"); - return b -} -function Ba(a, b, c, d) { - function f(a, b) { - if("string" == b) { - if(a === m || a === k || 0 === a) { - return 0 - } - g || (g = ja()); - var c = qa(a.length + 1); - Da(a, c); - return c - } - return"array" == b ? (g || (g = ja()), c = qa(a.length), Ea(a, c), c) : a - } - var g = 0, h = 0, d = d ? d.map(function(a) { - return f(a, c[h++]) - }) : []; - a = a.apply(m, d); - "string" == b ? b = Fa(a) : (v("array" != b), b = a); - g && ka(g); - return b -} -r.cwrap = function(a, b, c) { - var d = Ca(a); - return function() { - return Ba(d, b, c, Array.prototype.slice.call(arguments)) - } -}; -function Ga(a, b, c) { - c = c || "i8"; - "*" === c.charAt(c.length - 1) && (c = "i32"); - switch(c) { - case "i1": - A[a] = b; - break; - case "i8": - A[a] = b; - break; - case "i16": - Ha[a >> 1] = b; - break; - case "i32": - B[a >> 2] = b; - break; - case "i64": - Aa = [b >>> 0, (Math.min(+Math.floor(b / 4294967296), 4294967295) | 0) >>> 0]; - B[a >> 2] = Aa[0]; - B[a + 4 >> 2] = Aa[1]; - break; - case "float": - Ia[a >> 2] = b; - break; - case "double": - Ja[a >> 3] = b; - break; - default: - wa("invalid type for setValue: " + c) - } -} -r.setValue = Ga; -r.getValue = function(a, b) { - b = b || "i8"; - "*" === b.charAt(b.length - 1) && (b = "i32"); - switch(b) { - case "i1": - return A[a]; - case "i8": - return A[a]; - case "i16": - return Ha[a >> 1]; - case "i32": - return B[a >> 2]; - case "i64": - return B[a >> 2]; - case "float": - return Ia[a >> 2]; - case "double": - return Ja[a >> 3]; - default: - wa("invalid type for setValue: " + b) - } - return m -}; -var Ka = 0, La = 1, E = 2, Na = 4; -r.ALLOC_NORMAL = Ka; -r.ALLOC_STACK = La; -r.ALLOC_STATIC = E; -r.ALLOC_DYNAMIC = 3; -r.ALLOC_NONE = Na; -function F(a, b, c, d) { - var f, g; - "number" === typeof a ? (f = l, g = a) : (f = n, g = a.length); - var h = "string" === typeof b ? b : m, c = c == Na ? d : [Oa, qa, ra, ua][c === k ? E : c](Math.max(g, h ? 1 : b.length)); - if(f) { - d = c; - v(0 == (c & 3)); - for(a = c + (g & -4);d < a;d += 4) { - B[d >> 2] = 0 - } - for(a = c + g;d < a;) { - A[d++ | 0] = 0 - } - return c - } - if("i8" === h) { - return a.subarray || a.slice ? G.set(a, c) : G.set(new Uint8Array(a), c), c - } - for(var d = 0, i, j;d < g;) { - var p = a[d]; - "function" === typeof p && (p = ya.fe(p)); - f = h || b[d]; - 0 === f ? d++ : ("i64" == f && (f = "i32"), Ga(c + d, p, f), j !== f && (i = la(f), j = f), d += i) - } - return c -} -r.allocate = F; -function Fa(a, b) { - for(var c = n, d, f = 0;;) { - d = G[a + f | 0]; - if(128 <= d) { - c = l - }else { - if(0 == d && !b) { - break - } - } - f++; - if(b && f == b) { - break - } - } - b || (b = f); - var g = ""; - if(!c) { - for(;0 < b;) { - d = String.fromCharCode.apply(String, G.subarray(a, a + Math.min(b, 1024))), g = g ? g + d : d, a += 1024, b -= 1024 - } - return g - } - c = new pa; - for(f = 0;f < b;f++) { - d = G[a + f | 0], g += c.oa(d) - } - return g -} -r.Pointer_stringify = Fa; -var A, G, Ha, Pa, B, Qa, Ia, Ja, Ra = 0, sa = 0, Sa = 0, u = 0, Ta = 0, Ua = 0, x = 0, va = r.TOTAL_MEMORY || 16777216; -v(!!Int32Array && !!Float64Array && !!(new Int32Array(1)).subarray && !!(new Int32Array(1)).set, "Cannot fallback to non-typed array case: Code is too specialized"); -var I = new ArrayBuffer(va); -A = new Int8Array(I); -Ha = new Int16Array(I); -B = new Int32Array(I); -G = new Uint8Array(I); -Pa = new Uint16Array(I); -Qa = new Uint32Array(I); -Ia = new Float32Array(I); -Ja = new Float64Array(I); -B[0] = 255; -v(255 === G[0] && 0 === G[3], "Typed arrays 2 must be run on a little-endian system"); -r.HEAP = k; -r.HEAP8 = A; -r.HEAP16 = Ha; -r.HEAP32 = B; -r.HEAPU8 = G; -r.HEAPU16 = Pa; -r.HEAPU32 = Qa; -r.HEAPF32 = Ia; -r.HEAPF64 = Ja; -function Va(a) { - for(;0 < a.length;) { - var b = a.shift(); - if("function" == typeof b) { - b() - }else { - var c = b.V; - "number" === typeof c ? b.ha === k ? na("v", c) : na("vi", c, [b.ha]) : c(b.ha === k ? m : b.ha) - } - } -} -var Wa = [], Xa = [], Ya = [], Za = [], $a = [], ab = n; -function bb(a) { - Wa.unshift(a) -} -r.addOnPreRun = r.Vd = bb; -r.addOnInit = r.Sd = function(a) { - Xa.unshift(a) -}; -r.addOnPreMain = r.Ud = function(a) { - Ya.unshift(a) -}; -r.addOnExit = r.Rd = function(a) { - Za.unshift(a) -}; -function cb(a) { - $a.unshift(a) -} -r.addOnPostRun = r.Td = cb; -function J(a, b, c) { - a = (new pa).yb(a); - c && (a.length = c); - b || a.push(0); - return a -} -r.intArrayFromString = J; -r.intArrayToString = function(a) { - for(var b = [], c = 0;c < a.length;c++) { - var d = a[c]; - 255 < d && (d &= 255); - b.push(String.fromCharCode(d)) - } - return b.join("") -}; -function Da(a, b, c) { - a = J(a, c); - for(c = 0;c < a.length;) { - A[b + c | 0] = a[c], c += 1 - } -} -r.writeStringToMemory = Da; -function Ea(a, b) { - for(var c = 0;c < a.length;c++) { - A[b + c | 0] = a[c] - } -} -r.writeArrayToMemory = Ea; -function db(a, b) { - return 0 <= a ? a : 32 >= b ? 2 * Math.abs(1 << b - 1) + a : Math.pow(2, b) + a -} -function eb(a, b) { - if(0 >= a) { - return a - } - var c = 32 >= b ? Math.abs(1 << b - 1) : Math.pow(2, b - 1); - if(a >= c && (32 >= b || a > c)) { - a = -2 * c + a - } - return a -} -Math.imul || (Math.imul = function(a, b) { - var c = a & 65535, d = b & 65535; - return c * d + ((a >>> 16) * d + c * (b >>> 16) << 16) | 0 -}); -Math.ie = Math.imul; -var K = 0, fb = {}, gb = n, hb = m; -function ib(a) { - K++; - r.monitorRunDependencies && r.monitorRunDependencies(K); - a ? (v(!fb[a]), fb[a] = 1) : r.P("warning: run dependency added without ID") -} -r.addRunDependency = ib; -function jb(a) { - K--; - r.monitorRunDependencies && r.monitorRunDependencies(K); - a ? (v(fb[a]), delete fb[a]) : r.P("warning: run dependency removed without ID"); - 0 == K && (hb !== m && (clearInterval(hb), hb = m), !gb && kb && lb()) -} -r.removeRunDependency = jb; -r.preloadedImages = {}; -r.preloadedAudios = {}; -Ra = 8; -sa = Ra + 112632; -Xa.push({V:function() { - mb() -}}); -var nb, ob, pb; -nb = nb = F([0, 0, 0, 0, 0, 0, 0, 0], "i8", E); -ob = ob = F([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "i8", E); -pb = pb = F([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "i8", E); -F([101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107, 101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107, 101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107, 101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107, 101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107, 101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107, 101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, -32, 107, 101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107, 101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107, 111, 112, 116, 105, 111, 110, 32, 114, 101, 113, 117, 105, 114, 101, 115, 32, 97, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 32, 45, 45, 32, 37, 115, 0, 0, 0, 0, 0, 0, 0, 111, 112, 116, 105, 111, 110, 32, 114, 101, 113, 117, 105, 114, 101, 115, 32, 97, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 32, 45, 45, 32, 37, 99, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 36, 64, 0, 0, 0, 0, 0, 0, 89, 64, 0, 0, 0, 0, 0, 136, 195, 64, 0, 0, 0, 0, 132, 215, 151, 65, 0, 128, 224, 55, 121, 195, 65, 67, 23, 110, 5, 181, 181, 184, 147, 70, 245, 249, 63, 233, 3, 79, 56, 77, 50, 29, 48, 249, 72, 119, 130, 90, 60, 191, 115, 127, 221, 79, 21, 117, 16, 182, 1, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 111, 112, 116, 105, 111, 110, 32, 100, 111, 101, -115, 110, 39, 116, 32, 116, 97, 107, 101, 32, 97, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 32, 45, 45, 32, 37, 46, 42, 115, 0, 27, 0, 0, 0, 19, 0, 0, 0, 44, 0, 0, 0, 10, 0, 0, 0, 163, 0, 0, 0, 229, 0, 0, 0, 156, 0, 0, 0, 237, 0, 0, 0, 167, 0, 0, 0, 41, 0, 0, 0, 99, 0, 0, 0, 8, 0, 0, 0, 93, 0, 0, 0, 33, 0, 0, 0, 6, 0, 0, 0, 33, 0, 0, 0, 235, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, -0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 19, 0, 0, 0, 44, 0, 0, 0, 10, 0, 0, 0, 163, 0, 0, 0, 229, 0, 0, 0, 156, 0, 0, 0, 237, 0, 0, 0, 167, 0, 0, 0, 41, 0, 0, 0, 99, 0, 0, 0, 8, 0, 0, 0, 93, 0, 0, 0, 33, 0, 0, 0, 6, 0, 0, 0, 33, 0, 0, 0, 235, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, -0, 0, 0, 255, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, 0, 0, 0, 237, 0, 0, 0, 211, 0, 0, 0, 245, 0, 0, 0, 92, 0, 0, 0, 26, 0, 0, 0, 99, 0, 0, 0, 18, 0, 0, 0, 88, 0, 0, 0, 214, 0, 0, 0, 156, 0, 0, 0, 247, 0, 0, 0, 162, 0, 0, 0, 222, 0, 0, 0, 249, 0, 0, 0, 222, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 237, 0, 0, 0, 211, 0, 0, 0, 245, 0, 0, 0, 92, 0, 0, 0, 26, 0, 0, 0, 99, 0, 0, 0, 18, 0, 0, 0, 88, 0, 0, 0, 214, 0, 0, 0, 156, 0, 0, 0, 247, 0, 0, 0, 162, 0, 0, 0, 222, 0, 0, 0, 249, 0, 0, 0, 222, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 106, 9, 230, 103, 243, 188, 201, -8, 187, 103, 174, 133, 132, 202, 167, 59, 60, 110, 243, 114, 254, 148, 248, 43, 165, 79, 245, 58, 95, 29, 54, 241, 81, 14, 82, 127, 173, 230, 130, 209, 155, 5, 104, 140, 43, 62, 108, 31, 31, 131, 217, 171, 251, 65, 189, 107, 91, 224, 205, 25, 19, 126, 33, 121, 106, 9, 230, 103, 187, 103, 174, 133, 60, 110, 243, 114, 165, 79, 245, 58, 81, 14, 82, 127, 155, 5, 104, 140, 31, 131, 217, 171, 91, 224, 205, 25, 106, 9, 230, 103, 243, 188, 201, 8, 187, 103, 174, 133, 132, 202, 167, 59, 60, 110, 243, 114, -254, 148, 248, 43, 165, 79, 245, 58, 95, 29, 54, 241, 81, 14, 82, 127, 173, 230, 130, 209, 155, 5, 104, 140, 43, 62, 108, 31, 31, 131, 217, 171, 251, 65, 189, 107, 91, 224, 205, 25, 19, 126, 33, 121, 106, 9, 230, 103, 187, 103, 174, 133, 60, 110, 243, 114, 165, 79, 245, 58, 81, 14, 82, 127, 155, 5, 104, 140, 31, 131, 217, 171, 91, 224, 205, 25, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, -63, 117, 110, 107, 110, 111, 119, 110, 32, 111, 112, 116, 105, 111, 110, 32, 45, 45, 32, 37, 115, 0, 0, 0, 0, 117, 110, 107, 110, 111, 119, 110, 32, 111, 112, 116, 105, 111, 110, 32, 45, 45, 32, 37, 99, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 176, 0, 0, 0, 160, 0, 0, 0, 14, 0, 0, 0, 74, 0, 0, 0, 39, 0, 0, 0, 27, 0, 0, 0, 238, 0, 0, 0, 196, 0, 0, 0, 120, 0, 0, 0, 228, 0, 0, 0, 47, 0, 0, 0, 173, 0, 0, 0, 6, 0, 0, 0, 24, 0, 0, 0, 67, 0, 0, 0, 47, 0, 0, 0, 167, 0, 0, 0, 215, 0, 0, 0, 251, 0, 0, 0, -61, 0, 0, 0, 153, 0, 0, 0, 0, 0, 0, 0, 77, 0, 0, 0, 43, 0, 0, 0, 11, 0, 0, 0, 223, 0, 0, 0, 193, 0, 0, 0, 79, 0, 0, 0, 128, 0, 0, 0, 36, 0, 0, 0, 131, 0, 0, 0, 43, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 163, 0, 0, 0, 120, 0, 0, 0, 89, 0, 0, 0, 19, 0, 0, 0, 202, 0, 0, 0, 77, 0, 0, 0, 235, 0, 0, 0, 117, 0, 0, 0, 171, 0, 0, 0, 216, 0, 0, 0, -65, 0, 0, 0, 65, 0, 0, 0, 77, 0, 0, 0, 10, 0, 0, 0, 112, 0, 0, 0, 0, 0, 0, 0, 152, 0, 0, 0, 232, 0, 0, 0, 121, 0, 0, 0, 119, 0, 0, 0, 121, 0, 0, 0, 64, 0, 0, 0, 199, 0, 0, 0, 140, 0, 0, 0, 115, 0, 0, 0, 254, 0, 0, 0, 111, 0, 0, 0, 43, 0, 0, 0, 238, 0, 0, 0, 108, 0, 0, 0, 3, 0, 0, 0, 82, 0, 0, 0, 89, 0, 0, 0, 241, 0, 0, 0, 178, 0, 0, 0, 38, 0, 0, 0, 148, 0, 0, 0, 155, 0, 0, 0, 214, 0, 0, 0, 235, 0, 0, 0, 86, 0, 0, 0, 177, 0, 0, 0, 131, 0, 0, 0, 130, 0, 0, 0, 154, 0, 0, 0, 20, 0, 0, 0, 224, 0, 0, 0, -0, 0, 0, 0, 48, 0, 0, 0, 209, 0, 0, 0, 243, 0, 0, 0, 238, 0, 0, 0, 242, 0, 0, 0, 128, 0, 0, 0, 142, 0, 0, 0, 25, 0, 0, 0, 231, 0, 0, 0, 252, 0, 0, 0, 223, 0, 0, 0, 86, 0, 0, 0, 220, 0, 0, 0, 217, 0, 0, 0, 6, 0, 0, 0, 36, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 26, 213, 37, 143, -96, 45, 86, 201, 178, 167, 37, 149, 96, 199, 44, 105, 92, 220, 214, 253, 49, 226, 164, 192, 254, 83, 110, 205, 211, 54, 105, 33, 163, 221, 183, 165, 179, 138, 222, 109, 245, 82, 81, 119, 128, 159, 240, 32, 125, 227, 171, 100, 142, 78, 234, 102, 101, 118, 139, 215, 15, 95, 135, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 213, 0, 0, 0, 37, 0, 0, 0, 143, 0, 0, 0, 96, 0, 0, 0, 45, 0, 0, 0, 86, 0, 0, 0, 201, 0, 0, 0, 178, 0, 0, 0, 167, 0, 0, 0, 37, 0, 0, 0, 149, 0, 0, 0, 96, 0, 0, 0, 199, 0, 0, 0, 44, 0, 0, 0, 105, 0, 0, 0, 92, 0, 0, 0, 220, 0, 0, 0, 214, 0, 0, 0, 253, 0, 0, 0, 49, 0, 0, 0, 226, 0, 0, 0, 164, 0, 0, 0, 192, 0, 0, 0, 254, 0, 0, 0, 83, 0, 0, 0, 110, 0, 0, 0, 205, 0, 0, 0, 211, 0, 0, 0, 54, 0, 0, 0, 105, 0, 0, 0, 33, 0, 0, 0, 88, 0, 0, 0, 102, -0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 14, 0, 0, 0, 206, 0, 0, 0, 67, 0, 0, 0, 40, 0, 0, 0, 78, 0, 0, 0, 161, 0, -0, 0, 197, 0, 0, 0, 131, 0, 0, 0, 95, 0, 0, 0, 164, 0, 0, 0, 215, 0, 0, 0, 21, 0, 0, 0, 69, 0, 0, 0, 142, 0, 0, 0, 13, 0, 0, 0, 8, 0, 0, 0, 172, 0, 0, 0, 231, 0, 0, 0, 51, 0, 0, 0, 24, 0, 0, 0, 125, 0, 0, 0, 59, 0, 0, 0, 4, 0, 0, 0, 61, 0, 0, 0, 108, 0, 0, 0, 4, 0, 0, 0, 90, 0, 0, 0, 159, 0, 0, 0, 76, 0, 0, 0, 56, 0, 0, 0, 171, 0, 0, 0, 54, 0, 0, 0, 201, 0, 0, 0, 163, 0, 0, 0, 248, 0, 0, 0, 106, 0, 0, 0, 174, 0, 0, 0, 70, 0, 0, 0, 95, 0, 0, 0, 14, 0, 0, 0, 86, 0, 0, 0, 81, 0, 0, 0, 56, 0, 0, 0, 100, -0, 0, 0, 81, 0, 0, 0, 15, 0, 0, 0, 57, 0, 0, 0, 151, 0, 0, 0, 86, 0, 0, 0, 31, 0, 0, 0, 162, 0, 0, 0, 201, 0, 0, 0, 232, 0, 0, 0, 94, 0, 0, 0, 162, 0, 0, 0, 29, 0, 0, 0, 194, 0, 0, 0, 41, 0, 0, 0, 35, 0, 0, 0, 9, 0, 0, 0, 243, 0, 0, 0, 205, 0, 0, 0, 96, 0, 0, 0, 34, 0, 0, 0, 92, 0, 0, 0, 226, 0, 0, 0, 248, 0, 0, 0, 211, 0, 0, 0, 95, 0, 0, 0, 72, 0, 0, 0, 98, 0, 0, 0, 172, 0, 0, 0, 134, 0, 0, 0, 72, 0, 0, 0, 98, 0, 0, 0, 129, 0, 0, 0, 25, 0, 0, 0, 152, 0, 0, 0, 67, 0, 0, 0, 99, 0, 0, 0, 58, 0, 0, -0, 200, 0, 0, 0, 218, 0, 0, 0, 62, 0, 0, 0, 116, 0, 0, 0, 174, 0, 0, 0, 244, 0, 0, 0, 31, 0, 0, 0, 73, 0, 0, 0, 143, 0, 0, 0, 146, 0, 0, 0, 34, 0, 0, 0, 74, 0, 0, 0, 156, 0, 0, 0, 174, 0, 0, 0, 103, 0, 0, 0, 212, 0, 0, 0, 180, 0, 0, 0, 245, 0, 0, 0, 120, 0, 0, 0, 72, 0, 0, 0, 104, 0, 0, 0, 195, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 3, 0, 0, 0, 36, 0, 0, 0, 103, 0, 0, 0, 23, 0, 0, 0, 236, 0, 0, 0, 22, 0, 0, 0, 159, 0, 0, 0, 247, 0, 0, 0, 158, 0, 0, 0, 38, 0, 0, 0, 96, 0, 0, 0, 142, 0, 0, 0, 161, 0, 0, -0, 38, 0, 0, 0, 161, 0, 0, 0, 171, 0, 0, 0, 105, 0, 0, 0, 238, 0, 0, 0, 119, 0, 0, 0, 209, 0, 0, 0, 177, 0, 0, 0, 103, 0, 0, 0, 18, 0, 0, 0, 112, 0, 0, 0, 248, 0, 0, 0, 201, 0, 0, 0, 196, 0, 0, 0, 87, 0, 0, 0, 166, 0, 0, 0, 58, 0, 0, 0, 73, 0, 0, 0, 71, 0, 0, 0, 21, 0, 0, 0, 206, 0, 0, 0, 147, 0, 0, 0, 193, 0, 0, 0, 158, 0, 0, 0, 115, 0, 0, 0, 26, 0, 0, 0, 249, 0, 0, 0, 32, 0, 0, 0, 53, 0, 0, 0, 122, 0, 0, 0, 184, 0, 0, 0, 212, 0, 0, 0, 37, 0, 0, 0, 131, 0, 0, 0, 70, 0, 0, 0, 241, 0, 0, 0, 207, 0, -0, 0, 86, 0, 0, 0, 219, 0, 0, 0, 168, 0, 0, 0, 61, 0, 0, 0, 32, 0, 0, 0, 47, 0, 0, 0, 17, 0, 0, 0, 50, 0, 0, 0, 202, 0, 0, 0, 97, 0, 0, 0, 171, 0, 0, 0, 56, 0, 0, 0, 223, 0, 0, 0, 240, 0, 0, 0, 15, 0, 0, 0, 47, 0, 0, 0, 234, 0, 0, 0, 50, 0, 0, 0, 40, 0, 0, 0, 242, 0, 0, 0, 76, 0, 0, 0, 108, 0, 0, 0, 113, 0, 0, 0, 213, 0, 0, 0, 128, 0, 0, 0, 133, 0, 0, 0, 184, 0, 0, 0, 14, 0, 0, 0, 71, 0, 0, 0, 225, 0, 0, 0, 149, 0, 0, 0, 21, 0, 0, 0, 203, 0, 0, 0, 39, 0, 0, 0, 232, 0, 0, 0, 208, 0, 0, 0, 71, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0, 132, 0, 0, 0, 165, 0, 0, 0, 8, 0, 0, 0, 188, 0, 0, 0, 253, 0, 0, 0, 135, 0, 0, 0, 59, 0, 0, 0, 153, 0, 0, 0, 139, 0, 0, 0, 105, 0, 0, 0, 128, 0, 0, 0, 123, 0, 0, 0, 198, 0, 0, 0, 58, 0, 0, 0, 235, 0, 0, 0, 147, 0, 0, -0, 207, 0, 0, 0, 78, 0, 0, 0, 248, 0, 0, 0, 92, 0, 0, 0, 45, 0, 0, 0, 134, 0, 0, 0, 66, 0, 0, 0, 182, 0, 0, 0, 113, 0, 0, 0, 215, 0, 0, 0, 151, 0, 0, 0, 95, 0, 0, 0, 225, 0, 0, 0, 66, 0, 0, 0, 103, 0, 0, 0, 180, 0, 0, 0, 185, 0, 0, 0, 55, 0, 0, 0, 252, 0, 0, 0, 169, 0, 0, 0, 91, 0, 0, 0, 47, 0, 0, 0, 30, 0, 0, 0, 147, 0, 0, 0, 228, 0, 0, 0, 30, 0, 0, 0, 98, 0, 0, 0, 252, 0, 0, 0, 60, 0, 0, 0, 120, 0, 0, 0, 129, 0, 0, 0, 143, 0, 0, 0, 243, 0, 0, 0, 138, 0, 0, 0, 102, 0, 0, 0, 9, 0, 0, 0, 111, 0, 0, -0, 173, 0, 0, 0, 110, 0, 0, 0, 121, 0, 0, 0, 115, 0, 0, 0, 229, 0, 0, 0, 201, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 211, 0, 0, 0, 33, 0, 0, 0, 248, 0, 0, 0, 249, 0, 0, 0, 40, 0, 0, 0, 108, 0, 0, 0, 109, 0, 0, 0, 89, 0, 0, 0, 178, 0, 0, 0, 89, 0, 0, 0, 116, 0, 0, 0, 35, 0, 0, 0, 191, 0, 0, 0, 231, 0, 0, 0, 51, 0, 0, 0, 141, 0, 0, 0, 87, 0, 0, 0, 9, 0, 0, 0, 145, 0, 0, 0, 156, 0, 0, 0, 36, 0, 0, 0, 8, 0, 0, 0, 21, 0, 0, 0, 43, 0, 0, 0, 226, 0, 0, 0, 184, 0, 0, 0, 238, 0, 0, 0, 58, 0, 0, 0, 229, 0, 0, 0, -39, 0, 0, 0, 6, 0, 0, 0, 134, 0, 0, 0, 164, 0, 0, 0, 35, 0, 0, 0, 235, 0, 0, 0, 39, 0, 0, 0, 103, 0, 0, 0, 193, 0, 0, 0, 55, 0, 0, 0, 171, 0, 0, 0, 122, 0, 0, 0, 216, 0, 0, 0, 39, 0, 0, 0, 156, 0, 0, 0, 7, 0, 0, 0, 142, 0, 0, 0, 255, 0, 0, 0, 17, 0, 0, 0, 106, 0, 0, 0, 176, 0, 0, 0, 120, 0, 0, 0, 110, 0, 0, 0, 173, 0, 0, 0, 58, 0, 0, 0, 46, 0, 0, 0, 15, 0, 0, 0, 152, 0, 0, 0, 159, 0, 0, 0, 114, 0, 0, 0, 195, 0, 0, 0, 127, 0, 0, 0, 130, 0, 0, 0, 242, 0, 0, 0, 150, 0, 0, 0, 150, 0, 0, 0, 112, 0, 0, -0, 129, 0, 0, 0, 107, 0, 0, 0, 136, 0, 0, 0, 232, 0, 0, 0, 30, 0, 0, 0, 199, 0, 0, 0, 119, 0, 0, 0, 150, 0, 0, 0, 14, 0, 0, 0, 161, 0, 0, 0, 169, 0, 0, 0, 82, 0, 0, 0, 224, 0, 0, 0, 216, 0, 0, 0, 14, 0, 0, 0, 97, 0, 0, 0, 158, 0, 0, 0, 121, 0, 0, 0, 45, 0, 0, 0, 149, 0, 0, 0, 156, 0, 0, 0, 141, 0, 0, 0, 150, 0, 0, 0, 224, 0, 0, 0, 6, 0, 0, 0, 64, 0, 0, 0, 93, 0, 0, 0, 135, 0, 0, 0, 40, 0, 0, 0, 95, 0, 0, 0, 152, 0, 0, 0, 112, 0, 0, 0, 241, 0, 0, 0, 121, 0, 0, 0, 123, 0, 0, 0, 237, 0, 0, 0, 79, 0, -0, 0, 68, 0, 0, 0, 178, 0, 0, 0, 231, 0, 0, 0, 8, 0, 0, 0, 13, 0, 0, 0, 194, 0, 0, 0, 8, 0, 0, 0, 18, 0, 0, 0, 210, 0, 0, 0, 159, 0, 0, 0, 223, 0, 0, 0, 205, 0, 0, 0, 147, 0, 0, 0, 32, 0, 0, 0, 138, 0, 0, 0, 207, 0, 0, 0, 51, 0, 0, 0, 202, 0, 0, 0, 109, 0, 0, 0, 137, 0, 0, 0, 185, 0, 0, 0, 119, 0, 0, 0, 200, 0, 0, 0, 147, 0, 0, 0, 27, 0, 0, 0, 78, 0, 0, 0, 96, 0, 0, 0, 38, 0, 0, 0, 79, 0, 0, 0, 126, 0, 0, 0, 151, 0, 0, 0, 246, 0, 0, 0, 64, 0, 0, 0, 221, 0, 0, 0, 79, 0, 0, 0, 252, 0, 0, 0, 82, 0, -0, 0, 120, 0, 0, 0, 249, 0, 0, 0, 144, 0, 0, 0, 49, 0, 0, 0, 3, 0, 0, 0, 230, 0, 0, 0, 125, 0, 0, 0, 86, 0, 0, 0, 57, 0, 0, 0, 11, 0, 0, 0, 29, 0, 0, 0, 86, 0, 0, 0, 130, 0, 0, 0, 133, 0, 0, 0, 249, 0, 0, 0, 26, 0, 0, 0, 66, 0, 0, 0, 23, 0, 0, 0, 105, 0, 0, 0, 108, 0, 0, 0, 207, 0, 0, 0, 57, 0, 0, 0, 105, 0, 0, 0, 210, 0, 0, 0, 6, 0, 0, 0, 58, 0, 0, 0, 79, 0, 0, 0, 57, 0, 0, 0, 45, 0, 0, 0, 249, 0, 0, 0, 56, 0, 0, 0, 64, 0, 0, 0, 140, 0, 0, 0, 76, 0, 0, 0, 231, 0, 0, 0, 5, 0, 0, 0, 18, 0, 0, 0, 180, -0, 0, 0, 120, 0, 0, 0, 139, 0, 0, 0, 248, 0, 0, 0, 192, 0, 0, 0, 236, 0, 0, 0, 147, 0, 0, 0, 222, 0, 0, 0, 122, 0, 0, 0, 107, 0, 0, 0, 206, 0, 0, 0, 44, 0, 0, 0, 225, 0, 0, 0, 14, 0, 0, 0, 169, 0, 0, 0, 52, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, -0, 0, 164, 0, 0, 0, 60, 0, 0, 0, 176, 0, 0, 0, 15, 0, 0, 0, 122, 0, 0, 0, 81, 0, 0, 0, 241, 0, 0, 0, 120, 0, 0, 0, 214, 0, 0, 0, 217, 0, 0, 0, 106, 0, 0, 0, 253, 0, 0, 0, 70, 0, 0, 0, 232, 0, 0, 0, 184, 0, 0, 0, 168, 0, 0, 0, 121, 0, 0, 0, 29, 0, 0, 0, 135, 0, 0, 0, 249, 0, 0, 0, 144, 0, 0, 0, 242, 0, 0, 0, 156, 0, 0, 0, 19, 0, 0, 0, 41, 0, 0, 0, 248, 0, 0, 0, 11, 0, 0, 0, 32, 0, 0, 0, 100, 0, 0, 0, 250, 0, 0, 0, 5, 0, 0, 0, 38, 0, 0, 0, 9, 0, 0, 0, 218, 0, 0, 0, 23, 0, 0, 0, 175, 0, 0, 0, 149, 0, -0, 0, 214, 0, 0, 0, 251, 0, 0, 0, 106, 0, 0, 0, 25, 0, 0, 0, 13, 0, 0, 0, 110, 0, 0, 0, 94, 0, 0, 0, 18, 0, 0, 0, 241, 0, 0, 0, 153, 0, 0, 0, 76, 0, 0, 0, 170, 0, 0, 0, 168, 0, 0, 0, 111, 0, 0, 0, 121, 0, 0, 0, 134, 0, 0, 0, 244, 0, 0, 0, 114, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 249, 0, 0, 0, 234, 0, 0, 0, 158, 0, 0, 0, 25, 0, 0, 0, 61, 0, 0, 0, 135, 0, 0, 0, 221, 0, 0, 0, 207, 0, 0, 0, 240, 0, 0, 0, 91, 0, 0, 0, 73, 0, 0, 0, 162, 0, 0, 0, 93, 0, 0, 0, 64, 0, 0, 0, 122, 0, 0, 0, 35, 0, -0, 0, 38, 0, 0, 0, 164, 0, 0, 0, 122, 0, 0, 0, 131, 0, 0, 0, 138, 0, 0, 0, 183, 0, 0, 0, 139, 0, 0, 0, 210, 0, 0, 0, 26, 0, 0, 0, 191, 0, 0, 0, 234, 0, 0, 0, 2, 0, 0, 0, 36, 0, 0, 0, 8, 0, 0, 0, 95, 0, 0, 0, 123, 0, 0, 0, 169, 0, 0, 0, 177, 0, 0, 0, 190, 0, 0, 0, 157, 0, 0, 0, 55, 0, 0, 0, 252, 0, 0, 0, 134, 0, 0, 0, 75, 0, 0, 0, 8, 0, 0, 0, 238, 0, 0, 0, 231, 0, 0, 0, 160, 0, 0, 0, 253, 0, 0, 0, 33, 0, 0, 0, 69, 0, 0, 0, 9, 0, 0, 0, 52, 0, 0, 0, 193, 0, 0, 0, 97, 0, 0, 0, 50, 0, 0, 0, 35, 0, 0, -0, 252, 0, 0, 0, 155, 0, 0, 0, 85, 0, 0, 0, 72, 0, 0, 0, 83, 0, 0, 0, 153, 0, 0, 0, 247, 0, 0, 0, 99, 0, 0, 0, 208, 0, 0, 0, 153, 0, 0, 0, 206, 0, 0, 0, 1, 0, 0, 0, 224, 0, 0, 0, 159, 0, 0, 0, 235, 0, 0, 0, 40, 0, 0, 0, 71, 0, 0, 0, 252, 0, 0, 0, 171, 0, 0, 0, 90, 0, 0, 0, 23, 0, 0, 0, 240, 0, 0, 0, 133, 0, 0, 0, 86, 0, 0, 0, 58, 0, 0, 0, 48, 0, 0, 0, 134, 0, 0, 0, 32, 0, 0, 0, 40, 0, 0, 0, 75, 0, 0, 0, 142, 0, 0, 0, 68, 0, 0, 0, 116, 0, 0, 0, 58, 0, 0, 0, 110, 0, 0, 0, 2, 0, 0, 0, 241, 0, 0, 0, -50, 0, 0, 0, 143, 0, 0, 0, 159, 0, 0, 0, 63, 0, 0, 0, 8, 0, 0, 0, 53, 0, 0, 0, 233, 0, 0, 0, 202, 0, 0, 0, 22, 0, 0, 0, 95, 0, 0, 0, 110, 0, 0, 0, 28, 0, 0, 0, 89, 0, 0, 0, 28, 0, 0, 0, 101, 0, 0, 0, 93, 0, 0, 0, 52, 0, 0, 0, 164, 0, 0, 0, 9, 0, 0, 0, 205, 0, 0, 0, 19, 0, 0, 0, 156, 0, 0, 0, 112, 0, 0, 0, 125, 0, 0, 0, 177, 0, 0, 0, 42, 0, 0, 0, 197, 0, 0, 0, 136, 0, 0, 0, 175, 0, 0, 0, 11, 0, 0, 0, 96, 0, 0, 0, 199, 0, 0, 0, 159, 0, 0, 0, 52, 0, 0, 0, 141, 0, 0, 0, 214, 0, 0, 0, 183, 0, 0, 0, 127, -0, 0, 0, 234, 0, 0, 0, 120, 0, 0, 0, 101, 0, 0, 0, 141, 0, 0, 0, 119, 0, 0, 0, 86, 0, 0, 0, 165, 0, 0, 0, 194, 0, 0, 0, 12, 0, 0, 0, 221, 0, 0, 0, 188, 0, 0, 0, 184, 0, 0, 0, 32, 0, 0, 0, 109, 0, 0, 0, 87, 0, 0, 0, 97, 0, 0, 0, 181, 0, 0, 0, 251, 0, 0, 0, 120, 0, 0, 0, 181, 0, 0, 0, 212, 0, 0, 0, 73, 0, 0, 0, 84, 0, 0, 0, 144, 0, 0, 0, 38, 0, 0, 0, 193, 0, 0, 0, 203, 0, 0, 0, 233, 0, 0, 0, 230, 0, 0, 0, 191, 0, 0, 0, 236, 0, 0, 0, 29, 0, 0, 0, 78, 0, 0, 0, 237, 0, 0, 0, 7, 0, 0, 0, 126, 0, 0, 0, -94, 0, 0, 0, 199, 0, 0, 0, 246, 0, 0, 0, 108, 0, 0, 0, 86, 0, 0, 0, 49, 0, 0, 0, 32, 0, 0, 0, 20, 0, 0, 0, 14, 0, 0, 0, 168, 0, 0, 0, 217, 0, 0, 0, 39, 0, 0, 0, 193, 0, 0, 0, 154, 0, 0, 0, 61, 0, 0, 0, 27, 0, 0, 0, 125, 0, 0, 0, 14, 0, 0, 0, 38, 0, 0, 0, 211, 0, 0, 0, 129, 0, 0, 0, 170, 0, 0, 0, 235, 0, 0, 0, 245, 0, 0, 0, 107, 0, 0, 0, 121, 0, 0, 0, 2, 0, 0, 0, 241, 0, 0, 0, 81, 0, 0, 0, 92, 0, 0, 0, 117, 0, 0, 0, 85, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 0, 0, 0, 205, 0, 0, 0, 130, 0, 0, 0, 60, 0, 0, 0, 51, 0, 0, 0, 9, 0, 0, 0, 84, 0, 0, 0, 210, 0, 0, 0, 97, 0, 0, 0, 57, 0, 0, 0, 48, 0, 0, 0, 155, 0, 0, 0, 253, 0, 0, 0, 239, 0, 0, 0, 33, 0, 0, 0, 38, 0, 0, 0, 212, 0, 0, 0, 112, 0, 0, 0, 250, 0, 0, 0, 238, 0, 0, 0, 249, 0, 0, -0, 49, 0, 0, 0, 51, 0, 0, 0, 115, 0, 0, 0, 132, 0, 0, 0, 208, 0, 0, 0, 179, 0, 0, 0, 129, 0, 0, 0, 191, 0, 0, 0, 236, 0, 0, 0, 46, 0, 0, 0, 232, 0, 0, 0, 147, 0, 0, 0, 139, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 247, 0, 0, 0, 156, 0, 0, 0, 184, 0, 0, 0, 116, 0, 0, 0, 224, 0, 0, 0, 230, 0, 0, 0, 73, 0, 0, 0, 72, 0, 0, 0, 77, 0, 0, 0, 77, 0, 0, 0, 72, 0, 0, 0, 182, 0, 0, 0, 25, 0, 0, 0, 161, 0, 0, 0, 64, 0, 0, 0, 183, 0, 0, 0, 217, 0, 0, 0, 50, 0, 0, 0, 65, 0, 0, 0, 124, 0, 0, 0, 130, 0, 0, 0, 55, 0, 0, -0, 161, 0, 0, 0, 45, 0, 0, 0, 220, 0, 0, 0, 210, 0, 0, 0, 84, 0, 0, 0, 104, 0, 0, 0, 43, 0, 0, 0, 74, 0, 0, 0, 91, 0, 0, 0, 213, 0, 0, 0, 199, 0, 0, 0, 81, 0, 0, 0, 145, 0, 0, 0, 29, 0, 0, 0, 225, 0, 0, 0, 42, 0, 0, 0, 75, 0, 0, 0, 196, 0, 0, 0, 71, 0, 0, 0, 241, 0, 0, 0, 188, 0, 0, 0, 122, 0, 0, 0, 179, 0, 0, 0, 203, 0, 0, 0, 200, 0, 0, 0, 182, 0, 0, 0, 124, 0, 0, 0, 172, 0, 0, 0, 144, 0, 0, 0, 5, 0, 0, 0, 253, 0, 0, 0, 243, 0, 0, 0, 249, 0, 0, 0, 82, 0, 0, 0, 58, 0, 0, 0, 17, 0, 0, 0, 107, 0, 0, -0, 61, 0, 0, 0, 193, 0, 0, 0, 39, 0, 0, 0, 243, 0, 0, 0, 89, 0, 0, 0, 67, 0, 0, 0, 149, 0, 0, 0, 144, 0, 0, 0, 197, 0, 0, 0, 150, 0, 0, 0, 121, 0, 0, 0, 245, 0, 0, 0, 244, 0, 0, 0, 149, 0, 0, 0, 101, 0, 0, 0, 41, 0, 0, 0, 6, 0, 0, 0, 156, 0, 0, 0, 81, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 218, 0, 0, 0, 184, 0, 0, 0, 46, 0, 0, 0, 121, 0, 0, 0, 126, 0, 0, 0, 105, 0, 0, 0, 89, 0, 0, 0, 113, 0, 0, 0, 1, 0, 0, 0, 235, 0, 0, 0, 26, 0, 0, 0, 21, 0, 0, 0, 6, 0, 0, 0, 73, 0, 0, 0, 182, 0, 0, 0, 138, 0, 0, 0, -60, 0, 0, 0, 234, 0, 0, 0, 47, 0, 0, 0, 52, 0, 0, 0, 32, 0, 0, 0, 20, 0, 0, 0, 195, 0, 0, 0, 170, 0, 0, 0, 214, 0, 0, 0, 175, 0, 0, 0, 44, 0, 0, 0, 62, 0, 0, 0, 189, 0, 0, 0, 101, 0, 0, 0, 32, 0, 0, 0, 226, 0, 0, 0, 77, 0, 0, 0, 75, 0, 0, 0, 59, 0, 0, 0, 235, 0, 0, 0, 159, 0, 0, 0, 74, 0, 0, 0, 195, 0, 0, 0, 173, 0, 0, 0, 164, 0, 0, 0, 59, 0, 0, 0, 96, 0, 0, 0, 188, 0, 0, 0, 88, 0, 0, 0, 230, 0, 0, 0, 192, 0, 0, 0, 149, 0, 0, 0, 42, 0, 0, 0, 42, 0, 0, 0, 129, 0, 0, 0, 154, 0, 0, 0, 122, 0, 0, 0, -243, 0, 0, 0, 210, 0, 0, 0, 6, 0, 0, 0, 190, 0, 0, 0, 72, 0, 0, 0, 188, 0, 0, 0, 12, 0, 0, 0, 197, 0, 0, 0, 70, 0, 0, 0, 224, 0, 0, 0, 106, 0, 0, 0, 212, 0, 0, 0, 172, 0, 0, 0, 15, 0, 0, 0, 217, 0, 0, 0, 204, 0, 0, 0, 130, 0, 0, 0, 52, 0, 0, 0, 44, 0, 0, 0, 175, 0, 0, 0, 219, 0, 0, 0, 31, 0, 0, 0, 247, 0, 0, 0, 23, 0, 0, 0, 19, 0, 0, 0, 189, 0, 0, 0, 251, 0, 0, 0, 188, 0, 0, 0, 210, 0, 0, 0, 236, 0, 0, 0, 69, 0, 0, 0, 179, 0, 0, 0, 21, 0, 0, 0, 49, 0, 0, 0, 233, 0, 0, 0, 175, 0, 0, 0, 130, 0, 0, -0, 132, 0, 0, 0, 61, 0, 0, 0, 40, 0, 0, 0, 198, 0, 0, 0, 252, 0, 0, 0, 17, 0, 0, 0, 245, 0, 0, 0, 65, 0, 0, 0, 181, 0, 0, 0, 139, 0, 0, 0, 211, 0, 0, 0, 18, 0, 0, 0, 118, 0, 0, 0, 82, 0, 0, 0, 231, 0, 0, 0, 26, 0, 0, 0, 60, 0, 0, 0, 78, 0, 0, 0, 54, 0, 0, 0, 17, 0, 0, 0, 7, 0, 0, 0, 162, 0, 0, 0, 21, 0, 0, 0, 32, 0, 0, 0, 81, 0, 0, 0, 196, 0, 0, 0, 42, 0, 0, 0, 195, 0, 0, 0, 98, 0, 0, 0, 139, 0, 0, 0, 94, 0, 0, 0, 127, 0, 0, 0, 166, 0, 0, 0, 15, 0, 0, 0, 249, 0, 0, 0, 69, 0, 0, 0, 133, 0, 0, 0, 108, -0, 0, 0, 17, 0, 0, 0, 134, 0, 0, 0, 183, 0, 0, 0, 126, 0, 0, 0, 229, 0, 0, 0, 215, 0, 0, 0, 249, 0, 0, 0, 195, 0, 0, 0, 145, 0, 0, 0, 28, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 234, 0, 0, 0, 214, 0, 0, 0, 222, 0, 0, 0, 41, 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, -0, 185, 0, 0, 0, 2, 0, 0, 0, 89, 0, 0, 0, 203, 0, 0, 0, 38, 0, 0, 0, 196, 0, 0, 0, 186, 0, 0, 0, 153, 0, 0, 0, 177, 0, 0, 0, 151, 0, 0, 0, 47, 0, 0, 0, 142, 0, 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, 38, 0, 0, 0, 79, 0, 0, 0, 82, 0, 0, 0, 235, 0, 0, 0, 71, 0, 0, 0, 27, 0, 0, 0, 137, 0, 0, 0, 139, 0, 0, 0, 36, 0, 0, 0, 192, 0, 0, 0, 19, 0, 0, 0, 125, 0, 0, 0, 213, 0, 0, 0, 32, 0, 0, 0, 91, 0, 0, 0, 128, 0, 0, 0, 166, 0, 0, 0, 128, 0, 0, 0, 32, 0, 0, 0, 149, 0, 0, 0, 195, 0, 0, 0, 233, 0, 0, 0, 159, 0, 0, -0, 142, 0, 0, 0, 135, 0, 0, 0, 158, 0, 0, 0, 30, 0, 0, 0, 158, 0, 0, 0, 122, 0, 0, 0, 199, 0, 0, 0, 204, 0, 0, 0, 117, 0, 0, 0, 108, 0, 0, 0, 165, 0, 0, 0, 241, 0, 0, 0, 145, 0, 0, 0, 26, 0, 0, 0, 168, 0, 0, 0, 1, 0, 0, 0, 44, 0, 0, 0, 171, 0, 0, 0, 118, 0, 0, 0, 169, 0, 0, 0, 89, 0, 0, 0, 222, 0, 0, 0, 201, 0, 0, 0, 177, 0, 0, 0, 49, 0, 0, 0, 16, 0, 0, 0, 22, 0, 0, 0, 170, 0, 0, 0, 53, 0, 0, 0, 20, 0, 0, 0, 106, 0, 0, 0, 212, 0, 0, 0, 181, 0, 0, 0, 52, 0, 0, 0, 130, 0, 0, 0, 113, 0, 0, 0, 210, 0, -0, 0, 74, 0, 0, 0, 93, 0, 0, 0, 154, 0, 0, 0, 31, 0, 0, 0, 83, 0, 0, 0, 38, 0, 0, 0, 60, 0, 0, 0, 229, 0, 0, 0, 142, 0, 0, 0, 141, 0, 0, 0, 51, 0, 0, 0, 127, 0, 0, 0, 255, 0, 0, 0, 169, 0, 0, 0, 213, 0, 0, 0, 23, 0, 0, 0, 137, 0, 0, 0, 175, 0, 0, 0, 246, 0, 0, 0, 164, 0, 0, 0, 100, 0, 0, 0, 213, 0, 0, 0, 16, 0, 0, 0, 224, 0, 0, 0, 29, 0, 0, 0, 173, 0, 0, 0, 239, 0, 0, 0, 68, 0, 0, 0, 189, 0, 0, 0, 218, 0, 0, 0, 131, 0, 0, 0, 172, 0, 0, 0, 122, 0, 0, 0, 168, 0, 0, 0, 240, 0, 0, 0, 28, 0, 0, 0, 7, -0, 0, 0, 249, 0, 0, 0, 195, 0, 0, 0, 67, 0, 0, 0, 108, 0, 0, 0, 63, 0, 0, 0, 183, 0, 0, 0, 211, 0, 0, 0, 135, 0, 0, 0, 34, 0, 0, 0, 2, 0, 0, 0, 115, 0, 0, 0, 100, 0, 0, 0, 29, 0, 0, 0, 73, 0, 0, 0, 19, 0, 0, 0, 47, 0, 0, 0, 113, 0, 0, 0, 236, 0, 0, 0, 105, 0, 0, 0, 135, 0, 0, 0, 208, 0, 0, 0, 66, 0, 0, 0, 238, 0, 0, 0, 19, 0, 0, 0, 236, 0, 0, 0, 227, 0, 0, 0, 237, 0, 0, 0, 86, 0, 0, 0, 123, 0, 0, 0, 191, 0, 0, 0, 189, 0, 0, 0, 140, 0, 0, 0, 47, 0, 0, 0, 125, 0, 0, 0, 123, 0, 0, 0, 157, 0, 0, 0, 40, -0, 0, 0, 236, 0, 0, 0, 142, 0, 0, 0, 118, 0, 0, 0, 47, 0, 0, 0, 111, 0, 0, 0, 8, 0, 0, 0, 34, 0, 0, 0, 245, 0, 0, 0, 95, 0, 0, 0, 77, 0, 0, 0, 21, 0, 0, 0, 239, 0, 0, 0, 252, 0, 0, 0, 78, 0, 0, 0, 87, 0, 0, 0, 3, 0, 0, 0, 54, 0, 0, 0, 137, 0, 0, 0, 240, 0, 0, 0, 235, 0, 0, 0, 91, 0, 0, 0, 145, 0, 0, 0, 214, 0, 0, 0, 226, 0, 0, 0, 202, 0, 0, 0, 1, 0, 0, 0, 165, 0, 0, 0, 238, 0, 0, 0, 82, 0, 0, 0, 236, 0, 0, 0, 160, 0, 0, 0, 60, 0, 0, 0, 143, 0, 0, 0, 51, 0, 0, 0, 144, 0, 0, 0, 90, 0, 0, 0, 148, 0, -0, 0, 114, 0, 0, 0, 138, 0, 0, 0, 75, 0, 0, 0, 231, 0, 0, 0, 56, 0, 0, 0, 188, 0, 0, 0, 218, 0, 0, 0, 194, 0, 0, 0, 176, 0, 0, 0, 133, 0, 0, 0, 225, 0, 0, 0, 74, 0, 0, 0, 254, 0, 0, 0, 45, 0, 0, 0, 68, 0, 0, 0, 132, 0, 0, 0, 203, 0, 0, 0, 32, 0, 0, 0, 107, 0, 0, 0, 45, 0, 0, 0, 191, 0, 0, 0, 17, 0, 0, 0, 156, 0, 0, 0, 215, 0, 0, 0, 190, 0, 0, 0, 211, 0, 0, 0, 62, 0, 0, 0, 95, 0, 0, 0, 191, 0, 0, 0, 104, 0, 0, 0, 188, 0, 0, 0, 168, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 137, 0, 0, 0, 40, 0, 0, 0, 34, 0, -0, 0, 106, 0, 0, 0, 120, 0, 0, 0, 170, 0, 0, 0, 41, 0, 0, 0, 3, 0, 0, 0, 200, 0, 0, 0, 116, 0, 0, 0, 149, 0, 0, 0, 3, 0, 0, 0, 62, 0, 0, 0, 220, 0, 0, 0, 189, 0, 0, 0, 7, 0, 0, 0, 19, 0, 0, 0, 168, 0, 0, 0, 162, 0, 0, 0, 32, 0, 0, 0, 45, 0, 0, 0, 179, 0, 0, 0, 24, 0, 0, 0, 112, 0, 0, 0, 66, 0, 0, 0, 253, 0, 0, 0, 122, 0, 0, 0, 196, 0, 0, 0, 215, 0, 0, 0, 73, 0, 0, 0, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 255, 0, 0, 0, 50, 0, 0, 0, 43, 0, 0, 0, 92, 0, 0, 0, 147, 0, 0, 0, 84, 0, 0, 0, 50, 0, 0, 0, 232, 0, 0, 0, 87, 0, 0, 0, 84, 0, 0, 0, 26, 0, 0, 0, 139, 0, 0, 0, 51, 0, 0, 0, 96, 0, 0, 0, 101, 0, 0, 0, 211, 0, 0, 0, 103, 0, 0, 0, 164, 0, 0, 0, 193, 0, 0, 0, 38, 0, 0, 0, 196, 0, 0, 0, 164, 0, 0, 0, 52, 0, 0, 0, 31, 0, 0, 0, 155, 0, 0, 0, 167, -0, 0, 0, 169, 0, 0, 0, 244, 0, 0, 0, 217, 0, 0, 0, 79, 0, 0, 0, 91, 0, 0, 0, 70, 0, 0, 0, 141, 0, 0, 0, 176, 0, 0, 0, 51, 0, 0, 0, 84, 0, 0, 0, 38, 0, 0, 0, 91, 0, 0, 0, 104, 0, 0, 0, 223, 0, 0, 0, 187, 0, 0, 0, 197, 0, 0, 0, 236, 0, 0, 0, 194, 0, 0, 0, 249, 0, 0, 0, 60, 0, 0, 0, 90, 0, 0, 0, 55, 0, 0, 0, 193, 0, 0, 0, 142, 0, 0, 0, 39, 0, 0, 0, 71, 0, 0, 0, 170, 0, 0, 0, 73, 0, 0, 0, 90, 0, 0, 0, 248, 0, 0, 0, 251, 0, 0, 0, 104, 0, 0, 0, 4, 0, 0, 0, 35, 0, 0, 0, 209, 0, 0, 0, 235, 0, 0, 0, 64, 0, -0, 0, 101, 0, 0, 0, 165, 0, 0, 0, 17, 0, 0, 0, 132, 0, 0, 0, 138, 0, 0, 0, 103, 0, 0, 0, 157, 0, 0, 0, 158, 0, 0, 0, 209, 0, 0, 0, 68, 0, 0, 0, 104, 0, 0, 0, 122, 0, 0, 0, 52, 0, 0, 0, 225, 0, 0, 0, 159, 0, 0, 0, 163, 0, 0, 0, 84, 0, 0, 0, 205, 0, 0, 0, 7, 0, 0, 0, 202, 0, 0, 0, 121, 0, 0, 0, 31, 0, 0, 0, 84, 0, 0, 0, 47, 0, 0, 0, 19, 0, 0, 0, 112, 0, 0, 0, 78, 0, 0, 0, 238, 0, 0, 0, 162, 0, 0, 0, 250, 0, 0, 0, 231, 0, 0, 0, 93, 0, 0, 0, 54, 0, 0, 0, 236, 0, 0, 0, 84, 0, 0, 0, 248, 0, 0, 0, 206, -0, 0, 0, 228, 0, 0, 0, 133, 0, 0, 0, 223, 0, 0, 0, 246, 0, 0, 0, 111, 0, 0, 0, 29, 0, 0, 0, 144, 0, 0, 0, 8, 0, 0, 0, 188, 0, 0, 0, 232, 0, 0, 0, 192, 0, 0, 0, 146, 0, 0, 0, 45, 0, 0, 0, 67, 0, 0, 0, 107, 0, 0, 0, 146, 0, 0, 0, 169, 0, 0, 0, 142, 0, 0, 0, 171, 0, 0, 0, 10, 0, 0, 0, 46, 0, 0, 0, 28, 0, 0, 0, 30, 0, 0, 0, 100, 0, 0, 0, 35, 0, 0, 0, 159, 0, 0, 0, 44, 0, 0, 0, 167, 0, 0, 0, 214, 0, 0, 0, 46, 0, 0, 0, 213, 0, 0, 0, 204, 0, 0, 0, 212, 0, 0, 0, 203, 0, 0, 0, 90, 0, 0, 0, 59, 0, 0, 0, 167, -0, 0, 0, 249, 0, 0, 0, 70, 0, 0, 0, 3, 0, 0, 0, 29, 0, 0, 0, 173, 0, 0, 0, 43, 0, 0, 0, 52, 0, 0, 0, 49, 0, 0, 0, 144, 0, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 8, 0, 0, 0, 130, 0, 0, 0, 20, 0, 0, 0, 196, 0, 0, 0, 224, 0, 0, 0, 156, 0, 0, 0, 240, 0, 0, 0, 227, 0, 0, 0, 85, 0, 0, 0, 67, 0, 0, 0, 49, 0, 0, 0, 96, 0, 0, 0, 214, 0, 0, 0, 221, 0, 0, 0, 120, 0, 0, 0, 230, 0, 0, 0, 212, 0, 0, 0, 34, 0, 0, 0, 66, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 177, 0, 0, 0, 106, 0, 0, 0, 99, 0, 0, 0, 226, 0, 0, -0, 146, 0, 0, 0, 89, 0, 0, 0, 209, 0, 0, 0, 26, 0, 0, 0, 183, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 41, 0, 0, 0, 201, 0, 0, 0, 193, 0, 0, 0, 246, 0, 0, 0, 111, 0, 0, 0, 122, 0, 0, 0, 197, 0, 0, 0, 60, 0, 0, 0, 95, 0, 0, 0, 101, 0, 0, 0, 39, 0, 0, 0, 79, 0, 0, 0, 208, 0, 0, 0, 114, 0, 0, 0, 177, 0, 0, 0, 17, 0, 0, 0, 20, 0, 0, 0, 39, 0, 0, 0, 21, 0, 0, 0, 148, 0, 0, 0, 72, 0, 0, 0, 129, 0, 0, 0, 126, 0, 0, 0, 116, 0, 0, 0, 216, 0, 0, 0, 50, 0, 0, 0, 213, 0, 0, 0, 209, 0, 0, 0, 17, 0, 0, 0, 40, 0, 0, 0, -96, 0, 0, 0, 99, 0, 0, 0, 54, 0, 0, 0, 50, 0, 0, 0, 55, 0, 0, 0, 181, 0, 0, 0, 19, 0, 0, 0, 28, 0, 0, 0, 160, 0, 0, 0, 55, 0, 0, 0, 227, 0, 0, 0, 116, 0, 0, 0, 241, 0, 0, 0, 37, 0, 0, 0, 78, 0, 0, 0, 17, 0, 0, 0, 150, 0, 0, 0, 103, 0, 0, 0, 230, 0, 0, 0, 28, 0, 0, 0, 194, 0, 0, 0, 178, 0, 0, 0, 83, 0, 0, 0, 226, 0, 0, 0, 218, 0, 0, 0, 133, 0, 0, 0, 238, 0, 0, 0, 178, 0, 0, 0, 159, 0, 0, 0, 89, 0, 0, 0, 243, 0, 0, 0, 186, 0, 0, 0, 189, 0, 0, 0, 250, 0, 0, 0, 207, 0, 0, 0, 110, 0, 0, 0, 249, 0, 0, -0, 218, 0, 0, 0, 164, 0, 0, 0, 179, 0, 0, 0, 2, 0, 0, 0, 143, 0, 0, 0, 100, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 148, 0, 0, 0, 242, 0, 0, 0, 100, 0, 0, 0, 84, 0, 0, 0, 71, 0, 0, 0, 55, 0, 0, 0, 7, 0, 0, 0, 64, 0, 0, 0, 138, 0, 0, 0, 32, 0, -0, 0, 186, 0, 0, 0, 74, 0, 0, 0, 85, 0, 0, 0, 215, 0, 0, 0, 63, 0, 0, 0, 71, 0, 0, 0, 186, 0, 0, 0, 37, 0, 0, 0, 35, 0, 0, 0, 20, 0, 0, 0, 176, 0, 0, 0, 44, 0, 0, 0, 232, 0, 0, 0, 85, 0, 0, 0, 168, 0, 0, 0, 166, 0, 0, 0, 239, 0, 0, 0, 81, 0, 0, 0, 189, 0, 0, 0, 111, 0, 0, 0, 106, 0, 0, 0, 113, 0, 0, 0, 214, 0, 0, 0, 22, 0, 0, 0, 118, 0, 0, 0, 178, 0, 0, 0, 6, 0, 0, 0, 234, 0, 0, 0, 121, 0, 0, 0, 245, 0, 0, 0, 196, 0, 0, 0, 195, 0, 0, 0, 82, 0, 0, 0, 126, 0, 0, 0, 97, 0, 0, 0, 209, 0, 0, 0, 225, 0, -0, 0, 173, 0, 0, 0, 112, 0, 0, 0, 120, 0, 0, 0, 29, 0, 0, 0, 22, 0, 0, 0, 17, 0, 0, 0, 248, 0, 0, 0, 124, 0, 0, 0, 43, 0, 0, 0, 252, 0, 0, 0, 85, 0, 0, 0, 159, 0, 0, 0, 82, 0, 0, 0, 248, 0, 0, 0, 245, 0, 0, 0, 22, 0, 0, 0, 52, 0, 0, 0, 150, 0, 0, 0, 154, 0, 0, 0, 246, 0, 0, 0, 197, 0, 0, 0, 224, 0, 0, 0, 20, 0, 0, 0, 3, 0, 0, 0, 36, 0, 0, 0, 14, 0, 0, 0, 76, 0, 0, 0, 173, 0, 0, 0, 158, 0, 0, 0, 154, 0, 0, 0, 112, 0, 0, 0, 35, 0, 0, 0, 150, 0, 0, 0, 178, 0, 0, 0, 241, 0, 0, 0, 46, 0, 0, 0].concat([157, -0, 0, 0, 195, 0, 0, 0, 50, 0, 0, 0, 155, 0, 0, 0, 84, 0, 0, 0, 165, 0, 0, 0, 115, 0, 0, 0, 222, 0, 0, 0, 136, 0, 0, 0, 177, 0, 0, 0, 62, 0, 0, 0, 36, 0, 0, 0, 246, 0, 0, 0, 226, 0, 0, 0, 76, 0, 0, 0, 31, 0, 0, 0, 91, 0, 0, 0, 178, 0, 0, 0, 175, 0, 0, 0, 130, 0, 0, 0, 165, 0, 0, 0, 207, 0, 0, 0, 129, 0, 0, 0, 16, 0, 0, 0, 4, 0, 0, 0, 239, 0, 0, 0, 219, 0, 0, 0, 162, 0, 0, 0, 204, 0, 0, 0, 36, 0, 0, 0, 178, 0, 0, 0, 126, 0, 0, 0, 11, 0, 0, 0, 122, 0, 0, 0, 235, 0, 0, 0, 1, 0, 0, 0, 216, 0, 0, 0, 82, -0, 0, 0, 244, 0, 0, 0, 81, 0, 0, 0, 137, 0, 0, 0, 41, 0, 0, 0, 121, 0, 0, 0, 55, 0, 0, 0, 116, 0, 0, 0, 222, 0, 0, 0, 18, 0, 0, 0, 243, 0, 0, 0, 104, 0, 0, 0, 183, 0, 0, 0, 102, 0, 0, 0, 195, 0, 0, 0, 238, 0, 0, 0, 104, 0, 0, 0, 220, 0, 0, 0, 129, 0, 0, 0, 181, 0, 0, 0, 85, 0, 0, 0, 153, 0, 0, 0, 171, 0, 0, 0, 217, 0, 0, 0, 40, 0, 0, 0, 99, 0, 0, 0, 109, 0, 0, 0, 139, 0, 0, 0, 64, 0, 0, 0, 105, 0, 0, 0, 117, 0, 0, 0, 108, 0, 0, 0, 205, 0, 0, 0, 92, 0, 0, 0, 42, 0, 0, 0, 126, 0, 0, 0, 50, 0, 0, 0, -123, 0, 0, 0, 41, 0, 0, 0, 2, 0, 0, 0, 204, 0, 0, 0, 34, 0, 0, 0, 116, 0, 0, 0, 77, 0, 0, 0, 25, 0, 0, 0, 7, 0, 0, 0, 192, 0, 0, 0, 218, 0, 0, 0, 181, 0, 0, 0, 118, 0, 0, 0, 81, 0, 0, 0, 42, 0, 0, 0, 170, 0, 0, 0, 166, 0, 0, 0, 10, 0, 0, 0, 95, 0, 0, 0, 38, 0, 0, 0, 212, 0, 0, 0, 188, 0, 0, 0, 175, 0, 0, 0, 72, 0, 0, 0, 136, 0, 0, 0, 127, 0, 0, 0, 2, 0, 0, 0, 188, 0, 0, 0, 242, 0, 0, 0, 225, 0, 0, 0, 207, 0, 0, 0, 233, 0, 0, 0, 221, 0, 0, 0, 21, 0, 0, 0, 237, 0, 0, 0, 181, 0, 0, 0, 154, 0, 0, 0, -140, 0, 0, 0, 154, 0, 0, 0, 221, 0, 0, 0, 39, 0, 0, 0, 244, 0, 0, 0, 127, 0, 0, 0, 71, 0, 0, 0, 217, 0, 0, 0, 82, 0, 0, 0, 167, 0, 0, 0, 205, 0, 0, 0, 101, 0, 0, 0, 165, 0, 0, 0, 49, 0, 0, 0, 34, 0, 0, 0, 237, 0, 0, 0, 166, 0, 0, 0, 99, 0, 0, 0, 91, 0, 0, 0, 128, 0, 0, 0, 74, 0, 0, 0, 173, 0, 0, 0, 77, 0, 0, 0, 237, 0, 0, 0, 191, 0, 0, 0, 238, 0, 0, 0, 73, 0, 0, 0, 179, 0, 0, 0, 6, 0, 0, 0, 248, 0, 0, 0, 100, 0, 0, 0, 139, 0, 0, 0, 96, 0, 0, 0, 144, 0, 0, 0, 233, 0, 0, 0, 222, 0, 0, 0, 68, 0, 0, -0, 119, 0, 0, 0, 185, 0, 0, 0, 7, 0, 0, 0, 54, 0, 0, 0, 50, 0, 0, 0, 194, 0, 0, 0, 80, 0, 0, 0, 245, 0, 0, 0, 101, 0, 0, 0, 223, 0, 0, 0, 72, 0, 0, 0, 76, 0, 0, 0, 55, 0, 0, 0, 170, 0, 0, 0, 104, 0, 0, 0, 171, 0, 0, 0, 154, 0, 0, 0, 31, 0, 0, 0, 62, 0, 0, 0, 255, 0, 0, 0, 137, 0, 0, 0, 146, 0, 0, 0, 160, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0, 79, 0, 0, 0, 156, 0, 0, 0, 25, 0, 0, 0, 192, 0, 0, 0, 74, 0, 0, 0, 49, 0, 0, 0, 236, 0, 0, 0, 249, 0, 0, 0, 170, 0, 0, 0, 235, 0, 0, 0, 178, 0, 0, 0, 22, 0, 0, 0, 156, 0, 0, 0, 163, 0, 0, 0, 102, 0, 0, 0, 95, 0, 0, 0, 209, 0, 0, 0, 212, 0, 0, 0, 237, 0, 0, 0, 184, 0, 0, 0, 146, 0, 0, 0, 28, 0, 0, 0, 171, 0, 0, 0, 218, 0, 0, 0, 234, 0, 0, 0, 217, 0, 0, 0, 87, 0, 0, 0, 223, 0, 0, 0, 76, 0, 0, -0, 42, 0, 0, 0, 72, 0, 0, 0, 75, 0, 0, 0, 176, 0, 0, 0, 78, 0, 0, 0, 110, 0, 0, 0, 17, 0, 0, 0, 59, 0, 0, 0, 81, 0, 0, 0, 189, 0, 0, 0, 106, 0, 0, 0, 253, 0, 0, 0, 228, 0, 0, 0, 37, 0, 0, 0, 165, 0, 0, 0, 95, 0, 0, 0, 17, 0, 0, 0, 63, 0, 0, 0, 152, 0, 0, 0, 146, 0, 0, 0, 81, 0, 0, 0, 20, 0, 0, 0, 198, 0, 0, 0, 95, 0, 0, 0, 60, 0, 0, 0, 11, 0, 0, 0, 168, 0, 0, 0, 247, 0, 0, 0, 194, 0, 0, 0, 129, 0, 0, 0, 67, 0, 0, 0, 222, 0, 0, 0, 145, 0, 0, 0, 115, 0, 0, 0, 60, 0, 0, 0, 143, 0, 0, 0, 159, 0, 0, 0, -51, 0, 0, 0, 42, 0, 0, 0, 31, 0, 0, 0, 67, 0, 0, 0, 51, 0, 0, 0, 143, 0, 0, 0, 104, 0, 0, 0, 255, 0, 0, 0, 31, 0, 0, 0, 61, 0, 0, 0, 115, 0, 0, 0, 107, 0, 0, 0, 191, 0, 0, 0, 104, 0, 0, 0, 204, 0, 0, 0, 125, 0, 0, 0, 19, 0, 0, 0, 108, 0, 0, 0, 36, 0, 0, 0, 75, 0, 0, 0, 204, 0, 0, 0, 77, 0, 0, 0, 36, 0, 0, 0, 13, 0, 0, 0, 254, 0, 0, 0, 222, 0, 0, 0, 134, 0, 0, 0, 173, 0, 0, 0, 59, 0, 0, 0, 121, 0, 0, 0, 81, 0, 0, 0, 129, 0, 0, 0, 1, 0, 0, 0, 220, 0, 0, 0, 115, 0, 0, 0, 83, 0, 0, 0, 224, 0, 0, 0, 110, -0, 0, 0, 155, 0, 0, 0, 234, 0, 0, 0, 104, 0, 0, 0, 63, 0, 0, 0, 92, 0, 0, 0, 20, 0, 0, 0, 132, 0, 0, 0, 83, 0, 0, 0, 141, 0, 0, 0, 75, 0, 0, 0, 192, 0, 0, 0, 159, 0, 0, 0, 159, 0, 0, 0, 137, 0, 0, 0, 43, 0, 0, 0, 140, 0, 0, 0, 186, 0, 0, 0, 134, 0, 0, 0, 250, 0, 0, 0, 242, 0, 0, 0, 205, 0, 0, 0, 227, 0, 0, 0, 45, 0, 0, 0, 6, 0, 0, 0, 249, 0, 0, 0, 41, 0, 0, 0, 90, 0, 0, 0, 219, 0, 0, 0, 61, 0, 0, 0, 132, 0, 0, 0, 82, 0, 0, 0, 171, 0, 0, 0, 204, 0, 0, 0, 107, 0, 0, 0, 96, 0, 0, 0, 157, 0, 0, 0, 183, -0, 0, 0, 74, 0, 0, 0, 14, 0, 0, 0, 54, 0, 0, 0, 99, 0, 0, 0, 145, 0, 0, 0, 173, 0, 0, 0, 160, 0, 0, 0, 149, 0, 0, 0, 176, 0, 0, 0, 151, 0, 0, 0, 137, 0, 0, 0, 78, 0, 0, 0, 207, 0, 0, 0, 125, 0, 0, 0, 60, 0, 0, 0, 229, 0, 0, 0, 124, 0, 0, 0, 40, 0, 0, 0, 46, 0, 0, 0, 105, 0, 0, 0, 152, 0, 0, 0, 253, 0, 0, 0, 198, 0, 0, 0, 189, 0, 0, 0, 204, 0, 0, 0, 202, 0, 0, 0, 223, 0, 0, 0, 154, 0, 0, 0, 68, 0, 0, 0, 126, 0, 0, 0, 157, 0, 0, 0, 202, 0, 0, 0, 137, 0, 0, 0, 109, 0, 0, 0, 191, 0, 0, 0, 39, 0, 0, 0, -194, 0, 0, 0, 248, 0, 0, 0, 205, 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 181, 0, 0, 0, 88, 0, 0, 0, 78, 0, 0, 0, 183, 0, 0, 0, 137, 0, 0, 0, 9, 0, 0, 0, 233, 0, 0, 0, 45, 0, 0, 0, 84, 0, 0, 0, 190, 0, 0, 0, 117, 0, 0, 0, 203, 0, 0, 0, 5, 0, 0, 0, 176, 0, 0, 0, 84, 0, 0, 0, 183, 0, 0, 0, 231, 0, 0, 0, 38, 0, 0, 0, 134, 0, 0, 0, 74, 0, 0, 0, 252, 0, 0, 0, 25, 0, 0, 0, 207, 0, 0, 0, 39, 0, 0, 0, 70, 0, 0, 0, 212, 0, 0, 0, 34, 0, 0, 0, 150, 0, 0, 0, 90, 0, 0, 0, 17, 0, 0, 0, 232, 0, 0, 0, 213, -0, 0, 0, 27, 0, 0, 0, 237, 0, 0, 0, 113, 0, 0, 0, 197, 0, 0, 0, 93, 0, 0, 0, 200, 0, 0, 0, 175, 0, 0, 0, 69, 0, 0, 0, 64, 0, 0, 0, 123, 0, 0, 0, 119, 0, 0, 0, 87, 0, 0, 0, 73, 0, 0, 0, 158, 0, 0, 0, 128, 0, 0, 0, 57, 0, 0, 0, 35, 0, 0, 0, 238, 0, 0, 0, 129, 0, 0, 0, 11, 0, 0, 0, 34, 0, 0, 0, 207, 0, 0, 0, 219, 0, 0, 0, 122, 0, 0, 0, 47, 0, 0, 0, 20, 0, 0, 0, 184, 0, 0, 0, 87, 0, 0, 0, 143, 0, 0, 0, 161, 0, 0, 0, 57, 0, 0, 0, 30, 0, 0, 0, 119, 0, 0, 0, 252, 0, 0, 0, 11, 0, 0, 0, 166, 0, 0, 0, 191, -0, 0, 0, 138, 0, 0, 0, 12, 0, 0, 0, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 119, 0, 0, 0, 58, 0, 0, 0, 212, 0, 0, 0, 216, 0, 0, 0, 39, 0, 0, 0, 207, 0, 0, 0, 232, 0, 0, 0, 161, 0, 0, 0, 114, 0, 0, 0, 157, 0, 0, 0, 202, 0, 0, 0, 221, 0, 0, 0, 13, 0, 0, 0, 150, 0, -0, 0, 218, 0, 0, 0, 121, 0, 0, 0, 237, 0, 0, 0, 86, 0, 0, 0, 66, 0, 0, 0, 21, 0, 0, 0, 96, 0, 0, 0, 199, 0, 0, 0, 28, 0, 0, 0, 107, 0, 0, 0, 38, 0, 0, 0, 48, 0, 0, 0, 246, 0, 0, 0, 106, 0, 0, 0, 149, 0, 0, 0, 103, 0, 0, 0, 243, 0, 0, 0, 10, 0, 0, 0, 197, 0, 0, 0, 8, 0, 0, 0, 164, 0, 0, 0, 43, 0, 0, 0, 47, 0, 0, 0, 189, 0, 0, 0, 49, 0, 0, 0, 129, 0, 0, 0, 42, 0, 0, 0, 166, 0, 0, 0, 182, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0, 218, 0, 0, 0, 61, 0, 0, 0, 178, 0, 0, 0, 176, 0, 0, 0, 150, 0, -0, 0, 206, 0, 0, 0, 138, 0, 0, 0, 210, 0, 0, 0, 141, 0, 0, 0, 112, 0, 0, 0, 179, 0, 0, 0, 211, 0, 0, 0, 52, 0, 0, 0, 1, 0, 0, 0, 144, 0, 0, 0, 141, 0, 0, 0, 16, 0, 0, 0, 33, 0, 0, 0, 51, 0, 0, 0, 13, 0, 0, 0, 231, 0, 0, 0, 186, 0, 0, 0, 79, 0, 0, 0, 7, 0, 0, 0, 223, 0, 0, 0, 141, 0, 0, 0, 234, 0, 0, 0, 125, 0, 0, 0, 160, 0, 0, 0, 197, 0, 0, 0, 214, 0, 0, 0, 177, 0, 0, 0, 176, 0, 0, 0, 229, 0, 0, 0, 87, 0, 0, 0, 27, 0, 0, 0, 91, 0, 0, 0, 245, 0, 0, 0, 69, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0, 100, 0, -0, 0, 90, 0, 0, 0, 235, 0, 0, 0, 92, 0, 0, 0, 252, 0, 0, 0, 84, 0, 0, 0, 1, 0, 0, 0, 118, 0, 0, 0, 43, 0, 0, 0, 2, 0, 0, 0, 12, 0, 0, 0, 194, 0, 0, 0, 175, 0, 0, 0, 150, 0, 0, 0, 54, 0, 0, 0, 254, 0, 0, 0, 74, 0, 0, 0, 226, 0, 0, 0, 84, 0, 0, 0, 32, 0, 0, 0, 106, 0, 0, 0, 235, 0, 0, 0, 178, 0, 0, 0, 159, 0, 0, 0, 98, 0, 0, 0, 215, 0, 0, 0, 206, 0, 0, 0, 162, 0, 0, 0, 63, 0, 0, 0, 32, 0, 0, 0, 17, 0, 0, 0, 52, 0, 0, 0, 55, 0, 0, 0, 224, 0, 0, 0, 66, 0, 0, 0, 237, 0, 0, 0, 111, 0, 0, 0, 249, 0, 0, -0, 26, 0, 0, 0, 200, 0, 0, 0, 125, 0, 0, 0, 216, 0, 0, 0, 185, 0, 0, 0, 17, 0, 0, 0, 232, 0, 0, 0, 54, 0, 0, 0, 63, 0, 0, 0, 66, 0, 0, 0, 193, 0, 0, 0, 202, 0, 0, 0, 220, 0, 0, 0, 211, 0, 0, 0, 241, 0, 0, 0, 200, 0, 0, 0, 35, 0, 0, 0, 61, 0, 0, 0, 79, 0, 0, 0, 81, 0, 0, 0, 123, 0, 0, 0, 157, 0, 0, 0, 141, 0, 0, 0, 216, 0, 0, 0, 228, 0, 0, 0, 160, 0, 0, 0, 170, 0, 0, 0, 243, 0, 0, 0, 4, 0, 0, 0, 214, 0, 0, 0, 17, 0, 0, 0, 147, 0, 0, 0, 200, 0, 0, 0, 53, 0, 0, 0, 69, 0, 0, 0, 97, 0, 0, 0, 54, 0, 0, -0, 214, 0, 0, 0, 8, 0, 0, 0, 144, 0, 0, 0, 191, 0, 0, 0, 167, 0, 0, 0, 122, 0, 0, 0, 151, 0, 0, 0, 108, 0, 0, 0, 15, 0, 0, 0, 132, 0, 0, 0, 213, 0, 0, 0, 51, 0, 0, 0, 45, 0, 0, 0, 55, 0, 0, 0, 201, 0, 0, 0, 106, 0, 0, 0, 128, 0, 0, 0, 144, 0, 0, 0, 61, 0, 0, 0, 10, 0, 0, 0, 162, 0, 0, 0, 170, 0, 0, 0, 225, 0, 0, 0, 184, 0, 0, 0, 132, 0, 0, 0, 186, 0, 0, 0, 97, 0, 0, 0, 54, 0, 0, 0, 221, 0, 0, 0, 105, 0, 0, 0, 107, 0, 0, 0, 219, 0, 0, 0, 91, 0, 0, 0, 156, 0, 0, 0, 198, 0, 0, 0, 146, 0, 0, 0, 188, -0, 0, 0, 35, 0, 0, 0, 175, 0, 0, 0, 197, 0, 0, 0, 184, 0, 0, 0, 117, 0, 0, 0, 248, 0, 0, 0, 66, 0, 0, 0, 250, 0, 0, 0, 214, 0, 0, 0, 182, 0, 0, 0, 132, 0, 0, 0, 148, 0, 0, 0, 99, 0, 0, 0, 152, 0, 0, 0, 147, 0, 0, 0, 72, 0, 0, 0, 120, 0, 0, 0, 56, 0, 0, 0, 205, 0, 0, 0, 187, 0, 0, 0, 24, 0, 0, 0, 52, 0, 0, 0, 195, 0, 0, 0, 219, 0, 0, 0, 103, 0, 0, 0, 150, 0, 0, 0, 243, 0, 0, 0, 58, 0, 0, 0, 9, 0, 0, 0, 86, 0, 0, 0, 176, 0, 0, 0, 111, 0, 0, 0, 124, 0, 0, 0, 81, 0, 0, 0, 30, 0, 0, 0, 27, 0, 0, 0, 57, -0, 0, 0, 72, 0, 0, 0, 234, 0, 0, 0, 201, 0, 0, 0, 12, 0, 0, 0, 37, 0, 0, 0, 162, 0, 0, 0, 122, 0, 0, 0, 202, 0, 0, 0, 231, 0, 0, 0, 146, 0, 0, 0, 252, 0, 0, 0, 89, 0, 0, 0, 48, 0, 0, 0, 163, 0, 0, 0, 137, 0, 0, 0, 133, 0, 0, 0, 223, 0, 0, 0, 111, 0, 0, 0, 67, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0, 132, 0, 0, 0, 68, 0, 0, 0, 25, 0, 0, 0, 189, 0, 0, 0, 233, 0, 0, 0, 84, 0, 0, 0, 196, 0, 0, 0, 192, 0, 0, 0, 110, 0, 0, 0, 42, 0, 0, 0, 168, 0, 0, 0, 168, 0, 0, 0, 155, 0, 0, 0, 67, 0, 0, 0, 213, 0, 0, 0, 113, 0, 0, 0, 34, 0, 0, 0, 95, 0, 0, 0, 220, 0, 0, 0, 1, 0, 0, 0, 250, 0, 0, 0, 223, 0, 0, 0, 179, 0, 0, 0, 184, 0, 0, 0, 71, 0, 0, 0, 75, 0, 0, 0, 10, 0, 0, 0, 165, 0, 0, 0, 68, 0, 0, 0, 234, 0, 0, 0, 41, 0, 0, 0, 5, 0, 0, 0, 144, 0, -0, 0, 80, 0, 0, 0, 175, 0, 0, 0, 99, 0, 0, 0, 95, 0, 0, 0, 157, 0, 0, 0, 158, 0, 0, 0, 225, 0, 0, 0, 157, 0, 0, 0, 56, 0, 0, 0, 151, 0, 0, 0, 31, 0, 0, 0, 108, 0, 0, 0, 172, 0, 0, 0, 48, 0, 0, 0, 70, 0, 0, 0, 178, 0, 0, 0, 106, 0, 0, 0, 25, 0, 0, 0, 209, 0, 0, 0, 75, 0, 0, 0, 219, 0, 0, 0, 187, 0, 0, 0, 140, 0, 0, 0, 218, 0, 0, 0, 46, 0, 0, 0, 171, 0, 0, 0, 200, 0, 0, 0, 90, 0, 0, 0, 119, 0, 0, 0, 108, 0, 0, 0, 43, 0, 0, 0, 190, 0, 0, 0, 175, 0, 0, 0, 161, 0, 0, 0, 109, 0, 0, 0, 47, 0, 0, 0, 11, -0, 0, 0, 177, 0, 0, 0, 143, 0, 0, 0, 227, 0, 0, 0, 224, 0, 0, 0, 56, 0, 0, 0, 205, 0, 0, 0, 11, 0, 0, 0, 65, 0, 0, 0, 27, 0, 0, 0, 74, 0, 0, 0, 21, 0, 0, 0, 7, 0, 0, 0, 243, 0, 0, 0, 111, 0, 0, 0, 220, 0, 0, 0, 184, 0, 0, 0, 233, 0, 0, 0, 222, 0, 0, 0, 178, 0, 0, 0, 163, 0, 0, 0, 64, 0, 0, 0, 1, 0, 0, 0, 166, 0, 0, 0, 69, 0, 0, 0, 30, 0, 0, 0, 118, 0, 0, 0, 10, 0, 0, 0, 218, 0, 0, 0, 141, 0, 0, 0, 44, 0, 0, 0, 7, 0, 0, 0, 63, 0, 0, 0, 137, 0, 0, 0, 125, 0, 0, 0, 4, 0, 0, 0, 173, 0, 0, 0, 67, 0, 0, -0, 80, 0, 0, 0, 110, 0, 0, 0, 210, 0, 0, 0, 71, 0, 0, 0, 203, 0, 0, 0, 138, 0, 0, 0, 230, 0, 0, 0, 133, 0, 0, 0, 26, 0, 0, 0, 36, 0, 0, 0, 243, 0, 0, 0, 210, 0, 0, 0, 96, 0, 0, 0, 253, 0, 0, 0, 223, 0, 0, 0, 115, 0, 0, 0, 164, 0, 0, 0, 13, 0, 0, 0, 115, 0, 0, 0, 14, 0, 0, 0, 253, 0, 0, 0, 103, 0, 0, 0, 107, 0, 0, 0, 113, 0, 0, 0, 155, 0, 0, 0, 129, 0, 0, 0, 83, 0, 0, 0, 57, 0, 0, 0, 57, 0, 0, 0, 244, 0, 0, 0, 184, 0, 0, 0, 213, 0, 0, 0, 195, 0, 0, 0, 48, 0, 0, 0, 155, 0, 0, 0, 59, 0, 0, 0, 124, 0, -0, 0, 163, 0, 0, 0, 240, 0, 0, 0, 208, 0, 0, 0, 132, 0, 0, 0, 33, 0, 0, 0, 214, 0, 0, 0, 191, 0, 0, 0, 183, 0, 0, 0, 76, 0, 0, 0, 135, 0, 0, 0, 19, 0, 0, 0, 69, 0, 0, 0, 45, 0, 0, 0, 167, 0, 0, 0, 85, 0, 0, 0, 93, 0, 0, 0, 4, 0, 0, 0, 179, 0, 0, 0, 64, 0, 0, 0, 40, 0, 0, 0, 149, 0, 0, 0, 45, 0, 0, 0, 48, 0, 0, 0, 131, 0, 0, 0, 236, 0, 0, 0, 94, 0, 0, 0, 228, 0, 0, 0, 255, 0, 0, 0, 117, 0, 0, 0, 254, 0, 0, 0, 121, 0, 0, 0, 38, 0, 0, 0, 157, 0, 0, 0, 29, 0, 0, 0, 54, 0, 0, 0, 205, 0, 0, 0, 10, 0, 0, -0, 21, 0, 0, 0, 210, 0, 0, 0, 36, 0, 0, 0, 20, 0, 0, 0, 119, 0, 0, 0, 113, 0, 0, 0, 215, 0, 0, 0, 138, 0, 0, 0, 27, 0, 0, 0, 4, 0, 0, 0, 93, 0, 0, 0, 147, 0, 0, 0, 201, 0, 0, 0, 190, 0, 0, 0, 170, 0, 0, 0, 144, 0, 0, 0, 205, 0, 0, 0, 155, 0, 0, 0, 251, 0, 0, 0, 115, 0, 0, 0, 126, 0, 0, 0, 176, 0, 0, 0, 100, 0, 0, 0, 152, 0, 0, 0, 87, 0, 0, 0, 68, 0, 0, 0, 66, 0, 0, 0, 65, 0, 0, 0, 177, 0, 0, 0, 175, 0, 0, 0, 234, 0, 0, 0, 193, 0, 0, 0, 195, 0, 0, 0, 34, 0, 0, 0, 255, 0, 0, 0, 96, 0, 0, 0, 70, 0, -0, 0, 203, 0, 0, 0, 97, 0, 0, 0, 129, 0, 0, 0, 112, 0, 0, 0, 97, 0, 0, 0, 13, 0, 0, 0, 130, 0, 0, 0, 185, 0, 0, 0, 254, 0, 0, 0, 33, 0, 0, 0, 205, 0, 0, 0, 196, 0, 0, 0, 245, 0, 0, 0, 152, 0, 0, 0, 12, 0, 0, 0, 78, 0, 0, 0, 114, 0, 0, 0, 238, 0, 0, 0, 135, 0, 0, 0, 73, 0, 0, 0, 248, 0, 0, 0, 161, 0, 0, 0, 149, 0, 0, 0, 223, 0, 0, 0, 143, 0, 0, 0, 45, 0, 0, 0, 189, 0, 0, 0, 33, 0, 0, 0, 6, 0, 0, 0, 124, 0, 0, 0, 21, 0, 0, 0, 232, 0, 0, 0, 18, 0, 0, 0, 109, 0, 0, 0, 147, 0, 0, 0, 214, 0, 0, 0, 56, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0, 247, 0, 0, 0, 81, 0, 0, 0, 217, 0, 0, 0, 239, 0, 0, 0, 125, 0, 0, 0, 66, 0, 0, 0, 1, 0, 0, 0, 19, 0, 0, 0, 233, 0, 0, 0, 184, 0, 0, 0, 127, 0, 0, 0, 166, 0, 0, 0, 73, 0, 0, 0, 23, 0, 0, 0, 100, 0, 0, 0, 33, 0, 0, -0, 128, 0, 0, 0, 131, 0, 0, 0, 44, 0, 0, 0, 99, 0, 0, 0, 76, 0, 0, 0, 96, 0, 0, 0, 9, 0, 0, 0, 89, 0, 0, 0, 145, 0, 0, 0, 146, 0, 0, 0, 119, 0, 0, 0, 57, 0, 0, 0, 81, 0, 0, 0, 244, 0, 0, 0, 72, 0, 0, 0, 96, 0, 0, 0, 213, 0, 0, 0, 34, 0, 0, 0, 131, 0, 0, 0, 8, 0, 0, 0, 47, 0, 0, 0, 255, 0, 0, 0, 153, 0, 0, 0, 62, 0, 0, 0, 105, 0, 0, 0, 109, 0, 0, 0, 136, 0, 0, 0, 218, 0, 0, 0, 231, 0, 0, 0, 91, 0, 0, 0, 82, 0, 0, 0, 38, 0, 0, 0, 49, 0, 0, 0, 42, 0, 0, 0, 229, 0, 0, 0, 137, 0, 0, 0, 222, 0, 0, 0, 104, -0, 0, 0, 144, 0, 0, 0, 182, 0, 0, 0, 34, 0, 0, 0, 90, 0, 0, 0, 189, 0, 0, 0, 211, 0, 0, 0, 133, 0, 0, 0, 83, 0, 0, 0, 49, 0, 0, 0, 216, 0, 0, 0, 206, 0, 0, 0, 220, 0, 0, 0, 249, 0, 0, 0, 60, 0, 0, 0, 75, 0, 0, 0, 162, 0, 0, 0, 29, 0, 0, 0, 44, 0, 0, 0, 47, 0, 0, 0, 54, 0, 0, 0, 190, 0, 0, 0, 122, 0, 0, 0, 252, 0, 0, 0, 205, 0, 0, 0, 188, 0, 0, 0, 220, 0, 0, 0, 249, 0, 0, 0, 48, 0, 0, 0, 189, 0, 0, 0, 255, 0, 0, 0, 5, 0, 0, 0, 199, 0, 0, 0, 228, 0, 0, 0, 142, 0, 0, 0, 23, 0, 0, 0, 98, 0, 0, 0, 248, -0, 0, 0, 77, 0, 0, 0, 160, 0, 0, 0, 86, 0, 0, 0, 121, 0, 0, 0, 130, 0, 0, 0, 231, 0, 0, 0, 246, 0, 0, 0, 186, 0, 0, 0, 83, 0, 0, 0, 132, 0, 0, 0, 10, 0, 0, 0, 163, 0, 0, 0, 52, 0, 0, 0, 255, 0, 0, 0, 60, 0, 0, 0, 163, 0, 0, 0, 106, 0, 0, 0, 161, 0, 0, 0, 55, 0, 0, 0, 234, 0, 0, 0, 221, 0, 0, 0, 182, 0, 0, 0, 149, 0, 0, 0, 179, 0, 0, 0, 120, 0, 0, 0, 25, 0, 0, 0, 118, 0, 0, 0, 30, 0, 0, 0, 85, 0, 0, 0, 47, 0, 0, 0, 119, 0, 0, 0, 46, 0, 0, 0, 127, 0, 0, 0, 193, 0, 0, 0, 234, 0, 0, 0, 94, 0, 0, 0, 131, -0, 0, 0, 225, 0, 0, 0, 110, 0, 0, 0, 169, 0, 0, 0, 7, 0, 0, 0, 51, 0, 0, 0, 62, 0, 0, 0, 131, 0, 0, 0, 255, 0, 0, 0, 203, 0, 0, 0, 28, 0, 0, 0, 159, 0, 0, 0, 177, 0, 0, 0, 163, 0, 0, 0, 180, 0, 0, 0, 201, 0, 0, 0, 225, 0, 0, 0, 7, 0, 0, 0, 151, 0, 0, 0, 255, 0, 0, 0, 248, 0, 0, 0, 35, 0, 0, 0, 143, 0, 0, 0, 206, 0, 0, 0, 64, 0, 0, 0, 253, 0, 0, 0, 46, 0, 0, 0, 94, 0, 0, 0, 219, 0, 0, 0, 22, 0, 0, 0, 67, 0, 0, 0, 45, 0, 0, 0, 186, 0, 0, 0, 56, 0, 0, 0, 2, 0, 0, 0, 247, 0, 0, 0, 129, 0, 0, 0, 67, 0, -0, 0, 131, 0, 0, 0, 163, 0, 0, 0, 32, 0, 0, 0, 79, 0, 0, 0, 1, 0, 0, 0, 59, 0, 0, 0, 138, 0, 0, 0, 4, 0, 0, 0, 56, 0, 0, 0, 49, 0, 0, 0, 198, 0, 0, 0, 15, 0, 0, 0, 200, 0, 0, 0, 223, 0, 0, 0, 215, 0, 0, 0, 250, 0, 0, 0, 47, 0, 0, 0, 136, 0, 0, 0, 63, 0, 0, 0, 252, 0, 0, 0, 12, 0, 0, 0, 118, 0, 0, 0, 196, 0, 0, 0, 166, 0, 0, 0, 69, 0, 0, 0, 114, 0, 0, 0, 187, 0, 0, 0, 12, 0, 0, 0, 188, 0, 0, 0, 106, 0, 0, 0, 164, 0, 0, 0, 151, 0, 0, 0, 23, 0, 0, 0, 147, 0, 0, 0, 45, 0, 0, 0, 111, 0, 0, 0, 222, 0, -0, 0, 114, 0, 0, 0, 16, 0, 0, 0, 28, 0, 0, 0, 8, 0, 0, 0, 44, 0, 0, 0, 15, 0, 0, 0, 128, 0, 0, 0, 50, 0, 0, 0, 104, 0, 0, 0, 39, 0, 0, 0, 212, 0, 0, 0, 171, 0, 0, 0, 221, 0, 0, 0, 197, 0, 0, 0, 88, 0, 0, 0, 97, 0, 0, 0, 19, 0, 0, 0, 109, 0, 0, 0, 17, 0, 0, 0, 30, 0, 0, 0, 77, 0, 0, 0, 26, 0, 0, 0, 185, 0, 0, 0, 201, 0, 0, 0, 16, 0, 0, 0, 251, 0, 0, 0, 30, 0, 0, 0, 78, 0, 0, 0, 244, 0, 0, 0, 132, 0, 0, 0, 75, 0, 0, 0, 138, 0, 0, 0, 94, 0, 0, 0, 123, 0, 0, 0, 75, 0, 0, 0, 232, 0, 0, 0, 67, 0, 0, 0, -140, 0, 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, 181, 0, 0, 0, 84, 0, 0, 0, 19, 0, 0, 0, 197, 0, 0, 0, 92, 0, 0, 0, 182, 0, 0, 0, 53, 0, 0, 0, 78, 0, 0, 0, 157, 0, 0, 0, 228, 0, 0, 0, 91, 0, 0, 0, 65, 0, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 125, 0, -0, 0, 18, 0, 0, 0, 72, 0, 0, 0, 130, 0, 0, 0, 20, 0, 0, 0, 66, 0, 0, 0, 205, 0, 0, 0, 50, 0, 0, 0, 212, 0, 0, 0, 75, 0, 0, 0, 193, 0, 0, 0, 114, 0, 0, 0, 97, 0, 0, 0, 42, 0, 0, 0, 140, 0, 0, 0, 236, 0, 0, 0, 226, 0, 0, 0, 248, 0, 0, 0, 36, 0, 0, 0, 69, 0, 0, 0, 148, 0, 0, 0, 227, 0, 0, 0, 190, 0, 0, 0, 221, 0, 0, 0, 103, 0, 0, 0, 168, 0, 0, 0, 119, 0, 0, 0, 90, 0, 0, 0, 174, 0, 0, 0, 91, 0, 0, 0, 75, 0, 0, 0, 203, 0, 0, 0, 119, 0, 0, 0, 154, 0, 0, 0, 32, 0, 0, 0, 222, 0, 0, 0, 184, 0, 0, 0, 35, 0, -0, 0, 217, 0, 0, 0, 160, 0, 0, 0, 15, 0, 0, 0, 140, 0, 0, 0, 123, 0, 0, 0, 165, 0, 0, 0, 203, 0, 0, 0, 174, 0, 0, 0, 182, 0, 0, 0, 236, 0, 0, 0, 66, 0, 0, 0, 103, 0, 0, 0, 14, 0, 0, 0, 88, 0, 0, 0, 164, 0, 0, 0, 117, 0, 0, 0, 152, 0, 0, 0, 33, 0, 0, 0, 113, 0, 0, 0, 132, 0, 0, 0, 179, 0, 0, 0, 224, 0, 0, 0, 118, 0, 0, 0, 148, 0, 0, 0, 115, 0, 0, 0, 223, 0, 0, 0, 252, 0, 0, 0, 105, 0, 0, 0, 40, 0, 0, 0, 35, 0, 0, 0, 63, 0, 0, 0, 91, 0, 0, 0, 248, 0, 0, 0, 59, 0, 0, 0, 36, 0, 0, 0, 55, 0, 0, 0, 243, -0, 0, 0, 29, 0, 0, 0, 213, 0, 0, 0, 34, 0, 0, 0, 107, 0, 0, 0, 208, 0, 0, 0, 152, 0, 0, 0, 168, 0, 0, 0, 108, 0, 0, 0, 207, 0, 0, 0, 255, 0, 0, 0, 6, 0, 0, 0, 225, 0, 0, 0, 19, 0, 0, 0, 223, 0, 0, 0, 185, 0, 0, 0, 193, 0, 0, 0, 12, 0, 0, 0, 169, 0, 0, 0, 191, 0, 0, 0, 51, 0, 0, 0, 217, 0, 0, 0, 129, 0, 0, 0, 218, 0, 0, 0, 178, 0, 0, 0, 79, 0, 0, 0, 130, 0, 0, 0, 157, 0, 0, 0, 67, 0, 0, 0, 129, 0, 0, 0, 9, 0, 0, 0, 241, 0, 0, 0, 210, 0, 0, 0, 1, 0, 0, 0, 239, 0, 0, 0, 172, 0, 0, 0, 244, 0, 0, 0, 45, -0, 0, 0, 125, 0, 0, 0, 1, 0, 0, 0, 9, 0, 0, 0, 241, 0, 0, 0, 255, 0, 0, 0, 165, 0, 0, 0, 159, 0, 0, 0, 229, 0, 0, 0, 202, 0, 0, 0, 39, 0, 0, 0, 99, 0, 0, 0, 219, 0, 0, 0, 32, 0, 0, 0, 177, 0, 0, 0, 83, 0, 0, 0, 103, 0, 0, 0, 2, 0, 0, 0, 232, 0, 0, 0, 173, 0, 0, 0, 169, 0, 0, 0, 52, 0, 0, 0, 212, 0, 0, 0, 240, 0, 0, 0, 21, 0, 0, 0, 129, 0, 0, 0, 170, 0, 0, 0, 199, 0, 0, 0, 77, 0, 0, 0, 135, 0, 0, 0, 148, 0, 0, 0, 234, 0, 0, 0, 117, 0, 0, 0, 231, 0, 0, 0, 76, 0, 0, 0, 148, 0, 0, 0, 4, 0, 0, 0, 14, -0, 0, 0, 105, 0, 0, 0, 135, 0, 0, 0, 231, 0, 0, 0, 81, 0, 0, 0, 145, 0, 0, 0, 16, 0, 0, 0, 3, 0, 0, 0, 199, 0, 0, 0, 190, 0, 0, 0, 86, 0, 0, 0, 50, 0, 0, 0, 251, 0, 0, 0, 134, 0, 0, 0, 236, 0, 0, 0, 51, 0, 0, 0, 107, 0, 0, 0, 46, 0, 0, 0, 81, 0, 0, 0, 43, 0, 0, 0, 200, 0, 0, 0, 250, 0, 0, 0, 108, 0, 0, 0, 112, 0, 0, 0, 71, 0, 0, 0, 126, 0, 0, 0, 206, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 113, 0, 0, 0, 243, 0, 0, 0, 180, 0, 0, 0, 86, 0, 0, 0, 166, 0, 0, 0, 220, 0, 0, 0, 204, 0, 0, 0, 120, 0, 0, 0, 7, -0, 0, 0, 117, 0, 0, 0, 208, 0, 0, 0, 221, 0, 0, 0, 178, 0, 0, 0, 106, 0, 0, 0, 198, 0, 0, 0, 239, 0, 0, 0, 185, 0, 0, 0, 192, 0, 0, 0, 43, 0, 0, 0, 34, 0, 0, 0, 8, 0, 0, 0, 30, 0, 0, 0, 113, 0, 0, 0, 112, 0, 0, 0, 179, 0, 0, 0, 53, 0, 0, 0, 156, 0, 0, 0, 122, 0, 0, 0, 1, 0, 0, 0, 146, 0, 0, 0, 68, 0, 0, 0, 154, 0, 0, 0, 246, 0, 0, 0, 176, 0, 0, 0, 88, 0, 0, 0, 149, 0, 0, 0, 193, 0, 0, 0, 155, 0, 0, 0, 2, 0, 0, 0, 237, 0, 0, 0, 45, 0, 0, 0, 124, 0, 0, 0, 52, 0, 0, 0, 41, 0, 0, 0, 73, 0, 0, 0, 68, -0, 0, 0, 69, 0, 0, 0, 98, 0, 0, 0, 29, 0, 0, 0, 46, 0, 0, 0, 255, 0, 0, 0, 42, 0, 0, 0, 28, 0, 0, 0, 33, 0, 0, 0, 164, 0, 0, 0, 37, 0, 0, 0, 123, 0, 0, 0, 13, 0, 0, 0, 140, 0, 0, 0, 21, 0, 0, 0, 57, 0, 0, 0, 252, 0, 0, 0, 143, 0, 0, 0, 124, 0, 0, 0, 165, 0, 0, 0, 125, 0, 0, 0, 30, 0, 0, 0, 37, 0, 0, 0, 163, 0, 0, 0, 69, 0, 0, 0, 214, 0, 0, 0, 171, 0, 0, 0, 189, 0, 0, 0, 203, 0, 0, 0, 197, 0, 0, 0, 94, 0, 0, 0, 120, 0, 0, 0, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 0, 0, 0, 211, 0, 0, 0, 66, 0, 0, 0, 237, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 21, 0, 0, 0, 44, 0, 0, 0, 156, 0, 0, 0, 119, 0, 0, 0, 129, 0, 0, 0, 210, 0, 0, 0, 115, 0, 0, 0, 209, 0, 0, 0, 6, 0, 0, 0, 213, 0, 0, 0, 196, 0, 0, 0, 127, 0, 0, 0, 148, 0, 0, 0, 187, 0, 0, 0, 146, 0, 0, -0, 45, 0, 0, 0, 44, 0, 0, 0, 75, 0, 0, 0, 69, 0, 0, 0, 75, 0, 0, 0, 233, 0, 0, 0, 42, 0, 0, 0, 137, 0, 0, 0, 107, 0, 0, 0, 43, 0, 0, 0, 210, 0, 0, 0, 12, 0, 0, 0, 136, 0, 0, 0, 197, 0, 0, 0, 72, 0, 0, 0, 77, 0, 0, 0, 234, 0, 0, 0, 13, 0, 0, 0, 74, 0, 0, 0, 201, 0, 0, 0, 82, 0, 0, 0, 106, 0, 0, 0, 97, 0, 0, 0, 121, 0, 0, 0, 233, 0, 0, 0, 118, 0, 0, 0, 243, 0, 0, 0, 133, 0, 0, 0, 82, 0, 0, 0, 92, 0, 0, 0, 27, 0, 0, 0, 44, 0, 0, 0, 225, 0, 0, 0, 214, 0, 0, 0, 196, 0, 0, 0, 15, 0, 0, 0, 24, 0, 0, 0, -14, 0, 0, 0, 78, 0, 0, 0, 246, 0, 0, 0, 28, 0, 0, 0, 127, 0, 0, 0, 180, 0, 0, 0, 4, 0, 0, 0, 46, 0, 0, 0, 66, 0, 0, 0, 203, 0, 0, 0, 31, 0, 0, 0, 43, 0, 0, 0, 17, 0, 0, 0, 81, 0, 0, 0, 123, 0, 0, 0, 8, 0, 0, 0, 172, 0, 0, 0, 170, 0, 0, 0, 62, 0, 0, 0, 158, 0, 0, 0, 82, 0, 0, 0, 96, 0, 0, 0, 183, 0, 0, 0, 194, 0, 0, 0, 97, 0, 0, 0, 87, 0, 0, 0, 140, 0, 0, 0, 132, 0, 0, 0, 213, 0, 0, 0, 24, 0, 0, 0, 166, 0, 0, 0, 25, 0, 0, 0, 252, 0, 0, 0, 183, 0, 0, 0, 117, 0, 0, 0, 145, 0, 0, 0, 27, 0, 0, 0, 232, -0, 0, 0, 104, 0, 0, 0, 202, 0, 0, 0, 68, 0, 0, 0, 200, 0, 0, 0, 56, 0, 0, 0, 56, 0, 0, 0, 204, 0, 0, 0, 83, 0, 0, 0, 10, 0, 0, 0, 50, 0, 0, 0, 53, 0, 0, 0, 204, 0, 0, 0, 82, 0, 0, 0, 203, 0, 0, 0, 14, 0, 0, 0, 247, 0, 0, 0, 197, 0, 0, 0, 231, 0, 0, 0, 236, 0, 0, 0, 61, 0, 0, 0, 133, 0, 0, 0, 204, 0, 0, 0, 88, 0, 0, 0, 226, 0, 0, 0, 23, 0, 0, 0, 71, 0, 0, 0, 255, 0, 0, 0, 159, 0, 0, 0, 165, 0, 0, 0, 48, 0, 0, 0, 23, 0, 0, 0, 227, 0, 0, 0, 174, 0, 0, 0, 200, 0, 0, 0, 193, 0, 0, 0, 113, 0, 0, 0, 117, -0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 65, 0, 0, 0, 92, 0, 0, 0, 14, 0, 0, 0, 57, 0, 0, 0, 218, 0, 0, 0, 115, 0, 0, 0, 160, 0, 0, 0, 199, 0, 0, 0, 151, 0, 0, 0, 54, 0, 0, 0, 108, 0, 0, 0, 91, 0, 0, 0, 242, 0, 0, 0, 238, 0, 0, 0, 100, 0, 0, 0, 10, 0, 0, 0, 61, 0, 0, 0, 137, 0, 0, 0, 30, 0, 0, 0, 29, 0, 0, 0, 73, 0, 0, 0, 140, 0, 0, 0, 55, 0, 0, 0, 76, 0, 0, 0, 230, 0, 0, 0, 176, 0, 0, 0, 193, 0, 0, 0, 165, 0, 0, 0, 42, 0, 0, 0, 130, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 173, 0, 0, 0, 121, 0, 0, -0, 156, 0, 0, 0, 86, 0, 0, 0, 246, 0, 0, 0, 249, 0, 0, 0, 193, 0, 0, 0, 215, 0, 0, 0, 124, 0, 0, 0, 57, 0, 0, 0, 127, 0, 0, 0, 147, 0, 0, 0, 202, 0, 0, 0, 17, 0, 0, 0, 85, 0, 0, 0, 191, 0, 0, 0, 7, 0, 0, 0, 27, 0, 0, 0, 130, 0, 0, 0, 41, 0, 0, 0, 105, 0, 0, 0, 149, 0, 0, 0, 92, 0, 0, 0, 135, 0, 0, 0, 238, 0, 0, 0, 166, 0, 0, 0, 86, 0, 0, 0, 158, 0, 0, 0, 194, 0, 0, 0, 154, 0, 0, 0, 86, 0, 0, 0, 36, 0, 0, 0, 66, 0, 0, 0, 133, 0, 0, 0, 77, 0, 0, 0, 152, 0, 0, 0, 49, 0, 0, 0, 30, 0, 0, 0, 96, 0, 0, -0, 77, 0, 0, 0, 135, 0, 0, 0, 133, 0, 0, 0, 4, 0, 0, 0, 174, 0, 0, 0, 70, 0, 0, 0, 18, 0, 0, 0, 249, 0, 0, 0, 142, 0, 0, 0, 127, 0, 0, 0, 228, 0, 0, 0, 127, 0, 0, 0, 246, 0, 0, 0, 28, 0, 0, 0, 55, 0, 0, 0, 1, 0, 0, 0, 115, 0, 0, 0, 76, 0, 0, 0, 182, 0, 0, 0, 197, 0, 0, 0, 196, 0, 0, 0, 233, 0, 0, 0, 108, 0, 0, 0, 133, 0, 0, 0, 72, 0, 0, 0, 74, 0, 0, 0, 90, 0, 0, 0, 172, 0, 0, 0, 217, 0, 0, 0, 31, 0, 0, 0, 67, 0, 0, 0, 248, 0, 0, 0, 98, 0, 0, 0, 91, 0, 0, 0, 238, 0, 0, 0, 152, 0, 0, 0, 42, 0, 0, 0, -51, 0, 0, 0, 142, 0, 0, 0, 121, 0, 0, 0, 206, 0, 0, 0, 97, 0, 0, 0, 6, 0, 0, 0, 53, 0, 0, 0, 216, 0, 0, 0, 215, 0, 0, 0, 202, 0, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 0, 0, 0, 211, 0, 0, 0, 174, 0, 0, 0, 166, 0, 0, 0, 202, 0, 0, 0, 143, 0, 0, 0, 205, -0, 0, 0, 204, 0, 0, 0, 120, 0, 0, 0, 142, 0, 0, 0, 25, 0, 0, 0, 77, 0, 0, 0, 167, 0, 0, 0, 210, 0, 0, 0, 39, 0, 0, 0, 233, 0, 0, 0, 164, 0, 0, 0, 60, 0, 0, 0, 22, 0, 0, 0, 91, 0, 0, 0, 132, 0, 0, 0, 128, 0, 0, 0, 249, 0, 0, 0, 208, 0, 0, 0, 204, 0, 0, 0, 106, 0, 0, 0, 30, 0, 0, 0, 202, 0, 0, 0, 30, 0, 0, 0, 103, 0, 0, 0, 189, 0, 0, 0, 99, 0, 0, 0, 123, 0, 0, 0, 110, 0, 0, 0, 42, 0, 0, 0, 210, 0, 0, 0, 135, 0, 0, 0, 72, 0, 0, 0, 255, 0, 0, 0, 161, 0, 0, 0, 202, 0, 0, 0, 233, 0, 0, 0, 21, 0, 0, 0, -133, 0, 0, 0, 220, 0, 0, 0, 219, 0, 0, 0, 44, 0, 0, 0, 57, 0, 0, 0, 18, 0, 0, 0, 145, 0, 0, 0, 169, 0, 0, 0, 32, 0, 0, 0, 170, 0, 0, 0, 79, 0, 0, 0, 41, 0, 0, 0, 244, 0, 0, 0, 21, 0, 0, 0, 122, 0, 0, 0, 210, 0, 0, 0, 245, 0, 0, 0, 50, 0, 0, 0, 204, 0, 0, 0, 96, 0, 0, 0, 4, 0, 0, 0, 229, 0, 0, 0, 16, 0, 0, 0, 71, 0, 0, 0, 59, 0, 0, 0, 250, 0, 0, 0, 144, 0, 0, 0, 252, 0, 0, 0, 48, 0, 0, 0, 181, 0, 0, 0, 234, 0, 0, 0, 111, 0, 0, 0, 86, 0, 0, 0, 143, 0, 0, 0, 251, 0, 0, 0, 14, 0, 0, 0, 167, 0, 0, 0, -59, 0, 0, 0, 200, 0, 0, 0, 178, 0, 0, 0, 255, 0, 0, 0, 2, 0, 0, 0, 122, 0, 0, 0, 51, 0, 0, 0, 148, 0, 0, 0, 147, 0, 0, 0, 42, 0, 0, 0, 3, 0, 0, 0, 224, 0, 0, 0, 150, 0, 0, 0, 58, 0, 0, 0, 108, 0, 0, 0, 15, 0, 0, 0, 90, 0, 0, 0, 99, 0, 0, 0, 103, 0, 0, 0, 225, 0, 0, 0, 155, 0, 0, 0, 71, 0, 0, 0, 120, 0, 0, 0, 159, 0, 0, 0, 56, 0, 0, 0, 121, 0, 0, 0, 172, 0, 0, 0, 151, 0, 0, 0, 102, 0, 0, 0, 29, 0, 0, 0, 94, 0, 0, 0, 81, 0, 0, 0, 238, 0, 0, 0, 36, 0, 0, 0, 66, 0, 0, 0, 232, 0, 0, 0, 88, 0, 0, 0, 75, -0, 0, 0, 138, 0, 0, 0, 3, 0, 0, 0, 117, 0, 0, 0, 134, 0, 0, 0, 55, 0, 0, 0, 134, 0, 0, 0, 226, 0, 0, 0, 151, 0, 0, 0, 78, 0, 0, 0, 61, 0, 0, 0, 63, 0, 0, 0, 117, 0, 0, 0, 142, 0, 0, 0, 180, 0, 0, 0, 255, 0, 0, 0, 216, 0, 0, 0, 221, 0, 0, 0, 214, 0, 0, 0, 55, 0, 0, 0, 87, 0, 0, 0, 157, 0, 0, 0, 109, 0, 0, 0, 59, 0, 0, 0, 189, 0, 0, 0, 213, 0, 0, 0, 96, 0, 0, 0, 136, 0, 0, 0, 101, 0, 0, 0, 154, 0, 0, 0, 185, 0, 0, 0, 74, 0, 0, 0, 104, 0, 0, 0, 132, 0, 0, 0, 162, 0, 0, 0, 103, 0, 0, 0, 221, 0, 0, 0, -23, 0, 0, 0, 37, 0, 0, 0, 151, 0, 0, 0, 4, 0, 0, 0, 139, 0, 0, 0, 94, 0, 0, 0, 187, 0, 0, 0, 64, 0, 0, 0, 94, 0, 0, 0, 188, 0, 0, 0, 22, 0, 0, 0, 146, 0, 0, 0, 5, 0, 0, 0, 196, 0, 0, 0, 192, 0, 0, 0, 78, 0, 0, 0, 114, 0, 0, 0, 144, 0, 0, 0, 14, 0, 0, 0, 171, 0, 0, 0, 207, 0, 0, 0, 138, 0, 0, 0, 237, 0, 0, 0, 239, 0, 0, 0, 185, 0, 0, 0, 45, 0, 0, 0, 59, 0, 0, 0, 248, 0, 0, 0, 67, 0, 0, 0, 91, 0, 0, 0, 186, 0, 0, 0, 45, 0, 0, 0, 235, 0, 0, 0, 47, 0, 0, 0, 82, 0, 0, 0, 210, 0, 0, 0, 209, 0, 0, 0, 90, -0, 0, 0, 64, 0, 0, 0, 180, 0, 0, 0, 171, 0, 0, 0, 230, 0, 0, 0, 173, 0, 0, 0, 159, 0, 0, 0, 70, 0, 0, 0, 105, 0, 0, 0, 74, 0, 0, 0, 179, 0, 0, 0, 142, 0, 0, 0, 170, 0, 0, 0, 234, 0, 0, 0, 156, 0, 0, 0, 138, 0, 0, 0, 32, 0, 0, 0, 22, 0, 0, 0, 93, 0, 0, 0, 140, 0, 0, 0, 19, 0, 0, 0, 189, 0, 0, 0, 246, 0, 0, 0, 29, 0, 0, 0, 197, 0, 0, 0, 36, 0, 0, 0, 189, 0, 0, 0, 144, 0, 0, 0, 42, 0, 0, 0, 28, 0, 0, 0, 199, 0, 0, 0, 19, 0, 0, 0, 59, 0, 0, 0, 84, 0, 0, 0, 220, 0, 0, 0, 22, 0, 0, 0, 13, 0, 0, 0, 24, -0, 0, 0, 190, 0, 0, 0, 53, 0, 0, 0, 100, 0, 0, 0, 97, 0, 0, 0, 82, 0, 0, 0, 2, 0, 0, 0, 128, 0, 0, 0, 175, 0, 0, 0, 5, 0, 0, 0, 247, 0, 0, 0, 166, 0, 0, 0, 66, 0, 0, 0, 211, 0, 0, 0, 143, 0, 0, 0, 46, 0, 0, 0, 121, 0, 0, 0, 38, 0, 0, 0, 168, 0, 0, 0, 187, 0, 0, 0, 178, 0, 0, 0, 23, 0, 0, 0, 72, 0, 0, 0, 178, 0, 0, 0, 122, 0, 0, 0, 10, 0, 0, 0, 137, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 168, 0, 0, 0, 136, 0, 0, 0, 227, 0, 0, 0, 145, 0, 0, 0, 192, 0, 0, 0, 110, 0, 0, 0, 187, 0, 0, 0, 138, 0, 0, 0, 39, 0, 0, 0, 130, 0, 0, 0, 81, 0, 0, 0, 131, 0, 0, 0, 178, 0, 0, 0, 40, 0, 0, 0, 169, 0, 0, 0, 131, 0, 0, 0, 235, 0, 0, 0, 166, 0, 0, 0, 169, 0, 0, 0, 77, 0, 0, 0, 23, 0, 0, 0, 89, 0, 0, 0, 34, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, -0, 69, 0, 0, 0, 203, 0, 0, 0, 72, 0, 0, 0, 75, 0, 0, 0, 24, 0, 0, 0, 51, 0, 0, 0, 124, 0, 0, 0, 231, 0, 0, 0, 38, 0, 0, 0, 186, 0, 0, 0, 77, 0, 0, 0, 50, 0, 0, 0, 254, 0, 0, 0, 83, 0, 0, 0, 244, 0, 0, 0, 250, 0, 0, 0, 131, 0, 0, 0, 227, 0, 0, 0, 165, 0, 0, 0, 121, 0, 0, 0, 102, 0, 0, 0, 115, 0, 0, 0, 239, 0, 0, 0, 128, 0, 0, 0, 35, 0, 0, 0, 104, 0, 0, 0, 194, 0, 0, 0, 96, 0, 0, 0, 221, 0, 0, 0, 169, 0, 0, 0, 51, 0, 0, 0, 220, 0, 0, 0, 3, 0, 0, 0, 122, 0, 0, 0, 224, 0, 0, 0, 224, 0, 0, 0, 62, 0, 0, -0, 52, 0, 0, 0, 92, 0, 0, 0, 19, 0, 0, 0, 251, 0, 0, 0, 192, 0, 0, 0, 227, 0, 0, 0, 120, 0, 0, 0, 43, 0, 0, 0, 84, 0, 0, 0, 88, 0, 0, 0, 34, 0, 0, 0, 155, 0, 0, 0, 118, 0, 0, 0, 129, 0, 0, 0, 127, 0, 0, 0, 147, 0, 0, 0, 156, 0, 0, 0, 37, 0, 0, 0, 60, 0, 0, 0, 210, 0, 0, 0]).concat([233, 0, 0, 0, 150, 0, 0, 0, 33, 0, 0, 0, 38, 0, 0, 0, 8, 0, 0, 0, 245, 0, 0, 0, 237, 0, 0, 0, 149, 0, 0, 0, 17, 0, 0, 0, 174, 0, 0, 0, 4, 0, 0, 0, 90, 0, 0, 0, 185, 0, 0, 0, 232, 0, 0, 0, 197, 0, 0, 0, 18, 0, 0, 0, 151, -0, 0, 0, 31, 0, 0, 0, 131, 0, 0, 0, 254, 0, 0, 0, 62, 0, 0, 0, 148, 0, 0, 0, 153, 0, 0, 0, 212, 0, 0, 0, 45, 0, 0, 0, 249, 0, 0, 0, 82, 0, 0, 0, 89, 0, 0, 0, 92, 0, 0, 0, 130, 0, 0, 0, 166, 0, 0, 0, 240, 0, 0, 0, 117, 0, 0, 0, 126, 0, 0, 0, 232, 0, 0, 0, 236, 0, 0, 0, 204, 0, 0, 0, 172, 0, 0, 0, 24, 0, 0, 0, 33, 0, 0, 0, 9, 0, 0, 0, 103, 0, 0, 0, 102, 0, 0, 0, 103, 0, 0, 0, 179, 0, 0, 0, 64, 0, 0, 0, 41, 0, 0, 0, 209, 0, 0, 0, 203, 0, 0, 0, 27, 0, 0, 0, 8, 0, 0, 0, 158, 0, 0, 0, 156, 0, 0, 0, 183, -0, 0, 0, 83, 0, 0, 0, 185, 0, 0, 0, 59, 0, 0, 0, 113, 0, 0, 0, 8, 0, 0, 0, 149, 0, 0, 0, 18, 0, 0, 0, 26, 0, 0, 0, 88, 0, 0, 0, 175, 0, 0, 0, 126, 0, 0, 0, 130, 0, 0, 0, 82, 0, 0, 0, 67, 0, 0, 0, 79, 0, 0, 0, 17, 0, 0, 0, 57, 0, 0, 0, 244, 0, 0, 0, 147, 0, 0, 0, 26, 0, 0, 0, 38, 0, 0, 0, 5, 0, 0, 0, 110, 0, 0, 0, 68, 0, 0, 0, 163, 0, 0, 0, 249, 0, 0, 0, 100, 0, 0, 0, 175, 0, 0, 0, 231, 0, 0, 0, 109, 0, 0, 0, 125, 0, 0, 0, 223, 0, 0, 0, 30, 0, 0, 0, 172, 0, 0, 0, 4, 0, 0, 0, 234, 0, 0, 0, 59, 0, 0, -0, 95, 0, 0, 0, 155, 0, 0, 0, 232, 0, 0, 0, 36, 0, 0, 0, 157, 0, 0, 0, 14, 0, 0, 0, 229, 0, 0, 0, 46, 0, 0, 0, 62, 0, 0, 0, 223, 0, 0, 0, 169, 0, 0, 0, 247, 0, 0, 0, 212, 0, 0, 0, 80, 0, 0, 0, 113, 0, 0, 0, 240, 0, 0, 0, 120, 0, 0, 0, 62, 0, 0, 0, 168, 0, 0, 0, 56, 0, 0, 0, 194, 0, 0, 0, 87, 0, 0, 0, 86, 0, 0, 0, 66, 0, 0, 0, 154, 0, 0, 0, 177, 0, 0, 0, 226, 0, 0, 0, 248, 0, 0, 0, 69, 0, 0, 0, 170, 0, 0, 0, 17, 0, 0, 0, 72, 0, 0, 0, 95, 0, 0, 0, 23, 0, 0, 0, 196, 0, 0, 0, 84, 0, 0, 0, 39, 0, 0, 0, -220, 0, 0, 0, 93, 0, 0, 0, 170, 0, 0, 0, 221, 0, 0, 0, 65, 0, 0, 0, 188, 0, 0, 0, 223, 0, 0, 0, 129, 0, 0, 0, 185, 0, 0, 0, 83, 0, 0, 0, 238, 0, 0, 0, 82, 0, 0, 0, 195, 0, 0, 0, 241, 0, 0, 0, 167, 0, 0, 0, 109, 0, 0, 0, 179, 0, 0, 0, 95, 0, 0, 0, 146, 0, 0, 0, 111, 0, 0, 0, 204, 0, 0, 0, 145, 0, 0, 0, 184, 0, 0, 0, 149, 0, 0, 0, 5, 0, 0, 0, 223, 0, 0, 0, 60, 0, 0, 0, 100, 0, 0, 0, 87, 0, 0, 0, 57, 0, 0, 0, 97, 0, 0, 0, 81, 0, 0, 0, 173, 0, 0, 0, 140, 0, 0, 0, 56, 0, 0, 0, 123, 0, 0, 0, 200, 0, 0, -0, 222, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 190, 0, 0, 0, 161, 0, 0, 0, 176, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 36, 0, 0, 0, 29, 0, 0, 0, 138, 0, 0, 0, 103, 0, 0, 0, 32, 0, 0, 0, 238, 0, 0, 0, 66, 0, 0, 0, 235, 0, 0, 0, 56, 0, 0, 0, 237, -0, 0, 0, 11, 0, 0, 0, 139, 0, 0, 0, 205, 0, 0, 0, 70, 0, 0, 0, 157, 0, 0, 0, 94, 0, 0, 0, 107, 0, 0, 0, 30, 0, 0, 0, 36, 0, 0, 0, 157, 0, 0, 0, 18, 0, 0, 0, 5, 0, 0, 0, 26, 0, 0, 0, 204, 0, 0, 0, 5, 0, 0, 0, 78, 0, 0, 0, 146, 0, 0, 0, 56, 0, 0, 0, 225, 0, 0, 0, 31, 0, 0, 0, 80, 0, 0, 0, 78, 0, 0, 0, 238, 0, 0, 0, 28, 0, 0, 0, 145, 0, 0, 0, 230, 0, 0, 0, 17, 0, 0, 0, 189, 0, 0, 0, 142, 0, 0, 0, 85, 0, 0, 0, 26, 0, 0, 0, 24, 0, 0, 0, 117, 0, 0, 0, 102, 0, 0, 0, 175, 0, 0, 0, 77, 0, 0, 0, 123, 0, 0, -0, 15, 0, 0, 0, 174, 0, 0, 0, 109, 0, 0, 0, 133, 0, 0, 0, 202, 0, 0, 0, 130, 0, 0, 0, 88, 0, 0, 0, 33, 0, 0, 0, 156, 0, 0, 0, 24, 0, 0, 0, 224, 0, 0, 0, 237, 0, 0, 0, 236, 0, 0, 0, 34, 0, 0, 0, 128, 0, 0, 0, 47, 0, 0, 0, 104, 0, 0, 0, 59, 0, 0, 0, 10, 0, 0, 0, 57, 0, 0, 0, 29, 0, 0, 0, 106, 0, 0, 0, 21, 0, 0, 0, 87, 0, 0, 0, 252, 0, 0, 0, 240, 0, 0, 0, 99, 0, 0, 0, 84, 0, 0, 0, 219, 0, 0, 0, 57, 0, 0, 0, 219, 0, 0, 0, 232, 0, 0, 0, 92, 0, 0, 0, 100, 0, 0, 0, 255, 0, 0, 0, 160, 0, 0, 0, 9, 0, 0, 0, -79, 0, 0, 0, 59, 0, 0, 0, 183, 0, 0, 0, 50, 0, 0, 0, 96, 0, 0, 0, 153, 0, 0, 0, 148, 0, 0, 0, 253, 0, 0, 0, 148, 0, 0, 0, 130, 0, 0, 0, 45, 0, 0, 0, 36, 0, 0, 0, 246, 0, 0, 0, 90, 0, 0, 0, 68, 0, 0, 0, 241, 0, 0, 0, 85, 0, 0, 0, 44, 0, 0, 0, 219, 0, 0, 0, 234, 0, 0, 0, 124, 0, 0, 0, 132, 0, 0, 0, 124, 0, 0, 0, 1, 0, 0, 0, 172, 0, 0, 0, 227, 0, 0, 0, 253, 0, 0, 0, 201, 0, 0, 0, 39, 0, 0, 0, 193, 0, 0, 0, 90, 0, 0, 0, 185, 0, 0, 0, 222, 0, 0, 0, 79, 0, 0, 0, 90, 0, 0, 0, 144, 0, 0, 0, 221, 0, 0, 0, -198, 0, 0, 0, 103, 0, 0, 0, 170, 0, 0, 0, 111, 0, 0, 0, 138, 0, 0, 0, 58, 0, 0, 0, 120, 0, 0, 0, 82, 0, 0, 0, 135, 0, 0, 0, 201, 0, 0, 0, 151, 0, 0, 0, 99, 0, 0, 0, 177, 0, 0, 0, 221, 0, 0, 0, 84, 0, 0, 0, 95, 0, 0, 0, 193, 0, 0, 0, 248, 0, 0, 0, 241, 0, 0, 0, 6, 0, 0, 0, 166, 0, 0, 0, 168, 0, 0, 0, 163, 0, 0, 0, 136, 0, 0, 0, 130, 0, 0, 0, 212, 0, 0, 0, 203, 0, 0, 0, 166, 0, 0, 0, 25, 0, 0, 0, 221, 0, 0, 0, 209, 0, 0, 0, 17, 0, 0, 0, 135, 0, 0, 0, 8, 0, 0, 0, 23, 0, 0, 0, 76, 0, 0, 0, 55, 0, 0, -0, 42, 0, 0, 0, 161, 0, 0, 0, 12, 0, 0, 0, 243, 0, 0, 0, 8, 0, 0, 0, 67, 0, 0, 0, 217, 0, 0, 0, 36, 0, 0, 0, 30, 0, 0, 0, 131, 0, 0, 0, 167, 0, 0, 0, 223, 0, 0, 0, 145, 0, 0, 0, 202, 0, 0, 0, 189, 0, 0, 0, 105, 0, 0, 0, 71, 0, 0, 0, 141, 0, 0, 0, 27, 0, 0, 0, 226, 0, 0, 0, 185, 0, 0, 0, 78, 0, 0, 0, 181, 0, 0, 0, 225, 0, 0, 0, 118, 0, 0, 0, 179, 0, 0, 0, 28, 0, 0, 0, 147, 0, 0, 0, 3, 0, 0, 0, 206, 0, 0, 0, 95, 0, 0, 0, 179, 0, 0, 0, 90, 0, 0, 0, 29, 0, 0, 0, 218, 0, 0, 0, 228, 0, 0, 0, 97, 0, 0, -0, 3, 0, 0, 0, 80, 0, 0, 0, 169, 0, 0, 0, 139, 0, 0, 0, 104, 0, 0, 0, 24, 0, 0, 0, 239, 0, 0, 0, 178, 0, 0, 0, 28, 0, 0, 0, 132, 0, 0, 0, 59, 0, 0, 0, 162, 0, 0, 0, 68, 0, 0, 0, 149, 0, 0, 0, 163, 0, 0, 0, 4, 0, 0, 0, 59, 0, 0, 0, 214, 0, 0, 0, 153, 0, 0, 0, 0, 0, 0, 0, 175, 0, 0, 0, 118, 0, 0, 0, 66, 0, 0, 0, 103, 0, 0, 0, 2, 0, 0, 0, 125, 0, 0, 0, 133, 0, 0, 0, 86, 0, 0, 0, 206, 0, 0, 0, 114, 0, 0, 0, 14, 0, 0, 0, 41, 0, 0, 0, 132, 0, 0, 0, 178, 0, 0, 0, 125, 0, 0, 0, 210, 0, 0, 0, 69, 0, 0, 0, -190, 0, 0, 0, 87, 0, 0, 0, 6, 0, 0, 0, 237, 0, 0, 0, 127, 0, 0, 0, 207, 0, 0, 0, 237, 0, 0, 0, 205, 0, 0, 0, 239, 0, 0, 0, 25, 0, 0, 0, 214, 0, 0, 0, 188, 0, 0, 0, 21, 0, 0, 0, 121, 0, 0, 0, 100, 0, 0, 0, 210, 0, 0, 0, 24, 0, 0, 0, 227, 0, 0, 0, 32, 0, 0, 0, 103, 0, 0, 0, 58, 0, 0, 0, 84, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 253, 0, 0, 0, 4, 0, 0, 0, 197, 0, 0, 0, 251, 0, 0, 0, 153, 0, 0, 0, 231, 0, 0, 0, 232, 0, 0, 0, 251, 0, 0, 0, 140, 0, 0, 0, 225, 0, 0, 0, 66, 0, 0, 0, 3, 0, 0, 0, 239, 0, 0, 0, 157, 0, 0, 0, 217, 0, 0, 0, 158, 0, 0, 0, 77, 0, 0, 0, 247, 0, 0, 0, 128, 0, 0, 0, 207, 0, 0, 0, 46, 0, 0, 0, 204, 0, 0, 0, 155, 0, 0, 0, 69, 0, 0, 0, 201, 0, 0, 0, 123, 0, 0, 0, 122, 0, 0, 0, 188, 0, 0, 0, 55, 0, 0, 0, 168, 0, 0, 0, -82, 0, 0, 0, 150, 0, 0, 0, 17, 0, 0, 0, 65, 0, 0, 0, 138, 0, 0, 0, 71, 0, 0, 0, 145, 0, 0, 0, 254, 0, 0, 0, 182, 0, 0, 0, 218, 0, 0, 0, 122, 0, 0, 0, 84, 0, 0, 0, 99, 0, 0, 0, 209, 0, 0, 0, 20, 0, 0, 0, 53, 0, 0, 0, 5, 0, 0, 0, 134, 0, 0, 0, 140, 0, 0, 0, 169, 0, 0, 0, 54, 0, 0, 0, 63, 0, 0, 0, 242, 0, 0, 0, 133, 0, 0, 0, 84, 0, 0, 0, 78, 0, 0, 0, 146, 0, 0, 0, 216, 0, 0, 0, 133, 0, 0, 0, 1, 0, 0, 0, 70, 0, 0, 0, 214, 0, 0, 0, 80, 0, 0, 0, 83, 0, 0, 0, 205, 0, 0, 0, 243, 0, 0, 0, 134, 0, 0, 0, 64, -0, 0, 0, 230, 0, 0, 0, 57, 0, 0, 0, 66, 0, 0, 0, 149, 0, 0, 0, 214, 0, 0, 0, 203, 0, 0, 0, 69, 0, 0, 0, 26, 0, 0, 0, 32, 0, 0, 0, 200, 0, 0, 0, 69, 0, 0, 0, 75, 0, 0, 0, 50, 0, 0, 0, 105, 0, 0, 0, 4, 0, 0, 0, 177, 0, 0, 0, 175, 0, 0, 0, 32, 0, 0, 0, 70, 0, 0, 0, 199, 0, 0, 0, 107, 0, 0, 0, 35, 0, 0, 0, 91, 0, 0, 0, 105, 0, 0, 0, 238, 0, 0, 0, 48, 0, 0, 0, 63, 0, 0, 0, 112, 0, 0, 0, 131, 0, 0, 0, 71, 0, 0, 0, 192, 0, 0, 0, 219, 0, 0, 0, 85, 0, 0, 0, 8, 0, 0, 0, 168, 0, 0, 0, 123, 0, 0, 0, 24, 0, 0, -0, 109, 0, 0, 0, 245, 0, 0, 0, 4, 0, 0, 0, 90, 0, 0, 0, 32, 0, 0, 0, 12, 0, 0, 0, 74, 0, 0, 0, 140, 0, 0, 0, 96, 0, 0, 0, 174, 0, 0, 0, 174, 0, 0, 0, 15, 0, 0, 0, 100, 0, 0, 0, 85, 0, 0, 0, 85, 0, 0, 0, 46, 0, 0, 0, 213, 0, 0, 0, 29, 0, 0, 0, 83, 0, 0, 0, 49, 0, 0, 0, 66, 0, 0, 0, 65, 0, 0, 0, 202, 0, 0, 0, 252, 0, 0, 0, 136, 0, 0, 0, 107, 0, 0, 0, 150, 0, 0, 0, 120, 0, 0, 0, 10, 0, 0, 0, 139, 0, 0, 0, 131, 0, 0, 0, 220, 0, 0, 0, 188, 0, 0, 0, 175, 0, 0, 0, 64, 0, 0, 0, 182, 0, 0, 0, 141, 0, 0, 0, -127, 0, 0, 0, 239, 0, 0, 0, 180, 0, 0, 0, 209, 0, 0, 0, 63, 0, 0, 0, 204, 0, 0, 0, 162, 0, 0, 0, 116, 0, 0, 0, 201, 0, 0, 0, 194, 0, 0, 0, 146, 0, 0, 0, 85, 0, 0, 0, 0, 0, 0, 0, 171, 0, 0, 0, 219, 0, 0, 0, 191, 0, 0, 0, 79, 0, 0, 0, 147, 0, 0, 0, 28, 0, 0, 0, 6, 0, 0, 0, 45, 0, 0, 0, 102, 0, 0, 0, 101, 0, 0, 0, 2, 0, 0, 0, 164, 0, 0, 0, 151, 0, 0, 0, 24, 0, 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 231, 0, 0, 0, 171, 0, 0, 0, 3, 0, 0, 0, 236, 0, 0, 0, 206, 0, 0, 0, 193, 0, 0, 0, 191, 0, 0, 0, 55, 0, 0, 0, -248, 0, 0, 0, 19, 0, 0, 0, 83, 0, 0, 0, 165, 0, 0, 0, 229, 0, 0, 0, 12, 0, 0, 0, 58, 0, 0, 0, 168, 0, 0, 0, 85, 0, 0, 0, 185, 0, 0, 0, 255, 0, 0, 0, 104, 0, 0, 0, 228, 0, 0, 0, 230, 0, 0, 0, 109, 0, 0, 0, 48, 0, 0, 0, 125, 0, 0, 0, 48, 0, 0, 0, 53, 0, 0, 0, 194, 0, 0, 0, 120, 0, 0, 0, 135, 0, 0, 0, 249, 0, 0, 0, 252, 0, 0, 0, 107, 0, 0, 0, 90, 0, 0, 0, 195, 0, 0, 0, 183, 0, 0, 0, 101, 0, 0, 0, 216, 0, 0, 0, 46, 0, 0, 0, 199, 0, 0, 0, 165, 0, 0, 0, 12, 0, 0, 0, 198, 0, 0, 0, 220, 0, 0, 0, 18, 0, 0, -0, 170, 0, 0, 0, 214, 0, 0, 0, 79, 0, 0, 0, 197, 0, 0, 0, 56, 0, 0, 0, 188, 0, 0, 0, 14, 0, 0, 0, 226, 0, 0, 0, 60, 0, 0, 0, 118, 0, 0, 0, 134, 0, 0, 0, 56, 0, 0, 0, 242, 0, 0, 0, 123, 0, 0, 0, 44, 0, 0, 0, 22, 0, 0, 0, 120, 0, 0, 0, 141, 0, 0, 0, 245, 0, 0, 0, 164, 0, 0, 0, 21, 0, 0, 0, 218, 0, 0, 0, 219, 0, 0, 0, 38, 0, 0, 0, 133, 0, 0, 0, 160, 0, 0, 0, 86, 0, 0, 0, 221, 0, 0, 0, 29, 0, 0, 0, 227, 0, 0, 0, 179, 0, 0, 0, 253, 0, 0, 0, 64, 0, 0, 0, 239, 0, 0, 0, 242, 0, 0, 0, 217, 0, 0, 0, 161, 0, -0, 0, 179, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 219, 0, 0, 0, 73, 0, 0, 0, 14, 0, 0, 0, 230, 0, 0, 0, 88, 0, 0, 0, 16, 0, 0, 0, 122, 0, 0, 0, 82, 0, 0, 0, 218, 0, 0, 0, 181, 0, 0, 0, 125, 0, 0, 0, 55, 0, 0, 0, 106, 0, 0, 0, 62, 0, 0, 0, 161, 0, 0, 0, 120, -0, 0, 0, 206, 0, 0, 0, 199, 0, 0, 0, 28, 0, 0, 0, 36, 0, 0, 0, 35, 0, 0, 0, 219, 0, 0, 0, 125, 0, 0, 0, 251, 0, 0, 0, 140, 0, 0, 0, 141, 0, 0, 0, 220, 0, 0, 0, 48, 0, 0, 0, 103, 0, 0, 0, 105, 0, 0, 0, 117, 0, 0, 0, 59, 0, 0, 0, 169, 0, 0, 0, 234, 0, 0, 0, 109, 0, 0, 0, 22, 0, 0, 0, 22, 0, 0, 0, 96, 0, 0, 0, 244, 0, 0, 0, 96, 0, 0, 0, 135, 0, 0, 0, 25, 0, 0, 0, 68, 0, 0, 0, 140, 0, 0, 0, 74, 0, 0, 0, 139, 0, 0, 0, 62, 0, 0, 0, 251, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 166, 0, -0, 0, 158, 0, 0, 0, 159, 0, 0, 0, 239, 0, 0, 0, 207, 0, 0, 0, 217, 0, 0, 0, 210, 0, 0, 0, 76, 0, 0, 0, 116, 0, 0, 0, 49, 0, 0, 0, 208, 0, 0, 0, 52, 0, 0, 0, 164, 0, 0, 0, 235, 0, 0, 0, 4, 0, 0, 0, 164, 0, 0, 0, 140, 0, 0, 0, 143, 0, 0, 0, 113, 0, 0, 0, 39, 0, 0, 0, 149, 0, 0, 0, 133, 0, 0, 0, 93, 0, 0, 0, 85, 0, 0, 0, 75, 0, 0, 0, 177, 0, 0, 0, 38, 0, 0, 0, 38, 0, 0, 0, 200, 0, 0, 0, 174, 0, 0, 0, 106, 0, 0, 0, 125, 0, 0, 0, 162, 0, 0, 0, 33, 0, 0, 0, 202, 0, 0, 0, 206, 0, 0, 0, 56, 0, 0, 0, 171, -0, 0, 0, 15, 0, 0, 0, 208, 0, 0, 0, 213, 0, 0, 0, 43, 0, 0, 0, 107, 0, 0, 0, 0, 0, 0, 0, 229, 0, 0, 0, 103, 0, 0, 0, 12, 0, 0, 0, 241, 0, 0, 0, 58, 0, 0, 0, 154, 0, 0, 0, 234, 0, 0, 0, 9, 0, 0, 0, 57, 0, 0, 0, 239, 0, 0, 0, 209, 0, 0, 0, 48, 0, 0, 0, 188, 0, 0, 0, 51, 0, 0, 0, 186, 0, 0, 0, 177, 0, 0, 0, 106, 0, 0, 0, 197, 0, 0, 0, 39, 0, 0, 0, 8, 0, 0, 0, 127, 0, 0, 0, 84, 0, 0, 0, 128, 0, 0, 0, 61, 0, 0, 0, 171, 0, 0, 0, 246, 0, 0, 0, 21, 0, 0, 0, 122, 0, 0, 0, 194, 0, 0, 0, 64, 0, 0, 0, 115, 0, -0, 0, 114, 0, 0, 0, 132, 0, 0, 0, 86, 0, 0, 0, 130, 0, 0, 0, 182, 0, 0, 0, 18, 0, 0, 0, 112, 0, 0, 0, 127, 0, 0, 0, 247, 0, 0, 0, 240, 0, 0, 0, 189, 0, 0, 0, 91, 0, 0, 0, 169, 0, 0, 0, 213, 0, 0, 0, 197, 0, 0, 0, 95, 0, 0, 0, 89, 0, 0, 0, 191, 0, 0, 0, 127, 0, 0, 0, 179, 0, 0, 0, 85, 0, 0, 0, 34, 0, 0, 0, 2, 0, 0, 0, 201, 0, 0, 0, 68, 0, 0, 0, 85, 0, 0, 0, 135, 0, 0, 0, 143, 0, 0, 0, 150, 0, 0, 0, 152, 0, 0, 0, 100, 0, 0, 0, 109, 0, 0, 0, 21, 0, 0, 0, 176, 0, 0, 0, 139, 0, 0, 0, 170, 0, 0, 0, 30, -0, 0, 0, 236, 0, 0, 0, 199, 0, 0, 0, 165, 0, 0, 0, 143, 0, 0, 0, 31, 0, 0, 0, 146, 0, 0, 0, 4, 0, 0, 0, 198, 0, 0, 0, 5, 0, 0, 0, 246, 0, 0, 0, 223, 0, 0, 0, 161, 0, 0, 0, 204, 0, 0, 0, 31, 0, 0, 0, 129, 0, 0, 0, 245, 0, 0, 0, 14, 0, 0, 0, 156, 0, 0, 0, 87, 0, 0, 0, 220, 0, 0, 0, 227, 0, 0, 0, 187, 0, 0, 0, 6, 0, 0, 0, 135, 0, 0, 0, 30, 0, 0, 0, 254, 0, 0, 0, 35, 0, 0, 0, 108, 0, 0, 0, 216, 0, 0, 0, 43, 0, 0, 0, 91, 0, 0, 0, 22, 0, 0, 0, 234, 0, 0, 0, 32, 0, 0, 0, 241, 0, 0, 0, 211, 0, 0, 0, 104, -0, 0, 0, 143, 0, 0, 0, 174, 0, 0, 0, 91, 0, 0, 0, 208, 0, 0, 0, 169, 0, 0, 0, 26, 0, 0, 0, 25, 0, 0, 0, 168, 0, 0, 0, 54, 0, 0, 0, 251, 0, 0, 0, 43, 0, 0, 0, 87, 0, 0, 0, 136, 0, 0, 0, 125, 0, 0, 0, 144, 0, 0, 0, 213, 0, 0, 0, 166, 0, 0, 0, 243, 0, 0, 0, 220, 0, 0, 0, 56, 0, 0, 0, 137, 0, 0, 0, 78, 0, 0, 0, 31, 0, 0, 0, 204, 0, 0, 0, 25, 0, 0, 0, 218, 0, 0, 0, 155, 0, 0, 0, 59, 0, 0, 0, 67, 0, 0, 0, 72, 0, 0, 0, 33, 0, 0, 0, 46, 0, 0, 0, 35, 0, 0, 0, 77, 0, 0, 0, 61, 0, 0, 0, 174, 0, 0, 0, 248, 0, -0, 0, 140, 0, 0, 0, 252, 0, 0, 0, 221, 0, 0, 0, 166, 0, 0, 0, 116, 0, 0, 0, 55, 0, 0, 0, 101, 0, 0, 0, 202, 0, 0, 0, 238, 0, 0, 0, 26, 0, 0, 0, 25, 0, 0, 0, 142, 0, 0, 0, 159, 0, 0, 0, 100, 0, 0, 0, 111, 0, 0, 0, 12, 0, 0, 0, 139, 0, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 185, 0, 0, 0, 194, 0, 0, 0, 240, 0, 0, 0, 114, 0, 0, 0, 184, 0, 0, 0, 21, 0, 0, 0, 22, 0, 0, 0, 204, 0, 0, 0, 141, 0, 0, 0, 60, 0, 0, 0, 111, 0, 0, 0, 37, 0, 0, 0, 237, 0, 0, 0, 244, 0, 0, 0, 70, 0, 0, 0, 46, 0, 0, 0, 12, 0, 0, 0, 96, 0, 0, 0, 15, 0, 0, 0, 226, 0, 0, 0, 132, 0, 0, 0, 52, 0, 0, 0, 85, 0, 0, 0, 137, 0, 0, 0, 89, 0, 0, 0, 52, 0, 0, 0, 27, 0, 0, 0, 245, 0, 0, 0, 141, 0, 0, 0, 254, 0, 0, 0, 8, 0, 0, 0, 248, 0, 0, 0, 171, 0, 0, 0, 147, 0, 0, 0, 188, 0, 0, -0, 68, 0, 0, 0, 186, 0, 0, 0, 27, 0, 0, 0, 117, 0, 0, 0, 75, 0, 0, 0, 73, 0, 0, 0, 111, 0, 0, 0, 208, 0, 0, 0, 84, 0, 0, 0, 46, 0, 0, 0, 99, 0, 0, 0, 186, 0, 0, 0, 181, 0, 0, 0, 234, 0, 0, 0, 237, 0, 0, 0, 50, 0, 0, 0, 20, 0, 0, 0, 201, 0, 0, 0, 148, 0, 0, 0, 216, 0, 0, 0, 197, 0, 0, 0, 206, 0, 0, 0, 244, 0, 0, 0, 16, 0, 0, 0, 104, 0, 0, 0, 224, 0, 0, 0, 56, 0, 0, 0, 39, 0, 0, 0, 116, 0, 0, 0, 28, 0, 0, 0, 20, 0, 0, 0, 155, 0, 0, 0, 212, 0, 0, 0, 100, 0, 0, 0, 97, 0, 0, 0, 113, 0, 0, 0, 90, 0, 0, -0, 182, 0, 0, 0, 33, 0, 0, 0, 51, 0, 0, 0, 79, 0, 0, 0, 247, 0, 0, 0, 142, 0, 0, 0, 186, 0, 0, 0, 165, 0, 0, 0, 72, 0, 0, 0, 154, 0, 0, 0, 199, 0, 0, 0, 250, 0, 0, 0, 154, 0, 0, 0, 240, 0, 0, 0, 180, 0, 0, 0, 98, 0, 0, 0, 173, 0, 0, 0, 242, 0, 0, 0, 94, 0, 0, 0, 204, 0, 0, 0, 3, 0, 0, 0, 36, 0, 0, 0, 26, 0, 0, 0, 245, 0, 0, 0, 118, 0, 0, 0, 253, 0, 0, 0, 228, 0, 0, 0, 175, 0, 0, 0, 185, 0, 0, 0, 3, 0, 0, 0, 89, 0, 0, 0, 206, 0, 0, 0, 99, 0, 0, 0, 210, 0, 0, 0, 59, 0, 0, 0, 31, 0, 0, 0, 205, 0, 0, -0, 33, 0, 0, 0, 12, 0, 0, 0, 173, 0, 0, 0, 68, 0, 0, 0, 165, 0, 0, 0, 151, 0, 0, 0, 172, 0, 0, 0, 128, 0, 0, 0, 17, 0, 0, 0, 2, 0, 0, 0, 155, 0, 0, 0, 12, 0, 0, 0, 229, 0, 0, 0, 139, 0, 0, 0, 205, 0, 0, 0, 251, 0, 0, 0, 121, 0, 0, 0, 119, 0, 0, 0, 21, 0, 0, 0, 190, 0, 0, 0, 154, 0, 0, 0, 13, 0, 0, 0, 186, 0, 0, 0, 56, 0, 0, 0, 114, 0, 0, 0, 32, 0, 0, 0, 138, 0, 0, 0, 245, 0, 0, 0, 190, 0, 0, 0, 89, 0, 0, 0, 147, 0, 0, 0, 121, 0, 0, 0, 183, 0, 0, 0, 246, 0, 0, 0, 106, 0, 0, 0, 12, 0, 0, 0, 56, 0, -0, 0, 39, 0, 0, 0, 26, 0, 0, 0, 96, 0, 0, 0, 244, 0, 0, 0, 134, 0, 0, 0, 59, 0, 0, 0, 171, 0, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 160, 0, 0, 0, 206, 0, 0, 0, 33, 0, 0, 0, 125, 0, 0, 0, 108, 0, 0, 0, 186, 0, 0, 0, 20, 0, 0, 0, 197, 0, 0, 0, 234, 0, 0, 0, 18, 0, 0, 0, 158, 0, 0, 0, 46, 0, 0, 0, 130, 0, 0, 0, 99, 0, 0, 0, 206, 0, 0, 0, 155, 0, 0, 0, 74, 0, 0, 0, 231, 0, 0, 0, 29, 0, 0, 0, 236, 0, 0, 0, 241, 0, 0, 0, 46, 0, 0, 0, 81, 0, 0, 0, 28, 0, 0, 0, 244, 0, 0, 0, 208, 0, 0, 0, 105, 0, 0, 0, 21, 0, 0, -0, 66, 0, 0, 0, 157, 0, 0, 0, 163, 0, 0, 0, 63, 0, 0, 0, 14, 0, 0, 0, 191, 0, 0, 0, 233, 0, 0, 0, 92, 0, 0, 0, 228, 0, 0, 0, 13, 0, 0, 0, 244, 0, 0, 0, 189, 0, 0, 0, 238, 0, 0, 0, 49, 0, 0, 0, 16, 0, 0, 0, 237, 0, 0, 0, 203, 0, 0, 0, 18, 0, 0, 0, 134, 0, 0, 0, 173, 0, 0, 0, 212, 0, 0, 0, 47, 0, 0, 0, 144, 0, 0, 0, 55, 0, 0, 0, 50, 0, 0, 0, 195, 0, 0, 0, 11, 0, 0, 0, 115, 0, 0, 0, 236, 0, 0, 0, 151, 0, 0, 0, 133, 0, 0, 0, 164, 0, 0, 0, 1, 0, 0, 0, 28, 0, 0, 0, 118, 0, 0, 0, 53, 0, 0, 0, 254, 0, 0, -0, 117, 0, 0, 0, 221, 0, 0, 0, 113, 0, 0, 0, 17, 0, 0, 0, 164, 0, 0, 0, 136, 0, 0, 0, 159, 0, 0, 0, 62, 0, 0, 0, 83, 0, 0, 0, 105, 0, 0, 0, 59, 0, 0, 0, 27, 0, 0, 0, 224, 0, 0, 0, 247, 0, 0, 0, 186, 0, 0, 0, 155, 0, 0, 0, 173, 0, 0, 0, 78, 0, 0, 0, 129, 0, 0, 0, 95, 0, 0, 0, 181, 0, 0, 0, 92, 0, 0, 0, 174, 0, 0, 0, 190, 0, 0, 0, 103, 0, 0, 0, 134, 0, 0, 0, 55, 0, 0, 0, 52, 0, 0, 0, 142, 0, 0, 0, 7, 0, 0, 0, 50, 0, 0, 0, 69, 0, 0, 0, 74, 0, 0, 0, 103, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, 0, 0, 0, 112, 0, 0, 0, 88, 0, 0, 0, 32, 0, 0, 0, 3, 0, 0, 0, 30, 0, 0, 0, 103, 0, 0, 0, 178, 0, 0, 0, 200, 0, 0, 0, 155, 0, 0, 0, 88, 0, 0, 0, 197, 0, 0, 0, 177, 0, 0, 0, 235, 0, 0, 0, 45, 0, 0, 0, 74, 0, 0, 0, 222, 0, 0, 0, 130, 0, 0, 0, 140, 0, 0, 0, -242, 0, 0, 0, 210, 0, 0, 0, 20, 0, 0, 0, 184, 0, 0, 0, 112, 0, 0, 0, 97, 0, 0, 0, 78, 0, 0, 0, 115, 0, 0, 0, 214, 0, 0, 0, 11, 0, 0, 0, 107, 0, 0, 0, 13, 0, 0, 0, 48, 0, 0, 0, 129, 0, 0, 0, 252, 0, 0, 0, 85, 0, 0, 0, 92, 0, 0, 0, 191, 0, 0, 0, 167, 0, 0, 0, 196, 0, 0, 0, 189, 0, 0, 0, 226, 0, 0, 0, 240, 0, 0, 0, 75, 0, 0, 0, 143, 0, 0, 0, 233, 0, 0, 0, 125, 0, 0, 0, 153, 0, 0, 0, 250, 0, 0, 0, 211, 0, 0, 0, 171, 0, 0, 0, 188, 0, 0, 0, 199, 0, 0, 0, 131, 0, 0, 0, 43, 0, 0, 0, 4, 0, 0, 0, 127, 0, 0, -0, 12, 0, 0, 0, 25, 0, 0, 0, 67, 0, 0, 0, 3, 0, 0, 0, 61, 0, 0, 0, 7, 0, 0, 0, 202, 0, 0, 0, 64, 0, 0, 0, 249, 0, 0, 0, 200, 0, 0, 0, 190, 0, 0, 0, 140, 0, 0, 0, 22, 0, 0, 0, 129, 0, 0, 0, 57, 0, 0, 0, 150, 0, 0, 0, 246, 0, 0, 0, 23, 0, 0, 0, 88, 0, 0, 0, 200, 0, 0, 0, 48, 0, 0, 0, 88, 0, 0, 0, 251, 0, 0, 0, 194, 0, 0, 0, 3, 0, 0, 0, 69, 0, 0, 0, 210, 0, 0, 0, 82, 0, 0, 0, 118, 0, 0, 0, 224, 0, 0, 0, 106, 0, 0, 0, 38, 0, 0, 0, 40, 0, 0, 0, 92, 0, 0, 0, 136, 0, 0, 0, 89, 0, 0, 0, 106, 0, 0, 0, 90, -0, 0, 0, 84, 0, 0, 0, 66, 0, 0, 0, 7, 0, 0, 0, 181, 0, 0, 0, 46, 0, 0, 0, 44, 0, 0, 0, 103, 0, 0, 0, 21, 0, 0, 0, 155, 0, 0, 0, 251, 0, 0, 0, 131, 0, 0, 0, 105, 0, 0, 0, 30, 0, 0, 0, 15, 0, 0, 0, 218, 0, 0, 0, 214, 0, 0, 0, 41, 0, 0, 0, 177, 0, 0, 0, 96, 0, 0, 0, 224, 0, 0, 0, 178, 0, 0, 0, 186, 0, 0, 0, 105, 0, 0, 0, 162, 0, 0, 0, 158, 0, 0, 0, 189, 0, 0, 0, 189, 0, 0, 0, 224, 0, 0, 0, 28, 0, 0, 0, 189, 0, 0, 0, 205, 0, 0, 0, 6, 0, 0, 0, 100, 0, 0, 0, 112, 0, 0, 0, 65, 0, 0, 0, 250, 0, 0, 0, 140, -0, 0, 0, 225, 0, 0, 0, 137, 0, 0, 0, 143, 0, 0, 0, 39, 0, 0, 0, 200, 0, 0, 0, 37, 0, 0, 0, 143, 0, 0, 0, 111, 0, 0, 0, 95, 0, 0, 0, 85, 0, 0, 0, 248, 0, 0, 0, 222, 0, 0, 0, 149, 0, 0, 0, 109, 0, 0, 0, 47, 0, 0, 0, 117, 0, 0, 0, 22, 0, 0, 0, 43, 0, 0, 0, 78, 0, 0, 0, 68, 0, 0, 0, 253, 0, 0, 0, 134, 0, 0, 0, 110, 0, 0, 0, 233, 0, 0, 0, 112, 0, 0, 0, 57, 0, 0, 0, 118, 0, 0, 0, 151, 0, 0, 0, 126, 0, 0, 0, 23, 0, 0, 0, 98, 0, 0, 0, 107, 0, 0, 0, 20, 0, 0, 0, 161, 0, 0, 0, 124, 0, 0, 0, 208, 0, 0, 0, 121, -0, 0, 0, 110, 0, 0, 0, 216, 0, 0, 0, 138, 0, 0, 0, 165, 0, 0, 0, 109, 0, 0, 0, 140, 0, 0, 0, 147, 0, 0, 0, 210, 0, 0, 0, 63, 0, 0, 0, 236, 0, 0, 0, 68, 0, 0, 0, 141, 0, 0, 0, 110, 0, 0, 0, 145, 0, 0, 0, 1, 0, 0, 0, 140, 0, 0, 0, 143, 0, 0, 0, 238, 0, 0, 0, 1, 0, 0, 0, 143, 0, 0, 0, 192, 0, 0, 0, 180, 0, 0, 0, 133, 0, 0, 0, 14, 0, 0, 0, 2, 0, 0, 0, 58, 0, 0, 0, 112, 0, 0, 0, 65, 0, 0, 0, 228, 0, 0, 0, 17, 0, 0, 0, 87, 0, 0, 0, 35, 0, 0, 0, 172, 0, 0, 0, 230, 0, 0, 0, 252, 0, 0, 0, 84, 0, 0, 0, 126, -0, 0, 0, 205, 0, 0, 0, 215, 0, 0, 0, 34, 0, 0, 0, 203, 0, 0, 0, 118, 0, 0, 0, 159, 0, 0, 0, 32, 0, 0, 0, 206, 0, 0, 0, 160, 0, 0, 0, 115, 0, 0, 0, 118, 0, 0, 0, 81, 0, 0, 0, 59, 0, 0, 0, 164, 0, 0, 0, 248, 0, 0, 0, 227, 0, 0, 0, 98, 0, 0, 0, 18, 0, 0, 0, 108, 0, 0, 0, 127, 0, 0, 0, 0, 0, 0, 0, 156, 0, 0, 0, 38, 0, 0, 0, 13, 0, 0, 0, 111, 0, 0, 0, 72, 0, 0, 0, 127, 0, 0, 0, 58, 0, 0, 0, 1, 0, 0, 0, 237, 0, 0, 0, 197, 0, 0, 0, 150, 0, 0, 0, 176, 0, 0, 0, 31, 0, 0, 0, 79, 0, 0, 0, 168, 0, 0, 0, 2, 0, -0, 0, 98, 0, 0, 0, 39, 0, 0, 0, 138, 0, 0, 0, 80, 0, 0, 0, 141, 0, 0, 0, 154, 0, 0, 0, 139, 0, 0, 0, 82, 0, 0, 0, 15, 0, 0, 0, 30, 0, 0, 0, 207, 0, 0, 0, 65, 0, 0, 0, 56, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, 0, 0, 0, 108, 0, 0, 0, 212, 0, 0, 0, -47, 0, 0, 0, 15, 0, 0, 0, 105, 0, 0, 0, 15, 0, 0, 0, 135, 0, 0, 0, 63, 0, 0, 0, 97, 0, 0, 0, 101, 0, 0, 0, 30, 0, 0, 0, 53, 0, 0, 0, 52, 0, 0, 0, 133, 0, 0, 0, 186, 0, 0, 0, 2, 0, 0, 0, 48, 0, 0, 0, 172, 0, 0, 0, 37, 0, 0, 0, 61, 0, 0, 0, 226, 0, 0, 0, 98, 0, 0, 0, 241, 0, 0, 0, 204, 0, 0, 0, 233, 0, 0, 0, 27, 0, 0, 0, 194, 0, 0, 0, 239, 0, 0, 0, 106, 0, 0, 0, 66, 0, 0, 0, 87, 0, 0, 0, 52, 0, 0, 0, 31, 0, 0, 0, 46, 0, 0, 0, 172, 0, 0, 0, 209, 0, 0, 0, 199, 0, 0, 0, 4, 0, 0, 0, 82, 0, 0, 0, 50, 0, -0, 0, 102, 0, 0, 0, 178, 0, 0, 0, 51, 0, 0, 0, 115, 0, 0, 0, 33, 0, 0, 0, 52, 0, 0, 0, 84, 0, 0, 0, 247, 0, 0, 0, 113, 0, 0, 0, 237, 0, 0, 0, 6, 0, 0, 0, 176, 0, 0, 0, 255, 0, 0, 0, 166, 0, 0, 0, 89, 0, 0, 0, 111, 0, 0, 0, 138, 0, 0, 0, 78, 0, 0, 0, 251, 0, 0, 0, 2, 0, 0, 0, 176, 0, 0, 0, 69, 0, 0, 0, 107, 0, 0, 0, 245, 0, 0, 0, 72, 0, 0, 0, 11, 0, 0, 0, 3, 0, 0, 0, 197, 0, 0, 0, 34, 0, 0, 0, 125, 0, 0, 0, 128, 0, 0, 0, 8, 0, 0, 0, 83, 0, 0, 0, 254, 0, 0, 0, 50, 0, 0, 0, 177, 0, 0, 0, 161, 0, 0, -0, 138, 0, 0, 0, 116, 0, 0, 0, 111, 0, 0, 0, 189, 0, 0, 0, 63, 0, 0, 0, 133, 0, 0, 0, 244, 0, 0, 0, 207, 0, 0, 0, 245, 0, 0, 0, 96, 0, 0, 0, 175, 0, 0, 0, 65, 0, 0, 0, 126, 0, 0, 0, 62, 0, 0, 0, 70, 0, 0, 0, 163, 0, 0, 0, 90, 0, 0, 0, 32, 0, 0, 0, 170, 0, 0, 0, 53, 0, 0, 0, 135, 0, 0, 0, 68, 0, 0, 0, 99, 0, 0, 0, 102, 0, 0, 0, 151, 0, 0, 0, 248, 0, 0, 0, 110, 0, 0, 0, 85, 0, 0, 0, 12, 0, 0, 0, 4, 0, 0, 0, 62, 0, 0, 0, 53, 0, 0, 0, 80, 0, 0, 0, 191, 0, 0, 0, 147, 0, 0, 0, 105, 0, 0, 0, 210, 0, 0, -0, 139, 0, 0, 0, 5, 0, 0, 0, 85, 0, 0, 0, 153, 0, 0, 0, 190, 0, 0, 0, 226, 0, 0, 0, 83, 0, 0, 0, 97, 0, 0, 0, 236, 0, 0, 0, 232, 0, 0, 0, 8, 0, 0, 0, 11, 0, 0, 0, 50, 0, 0, 0, 179, 0, 0, 0, 16, 0, 0, 0, 69, 0, 0, 0, 2, 0, 0, 0, 105, 0, 0, 0, 89, 0, 0, 0, 46, 0, 0, 0, 151, 0, 0, 0, 217, 0, 0, 0, 100, 0, 0, 0, 248, 0, 0, 0, 219, 0, 0, 0, 37, 0, 0, 0, 128, 0, 0, 0, 220, 0, 0, 0, 196, 0, 0, 0, 213, 0, 0, 0, 98, 0, 0, 0, 60, 0, 0, 0, 237, 0, 0, 0, 101, 0, 0, 0, 145, 0, 0, 0, 173, 0, 0, 0, 209, 0, 0, 0, -87, 0, 0, 0, 129, 0, 0, 0, 148, 0, 0, 0, 170, 0, 0, 0, 161, 0, 0, 0, 41, 0, 0, 0, 252, 0, 0, 0, 104, 0, 0, 0, 221, 0, 0, 0, 181, 0, 0, 0, 125, 0, 0, 0, 171, 0, 0, 0, 90, 0, 0, 0, 33, 0, 0, 0, 65, 0, 0, 0, 83, 0, 0, 0, 187, 0, 0, 0, 23, 0, 0, 0, 121, 0, 0, 0, 13, 0, 0, 0, 209, 0, 0, 0, 168, 0, 0, 0, 12, 0, 0, 0, 12, 0, 0, 0, 32, 0, 0, 0, 136, 0, 0, 0, 9, 0, 0, 0, 233, 0, 0, 0, 132, 0, 0, 0, 232, 0, 0, 0, 37, 0, 0, 0, 17, 0, 0, 0, 103, 0, 0, 0, 122, 0, 0, 0, 139, 0, 0, 0, 26, 0, 0, 0, 228, 0, 0, 0, -93, 0, 0, 0, 225, 0, 0, 0, 93, 0, 0, 0, 55, 0, 0, 0, 234, 0, 0, 0, 254, 0, 0, 0, 101, 0, 0, 0, 59, 0, 0, 0, 37, 0, 0, 0, 232, 0, 0, 0, 225, 0, 0, 0, 194, 0, 0, 0, 197, 0, 0, 0, 2, 0, 0, 0, 164, 0, 0, 0, 190, 0, 0, 0, 152, 0, 0, 0, 10, 0, 0, 0, 43, 0, 0, 0, 97, 0, 0, 0, 193, 0, 0, 0, 155, 0, 0, 0, 226, 0, 0, 0, 213, 0, 0, 0, 146, 0, 0, 0, 230, 0, 0, 0, 158, 0, 0, 0, 125, 0, 0, 0, 31, 0, 0, 0, 202, 0, 0, 0, 67, 0, 0, 0, 136, 0, 0, 0, 139, 0, 0, 0, 44, 0, 0, 0, 89, 0, 0, 0, 224, 0, 0, 0, 181, 0, 0, -0, 0, 0, 0, 0, 29, 0, 0, 0, 42, 0, 0, 0, 111, 0, 0, 0, 175, 0, 0, 0, 121, 0, 0, 0, 134, 0, 0, 0, 47, 0, 0, 0, 166, 0, 0, 0, 90, 0, 0, 0, 147, 0, 0, 0, 209, 0, 0, 0, 254, 0, 0, 0, 174, 0, 0, 0, 58, 0, 0, 0, 238, 0, 0, 0, 219, 0, 0, 0, 124, 0, 0, 0, 97, 0, 0, 0, 190, 0, 0, 0, 124, 0, 0, 0, 1, 0, 0, 0, 249, 0, 0, 0, 254, 0, 0, 0, 82, 0, 0, 0, 220, 0, 0, 0, 216, 0, 0, 0, 82, 0, 0, 0, 163, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 175, 0, 0, 0, 19, 0, 0, 0, 55, 0, 0, 0, 189, 0, 0, 0, 55, 0, 0, 0, 113, 0, 0, 0, 172, 0, 0, 0, 4, 0, 0, 0, 70, 0, 0, 0, 99, 0, 0, 0, 172, 0, 0, 0, 164, 0, 0, 0, 119, 0, 0, 0, 237, 0, 0, 0, 37, 0, 0, 0, 56, 0, 0, 0, 224, 0, 0, 0, 21, 0, 0, 0, 168, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 206, 0, 0, 0, 81, 0, -0, 0, 1, 0, 0, 0, 169, 0, 0, 0, 188, 0, 0, 0, 15, 0, 0, 0, 3, 0, 0, 0, 28, 0, 0, 0, 4, 0, 0, 0, 137, 0, 0, 0, 249, 0, 0, 0, 128, 0, 0, 0, 7, 0, 0, 0, 207, 0, 0, 0, 63, 0, 0, 0, 179, 0, 0, 0, 233, 0, 0, 0, 231, 0, 0, 0, 69, 0, 0, 0, 68, 0, 0, 0, 61, 0, 0, 0, 42, 0, 0, 0, 124, 0, 0, 0, 233, 0, 0, 0, 228, 0, 0, 0, 22, 0, 0, 0, 92, 0, 0, 0, 94, 0, 0, 0, 101, 0, 0, 0, 28, 0, 0, 0, 199, 0, 0, 0, 125, 0, 0, 0, 198, 0, 0, 0, 122, 0, 0, 0, 251, 0, 0, 0, 67, 0, 0, 0, 238, 0, 0, 0, 37, 0, 0, 0, 118, 0, 0, 0, -70, 0, 0, 0, 114, 0, 0, 0, 2, 0, 0, 0, 162, 0, 0, 0, 237, 0, 0, 0, 244, 0, 0, 0, 143, 0, 0, 0, 107, 0, 0, 0, 11, 0, 0, 0, 62, 0, 0, 0, 235, 0, 0, 0, 53, 0, 0, 0, 26, 0, 0, 0, 213, 0, 0, 0, 126, 0, 0, 0, 219, 0, 0, 0, 120, 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 138, 0, 0, 0, 160, 0, 0, 0, 180, 0, 0, 0, 207, 0, 0, 0, 96, 0, 0, 0, 75, 0, 0, 0, 212, 0, 0, 0, 213, 0, 0, 0, 249, 0, 0, 0, 45, 0, 0, 0, 191, 0, 0, 0, 136, 0, 0, 0, 189, 0, 0, 0, 34, 0, 0, 0, 98, 0, 0, 0, 19, 0, 0, 0, 83, 0, 0, 0, 228, 0, 0, 0, -130, 0, 0, 0, 87, 0, 0, 0, 250, 0, 0, 0, 30, 0, 0, 0, 143, 0, 0, 0, 6, 0, 0, 0, 43, 0, 0, 0, 144, 0, 0, 0, 186, 0, 0, 0, 8, 0, 0, 0, 182, 0, 0, 0, 16, 0, 0, 0, 84, 0, 0, 0, 79, 0, 0, 0, 124, 0, 0, 0, 27, 0, 0, 0, 38, 0, 0, 0, 237, 0, 0, 0, 218, 0, 0, 0, 107, 0, 0, 0, 221, 0, 0, 0, 37, 0, 0, 0, 208, 0, 0, 0, 78, 0, 0, 0, 234, 0, 0, 0, 66, 0, 0, 0, 187, 0, 0, 0, 37, 0, 0, 0, 3, 0, 0, 0, 81, 0, 0, 0, 22, 0, 0, 0, 80, 0, 0, 0, 124, 0, 0, 0, 213, 0, 0, 0, 93, 0, 0, 0, 246, 0, 0, 0, 153, 0, 0, 0, 232, -0, 0, 0, 119, 0, 0, 0, 114, 0, 0, 0, 78, 0, 0, 0, 250, 0, 0, 0, 98, 0, 0, 0, 203, 0, 0, 0, 118, 0, 0, 0, 117, 0, 0, 0, 12, 0, 0, 0, 226, 0, 0, 0, 113, 0, 0, 0, 152, 0, 0, 0, 146, 0, 0, 0, 213, 0, 0, 0, 250, 0, 0, 0, 69, 0, 0, 0, 223, 0, 0, 0, 92, 0, 0, 0, 111, 0, 0, 0, 30, 0, 0, 0, 158, 0, 0, 0, 40, 0, 0, 0, 105, 0, 0, 0, 13, 0, 0, 0, 172, 0, 0, 0, 102, 0, 0, 0, 109, 0, 0, 0, 195, 0, 0, 0, 139, 0, 0, 0, 186, 0, 0, 0, 22, 0, 0, 0, 181, 0, 0, 0, 226, 0, 0, 0, 160, 0, 0, 0, 13, 0, 0, 0, 12, 0, 0, 0, -189, 0, 0, 0, 164, 0, 0, 0, 142, 0, 0, 0, 24, 0, 0, 0, 108, 0, 0, 0, 242, 0, 0, 0, 220, 0, 0, 0, 249, 0, 0, 0, 220, 0, 0, 0, 74, 0, 0, 0, 134, 0, 0, 0, 37, 0, 0, 0, 149, 0, 0, 0, 20, 0, 0, 0, 203, 0, 0, 0, 216, 0, 0, 0, 26, 0, 0, 0, 4, 0, 0, 0, 15, 0, 0, 0, 151, 0, 0, 0, 165, 0, 0, 0, 219, 0, 0, 0, 139, 0, 0, 0, 45, 0, 0, 0, 170, 0, 0, 0, 66, 0, 0, 0, 17, 0, 0, 0, 9, 0, 0, 0, 242, 0, 0, 0, 147, 0, 0, 0, 187, 0, 0, 0, 217, 0, 0, 0, 6, 0, 0, 0, 132, 0, 0, 0, 78, 0, 0, 0, 17, 0, 0, 0, 168, 0, 0, 0, -160, 0, 0, 0, 37, 0, 0, 0, 43, 0, 0, 0, 166, 0, 0, 0, 95, 0, 0, 0, 174, 0, 0, 0, 196, 0, 0, 0, 180, 0, 0, 0, 76, 0, 0, 0, 200, 0, 0, 0, 171, 0, 0, 0, 199, 0, 0, 0, 59, 0, 0, 0, 2, 0, 0, 0, 238, 0, 0, 0, 201, 0, 0, 0, 41, 0, 0, 0, 15, 0, 0, 0, 223, 0, 0, 0, 17, 0, 0, 0, 133, 0, 0, 0, 237, 0, 0, 0, 206, 0, 0, 0, 13, 0, 0, 0, 98, 0, 0, 0, 44, 0, 0, 0, 143, 0, 0, 0, 75, 0, 0, 0, 249, 0, 0, 0, 4, 0, 0, 0, 233, 0, 0, 0, 6, 0, 0, 0, 114, 0, 0, 0, 29, 0, 0, 0, 55, 0, 0, 0, 32, 0, 0, 0, 80, 0, 0, 0, 201, -0, 0, 0, 20, 0, 0, 0, 235, 0, 0, 0, 236, 0, 0, 0, 57, 0, 0, 0, 167, 0, 0, 0, 151, 0, 0, 0, 43, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 0, 0, 0, 209, 0, 0, 0, 57, 0, 0, 0, 189, 0, 0, 0, 251, 0, 0, 0, 51, 0, 0, 0, 190, 0, 0, 0, 196, 0, 0, 0, 240, 0, -0, 0, 92, 0, 0, 0, 239, 0, 0, 0, 240, 0, 0, 0, 86, 0, 0, 0, 104, 0, 0, 0, 252, 0, 0, 0, 151, 0, 0, 0, 71, 0, 0, 0, 200, 0, 0, 0, 114, 0, 0, 0, 182, 0, 0, 0, 83, 0, 0, 0, 164, 0, 0, 0, 10, 0, 0, 0, 152, 0, 0, 0, 165, 0, 0, 0, 180, 0, 0, 0, 55, 0, 0, 0, 113, 0, 0, 0, 207, 0, 0, 0, 102, 0, 0, 0, 80, 0, 0, 0, 109, 0, 0, 0, 23, 0, 0, 0, 164, 0, 0, 0, 25, 0, 0, 0, 82, 0, 0, 0, 17, 0, 0, 0, 71, 0, 0, 0, 179, 0, 0, 0, 92, 0, 0, 0, 91, 0, 0, 0, 169, 0, 0, 0, 46, 0, 0, 0, 34, 0, 0, 0, 180, 0, 0, 0, 0, 0, 0, -0, 82, 0, 0, 0, 249, 0, 0, 0, 87, 0, 0, 0, 24, 0, 0, 0, 184, 0, 0, 0, 190, 0, 0, 0, 90, 0, 0, 0, 227, 0, 0, 0, 171, 0, 0, 0, 131, 0, 0, 0, 200, 0, 0, 0, 135, 0, 0, 0, 10, 0, 0, 0, 42, 0, 0, 0, 216, 0, 0, 0, 140, 0, 0, 0, 187, 0, 0, 0, 84, 0, 0, 0, 169, 0, 0, 0, 98, 0, 0, 0, 147, 0, 0, 0, 133, 0, 0, 0, 190, 0, 0, 0, 232, 0, 0, 0, 115, 0, 0, 0, 74, 0, 0, 0, 14, 0, 0, 0, 176, 0, 0, 0, 181, 0, 0, 0, 45, 0, 0, 0, 148, 0, 0, 0, 80, 0, 0, 0, 170, 0, 0, 0, 211, 0, 0, 0, 178, 0, 0, 0, 234, 0, 0, 0, 157, 0, -0, 0, 98, 0, 0, 0]).concat([118, 0, 0, 0, 59, 0, 0, 0, 7, 0, 0, 0, 52, 0, 0, 0, 78, 0, 0, 0, 45, 0, 0, 0, 112, 0, 0, 0, 200, 0, 0, 0, 154, 0, 0, 0, 21, 0, 0, 0, 102, 0, 0, 0, 107, 0, 0, 0, 197, 0, 0, 0, 150, 0, 0, 0, 202, 0, 0, 0, 200, 0, 0, 0, 34, 0, 0, 0, 26, 0, 0, 0, 238, 0, 0, 0, 95, 0, 0, 0, 231, 0, 0, 0, 49, 0, 0, 0, 96, 0, 0, 0, 34, 0, 0, 0, 131, 0, 0, 0, 8, 0, 0, 0, 99, 0, 0, 0, 206, 0, 0, 0, 185, 0, 0, 0, 50, 0, 0, 0, 68, 0, 0, 0, 88, 0, 0, 0, 93, 0, 0, 0, 58, 0, 0, 0, 155, 0, 0, 0, 228, -0, 0, 0, 4, 0, 0, 0, 213, 0, 0, 0, 239, 0, 0, 0, 56, 0, 0, 0, 239, 0, 0, 0, 75, 0, 0, 0, 221, 0, 0, 0, 25, 0, 0, 0, 77, 0, 0, 0, 194, 0, 0, 0, 23, 0, 0, 0, 117, 0, 0, 0, 161, 0, 0, 0, 104, 0, 0, 0, 205, 0, 0, 0, 195, 0, 0, 0, 198, 0, 0, 0, 3, 0, 0, 0, 68, 0, 0, 0, 227, 0, 0, 0, 120, 0, 0, 0, 9, 0, 0, 0, 145, 0, 0, 0, 71, 0, 0, 0, 63, 0, 0, 0, 15, 0, 0, 0, 228, 0, 0, 0, 146, 0, 0, 0, 88, 0, 0, 0, 250, 0, 0, 0, 125, 0, 0, 0, 31, 0, 0, 0, 32, 0, 0, 0, 148, 0, 0, 0, 88, 0, 0, 0, 94, 0, 0, 0, 188, 0, -0, 0, 25, 0, 0, 0, 2, 0, 0, 0, 111, 0, 0, 0, 32, 0, 0, 0, 214, 0, 0, 0, 216, 0, 0, 0, 145, 0, 0, 0, 84, 0, 0, 0, 167, 0, 0, 0, 243, 0, 0, 0, 32, 0, 0, 0, 75, 0, 0, 0, 52, 0, 0, 0, 6, 0, 0, 0, 250, 0, 0, 0, 48, 0, 0, 0, 200, 0, 0, 0, 111, 0, 0, 0, 20, 0, 0, 0, 16, 0, 0, 0, 101, 0, 0, 0, 116, 0, 0, 0, 19, 0, 0, 0, 78, 0, 0, 0, 240, 0, 0, 0, 105, 0, 0, 0, 38, 0, 0, 0, 206, 0, 0, 0, 207, 0, 0, 0, 144, 0, 0, 0, 244, 0, 0, 0, 208, 0, 0, 0, 197, 0, 0, 0, 200, 0, 0, 0, 100, 0, 0, 0, 38, 0, 0, 0, 162, 0, -0, 0, 80, 0, 0, 0, 2, 0, 0, 0, 36, 0, 0, 0, 114, 0, 0, 0, 241, 0, 0, 0, 240, 0, 0, 0, 78, 0, 0, 0, 45, 0, 0, 0, 147, 0, 0, 0, 213, 0, 0, 0, 8, 0, 0, 0, 231, 0, 0, 0, 174, 0, 0, 0, 56, 0, 0, 0, 247, 0, 0, 0, 24, 0, 0, 0, 165, 0, 0, 0, 50, 0, 0, 0, 52, 0, 0, 0, 194, 0, 0, 0, 240, 0, 0, 0, 166, 0, 0, 0, 236, 0, 0, 0, 185, 0, 0, 0, 97, 0, 0, 0, 123, 0, 0, 0, 100, 0, 0, 0, 153, 0, 0, 0, 172, 0, 0, 0, 113, 0, 0, 0, 37, 0, 0, 0, 207, 0, 0, 0, 116, 0, 0, 0, 85, 0, 0, 0, 27, 0, 0, 0, 170, 0, 0, 0, 169, 0, -0, 0, 56, 0, 0, 0, 65, 0, 0, 0, 64, 0, 0, 0, 213, 0, 0, 0, 149, 0, 0, 0, 149, 0, 0, 0, 171, 0, 0, 0, 28, 0, 0, 0, 94, 0, 0, 0, 188, 0, 0, 0, 65, 0, 0, 0, 126, 0, 0, 0, 20, 0, 0, 0, 48, 0, 0, 0, 190, 0, 0, 0, 19, 0, 0, 0, 137, 0, 0, 0, 244, 0, 0, 0, 229, 0, 0, 0, 235, 0, 0, 0, 40, 0, 0, 0, 192, 0, 0, 0, 194, 0, 0, 0, 150, 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 119, 0, 0, 0, 69, 0, 0, 0, 236, 0, 0, 0, 103, 0, 0, 0, 118, 0, 0, 0, 50, 0, 0, 0, 76, 0, 0, 0, 185, 0, 0, 0, 223, 0, 0, 0, 37, 0, 0, 0, 50, 0, 0, 0, 107, 0, 0, 0, 203, 0, 0, 0, 231, 0, 0, 0, 20, 0, 0, 0, 97, 0, 0, 0, 67, 0, 0, 0, 238, 0, 0, 0, 186, 0, 0, 0, 155, 0, 0, 0, 113, 0, 0, 0, 239, 0, 0, 0, 210, 0, 0, 0, 72, 0, 0, 0, 101, 0, 0, 0, 187, 0, 0, 0, 27, 0, 0, 0, 138, 0, 0, -0, 19, 0, 0, 0, 27, 0, 0, 0, 34, 0, 0, 0, 132, 0, 0, 0, 173, 0, 0, 0, 12, 0, 0, 0, 24, 0, 0, 0, 56, 0, 0, 0, 90, 0, 0, 0, 186, 0, 0, 0, 208, 0, 0, 0, 152, 0, 0, 0, 89, 0, 0, 0, 191, 0, 0, 0, 55, 0, 0, 0, 176, 0, 0, 0, 79, 0, 0, 0, 151, 0, 0, 0, 96, 0, 0, 0, 32, 0, 0, 0, 179, 0, 0, 0, 155, 0, 0, 0, 151, 0, 0, 0, 246, 0, 0, 0, 8, 0, 0, 0, 108, 0, 0, 0, 164, 0, 0, 0, 255, 0, 0, 0, 251, 0, 0, 0, 183, 0, 0, 0, 250, 0, 0, 0, 149, 0, 0, 0, 178, 0, 0, 0, 81, 0, 0, 0, 121, 0, 0, 0, 40, 0, 0, 0, 92, 0, 0, -0, 63, 0, 0, 0, 219, 0, 0, 0, 107, 0, 0, 0, 24, 0, 0, 0, 59, 0, 0, 0, 92, 0, 0, 0, 209, 0, 0, 0, 4, 0, 0, 0, 40, 0, 0, 0, 222, 0, 0, 0, 133, 0, 0, 0, 82, 0, 0, 0, 49, 0, 0, 0, 181, 0, 0, 0, 187, 0, 0, 0, 246, 0, 0, 0, 169, 0, 0, 0, 237, 0, 0, 0, 190, 0, 0, 0, 40, 0, 0, 0, 79, 0, 0, 0, 179, 0, 0, 0, 126, 0, 0, 0, 5, 0, 0, 0, 106, 0, 0, 0, 219, 0, 0, 0, 149, 0, 0, 0, 13, 0, 0, 0, 27, 0, 0, 0, 28, 0, 0, 0, 213, 0, 0, 0, 197, 0, 0, 0, 195, 0, 0, 0, 154, 0, 0, 0, 10, 0, 0, 0, 208, 0, 0, 0, 49, 0, 0, 0, -62, 0, 0, 0, 7, 0, 0, 0, 54, 0, 0, 0, 142, 0, 0, 0, 192, 0, 0, 0, 138, 0, 0, 0, 98, 0, 0, 0, 177, 0, 0, 0, 202, 0, 0, 0, 214, 0, 0, 0, 14, 0, 0, 0, 30, 0, 0, 0, 157, 0, 0, 0, 239, 0, 0, 0, 171, 0, 0, 0, 152, 0, 0, 0, 77, 0, 0, 0, 187, 0, 0, 0, 108, 0, 0, 0, 5, 0, 0, 0, 224, 0, 0, 0, 228, 0, 0, 0, 93, 0, 0, 0, 189, 0, 0, 0, 87, 0, 0, 0, 204, 0, 0, 0, 33, 0, 0, 0, 39, 0, 0, 0, 206, 0, 0, 0, 253, 0, 0, 0, 169, 0, 0, 0, 148, 0, 0, 0, 142, 0, 0, 0, 225, 0, 0, 0, 171, 0, 0, 0, 73, 0, 0, 0, 224, 0, 0, 0, -70, 0, 0, 0, 38, 0, 0, 0, 161, 0, 0, 0, 168, 0, 0, 0, 140, 0, 0, 0, 161, 0, 0, 0, 153, 0, 0, 0, 29, 0, 0, 0, 180, 0, 0, 0, 39, 0, 0, 0, 109, 0, 0, 0, 45, 0, 0, 0, 200, 0, 0, 0, 57, 0, 0, 0, 48, 0, 0, 0, 94, 0, 0, 0, 55, 0, 0, 0, 82, 0, 0, 0, 196, 0, 0, 0, 110, 0, 0, 0, 169, 0, 0, 0, 133, 0, 0, 0, 244, 0, 0, 0, 231, 0, 0, 0, 176, 0, 0, 0, 21, 0, 0, 0, 51, 0, 0, 0, 132, 0, 0, 0, 27, 0, 0, 0, 20, 0, 0, 0, 26, 0, 0, 0, 2, 0, 0, 0, 217, 0, 0, 0, 59, 0, 0, 0, 173, 0, 0, 0, 15, 0, 0, 0, 67, 0, 0, 0, 108, -0, 0, 0, 234, 0, 0, 0, 62, 0, 0, 0, 15, 0, 0, 0, 126, 0, 0, 0, 218, 0, 0, 0, 221, 0, 0, 0, 107, 0, 0, 0, 76, 0, 0, 0, 127, 0, 0, 0, 110, 0, 0, 0, 212, 0, 0, 0, 107, 0, 0, 0, 191, 0, 0, 0, 15, 0, 0, 0, 71, 0, 0, 0, 159, 0, 0, 0, 124, 0, 0, 0, 86, 0, 0, 0, 124, 0, 0, 0, 67, 0, 0, 0, 145, 0, 0, 0, 28, 0, 0, 0, 187, 0, 0, 0, 78, 0, 0, 0, 114, 0, 0, 0, 62, 0, 0, 0, 100, 0, 0, 0, 171, 0, 0, 0, 160, 0, 0, 0, 160, 0, 0, 0, 223, 0, 0, 0, 180, 0, 0, 0, 216, 0, 0, 0, 135, 0, 0, 0, 58, 0, 0, 0, 189, 0, 0, 0, -168, 0, 0, 0, 72, 0, 0, 0, 201, 0, 0, 0, 184, 0, 0, 0, 239, 0, 0, 0, 46, 0, 0, 0, 173, 0, 0, 0, 111, 0, 0, 0, 132, 0, 0, 0, 79, 0, 0, 0, 45, 0, 0, 0, 45, 0, 0, 0, 240, 0, 0, 0, 27, 0, 0, 0, 126, 0, 0, 0, 42, 0, 0, 0, 108, 0, 0, 0, 248, 0, 0, 0, 169, 0, 0, 0, 106, 0, 0, 0, 225, 0, 0, 0, 240, 0, 0, 0, 153, 0, 0, 0, 161, 0, 0, 0, 103, 0, 0, 0, 154, 0, 0, 0, 212, 0, 0, 0, 19, 0, 0, 0, 202, 0, 0, 0, 202, 0, 0, 0, 186, 0, 0, 0, 39, 0, 0, 0, 146, 0, 0, 0, 170, 0, 0, 0, 161, 0, 0, 0, 93, 0, 0, 0, 80, 0, -0, 0, 222, 0, 0, 0, 204, 0, 0, 0, 64, 0, 0, 0, 38, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, 0, 0, 0, 62, 0, 0, 0, 242, 0, 0, 0, 178, 0, 0, 0, 144, 0, 0, 0, 206, 0, 0, 0, 219, 0, 0, 0, 100, 0, 0, 0, 62, 0, 0, 0, 3, 0, 0, 0, 221, 0, 0, 0, 55, 0, 0, 0, -54, 0, 0, 0, 84, 0, 0, 0, 112, 0, 0, 0, 118, 0, 0, 0, 36, 0, 0, 0, 181, 0, 0, 0, 105, 0, 0, 0, 3, 0, 0, 0, 252, 0, 0, 0, 160, 0, 0, 0, 43, 0, 0, 0, 116, 0, 0, 0, 178, 0, 0, 0, 5, 0, 0, 0, 14, 0, 0, 0, 204, 0, 0, 0, 216, 0, 0, 0, 31, 0, 0, 0, 106, 0, 0, 0, 31, 0, 0, 0, 25, 0, 0, 0, 94, 0, 0, 0, 96, 0, 0, 0, 105, 0, 0, 0, 88, 0, 0, 0, 134, 0, 0, 0, 160, 0, 0, 0, 49, 0, 0, 0, 189, 0, 0, 0, 50, 0, 0, 0, 233, 0, 0, 0, 44, 0, 0, 0, 92, 0, 0, 0, 210, 0, 0, 0, 133, 0, 0, 0, 186, 0, 0, 0, 64, 0, 0, 0, 100, -0, 0, 0, 168, 0, 0, 0, 116, 0, 0, 0, 248, 0, 0, 0, 14, 0, 0, 0, 28, 0, 0, 0, 179, 0, 0, 0, 169, 0, 0, 0, 105, 0, 0, 0, 232, 0, 0, 0, 30, 0, 0, 0, 64, 0, 0, 0, 100, 0, 0, 0, 153, 0, 0, 0, 119, 0, 0, 0, 108, 0, 0, 0, 50, 0, 0, 0, 79, 0, 0, 0, 253, 0, 0, 0, 187, 0, 0, 0, 92, 0, 0, 0, 187, 0, 0, 0, 141, 0, 0, 0, 100, 0, 0, 0, 102, 0, 0, 0, 74, 0, 0, 0, 113, 0, 0, 0, 31, 0, 0, 0, 121, 0, 0, 0, 163, 0, 0, 0, 173, 0, 0, 0, 141, 0, 0, 0, 249, 0, 0, 0, 212, 0, 0, 0, 236, 0, 0, 0, 207, 0, 0, 0, 103, 0, 0, -0, 112, 0, 0, 0, 250, 0, 0, 0, 5, 0, 0, 0, 74, 0, 0, 0, 15, 0, 0, 0, 110, 0, 0, 0, 175, 0, 0, 0, 135, 0, 0, 0, 10, 0, 0, 0, 111, 0, 0, 0, 198, 0, 0, 0, 54, 0, 0, 0, 110, 0, 0, 0, 108, 0, 0, 0, 140, 0, 0, 0, 36, 0, 0, 0, 9, 0, 0, 0, 96, 0, 0, 0, 190, 0, 0, 0, 38, 0, 0, 0, 210, 0, 0, 0, 76, 0, 0, 0, 94, 0, 0, 0, 23, 0, 0, 0, 202, 0, 0, 0, 95, 0, 0, 0, 29, 0, 0, 0, 204, 0, 0, 0, 135, 0, 0, 0, 232, 0, 0, 0, 66, 0, 0, 0, 106, 0, 0, 0, 203, 0, 0, 0, 203, 0, 0, 0, 125, 0, 0, 0, 146, 0, 0, 0, 5, 0, 0, 0, -53, 0, 0, 0, 129, 0, 0, 0, 19, 0, 0, 0, 96, 0, 0, 0, 107, 0, 0, 0, 244, 0, 0, 0, 21, 0, 0, 0, 205, 0, 0, 0, 15, 0, 0, 0, 10, 0, 0, 0, 175, 0, 0, 0, 78, 0, 0, 0, 107, 0, 0, 0, 81, 0, 0, 0, 253, 0, 0, 0, 20, 0, 0, 0, 196, 0, 0, 0, 46, 0, 0, 0, 19, 0, 0, 0, 134, 0, 0, 0, 116, 0, 0, 0, 68, 0, 0, 0, 203, 0, 0, 0, 102, 0, 0, 0, 107, 0, 0, 0, 182, 0, 0, 0, 157, 0, 0, 0, 116, 0, 0, 0, 86, 0, 0, 0, 50, 0, 0, 0, 172, 0, 0, 0, 141, 0, 0, 0, 142, 0, 0, 0, 140, 0, 0, 0, 140, 0, 0, 0, 140, 0, 0, 0, 57, 0, 0, 0, -202, 0, 0, 0, 89, 0, 0, 0, 116, 0, 0, 0, 26, 0, 0, 0, 17, 0, 0, 0, 239, 0, 0, 0, 109, 0, 0, 0, 247, 0, 0, 0, 57, 0, 0, 0, 92, 0, 0, 0, 59, 0, 0, 0, 31, 0, 0, 0, 250, 0, 0, 0, 227, 0, 0, 0, 64, 0, 0, 0, 65, 0, 0, 0, 35, 0, 0, 0, 158, 0, 0, 0, 246, 0, 0, 0, 209, 0, 0, 0, 33, 0, 0, 0, 162, 0, 0, 0, 191, 0, 0, 0, 173, 0, 0, 0, 101, 0, 0, 0, 66, 0, 0, 0, 107, 0, 0, 0, 89, 0, 0, 0, 138, 0, 0, 0, 232, 0, 0, 0, 197, 0, 0, 0, 127, 0, 0, 0, 100, 0, 0, 0, 5, 0, 0, 0, 122, 0, 0, 0, 132, 0, 0, 0, 74, 0, 0, 0, -19, 0, 0, 0, 195, 0, 0, 0, 246, 0, 0, 0, 176, 0, 0, 0, 110, 0, 0, 0, 154, 0, 0, 0, 107, 0, 0, 0, 83, 0, 0, 0, 107, 0, 0, 0, 50, 0, 0, 0, 218, 0, 0, 0, 217, 0, 0, 0, 116, 0, 0, 0, 117, 0, 0, 0, 196, 0, 0, 0, 186, 0, 0, 0, 100, 0, 0, 0, 61, 0, 0, 0, 59, 0, 0, 0, 8, 0, 0, 0, 221, 0, 0, 0, 16, 0, 0, 0, 70, 0, 0, 0, 239, 0, 0, 0, 199, 0, 0, 0, 144, 0, 0, 0, 31, 0, 0, 0, 123, 0, 0, 0, 47, 0, 0, 0, 58, 0, 0, 0, 206, 0, 0, 0, 200, 0, 0, 0, 161, 0, 0, 0, 121, 0, 0, 0, 60, 0, 0, 0, 48, 0, 0, 0, 18, 0, 0, 0, -68, 0, 0, 0, 40, 0, 0, 0, 246, 0, 0, 0, 188, 0, 0, 0, 255, 0, 0, 0, 253, 0, 0, 0, 244, 0, 0, 0, 192, 0, 0, 0, 151, 0, 0, 0, 176, 0, 0, 0, 204, 0, 0, 0, 195, 0, 0, 0, 19, 0, 0, 0, 122, 0, 0, 0, 185, 0, 0, 0, 154, 0, 0, 0, 22, 0, 0, 0, 228, 0, 0, 0, 203, 0, 0, 0, 76, 0, 0, 0, 52, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 78, 0, 0, 0, 211, 0, 0, 0, 45, 0, 0, 0, 9, 0, 0, 0, 51, 0, 0, 0, 14, 0, 0, 0, 210, 0, 0, 0, 13, 0, 0, 0, 190, 0, 0, 0, 62, 0, 0, 0, 231, 0, 0, 0, 228, 0, 0, 0, 170, 0, 0, 0, 183, 0, 0, 0, 0, 0, 0, 0, 139, 0, 0, 0, 232, 0, 0, 0, 173, 0, 0, 0, 170, 0, 0, 0, 122, 0, 0, 0, 141, 0, 0, 0, 52, 0, 0, 0, 40, 0, 0, 0, 169, 0, 0, 0, 129, 0, 0, 0, 148, 0, 0, 0, 197, 0, 0, 0, 231, 0, 0, 0, 66, 0, 0, 0, 172, 0, 0, 0, 71, 0, 0, 0, 36, -0, 0, 0, 137, 0, 0, 0, 122, 0, 0, 0, 143, 0, 0, 0, 181, 0, 0, 0, 155, 0, 0, 0, 240, 0, 0, 0, 194, 0, 0, 0, 3, 0, 0, 0, 100, 0, 0, 0, 208, 0, 0, 0, 30, 0, 0, 0, 245, 0, 0, 0, 164, 0, 0, 0, 178, 0, 0, 0, 243, 0, 0, 0, 116, 0, 0, 0, 233, 0, 0, 0, 26, 0, 0, 0, 22, 0, 0, 0, 253, 0, 0, 0, 203, 0, 0, 0, 21, 0, 0, 0, 234, 0, 0, 0, 235, 0, 0, 0, 16, 0, 0, 0, 108, 0, 0, 0, 53, 0, 0, 0, 209, 0, 0, 0, 193, 0, 0, 0, 166, 0, 0, 0, 40, 0, 0, 0, 204, 0, 0, 0, 213, 0, 0, 0, 57, 0, 0, 0, 252, 0, 0, 0, 165, 0, 0, 0, -164, 0, 0, 0, 173, 0, 0, 0, 50, 0, 0, 0, 21, 0, 0, 0, 206, 0, 0, 0, 25, 0, 0, 0, 232, 0, 0, 0, 52, 0, 0, 0, 43, 0, 0, 0, 28, 0, 0, 0, 96, 0, 0, 0, 145, 0, 0, 0, 252, 0, 0, 0, 5, 0, 0, 0, 169, 0, 0, 0, 179, 0, 0, 0, 220, 0, 0, 0, 128, 0, 0, 0, 41, 0, 0, 0, 196, 0, 0, 0, 32, 0, 0, 0, 121, 0, 0, 0, 6, 0, 0, 0, 57, 0, 0, 0, 192, 0, 0, 0, 226, 0, 0, 0, 34, 0, 0, 0, 187, 0, 0, 0, 168, 0, 0, 0, 225, 0, 0, 0, 137, 0, 0, 0, 112, 0, 0, 0, 87, 0, 0, 0, 24, 0, 0, 0, 84, 0, 0, 0, 60, 0, 0, 0, 246, 0, 0, 0, 13, -0, 0, 0, 130, 0, 0, 0, 18, 0, 0, 0, 5, 0, 0, 0, 135, 0, 0, 0, 150, 0, 0, 0, 6, 0, 0, 0, 57, 0, 0, 0, 227, 0, 0, 0, 248, 0, 0, 0, 179, 0, 0, 0, 149, 0, 0, 0, 229, 0, 0, 0, 215, 0, 0, 0, 38, 0, 0, 0, 191, 0, 0, 0, 9, 0, 0, 0, 90, 0, 0, 0, 148, 0, 0, 0, 249, 0, 0, 0, 28, 0, 0, 0, 99, 0, 0, 0, 43, 0, 0, 0, 140, 0, 0, 0, 45, 0, 0, 0, 154, 0, 0, 0, 139, 0, 0, 0, 132, 0, 0, 0, 242, 0, 0, 0, 86, 0, 0, 0, 251, 0, 0, 0, 173, 0, 0, 0, 46, 0, 0, 0, 127, 0, 0, 0, 183, 0, 0, 0, 252, 0, 0, 0, 48, 0, 0, 0, 225, -0, 0, 0, 53, 0, 0, 0, 137, 0, 0, 0, 186, 0, 0, 0, 77, 0, 0, 0, 168, 0, 0, 0, 109, 0, 0, 0, 206, 0, 0, 0, 140, 0, 0, 0, 139, 0, 0, 0, 48, 0, 0, 0, 224, 0, 0, 0, 218, 0, 0, 0, 41, 0, 0, 0, 24, 0, 0, 0, 17, 0, 0, 0, 23, 0, 0, 0, 25, 0, 0, 0, 166, 0, 0, 0, 90, 0, 0, 0, 101, 0, 0, 0, 147, 0, 0, 0, 195, 0, 0, 0, 181, 0, 0, 0, 49, 0, 0, 0, 34, 0, 0, 0, 79, 0, 0, 0, 243, 0, 0, 0, 246, 0, 0, 0, 15, 0, 0, 0, 235, 0, 0, 0, 40, 0, 0, 0, 195, 0, 0, 0, 124, 0, 0, 0, 235, 0, 0, 0, 206, 0, 0, 0, 134, 0, 0, 0, 236, -0, 0, 0, 103, 0, 0, 0, 118, 0, 0, 0, 110, 0, 0, 0, 53, 0, 0, 0, 69, 0, 0, 0, 123, 0, 0, 0, 216, 0, 0, 0, 107, 0, 0, 0, 146, 0, 0, 0, 1, 0, 0, 0, 101, 0, 0, 0, 61, 0, 0, 0, 213, 0, 0, 0, 154, 0, 0, 0, 100, 0, 0, 0, 115, 0, 0, 0, 54, 0, 0, 0, 177, 0, 0, 0, 214, 0, 0, 0, 134, 0, 0, 0, 152, 0, 0, 0, 66, 0, 0, 0, 63, 0, 0, 0, 138, 0, 0, 0, 241, 0, 0, 0, 199, 0, 0, 0, 245, 0, 0, 0, 66, 0, 0, 0, 168, 0, 0, 0, 156, 0, 0, 0, 82, 0, 0, 0, 168, 0, 0, 0, 220, 0, 0, 0, 249, 0, 0, 0, 36, 0, 0, 0, 63, 0, 0, 0, -74, 0, 0, 0, 161, 0, 0, 0, 164, 0, 0, 0, 91, 0, 0, 0, 232, 0, 0, 0, 98, 0, 0, 0, 26, 0, 0, 0, 197, 0, 0, 0, 189, 0, 0, 0, 200, 0, 0, 0, 20, 0, 0, 0, 213, 0, 0, 0, 13, 0, 0, 0, 235, 0, 0, 0, 225, 0, 0, 0, 165, 0, 0, 0, 230, 0, 0, 0, 131, 0, 0, 0, 17, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 85, 0, 0, 0, 131, 0, 0, 0, 81, 0, 0, 0, 126, 0, 0, 0, 117, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0, 185, 0, 0, 0, 203, 0, 0, 0, 216, 0, 0, 0, 197, 0, 0, 0, 229, 0, 0, 0, 161, 0, 0, 0, 217, 0, 0, 0, 23, 0, 0, 0, -109, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 234, 0, 0, 0, 249, 0, 0, 0, 228, 0, 0, 0, 233, 0, 0, 0, 225, 0, 0, 0, 82, 0, 0, 0, 63, 0, 0, 0, 81, 0, 0, 0, 25, 0, 0, 0, 13, 0, 0, 0, 221, 0, 0, 0, 217, 0, 0, 0, 157, 0, 0, 0, 147, 0, 0, 0, 49, 0, 0, 0, 135, -0, 0, 0, 35, 0, 0, 0, 9, 0, 0, 0, 213, 0, 0, 0, 131, 0, 0, 0, 235, 0, 0, 0, 146, 0, 0, 0, 9, 0, 0, 0, 118, 0, 0, 0, 110, 0, 0, 0, 227, 0, 0, 0, 248, 0, 0, 0, 192, 0, 0, 0, 162, 0, 0, 0, 102, 0, 0, 0, 181, 0, 0, 0, 54, 0, 0, 0, 58, 0, 0, 0, 187, 0, 0, 0, 57, 0, 0, 0, 237, 0, 0, 0, 50, 0, 0, 0, 2, 0, 0, 0, 231, 0, 0, 0, 67, 0, 0, 0, 122, 0, 0, 0, 56, 0, 0, 0, 20, 0, 0, 0, 132, 0, 0, 0, 227, 0, 0, 0, 68, 0, 0, 0, 210, 0, 0, 0, 94, 0, 0, 0, 148, 0, 0, 0, 221, 0, 0, 0, 120, 0, 0, 0, 137, 0, 0, 0, 85, -0, 0, 0, 76, 0, 0, 0, 115, 0, 0, 0, 158, 0, 0, 0, 225, 0, 0, 0, 228, 0, 0, 0, 62, 0, 0, 0, 67, 0, 0, 0, 208, 0, 0, 0, 74, 0, 0, 0, 222, 0, 0, 0, 27, 0, 0, 0, 178, 0, 0, 0, 231, 0, 0, 0, 143, 0, 0, 0, 227, 0, 0, 0, 163, 0, 0, 0, 197, 0, 0, 0, 203, 0, 0, 0, 114, 0, 0, 0, 238, 0, 0, 0, 121, 0, 0, 0, 65, 0, 0, 0, 248, 0, 0, 0, 223, 0, 0, 0, 238, 0, 0, 0, 101, 0, 0, 0, 197, 0, 0, 0, 69, 0, 0, 0, 119, 0, 0, 0, 39, 0, 0, 0, 60, 0, 0, 0, 189, 0, 0, 0, 88, 0, 0, 0, 211, 0, 0, 0, 117, 0, 0, 0, 226, 0, 0, 0, -4, 0, 0, 0, 75, 0, 0, 0, 187, 0, 0, 0, 101, 0, 0, 0, 243, 0, 0, 0, 200, 0, 0, 0, 15, 0, 0, 0, 36, 0, 0, 0, 123, 0, 0, 0, 147, 0, 0, 0, 52, 0, 0, 0, 181, 0, 0, 0, 226, 0, 0, 0, 116, 0, 0, 0, 72, 0, 0, 0, 205, 0, 0, 0, 160, 0, 0, 0, 11, 0, 0, 0, 146, 0, 0, 0, 151, 0, 0, 0, 102, 0, 0, 0, 57, 0, 0, 0, 244, 0, 0, 0, 176, 0, 0, 0, 226, 0, 0, 0, 93, 0, 0, 0, 57, 0, 0, 0, 106, 0, 0, 0, 91, 0, 0, 0, 69, 0, 0, 0, 23, 0, 0, 0, 120, 0, 0, 0, 30, 0, 0, 0, 219, 0, 0, 0, 145, 0, 0, 0, 129, 0, 0, 0, 28, 0, 0, 0, -249, 0, 0, 0, 22, 0, 0, 0, 22, 0, 0, 0, 223, 0, 0, 0, 209, 0, 0, 0, 90, 0, 0, 0, 213, 0, 0, 0, 233, 0, 0, 0, 78, 0, 0, 0, 88, 0, 0, 0, 149, 0, 0, 0, 147, 0, 0, 0, 95, 0, 0, 0, 81, 0, 0, 0, 9, 0, 0, 0, 195, 0, 0, 0, 42, 0, 0, 0, 201, 0, 0, 0, 212, 0, 0, 0, 85, 0, 0, 0, 72, 0, 0, 0, 121, 0, 0, 0, 164, 0, 0, 0, 163, 0, 0, 0, 178, 0, 0, 0, 195, 0, 0, 0, 98, 0, 0, 0, 170, 0, 0, 0, 140, 0, 0, 0, 232, 0, 0, 0, 173, 0, 0, 0, 71, 0, 0, 0, 57, 0, 0, 0, 27, 0, 0, 0, 70, 0, 0, 0, 218, 0, 0, 0, 158, 0, 0, 0, -81, 0, 0, 0, 58, 0, 0, 0, 230, 0, 0, 0, 209, 0, 0, 0, 166, 0, 0, 0, 187, 0, 0, 0, 77, 0, 0, 0, 123, 0, 0, 0, 8, 0, 0, 0, 190, 0, 0, 0, 140, 0, 0, 0, 213, 0, 0, 0, 243, 0, 0, 0, 63, 0, 0, 0, 253, 0, 0, 0, 247, 0, 0, 0, 68, 0, 0, 0, 128, 0, 0, 0, 45, 0, 0, 0, 83, 0, 0, 0, 75, 0, 0, 0, 208, 0, 0, 0, 135, 0, 0, 0, 104, 0, 0, 0, 193, 0, 0, 0, 181, 0, 0, 0, 216, 0, 0, 0, 247, 0, 0, 0, 7, 0, 0, 0, 244, 0, 0, 0, 16, 0, 0, 0, 70, 0, 0, 0, 190, 0, 0, 0, 183, 0, 0, 0, 210, 0, 0, 0, 209, 0, 0, 0, 206, 0, 0, -0, 94, 0, 0, 0, 118, 0, 0, 0, 162, 0, 0, 0, 215, 0, 0, 0, 3, 0, 0, 0, 220, 0, 0, 0, 228, 0, 0, 0, 129, 0, 0, 0, 90, 0, 0, 0, 246, 0, 0, 0, 60, 0, 0, 0, 222, 0, 0, 0, 174, 0, 0, 0, 122, 0, 0, 0, 157, 0, 0, 0, 33, 0, 0, 0, 52, 0, 0, 0, 165, 0, 0, 0, 246, 0, 0, 0, 169, 0, 0, 0, 115, 0, 0, 0, 226, 0, 0, 0, 141, 0, 0, 0, 96, 0, 0, 0, 250, 0, 0, 0, 68, 0, 0, 0, 113, 0, 0, 0, 246, 0, 0, 0, 65, 0, 0, 0, 216, 0, 0, 0, 198, 0, 0, 0, 88, 0, 0, 0, 19, 0, 0, 0, 55, 0, 0, 0, 235, 0, 0, 0, 132, 0, 0, 0, 15, 0, -0, 0, 150, 0, 0, 0, 199, 0, 0, 0, 220, 0, 0, 0, 200, 0, 0, 0, 169, 0, 0, 0, 122, 0, 0, 0, 131, 0, 0, 0, 178, 0, 0, 0, 47, 0, 0, 0, 49, 0, 0, 0, 177, 0, 0, 0, 26, 0, 0, 0, 216, 0, 0, 0, 152, 0, 0, 0, 63, 0, 0, 0, 17, 0, 0, 0, 208, 0, 0, 0, 49, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0, 213, 0, 0, 0, 52, 0, 0, 0, 22, 0, 0, 0, 1, 0, 0, 0, 163, 0, 0, 0, 147, 0, 0, 0, 234, 0, 0, 0, 82, 0, 0, 0, 148, 0, 0, 0, 236, 0, 0, 0, 147, 0, 0, 0, 183, 0, 0, 0, 129, 0, 0, 0, 17, 0, 0, 0, 45, 0, 0, 0, 88, 0, 0, 0, 249, 0, 0, 0, 181, 0, 0, 0, 10, 0, 0, 0, 170, 0, 0, 0, 79, 0, 0, 0, 246, 0, 0, 0, 46, 0, 0, 0, 63, 0, 0, 0, 54, 0, 0, 0, 191, 0, 0, 0, 51, 0, 0, 0, 90, 0, 0, 0, 231, 0, 0, 0, 209, 0, 0, 0, 8, 0, 0, 0, 26, 0, 0, 0, 207, 0, 0, 0, 66, 0, 0, 0, -174, 0, 0, 0, 204, 0, 0, 0, 181, 0, 0, 0, 119, 0, 0, 0, 57, 0, 0, 0, 196, 0, 0, 0, 91, 0, 0, 0, 91, 0, 0, 0, 208, 0, 0, 0, 38, 0, 0, 0, 89, 0, 0, 0, 39, 0, 0, 0, 208, 0, 0, 0, 85, 0, 0, 0, 113, 0, 0, 0, 18, 0, 0, 0, 157, 0, 0, 0, 136, 0, 0, 0, 61, 0, 0, 0, 156, 0, 0, 0, 234, 0, 0, 0, 65, 0, 0, 0, 106, 0, 0, 0, 240, 0, 0, 0, 80, 0, 0, 0, 147, 0, 0, 0, 147, 0, 0, 0, 221, 0, 0, 0, 71, 0, 0, 0, 111, 0, 0, 0, 201, 0, 0, 0, 81, 0, 0, 0, 109, 0, 0, 0, 28, 0, 0, 0, 170, 0, 0, 0, 245, 0, 0, 0, 165, 0, 0, -0, 144, 0, 0, 0, 63, 0, 0, 0, 20, 0, 0, 0, 226, 0, 0, 0, 110, 0, 0, 0, 142, 0, 0, 0, 100, 0, 0, 0, 253, 0, 0, 0, 172, 0, 0, 0, 224, 0, 0, 0, 78, 0, 0, 0, 34, 0, 0, 0, 229, 0, 0, 0, 193, 0, 0, 0, 188, 0, 0, 0, 41, 0, 0, 0, 10, 0, 0, 0, 106, 0, 0, 0, 158, 0, 0, 0, 161, 0, 0, 0, 96, 0, 0, 0, 203, 0, 0, 0, 47, 0, 0, 0, 11, 0, 0, 0, 220, 0, 0, 0, 57, 0, 0, 0, 50, 0, 0, 0, 243, 0, 0, 0, 161, 0, 0, 0, 68, 0, 0, 0, 233, 0, 0, 0, 197, 0, 0, 0, 195, 0, 0, 0, 120, 0, 0, 0, 251, 0, 0, 0, 149, 0, 0, 0, 71, 0, -0, 0, 52, 0, 0, 0, 53, 0, 0, 0, 52, 0, 0, 0, 232, 0, 0, 0, 37, 0, 0, 0, 222, 0, 0, 0, 147, 0, 0, 0, 198, 0, 0, 0, 180, 0, 0, 0, 118, 0, 0, 0, 109, 0, 0, 0, 134, 0, 0, 0, 19, 0, 0, 0, 198, 0, 0, 0, 233, 0, 0, 0, 104, 0, 0, 0, 181, 0, 0, 0, 1, 0, 0, 0, 99, 0, 0, 0, 31, 0, 0, 0, 154, 0, 0, 0, 82, 0, 0, 0, 100, 0, 0, 0, 151, 0, 0, 0, 217, 0, 0, 0, 28, 0, 0, 0, 8, 0, 0, 0, 81, 0, 0, 0, 111, 0, 0, 0, 38, 0, 0, 0, 157, 0, 0, 0, 170, 0, 0, 0, 147, 0, 0, 0, 51, 0, 0, 0, 67, 0, 0, 0, 250, 0, 0, 0, 119, 0, -0, 0, 233, 0, 0, 0, 98, 0, 0, 0, 155, 0, 0, 0, 93, 0, 0, 0, 24, 0, 0, 0, 117, 0, 0, 0, 235, 0, 0, 0, 120, 0, 0, 0, 247, 0, 0, 0, 135, 0, 0, 0, 143, 0, 0, 0, 65, 0, 0, 0, 180, 0, 0, 0, 77, 0, 0, 0, 19, 0, 0, 0, 168, 0, 0, 0, 130, 0, 0, 0, 62, 0, 0, 0, 233, 0, 0, 0, 19, 0, 0, 0, 173, 0, 0, 0, 235, 0, 0, 0, 1, 0, 0, 0, 202, 0, 0, 0, 207, 0, 0, 0, 218, 0, 0, 0, 205, 0, 0, 0, 247, 0, 0, 0, 108, 0, 0, 0, 199, 0, 0, 0, 122, 0, 0, 0, 220, 0, 0, 0, 30, 0, 0, 0, 110, 0, 0, 0, 200, 0, 0, 0, 78, 0, 0, 0, 85, -0, 0, 0, 98, 0, 0, 0, 128, 0, 0, 0, 234, 0, 0, 0, 120, 0, 0, 0, 12, 0, 0, 0, 134, 0, 0, 0, 185, 0, 0, 0, 64, 0, 0, 0, 81, 0, 0, 0, 39, 0, 0, 0, 174, 0, 0, 0, 211, 0, 0, 0, 13, 0, 0, 0, 76, 0, 0, 0, 143, 0, 0, 0, 52, 0, 0, 0, 234, 0, 0, 0, 125, 0, 0, 0, 60, 0, 0, 0, 229, 0, 0, 0, 138, 0, 0, 0, 207, 0, 0, 0, 91, 0, 0, 0, 146, 0, 0, 0, 216, 0, 0, 0, 48, 0, 0, 0, 22, 0, 0, 0, 180, 0, 0, 0, 163, 0, 0, 0, 117, 0, 0, 0, 255, 0, 0, 0, 235, 0, 0, 0, 39, 0, 0, 0, 200, 0, 0, 0, 92, 0, 0, 0, 108, 0, 0, 0, 194, -0, 0, 0, 238, 0, 0, 0, 108, 0, 0, 0, 33, 0, 0, 0, 11, 0, 0, 0, 195, 0, 0, 0, 186, 0, 0, 0, 18, 0, 0, 0, 83, 0, 0, 0, 42, 0, 0, 0, 170, 0, 0, 0, 119, 0, 0, 0, 173, 0, 0, 0, 25, 0, 0, 0, 120, 0, 0, 0, 85, 0, 0, 0, 138, 0, 0, 0, 46, 0, 0, 0, 96, 0, 0, 0, 135, 0, 0, 0, 194, 0, 0, 0, 110, 0, 0, 0, 145, 0, 0, 0, 56, 0, 0, 0, 145, 0, 0, 0, 63, 0, 0, 0, 122, 0, 0, 0, 197, 0, 0, 0, 36, 0, 0, 0, 143, 0, 0, 0, 81, 0, 0, 0, 197, 0, 0, 0, 222, 0, 0, 0, 176, 0, 0, 0, 83, 0, 0, 0, 48, 0, 0, 0, 86, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 254, 0, 0, 0, 84, 0, 0, 0, 18, 0, 0, 0, 24, 0, 0, 0, 202, 0, 0, 0, 125, 0, 0, 0, 165, 0, 0, 0, 104, 0, 0, 0, 67, 0, 0, 0, 163, 0, 0, 0, 109, 0, 0, 0, 20, 0, 0, 0, 42, 0, 0, 0, 106, 0, 0, 0, 165, 0, 0, 0, 142, 0, 0, 0, 50, 0, 0, -0, 231, 0, 0, 0, 99, 0, 0, 0, 79, 0, 0, 0, 227, 0, 0, 0, 198, 0, 0, 0, 68, 0, 0, 0, 62, 0, 0, 0, 171, 0, 0, 0, 99, 0, 0, 0, 202, 0, 0, 0, 23, 0, 0, 0, 134, 0, 0, 0, 116, 0, 0, 0, 63, 0, 0, 0, 30, 0, 0, 0, 100, 0, 0, 0, 193, 0, 0, 0, 125, 0, 0, 0, 82, 0, 0, 0, 220, 0, 0, 0, 19, 0, 0, 0, 90, 0, 0, 0, 161, 0, 0, 0, 156, 0, 0, 0, 78, 0, 0, 0, 238, 0, 0, 0, 153, 0, 0, 0, 40, 0, 0, 0, 187, 0, 0, 0, 76, 0, 0, 0, 238, 0, 0, 0, 172, 0, 0, 0, 169, 0, 0, 0, 27, 0, 0, 0, 137, 0, 0, 0, 162, 0, 0, 0, 56, 0, 0, -0, 57, 0, 0, 0, 123, 0, 0, 0, 196, 0, 0, 0, 15, 0, 0, 0, 66, 0, 0, 0, 230, 0, 0, 0, 137, 0, 0, 0, 237, 0, 0, 0, 15, 0, 0, 0, 243, 0, 0, 0, 60, 0, 0, 0, 140, 0, 0, 0, 128, 0, 0, 0, 131, 0, 0, 0, 16, 0, 0, 0, 138, 0, 0, 0, 55, 0, 0, 0, 80, 0, 0, 0, 156, 0, 0, 0, 180, 0, 0, 0, 223, 0, 0, 0, 63, 0, 0, 0, 140, 0, 0, 0, 247, 0, 0, 0, 35, 0, 0, 0, 7, 0, 0, 0, 214, 0, 0, 0, 255, 0, 0, 0, 160, 0, 0, 0, 130, 0, 0, 0, 108, 0, 0, 0, 117, 0, 0, 0, 59, 0, 0, 0, 228, 0, 0, 0, 181, 0, 0, 0, 187, 0, 0, 0, 228, 0, -0, 0, 230, 0, 0, 0, 80, 0, 0, 0, 240, 0, 0, 0, 8, 0, 0, 0, 98, 0, 0, 0, 238, 0, 0, 0, 117, 0, 0, 0, 72, 0, 0, 0, 146, 0, 0, 0, 51, 0, 0, 0, 242, 0, 0, 0, 244, 0, 0, 0, 173, 0, 0, 0, 21, 0, 0, 0, 122, 0, 0, 0, 161, 0, 0, 0, 1, 0, 0, 0, 70, 0, 0, 0, 169, 0, 0, 0, 50, 0, 0, 0, 6, 0, 0, 0, 136, 0, 0, 0, 182, 0, 0, 0, 54, 0, 0, 0, 71, 0, 0, 0, 53, 0, 0, 0, 185, 0, 0, 0, 180, 0, 0, 0, 66, 0, 0, 0, 133, 0, 0, 0, 118, 0, 0, 0, 240, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 144, 0, 0, 0, 56, 0, 0, 0, 81, 0, 0, 0, -21, 0, 0, 0, 157, 0, 0, 0, 195, 0, 0, 0, 149, 0, 0, 0, 209, 0, 0, 0, 57, 0, 0, 0, 187, 0, 0, 0, 100, 0, 0, 0, 157, 0, 0, 0, 21, 0, 0, 0, 129, 0, 0, 0, 193, 0, 0, 0, 104, 0, 0, 0, 208, 0, 0, 0, 182, 0, 0, 0, 164, 0, 0, 0, 44, 0, 0, 0, 125, 0, 0, 0, 94, 0, 0, 0, 2, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 224, 0, 0, 0, 59, 0, 0, 0, 164, 0, 0, 0, 204, 0, 0, 0, 202, 0, 0, 0, 29, 0, 0, 0, 129, 0, 0, 0, 36, 0, 0, 0, 16, 0, 0, 0, 231, 0, 0, 0, 41, 0, 0, 0, 249, 0, 0, 0, 55, 0, 0, 0, 217, 0, 0, 0, 70, 0, 0, 0, -90, 0, 0, 0, 205, 0, 0, 0, 112, 0, 0, 0, 254, 0, 0, 0, 77, 0, 0, 0, 91, 0, 0, 0, 191, 0, 0, 0, 165, 0, 0, 0, 207, 0, 0, 0, 145, 0, 0, 0, 244, 0, 0, 0, 239, 0, 0, 0, 238, 0, 0, 0, 138, 0, 0, 0, 41, 0, 0, 0, 208, 0, 0, 0, 231, 0, 0, 0, 196, 0, 0, 0, 37, 0, 0, 0, 146, 0, 0, 0, 138, 0, 0, 0, 255, 0, 0, 0, 54, 0, 0, 0, 252, 0, 0, 0, 228, 0, 0, 0, 73, 0, 0, 0, 189, 0, 0, 0, 0, 0, 0, 0, 185, 0, 0, 0, 4, 0, 0, 0, 125, 0, 0, 0, 53, 0, 0, 0, 252, 0, 0, 0, 235, 0, 0, 0, 208, 0, 0, 0, 11, 0, 0, 0, 5, 0, 0, 0, -50, 0, 0, 0, 82, 0, 0, 0, 122, 0, 0, 0, 137, 0, 0, 0, 36, 0, 0, 0, 117, 0, 0, 0, 80, 0, 0, 0, 225, 0, 0, 0, 99, 0, 0, 0, 2, 0, 0, 0, 130, 0, 0, 0, 142, 0, 0, 0, 231, 0, 0, 0, 133, 0, 0, 0, 12, 0, 0, 0, 242, 0, 0, 0, 86, 0, 0, 0, 68, 0, 0, 0, 55, 0, 0, 0, 131, 0, 0, 0, 37, 0, 0, 0, 143, 0, 0, 0, 161, 0, 0, 0, 206, 0, 0, 0, 203, 0, 0, 0, 96, 0, 0, 0, 218, 0, 0, 0, 18, 0, 0, 0, 2, 0, 0, 0, 30, 0, 0, 0, 41, 0, 0, 0, 57, 0, 0, 0, 42, 0, 0, 0, 3, 0, 0, 0, 183, 0, 0, 0, 235, 0, 0, 0, 119, 0, 0, 0, 64, 0, -0, 0, 234, 0, 0, 0, 201, 0, 0, 0, 43, 0, 0, 0, 44, 0, 0, 0, 213, 0, 0, 0, 125, 0, 0, 0, 126, 0, 0, 0, 44, 0, 0, 0, 199, 0, 0, 0, 90, 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 196, 0, 0, 0, 209, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 136, 0, 0, -0, 152, 0, 0, 0, 91, 0, 0, 0, 78, 0, 0, 0, 252, 0, 0, 0, 65, 0, 0, 0, 36, 0, 0, 0, 5, 0, 0, 0, 230, 0, 0, 0, 80, 0, 0, 0, 43, 0, 0, 0, 174, 0, 0, 0, 150, 0, 0, 0, 81, 0, 0, 0, 217, 0, 0, 0, 107, 0, 0, 0, 114, 0, 0, 0, 178, 0, 0, 0, 51, 0, 0, 0, 66, 0, 0, 0, 152, 0, 0, 0, 104, 0, 0, 0, 187, 0, 0, 0, 16, 0, 0, 0, 90, 0, 0, 0, 122, 0, 0, 0, 140, 0, 0, 0, 157, 0, 0, 0, 7, 0, 0, 0, 180, 0, 0, 0, 5, 0, 0, 0, 47, 0, 0, 0, 97, 0, 0, 0, 159, 0, 0, 0, 215, 0, 0, 0, 168, 0, 0, 0, 63, 0, 0, 0, 131, 0, 0, 0, -140, 0, 0, 0, 16, 0, 0, 0, 105, 0, 0, 0, 144, 0, 0, 0, 230, 0, 0, 0, 207, 0, 0, 0, 210, 0, 0, 0, 99, 0, 0, 0, 163, 0, 0, 0, 228, 0, 0, 0, 84, 0, 0, 0, 126, 0, 0, 0, 229, 0, 0, 0, 105, 0, 0, 0, 19, 0, 0, 0, 28, 0, 0, 0, 144, 0, 0, 0, 87, 0, 0, 0, 170, 0, 0, 0, 233, 0, 0, 0, 83, 0, 0, 0, 34, 0, 0, 0, 67, 0, 0, 0, 41, 0, 0, 0, 35, 0, 0, 0, 229, 0, 0, 0, 28, 0, 0, 0, 248, 0, 0, 0, 10, 0, 0, 0, 253, 0, 0, 0, 45, 0, 0, 0, 126, 0, 0, 0, 245, 0, 0, 0, 245, 0, 0, 0, 112, 0, 0, 0, 125, 0, 0, 0, 65, 0, 0, 0, -107, 0, 0, 0, 17, 0, 0, 0, 254, 0, 0, 0, 190, 0, 0, 0, 153, 0, 0, 0, 209, 0, 0, 0, 85, 0, 0, 0, 41, 0, 0, 0, 49, 0, 0, 0, 191, 0, 0, 0, 192, 0, 0, 0, 151, 0, 0, 0, 108, 0, 0, 0, 213, 0, 0, 0, 53, 0, 0, 0, 204, 0, 0, 0, 94, 0, 0, 0, 139, 0, 0, 0, 217, 0, 0, 0, 105, 0, 0, 0, 142, 0, 0, 0, 78, 0, 0, 0, 159, 0, 0, 0, 37, 0, 0, 0, 248, 0, 0, 0, 129, 0, 0, 0, 84, 0, 0, 0, 45, 0, 0, 0, 14, 0, 0, 0, 213, 0, 0, 0, 84, 0, 0, 0, 129, 0, 0, 0, 155, 0, 0, 0, 166, 0, 0, 0, 146, 0, 0, 0, 206, 0, 0, 0, 75, 0, 0, -0, 233, 0, 0, 0, 143, 0, 0, 0, 36, 0, 0, 0, 59, 0, 0, 0, 202, 0, 0, 0, 224, 0, 0, 0, 68, 0, 0, 0, 171, 0, 0, 0, 54, 0, 0, 0, 254, 0, 0, 0, 251, 0, 0, 0, 135, 0, 0, 0, 212, 0, 0, 0, 38, 0, 0, 0, 62, 0, 0, 0, 15, 0, 0, 0, 147, 0, 0, 0, 156, 0, 0, 0, 17, 0, 0, 0, 231, 0, 0, 0, 219, 0, 0, 0, 241, 0, 0, 0, 240, 0, 0, 0, 133, 0, 0, 0, 67, 0, 0, 0, 40, 0, 0, 0, 21, 0, 0, 0, 55, 0, 0, 0, 221, 0, 0, 0, 222, 0, 0, 0, 39, 0, 0, 0, 223, 0, 0, 0, 173, 0, 0, 0, 62, 0, 0, 0, 73, 0, 0, 0, 79, 0, 0, 0, 224, 0, 0, -0, 91, 0, 0, 0, 246, 0, 0, 0, 128, 0, 0, 0, 89, 0, 0, 0, 21, 0, 0, 0, 60, 0, 0, 0, 133, 0, 0, 0, 183, 0, 0, 0, 62, 0, 0, 0, 18, 0, 0, 0, 245, 0, 0, 0, 255, 0, 0, 0, 204, 0, 0, 0, 240, 0, 0, 0, 180, 0, 0, 0, 18, 0, 0, 0, 3, 0, 0, 0, 95, 0, 0, 0, 201, 0, 0, 0, 132, 0, 0, 0, 203, 0, 0, 0, 29, 0, 0, 0, 23, 0, 0, 0, 224, 0, 0, 0, 188, 0, 0, 0, 204, 0, 0, 0, 3, 0, 0, 0, 98, 0, 0, 0, 169, 0, 0, 0, 139, 0, 0, 0, 148, 0, 0, 0, 166, 0, 0, 0, 170, 0, 0, 0, 24, 0, 0, 0, 203, 0, 0, 0, 39, 0, 0, 0, 141, 0, 0, -0, 73, 0, 0, 0, 166, 0, 0, 0, 23, 0, 0, 0, 21, 0, 0, 0, 7, 0, 0, 0, 217, 0, 0, 0, 182, 0, 0, 0, 212, 0, 0, 0, 157, 0, 0, 0, 212, 0, 0, 0, 106, 0, 0, 0, 175, 0, 0, 0, 112, 0, 0, 0, 7, 0, 0, 0, 44, 0, 0, 0, 16, 0, 0, 0, 158, 0, 0, 0, 189, 0, 0, 0, 17, 0, 0, 0, 173, 0, 0, 0, 228, 0, 0, 0, 38, 0, 0, 0, 51, 0, 0, 0, 112, 0, 0, 0, 146, 0, 0, 0, 120, 0, 0, 0, 28, 0, 0, 0, 116, 0, 0, 0, 159, 0, 0, 0, 117, 0, 0, 0, 96, 0, 0, 0, 86, 0, 0, 0, 244, 0, 0, 0, 57, 0, 0, 0, 168, 0, 0, 0, 168, 0, 0, 0, 98, 0, 0, -0, 59, 0, 0, 0, 191, 0, 0, 0, 85, 0, 0, 0, 53, 0, 0, 0, 97, 0, 0, 0, 139, 0, 0, 0, 68, 0, 0, 0, 151, 0, 0, 0, 232, 0, 0, 0, 58, 0, 0, 0, 85, 0, 0, 0, 193, 0, 0, 0, 200, 0, 0, 0, 59, 0, 0, 0, 253, 0, 0, 0, 149, 0, 0, 0, 41, 0, 0, 0, 17, 0, 0, 0, 96, 0, 0, 0, 150, 0, 0, 0, 30, 0, 0, 0, 203, 0, 0, 0, 17, 0, 0, 0, 157, 0, 0, 0, 194, 0, 0, 0, 3, 0, 0, 0, 138, 0, 0, 0, 27, 0, 0, 0, 198, 0, 0, 0, 214, 0, 0, 0, 69, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 14, 0, 0, 0, 80, 0, 0, 0, 178, 0, 0, 0, 204, 0, 0, 0, 13, 0, 0, 0, 107, 0, 0, 0, 166, 0, 0, 0, 113, 0, 0, 0, 91, 0, 0, 0, 66, 0, 0, 0, 237, 0, 0, 0, 189, 0, 0, 0, 175, 0, 0, 0, 172, 0, 0, 0, 240, 0, 0, 0, 252, 0, 0, 0, 18, 0, 0, 0, 162, 0, 0, 0, 63, 0, 0, 0, 78, 0, 0, 0, 218, 0, 0, 0, 232, -0, 0, 0, 17, 0, 0, 0, 243, 0, 0, 0, 35, 0, 0, 0, 225, 0, 0, 0, 4, 0, 0, 0, 98, 0, 0, 0, 3, 0, 0, 0, 28, 0, 0, 0, 78, 0, 0, 0, 200, 0, 0, 0, 177, 0, 0, 0, 27, 0, 0, 0, 111, 0, 0, 0, 115, 0, 0, 0, 97, 0, 0, 0, 61, 0, 0, 0, 39, 0, 0, 0, 13, 0, 0, 0, 125, 0, 0, 0, 122, 0, 0, 0, 37, 0, 0, 0, 95, 0, 0, 0, 115, 0, 0, 0, 14, 0, 0, 0, 47, 0, 0, 0, 147, 0, 0, 0, 246, 0, 0, 0, 36, 0, 0, 0, 216, 0, 0, 0, 79, 0, 0, 0, 144, 0, 0, 0, 172, 0, 0, 0, 162, 0, 0, 0, 98, 0, 0, 0, 10, 0, 0, 0, 240, 0, 0, 0, 97, 0, 0, -0, 217, 0, 0, 0, 8, 0, 0, 0, 89, 0, 0, 0, 106, 0, 0, 0, 111, 0, 0, 0, 45, 0, 0, 0, 85, 0, 0, 0, 248, 0, 0, 0, 47, 0, 0, 0, 142, 0, 0, 0, 240, 0, 0, 0, 24, 0, 0, 0, 59, 0, 0, 0, 234, 0, 0, 0, 221, 0, 0, 0, 38, 0, 0, 0, 114, 0, 0, 0, 209, 0, 0, 0, 245, 0, 0, 0, 254, 0, 0, 0, 229, 0, 0, 0, 184, 0, 0, 0, 230, 0, 0, 0, 211, 0, 0, 0]).concat([16, 0, 0, 0, 72, 0, 0, 0, 70, 0, 0, 0, 73, 0, 0, 0, 58, 0, 0, 0, 159, 0, 0, 0, 94, 0, 0, 0, 69, 0, 0, 0, 107, 0, 0, 0, 144, 0, 0, 0, 232, 0, 0, 0, 127, 0, 0, 0, 211, -0, 0, 0, 118, 0, 0, 0, 105, 0, 0, 0, 51, 0, 0, 0, 123, 0, 0, 0, 185, 0, 0, 0, 64, 0, 0, 0, 112, 0, 0, 0, 238, 0, 0, 0, 166, 0, 0, 0, 41, 0, 0, 0, 107, 0, 0, 0, 221, 0, 0, 0, 208, 0, 0, 0, 93, 0, 0, 0, 141, 0, 0, 0, 193, 0, 0, 0, 62, 0, 0, 0, 74, 0, 0, 0, 234, 0, 0, 0, 55, 0, 0, 0, 177, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 53, 0, 0, 0, 241, 0, 0, 0, 40, 0, 0, 0, 157, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 122, 0, 0, 0, 219, 0, 0, 0, 18, 0, 0, 0, 210, 0, 0, 0, 138, 0, 0, 0, 130, 0, -0, 0, 3, 0, 0, 0, 27, 0, 0, 0, 30, 0, 0, 0, 175, 0, 0, 0, 249, 0, 0, 0, 75, 0, 0, 0, 156, 0, 0, 0, 190, 0, 0, 0, 174, 0, 0, 0, 124, 0, 0, 0, 228, 0, 0, 0, 148, 0, 0, 0, 42, 0, 0, 0, 35, 0, 0, 0, 179, 0, 0, 0, 98, 0, 0, 0, 134, 0, 0, 0, 231, 0, 0, 0, 253, 0, 0, 0, 35, 0, 0, 0, 170, 0, 0, 0, 153, 0, 0, 0, 189, 0, 0, 0, 43, 0, 0, 0, 17, 0, 0, 0, 108, 0, 0, 0, 141, 0, 0, 0, 166, 0, 0, 0, 213, 0, 0, 0, 172, 0, 0, 0, 157, 0, 0, 0, 204, 0, 0, 0, 104, 0, 0, 0, 117, 0, 0, 0, 127, 0, 0, 0, 195, 0, 0, 0, 77, -0, 0, 0, 75, 0, 0, 0, 221, 0, 0, 0, 108, 0, 0, 0, 187, 0, 0, 0, 17, 0, 0, 0, 90, 0, 0, 0, 96, 0, 0, 0, 229, 0, 0, 0, 189, 0, 0, 0, 125, 0, 0, 0, 39, 0, 0, 0, 139, 0, 0, 0, 218, 0, 0, 0, 180, 0, 0, 0, 149, 0, 0, 0, 246, 0, 0, 0, 3, 0, 0, 0, 39, 0, 0, 0, 164, 0, 0, 0, 146, 0, 0, 0, 63, 0, 0, 0, 34, 0, 0, 0, 214, 0, 0, 0, 181, 0, 0, 0, 23, 0, 0, 0, 132, 0, 0, 0, 191, 0, 0, 0, 18, 0, 0, 0, 204, 0, 0, 0, 35, 0, 0, 0, 20, 0, 0, 0, 74, 0, 0, 0, 223, 0, 0, 0, 20, 0, 0, 0, 49, 0, 0, 0, 188, 0, 0, 0, 161, -0, 0, 0, 172, 0, 0, 0, 110, 0, 0, 0, 171, 0, 0, 0, 250, 0, 0, 0, 87, 0, 0, 0, 17, 0, 0, 0, 83, 0, 0, 0, 179, 0, 0, 0, 39, 0, 0, 0, 230, 0, 0, 0, 249, 0, 0, 0, 71, 0, 0, 0, 51, 0, 0, 0, 68, 0, 0, 0, 52, 0, 0, 0, 30, 0, 0, 0, 121, 0, 0, 0, 252, 0, 0, 0, 166, 0, 0, 0, 180, 0, 0, 0, 11, 0, 0, 0, 53, 0, 0, 0, 32, 0, 0, 0, 201, 0, 0, 0, 77, 0, 0, 0, 34, 0, 0, 0, 132, 0, 0, 0, 196, 0, 0, 0, 169, 0, 0, 0, 32, 0, 0, 0, 236, 0, 0, 0, 137, 0, 0, 0, 148, 0, 0, 0, 186, 0, 0, 0, 102, 0, 0, 0, 86, 0, 0, 0, 72, -0, 0, 0, 185, 0, 0, 0, 135, 0, 0, 0, 127, 0, 0, 0, 202, 0, 0, 0, 30, 0, 0, 0, 6, 0, 0, 0, 237, 0, 0, 0, 165, 0, 0, 0, 85, 0, 0, 0, 89, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 0, 0, 0, 225, 0, 0, 0, 245, 0, 0, 0, 241, 0, 0, 0, 213, 0, 0, 0, 171, 0, 0, -0, 168, 0, 0, 0, 43, 0, 0, 0, 174, 0, 0, 0, 137, 0, 0, 0, 243, 0, 0, 0, 207, 0, 0, 0, 86, 0, 0, 0, 159, 0, 0, 0, 242, 0, 0, 0, 75, 0, 0, 0, 49, 0, 0, 0, 188, 0, 0, 0, 24, 0, 0, 0, 169, 0, 0, 0, 6, 0, 0, 0, 91, 0, 0, 0, 190, 0, 0, 0, 180, 0, 0, 0, 97, 0, 0, 0, 248, 0, 0, 0, 178, 0, 0, 0, 6, 0, 0, 0, 156, 0, 0, 0, 129, 0, 0, 0, 171, 0, 0, 0, 76, 0, 0, 0, 31, 0, 0, 0, 104, 0, 0, 0, 118, 0, 0, 0, 1, 0, 0, 0, 22, 0, 0, 0, 56, 0, 0, 0, 43, 0, 0, 0, 15, 0, 0, 0, 119, 0, 0, 0, 151, 0, 0, 0, 146, 0, 0, 0, -103, 0, 0, 0, 78, 0, 0, 0, 134, 0, 0, 0, 106, 0, 0, 0, 139, 0, 0, 0, 229, 0, 0, 0, 232, 0, 0, 0, 12, 0, 0, 0, 247, 0, 0, 0, 54, 0, 0, 0, 57, 0, 0, 0, 181, 0, 0, 0, 51, 0, 0, 0, 230, 0, 0, 0, 207, 0, 0, 0, 94, 0, 0, 0, 189, 0, 0, 0, 24, 0, 0, 0, 251, 0, 0, 0, 16, 0, 0, 0, 31, 0, 0, 0, 131, 0, 0, 0, 240, 0, 0, 0, 13, 0, 0, 0, 99, 0, 0, 0, 239, 0, 0, 0, 83, 0, 0, 0, 107, 0, 0, 0, 181, 0, 0, 0, 107, 0, 0, 0, 249, 0, 0, 0, 131, 0, 0, 0, 207, 0, 0, 0, 222, 0, 0, 0, 4, 0, 0, 0, 34, 0, 0, 0, 155, 0, 0, 0, -44, 0, 0, 0, 10, 0, 0, 0, 224, 0, 0, 0, 165, 0, 0, 0, 216, 0, 0, 0, 199, 0, 0, 0, 156, 0, 0, 0, 165, 0, 0, 0, 163, 0, 0, 0, 246, 0, 0, 0, 111, 0, 0, 0, 207, 0, 0, 0, 144, 0, 0, 0, 107, 0, 0, 0, 104, 0, 0, 0, 124, 0, 0, 0, 51, 0, 0, 0, 21, 0, 0, 0, 215, 0, 0, 0, 127, 0, 0, 0, 26, 0, 0, 0, 213, 0, 0, 0, 33, 0, 0, 0, 88, 0, 0, 0, 196, 0, 0, 0, 24, 0, 0, 0, 165, 0, 0, 0, 240, 0, 0, 0, 204, 0, 0, 0, 115, 0, 0, 0, 168, 0, 0, 0, 253, 0, 0, 0, 250, 0, 0, 0, 24, 0, 0, 0, 209, 0, 0, 0, 3, 0, 0, 0, 145, 0, -0, 0, 141, 0, 0, 0, 82, 0, 0, 0, 210, 0, 0, 0, 163, 0, 0, 0, 164, 0, 0, 0, 211, 0, 0, 0, 177, 0, 0, 0, 234, 0, 0, 0, 29, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 0, 72, 0, 0, 0, 131, 0, 0, 0, 144, 0, 0, 0, 229, 0, 0, 0, 253, 0, 0, 0, 63, 0, 0, 0, 132, 0, 0, 0, 170, 0, 0, 0, 249, 0, 0, 0, 139, 0, 0, 0, 130, 0, 0, 0, 89, 0, 0, 0, 36, 0, 0, 0, 52, 0, 0, 0, 104, 0, 0, 0, 79, 0, 0, 0, 28, 0, 0, 0, 35, 0, 0, 0, 217, 0, 0, 0, 204, 0, 0, 0, 113, 0, 0, 0, 225, 0, 0, 0, 127, 0, 0, 0, 140, 0, 0, 0, 175, -0, 0, 0, 241, 0, 0, 0, 238, 0, 0, 0, 0, 0, 0, 0, 182, 0, 0, 0, 160, 0, 0, 0, 119, 0, 0, 0, 245, 0, 0, 0, 26, 0, 0, 0, 97, 0, 0, 0, 247, 0, 0, 0, 55, 0, 0, 0, 157, 0, 0, 0, 0, 0, 0, 0, 244, 0, 0, 0, 242, 0, 0, 0, 105, 0, 0, 0, 111, 0, 0, 0, 75, 0, 0, 0, 1, 0, 0, 0, 133, 0, 0, 0, 25, 0, 0, 0, 69, 0, 0, 0, 77, 0, 0, 0, 127, 0, 0, 0, 2, 0, 0, 0, 124, 0, 0, 0, 106, 0, 0, 0, 5, 0, 0, 0, 71, 0, 0, 0, 108, 0, 0, 0, 31, 0, 0, 0, 129, 0, 0, 0, 32, 0, 0, 0, 212, 0, 0, 0, 232, 0, 0, 0, 80, 0, 0, 0, 39, 0, 0, -0, 114, 0, 0, 0, 44, 0, 0, 0, 58, 0, 0, 0, 229, 0, 0, 0, 173, 0, 0, 0, 244, 0, 0, 0, 221, 0, 0, 0, 45, 0, 0, 0, 247, 0, 0, 0, 92, 0, 0, 0, 68, 0, 0, 0, 181, 0, 0, 0, 91, 0, 0, 0, 33, 0, 0, 0, 163, 0, 0, 0, 137, 0, 0, 0, 95, 0, 0, 0, 150, 0, 0, 0, 69, 0, 0, 0, 202, 0, 0, 0, 77, 0, 0, 0, 164, 0, 0, 0, 33, 0, 0, 0, 153, 0, 0, 0, 112, 0, 0, 0, 218, 0, 0, 0, 196, 0, 0, 0, 196, 0, 0, 0, 160, 0, 0, 0, 229, 0, 0, 0, 244, 0, 0, 0, 236, 0, 0, 0, 10, 0, 0, 0, 7, 0, 0, 0, 104, 0, 0, 0, 33, 0, 0, 0, 101, 0, 0, -0, 233, 0, 0, 0, 8, 0, 0, 0, 160, 0, 0, 0, 11, 0, 0, 0, 106, 0, 0, 0, 74, 0, 0, 0, 186, 0, 0, 0, 181, 0, 0, 0, 128, 0, 0, 0, 175, 0, 0, 0, 208, 0, 0, 0, 27, 0, 0, 0, 197, 0, 0, 0, 245, 0, 0, 0, 75, 0, 0, 0, 115, 0, 0, 0, 80, 0, 0, 0, 96, 0, 0, 0, 45, 0, 0, 0, 113, 0, 0, 0, 105, 0, 0, 0, 97, 0, 0, 0, 14, 0, 0, 0, 192, 0, 0, 0, 32, 0, 0, 0, 64, 0, 0, 0, 48, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 0, 0, 0, 117, 0, 0, 0, 87, 0, 0, 0, 59, 0, 0, 0, 235, 0, 0, 0, 92, 0, 0, 0, 20, 0, 0, 0, 86, 0, 0, 0, 80, 0, 0, 0, 201, 0, 0, 0, 79, 0, 0, 0, 184, 0, 0, 0, 184, 0, 0, 0, 30, 0, 0, 0, 163, 0, 0, 0, 244, 0, 0, 0, 171, 0, 0, 0, 245, 0, 0, 0, 169, 0, 0, 0, 32, 0, 0, 0, 21, 0, 0, 0, 148, 0, 0, 0, 130, 0, 0, 0, 218, 0, 0, 0, 150, 0, 0, 0, 28, 0, 0, 0, 155, -0, 0, 0, 89, 0, 0, 0, 140, 0, 0, 0, 255, 0, 0, 0, 244, 0, 0, 0, 81, 0, 0, 0, 193, 0, 0, 0, 58, 0, 0, 0, 134, 0, 0, 0, 215, 0, 0, 0, 176, 0, 0, 0, 6, 0, 0, 0, 132, 0, 0, 0, 127, 0, 0, 0, 27, 0, 0, 0, 189, 0, 0, 0, 212, 0, 0, 0, 7, 0, 0, 0, 120, 0, 0, 0, 128, 0, 0, 0, 46, 0, 0, 0, 177, 0, 0, 0, 180, 0, 0, 0, 238, 0, 0, 0, 82, 0, 0, 0, 56, 0, 0, 0, 238, 0, 0, 0, 154, 0, 0, 0, 249, 0, 0, 0, 246, 0, 0, 0, 243, 0, 0, 0, 65, 0, 0, 0, 110, 0, 0, 0, 212, 0, 0, 0, 136, 0, 0, 0, 149, 0, 0, 0, 172, 0, 0, 0, -53, 0, 0, 0, 65, 0, 0, 0, 151, 0, 0, 0, 191, 0, 0, 0, 113, 0, 0, 0, 106, 0, 0, 0, 155, 0, 0, 0, 114, 0, 0, 0, 236, 0, 0, 0, 243, 0, 0, 0, 248, 0, 0, 0, 107, 0, 0, 0, 230, 0, 0, 0, 14, 0, 0, 0, 108, 0, 0, 0, 105, 0, 0, 0, 165, 0, 0, 0, 47, 0, 0, 0, 104, 0, 0, 0, 82, 0, 0, 0, 216, 0, 0, 0, 97, 0, 0, 0, 129, 0, 0, 0, 192, 0, 0, 0, 99, 0, 0, 0, 63, 0, 0, 0, 166, 0, 0, 0, 60, 0, 0, 0, 19, 0, 0, 0, 144, 0, 0, 0, 230, 0, 0, 0, 141, 0, 0, 0, 86, 0, 0, 0, 232, 0, 0, 0, 57, 0, 0, 0, 48, 0, 0, 0, 119, 0, 0, -0, 35, 0, 0, 0, 177, 0, 0, 0, 253, 0, 0, 0, 27, 0, 0, 0, 61, 0, 0, 0, 62, 0, 0, 0, 116, 0, 0, 0, 77, 0, 0, 0, 127, 0, 0, 0, 174, 0, 0, 0, 91, 0, 0, 0, 58, 0, 0, 0, 180, 0, 0, 0, 101, 0, 0, 0, 14, 0, 0, 0, 58, 0, 0, 0, 67, 0, 0, 0, 220, 0, 0, 0, 220, 0, 0, 0, 65, 0, 0, 0, 71, 0, 0, 0, 230, 0, 0, 0, 232, 0, 0, 0, 146, 0, 0, 0, 9, 0, 0, 0, 34, 0, 0, 0, 72, 0, 0, 0, 76, 0, 0, 0, 133, 0, 0, 0, 87, 0, 0, 0, 159, 0, 0, 0, 181, 0, 0, 0, 200, 0, 0, 0, 6, 0, 0, 0, 178, 0, 0, 0, 159, 0, 0, 0, 71, 0, 0, 0, 63, -0, 0, 0, 240, 0, 0, 0, 250, 0, 0, 0, 230, 0, 0, 0, 169, 0, 0, 0, 177, 0, 0, 0, 155, 0, 0, 0, 111, 0, 0, 0, 150, 0, 0, 0, 125, 0, 0, 0, 249, 0, 0, 0, 164, 0, 0, 0, 101, 0, 0, 0, 9, 0, 0, 0, 117, 0, 0, 0, 50, 0, 0, 0, 166, 0, 0, 0, 108, 0, 0, 0, 127, 0, 0, 0, 71, 0, 0, 0, 75, 0, 0, 0, 47, 0, 0, 0, 79, 0, 0, 0, 52, 0, 0, 0, 233, 0, 0, 0, 89, 0, 0, 0, 147, 0, 0, 0, 157, 0, 0, 0, 38, 0, 0, 0, 128, 0, 0, 0, 84, 0, 0, 0, 242, 0, 0, 0, 204, 0, 0, 0, 60, 0, 0, 0, 194, 0, 0, 0, 37, 0, 0, 0, 133, 0, 0, 0, 227, -0, 0, 0, 106, 0, 0, 0, 193, 0, 0, 0, 98, 0, 0, 0, 4, 0, 0, 0, 167, 0, 0, 0, 8, 0, 0, 0, 50, 0, 0, 0, 109, 0, 0, 0, 161, 0, 0, 0, 57, 0, 0, 0, 132, 0, 0, 0, 138, 0, 0, 0, 59, 0, 0, 0, 135, 0, 0, 0, 95, 0, 0, 0, 17, 0, 0, 0, 19, 0, 0, 0, 218, 0, 0, 0, 3, 0, 0, 0, 52, 0, 0, 0, 102, 0, 0, 0, 196, 0, 0, 0, 12, 0, 0, 0, 115, 0, 0, 0, 110, 0, 0, 0, 188, 0, 0, 0, 36, 0, 0, 0, 181, 0, 0, 0, 249, 0, 0, 0, 112, 0, 0, 0, 129, 0, 0, 0, 82, 0, 0, 0, 233, 0, 0, 0, 244, 0, 0, 0, 124, 0, 0, 0, 35, 0, 0, 0, 221, 0, -0, 0, 159, 0, 0, 0, 184, 0, 0, 0, 70, 0, 0, 0, 239, 0, 0, 0, 29, 0, 0, 0, 34, 0, 0, 0, 85, 0, 0, 0, 125, 0, 0, 0, 113, 0, 0, 0, 196, 0, 0, 0, 66, 0, 0, 0, 51, 0, 0, 0, 197, 0, 0, 0, 55, 0, 0, 0, 105, 0, 0, 0, 91, 0, 0, 0, 168, 0, 0, 0, 198, 0, 0, 0, 157, 0, 0, 0, 164, 0, 0, 0, 252, 0, 0, 0, 97, 0, 0, 0, 110, 0, 0, 0, 104, 0, 0, 0, 70, 0, 0, 0, 234, 0, 0, 0, 215, 0, 0, 0, 28, 0, 0, 0, 103, 0, 0, 0, 210, 0, 0, 0, 125, 0, 0, 0, 250, 0, 0, 0, 241, 0, 0, 0, 204, 0, 0, 0, 84, 0, 0, 0, 141, 0, 0, 0, 54, -0, 0, 0, 53, 0, 0, 0, 201, 0, 0, 0, 0, 0, 0, 0, 223, 0, 0, 0, 108, 0, 0, 0, 103, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, 0, 0, 0, 77, 0, 0, 0, 66, 0, 0, 0, 41, 0, 0, 0, 93, 0, 0, 0, 164, 0, 0, 0, 107, 0, 0, 0, 111, 0, 0, 0, 168, 0, 0, 0, 138, 0, 0, -0, 77, 0, 0, 0, 145, 0, 0, 0, 123, 0, 0, 0, 210, 0, 0, 0, 223, 0, 0, 0, 54, 0, 0, 0, 239, 0, 0, 0, 1, 0, 0, 0, 34, 0, 0, 0, 197, 0, 0, 0, 204, 0, 0, 0, 141, 0, 0, 0, 235, 0, 0, 0, 88, 0, 0, 0, 61, 0, 0, 0, 179, 0, 0, 0, 80, 0, 0, 0, 252, 0, 0, 0, 139, 0, 0, 0, 151, 0, 0, 0, 150, 0, 0, 0, 51, 0, 0, 0, 147, 0, 0, 0, 51, 0, 0, 0, 7, 0, 0, 0, 200, 0, 0, 0, 74, 0, 0, 0, 202, 0, 0, 0, 208, 0, 0, 0, 177, 0, 0, 0, 171, 0, 0, 0, 189, 0, 0, 0, 221, 0, 0, 0, 167, 0, 0, 0, 124, 0, 0, 0, 172, 0, 0, 0, 62, 0, -0, 0, 69, 0, 0, 0, 203, 0, 0, 0, 204, 0, 0, 0, 7, 0, 0, 0, 145, 0, 0, 0, 191, 0, 0, 0, 53, 0, 0, 0, 157, 0, 0, 0, 203, 0, 0, 0, 125, 0, 0, 0, 18, 0, 0, 0, 60, 0, 0, 0, 17, 0, 0, 0, 89, 0, 0, 0, 19, 0, 0, 0, 207, 0, 0, 0, 92, 0, 0, 0, 69, 0, 0, 0, 184, 0, 0, 0, 65, 0, 0, 0, 215, 0, 0, 0, 171, 0, 0, 0, 7, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 142, 0, 0, 0, 206, 0, 0, 0, 223, 0, 0, 0, 178, 0, 0, 0, 67, 0, 0, 0, 92, 0, 0, 0, 1, 0, 0, 0, 220, 0, 0, 0, 244, 0, 0, 0, 1, 0, 0, 0, 81, 0, 0, 0, 149, 0, 0, 0, 16, -0, 0, 0, 90, 0, 0, 0, 246, 0, 0, 0, 36, 0, 0, 0, 36, 0, 0, 0, 160, 0, 0, 0, 25, 0, 0, 0, 58, 0, 0, 0, 9, 0, 0, 0, 42, 0, 0, 0, 170, 0, 0, 0, 63, 0, 0, 0, 220, 0, 0, 0, 142, 0, 0, 0, 235, 0, 0, 0, 198, 0, 0, 0, 191, 0, 0, 0, 221, 0, 0, 0, 17, 0, 0, 0, 123, 0, 0, 0, 231, 0, 0, 0, 71, 0, 0, 0, 230, 0, 0, 0, 206, 0, 0, 0, 231, 0, 0, 0, 182, 0, 0, 0, 197, 0, 0, 0, 232, 0, 0, 0, 138, 0, 0, 0, 220, 0, 0, 0, 75, 0, 0, 0, 87, 0, 0, 0, 21, 0, 0, 0, 59, 0, 0, 0, 102, 0, 0, 0, 202, 0, 0, 0, 137, 0, 0, 0, 163, -0, 0, 0, 253, 0, 0, 0, 172, 0, 0, 0, 13, 0, 0, 0, 225, 0, 0, 0, 29, 0, 0, 0, 122, 0, 0, 0, 137, 0, 0, 0, 239, 0, 0, 0, 191, 0, 0, 0, 3, 0, 0, 0, 117, 0, 0, 0, 208, 0, 0, 0, 41, 0, 0, 0, 80, 0, 0, 0, 203, 0, 0, 0, 125, 0, 0, 0, 214, 0, 0, 0, 190, 0, 0, 0, 173, 0, 0, 0, 95, 0, 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 170, 0, 0, 0, 152, 0, 0, 0, 237, 0, 0, 0, 63, 0, 0, 0, 143, 0, 0, 0, 146, 0, 0, 0, 203, 0, 0, 0, 129, 0, 0, 0, 86, 0, 0, 0, 1, 0, 0, 0, 99, 0, 0, 0, 100, 0, 0, 0, 163, 0, 0, 0, 56, -0, 0, 0, 57, 0, 0, 0, 139, 0, 0, 0, 164, 0, 0, 0, 214, 0, 0, 0, 80, 0, 0, 0, 180, 0, 0, 0, 170, 0, 0, 0, 93, 0, 0, 0, 100, 0, 0, 0, 100, 0, 0, 0, 118, 0, 0, 0, 46, 0, 0, 0, 161, 0, 0, 0, 166, 0, 0, 0, 179, 0, 0, 0, 184, 0, 0, 0, 124, 0, 0, 0, 122, 0, 0, 0, 86, 0, 0, 0, 245, 0, 0, 0, 92, 0, 0, 0, 78, 0, 0, 0, 132, 0, 0, 0, 92, 0, 0, 0, 251, 0, 0, 0, 221, 0, 0, 0, 202, 0, 0, 0, 72, 0, 0, 0, 139, 0, 0, 0, 72, 0, 0, 0, 185, 0, 0, 0, 186, 0, 0, 0, 52, 0, 0, 0, 197, 0, 0, 0, 227, 0, 0, 0, 232, 0, 0, 0, -174, 0, 0, 0, 23, 0, 0, 0, 39, 0, 0, 0, 227, 0, 0, 0, 100, 0, 0, 0, 96, 0, 0, 0, 113, 0, 0, 0, 71, 0, 0, 0, 41, 0, 0, 0, 2, 0, 0, 0, 15, 0, 0, 0, 146, 0, 0, 0, 93, 0, 0, 0, 16, 0, 0, 0, 147, 0, 0, 0, 200, 0, 0, 0, 14, 0, 0, 0, 161, 0, 0, 0, 237, 0, 0, 0, 186, 0, 0, 0, 169, 0, 0, 0, 150, 0, 0, 0, 28, 0, 0, 0, 197, 0, 0, 0, 118, 0, 0, 0, 48, 0, 0, 0, 205, 0, 0, 0, 249, 0, 0, 0, 48, 0, 0, 0, 149, 0, 0, 0, 176, 0, 0, 0, 189, 0, 0, 0, 140, 0, 0, 0, 188, 0, 0, 0, 167, 0, 0, 0, 79, 0, 0, 0, 126, 0, 0, 0, -253, 0, 0, 0, 78, 0, 0, 0, 58, 0, 0, 0, 191, 0, 0, 0, 95, 0, 0, 0, 4, 0, 0, 0, 121, 0, 0, 0, 128, 0, 0, 0, 43, 0, 0, 0, 90, 0, 0, 0, 159, 0, 0, 0, 79, 0, 0, 0, 104, 0, 0, 0, 33, 0, 0, 0, 25, 0, 0, 0, 113, 0, 0, 0, 198, 0, 0, 0, 32, 0, 0, 0, 1, 0, 0, 0, 66, 0, 0, 0, 170, 0, 0, 0, 223, 0, 0, 0, 174, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, 0, 0, 0, 110, 0, 0, 0, 126, 0, 0, 0, 75, 0, 0, 0, 113, 0, 0, 0, 147, 0, 0, 0, 192, 0, 0, 0, 114, 0, 0, 0, 237, 0, 0, 0, 235, 0, 0, 0, 113, 0, 0, 0, 36, 0, 0, 0, 151, 0, 0, 0, 38, 0, 0, 0, 156, 0, 0, 0, 254, 0, 0, 0, 203, 0, 0, 0, 62, 0, 0, 0, 89, 0, 0, 0, 25, 0, 0, 0, 168, 0, 0, 0, 15, 0, 0, 0, 117, 0, 0, 0, 125, 0, 0, 0, 190, 0, 0, 0, 24, 0, 0, 0, 230, 0, 0, 0, 150, 0, 0, 0, 30, 0, 0, 0, 149, 0, 0, 0, 112, -0, 0, 0, 96, 0, 0, 0, 137, 0, 0, 0, 102, 0, 0, 0, 62, 0, 0, 0, 29, 0, 0, 0, 76, 0, 0, 0, 95, 0, 0, 0, 254, 0, 0, 0, 192, 0, 0, 0, 4, 0, 0, 0, 67, 0, 0, 0, 214, 0, 0, 0, 68, 0, 0, 0, 25, 0, 0, 0, 181, 0, 0, 0, 173, 0, 0, 0, 199, 0, 0, 0, 34, 0, 0, 0, 220, 0, 0, 0, 113, 0, 0, 0, 40, 0, 0, 0, 100, 0, 0, 0, 222, 0, 0, 0, 65, 0, 0, 0, 56, 0, 0, 0, 39, 0, 0, 0, 143, 0, 0, 0, 44, 0, 0, 0, 107, 0, 0, 0, 8, 0, 0, 0, 184, 0, 0, 0, 184, 0, 0, 0, 123, 0, 0, 0, 61, 0, 0, 0, 112, 0, 0, 0, 39, 0, 0, 0, 157, 0, -0, 0, 217, 0, 0, 0, 175, 0, 0, 0, 177, 0, 0, 0, 39, 0, 0, 0, 175, 0, 0, 0, 227, 0, 0, 0, 93, 0, 0, 0, 30, 0, 0, 0, 58, 0, 0, 0, 48, 0, 0, 0, 84, 0, 0, 0, 97, 0, 0, 0, 96, 0, 0, 0, 232, 0, 0, 0, 195, 0, 0, 0, 38, 0, 0, 0, 58, 0, 0, 0, 188, 0, 0, 0, 126, 0, 0, 0, 245, 0, 0, 0, 129, 0, 0, 0, 221, 0, 0, 0, 100, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 235, 0, 0, 0, 192, 0, 0, 0, 30, 0, 0, 0, 218, 0, 0, 0, 44, 0, 0, 0, 164, 0, 0, 0, 209, 0, 0, 0, 161, 0, 0, 0, 195, 0, 0, 0, 92, 0, 0, 0, 110, 0, 0, 0, 50, 0, 0, -0, 7, 0, 0, 0, 31, 0, 0, 0, 184, 0, 0, 0, 14, 0, 0, 0, 25, 0, 0, 0, 158, 0, 0, 0, 153, 0, 0, 0, 41, 0, 0, 0, 51, 0, 0, 0, 154, 0, 0, 0, 174, 0, 0, 0, 122, 0, 0, 0, 237, 0, 0, 0, 104, 0, 0, 0, 66, 0, 0, 0, 105, 0, 0, 0, 124, 0, 0, 0, 7, 0, 0, 0, 179, 0, 0, 0, 56, 0, 0, 0, 44, 0, 0, 0, 246, 0, 0, 0, 61, 0, 0, 0, 100, 0, 0, 0, 170, 0, 0, 0, 181, 0, 0, 0, 136, 0, 0, 0, 121, 0, 0, 0, 101, 0, 0, 0, 56, 0, 0, 0, 140, 0, 0, 0, 148, 0, 0, 0, 214, 0, 0, 0, 98, 0, 0, 0, 55, 0, 0, 0, 125, 0, 0, 0, 100, 0, 0, -0, 205, 0, 0, 0, 58, 0, 0, 0, 235, 0, 0, 0, 255, 0, 0, 0, 232, 0, 0, 0, 129, 0, 0, 0, 9, 0, 0, 0, 199, 0, 0, 0, 106, 0, 0, 0, 80, 0, 0, 0, 9, 0, 0, 0, 13, 0, 0, 0, 40, 0, 0, 0, 3, 0, 0, 0, 13, 0, 0, 0, 154, 0, 0, 0, 147, 0, 0, 0, 10, 0, 0, 0, 66, 0, 0, 0, 163, 0, 0, 0, 241, 0, 0, 0, 197, 0, 0, 0, 180, 0, 0, 0, 15, 0, 0, 0, 216, 0, 0, 0, 200, 0, 0, 0, 141, 0, 0, 0, 21, 0, 0, 0, 49, 0, 0, 0, 189, 0, 0, 0, 248, 0, 0, 0, 7, 0, 0, 0, 139, 0, 0, 0, 205, 0, 0, 0, 8, 0, 0, 0, 138, 0, 0, 0, 251, 0, 0, 0, -24, 0, 0, 0, 7, 0, 0, 0, 254, 0, 0, 0, 142, 0, 0, 0, 82, 0, 0, 0, 134, 0, 0, 0, 239, 0, 0, 0, 190, 0, 0, 0, 236, 0, 0, 0, 73, 0, 0, 0, 82, 0, 0, 0, 153, 0, 0, 0, 8, 0, 0, 0, 15, 0, 0, 0, 169, 0, 0, 0, 213, 0, 0, 0, 1, 0, 0, 0, 170, 0, 0, 0, 72, 0, 0, 0, 79, 0, 0, 0, 40, 0, 0, 0, 102, 0, 0, 0, 50, 0, 0, 0, 26, 0, 0, 0, 186, 0, 0, 0, 124, 0, 0, 0, 234, 0, 0, 0, 17, 0, 0, 0, 128, 0, 0, 0, 23, 0, 0, 0, 24, 0, 0, 0, 155, 0, 0, 0, 86, 0, 0, 0, 136, 0, 0, 0, 37, 0, 0, 0, 6, 0, 0, 0, 105, 0, 0, 0, 18, 0, -0, 0, 44, 0, 0, 0, 234, 0, 0, 0, 86, 0, 0, 0, 105, 0, 0, 0, 65, 0, 0, 0, 36, 0, 0, 0, 25, 0, 0, 0, 222, 0, 0, 0, 33, 0, 0, 0, 240, 0, 0, 0, 218, 0, 0, 0, 138, 0, 0, 0, 251, 0, 0, 0, 177, 0, 0, 0, 184, 0, 0, 0, 205, 0, 0, 0, 200, 0, 0, 0, 106, 0, 0, 0, 130, 0, 0, 0, 25, 0, 0, 0, 115, 0, 0, 0, 219, 0, 0, 0, 199, 0, 0, 0, 207, 0, 0, 0, 136, 0, 0, 0, 235, 0, 0, 0, 150, 0, 0, 0, 238, 0, 0, 0, 111, 0, 0, 0, 251, 0, 0, 0, 6, 0, 0, 0, 210, 0, 0, 0, 205, 0, 0, 0, 125, 0, 0, 0, 123, 0, 0, 0, 18, 0, 0, 0, 40, -0, 0, 0, 142, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 147, 0, 0, 0, 68, 0, 0, 0, 151, 0, 0, 0, 206, 0, 0, 0, 40, 0, 0, 0, 255, 0, 0, 0, 58, 0, 0, 0, 64, 0, 0, 0, 196, 0, 0, 0, 245, 0, 0, 0, 246, 0, 0, 0, 155, 0, 0, 0, 244, 0, 0, 0, 107, 0, 0, 0, 7, 0, -0, 0, 132, 0, 0, 0, 251, 0, 0, 0, 152, 0, 0, 0, 216, 0, 0, 0, 236, 0, 0, 0, 140, 0, 0, 0, 3, 0, 0, 0, 87, 0, 0, 0, 236, 0, 0, 0, 73, 0, 0, 0, 237, 0, 0, 0, 99, 0, 0, 0, 182, 0, 0, 0, 170, 0, 0, 0, 255, 0, 0, 0, 152, 0, 0, 0, 40, 0, 0, 0, 61, 0, 0, 0, 22, 0, 0, 0, 53, 0, 0, 0, 243, 0, 0, 0, 70, 0, 0, 0, 188, 0, 0, 0, 179, 0, 0, 0, 244, 0, 0, 0, 198, 0, 0, 0, 182, 0, 0, 0, 79, 0, 0, 0, 250, 0, 0, 0, 244, 0, 0, 0, 160, 0, 0, 0, 19, 0, 0, 0, 230, 0, 0, 0, 87, 0, 0, 0, 69, 0, 0, 0, 147, 0, 0, 0, 185, -0, 0, 0, 188, 0, 0, 0, 214, 0, 0, 0, 89, 0, 0, 0, 231, 0, 0, 0, 119, 0, 0, 0, 148, 0, 0, 0, 108, 0, 0, 0, 171, 0, 0, 0, 150, 0, 0, 0, 59, 0, 0, 0, 79, 0, 0, 0, 9, 0, 0, 0, 90, 0, 0, 0, 247, 0, 0, 0, 107, 0, 0, 0, 1, 0, 0, 0, 18, 0, 0, 0, 79, 0, 0, 0, 81, 0, 0, 0, 193, 0, 0, 0, 112, 0, 0, 0, 132, 0, 0, 0, 148, 0, 0, 0, 71, 0, 0, 0, 178, 0, 0, 0, 1, 0, 0, 0, 108, 0, 0, 0, 113, 0, 0, 0, 215, 0, 0, 0, 204, 0, 0, 0, 23, 0, 0, 0, 102, 0, 0, 0, 15, 0, 0, 0, 89, 0, 0, 0, 93, 0, 0, 0, 93, 0, 0, 0, 16, 0, -0, 0, 1, 0, 0, 0, 87, 0, 0, 0, 17, 0, 0, 0, 245, 0, 0, 0, 221, 0, 0, 0, 226, 0, 0, 0, 52, 0, 0, 0, 38, 0, 0, 0, 217, 0, 0, 0, 31, 0, 0, 0, 92, 0, 0, 0, 88, 0, 0, 0, 172, 0, 0, 0, 139, 0, 0, 0, 3, 0, 0, 0, 210, 0, 0, 0, 195, 0, 0, 0, 133, 0, 0, 0, 15, 0, 0, 0, 58, 0, 0, 0, 195, 0, 0, 0, 127, 0, 0, 0, 109, 0, 0, 0, 142, 0, 0, 0, 134, 0, 0, 0, 205, 0, 0, 0, 82, 0, 0, 0, 116, 0, 0, 0, 143, 0, 0, 0, 85, 0, 0, 0, 119, 0, 0, 0, 23, 0, 0, 0, 183, 0, 0, 0, 142, 0, 0, 0, 183, 0, 0, 0, 136, 0, 0, 0, 234, 0, -0, 0, 218, 0, 0, 0, 27, 0, 0, 0, 182, 0, 0, 0, 234, 0, 0, 0, 14, 0, 0, 0, 64, 0, 0, 0, 147, 0, 0, 0, 32, 0, 0, 0, 121, 0, 0, 0, 53, 0, 0, 0, 106, 0, 0, 0, 97, 0, 0, 0, 132, 0, 0, 0, 90, 0, 0, 0, 7, 0, 0, 0, 109, 0, 0, 0, 249, 0, 0, 0, 119, 0, 0, 0, 111, 0, 0, 0, 237, 0, 0, 0, 105, 0, 0, 0, 28, 0, 0, 0, 13, 0, 0, 0, 37, 0, 0, 0, 118, 0, 0, 0, 204, 0, 0, 0, 240, 0, 0, 0, 219, 0, 0, 0, 187, 0, 0, 0, 197, 0, 0, 0, 173, 0, 0, 0, 226, 0, 0, 0, 38, 0, 0, 0, 87, 0, 0, 0, 207, 0, 0, 0, 232, 0, 0, 0, 14, 0, -0, 0, 107, 0, 0, 0, 150, 0, 0, 0, 125, 0, 0, 0, 237, 0, 0, 0, 39, 0, 0, 0, 209, 0, 0, 0, 60, 0, 0, 0, 169, 0, 0, 0, 217, 0, 0, 0, 80, 0, 0, 0, 169, 0, 0, 0, 152, 0, 0, 0, 132, 0, 0, 0, 94, 0, 0, 0, 134, 0, 0, 0, 239, 0, 0, 0, 214, 0, 0, 0, 240, 0, 0, 0, 248, 0, 0, 0, 14, 0, 0, 0, 137, 0, 0, 0, 5, 0, 0, 0, 47, 0, 0, 0, 217, 0, 0, 0, 95, 0, 0, 0, 21, 0, 0, 0, 95, 0, 0, 0, 115, 0, 0, 0, 121, 0, 0, 0, 200, 0, 0, 0, 92, 0, 0, 0, 22, 0, 0, 0, 254, 0, 0, 0, 237, 0, 0, 0, 159, 0, 0, 0, 38, 0, 0, 0, 86, 0, -0, 0, 246, 0, 0, 0, 75, 0, 0, 0, 159, 0, 0, 0, 167, 0, 0, 0, 10, 0, 0, 0, 133, 0, 0, 0, 254, 0, 0, 0, 165, 0, 0, 0, 140, 0, 0, 0, 135, 0, 0, 0, 221, 0, 0, 0, 152, 0, 0, 0, 206, 0, 0, 0, 78, 0, 0, 0, 195, 0, 0, 0, 88, 0, 0, 0, 85, 0, 0, 0, 178, 0, 0, 0, 123, 0, 0, 0, 61, 0, 0, 0, 216, 0, 0, 0, 107, 0, 0, 0, 181, 0, 0, 0, 76, 0, 0, 0, 101, 0, 0, 0, 56, 0, 0, 0, 160, 0, 0, 0, 21, 0, 0, 0, 250, 0, 0, 0, 167, 0, 0, 0, 180, 0, 0, 0, 143, 0, 0, 0, 235, 0, 0, 0, 196, 0, 0, 0, 134, 0, 0, 0, 155, 0, 0, 0, -48, 0, 0, 0, 165, 0, 0, 0, 94, 0, 0, 0, 77, 0, 0, 0, 234, 0, 0, 0, 138, 0, 0, 0, 154, 0, 0, 0, 159, 0, 0, 0, 26, 0, 0, 0, 216, 0, 0, 0, 91, 0, 0, 0, 83, 0, 0, 0, 20, 0, 0, 0, 25, 0, 0, 0, 37, 0, 0, 0, 99, 0, 0, 0, 180, 0, 0, 0, 111, 0, 0, 0, 31, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, 0, 0, 143, 0, 0, 0, 188, 0, 0, 0, 30, 0, 0, 0, 125, 0, 0, 0, 139, 0, 0, 0, 90, 0, 0, 0, 11, 0, 0, 0, 141, 0, 0, 0, 175, 0, 0, 0, 118, 0, 0, 0, 46, 0, 0, 0, 113, 0, 0, 0, 227, 0, 0, 0, 59, 0, 0, 0, 111, 0, 0, 0, 83, 0, 0, 0, 47, 0, 0, 0, 62, 0, 0, 0, 144, 0, 0, 0, 149, 0, 0, 0, 212, 0, 0, 0, 53, 0, 0, 0, 20, 0, 0, 0, 79, 0, 0, 0, 140, 0, 0, 0, 60, 0, 0, 0, 206, 0, 0, 0, 87, 0, 0, 0, 28, 0, 0, 0, 118, 0, 0, 0, 73, 0, 0, 0, 168, 0, 0, 0, 80, 0, 0, 0, 225, 0, -0, 0, 97, 0, 0, 0, 107, 0, 0, 0, 87, 0, 0, 0, 53, 0, 0, 0, 235, 0, 0, 0, 68, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 110, 0, 0, 0, 249, 0, 0, 0, 37, 0, 0, 0, 128, 0, 0, 0, 116, 0, 0, 0, 242, 0, 0, 0, 143, 0, 0, 0, 111, 0, 0, 0, 122, 0, 0, 0, 62, 0, 0, 0, 127, 0, 0, 0, 45, 0, 0, 0, 243, 0, 0, 0, 78, 0, 0, 0, 9, 0, 0, 0, 101, 0, 0, 0, 16, 0, 0, 0, 94, 0, 0, 0, 3, 0, 0, 0, 37, 0, 0, 0, 50, 0, 0, 0, 169, 0, 0, 0, 96, 0, 0, 0, 220, 0, 0, 0, 15, 0, 0, 0, 100, 0, 0, 0, 229, 0, 0, 0, 29, 0, 0, 0, 226, 0, 0, 0, -141, 0, 0, 0, 79, 0, 0, 0, 121, 0, 0, 0, 47, 0, 0, 0, 14, 0, 0, 0, 36, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 119, 0, 0, 0, 67, 0, 0, 0, 37, 0, 0, 0, 61, 0, 0, 0, 106, 0, 0, 0, 199, 0, 0, 0, 183, 0, 0, 0, 191, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 101, 0, 0, 0, 244, 0, 0, 0, 57, 0, 0, 0, 75, 0, 0, 0, 101, 0, 0, 0, 150, 0, 0, 0, 25, 0, 0, 0, 18, 0, 0, 0, 107, 0, 0, 0, 106, 0, 0, 0, 183, 0, 0, 0, 227, 0, 0, 0, 220, 0, 0, 0, 69, 0, 0, 0, 155, 0, 0, 0, 219, 0, 0, 0, 180, 0, 0, 0, 168, 0, 0, 0, 174, -0, 0, 0, 220, 0, 0, 0, 168, 0, 0, 0, 20, 0, 0, 0, 68, 0, 0, 0, 101, 0, 0, 0, 98, 0, 0, 0, 206, 0, 0, 0, 52, 0, 0, 0, 154, 0, 0, 0, 132, 0, 0, 0, 24, 0, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 241, 0, 0, 0, 226, 0, 0, 0, 123, 0, 0, 0, 206, 0, 0, 0, 80, 0, 0, 0, 65, 0, 0, 0, 33, 0, 0, 0, 48, 0, 0, 0, 83, 0, 0, 0, 27, 0, 0, 0, 71, 0, 0, 0, 1, 0, 0, 0, 183, 0, 0, 0, 24, 0, 0, 0, 216, 0, 0, 0, 130, 0, 0, 0, 87, 0, 0, 0, 189, 0, 0, 0, 163, 0, 0, 0, 96, 0, 0, 0, 240, 0, 0, 0, 50, 0, 0, 0, 246, 0, 0, 0, 91, 0, 0, -0, 240, 0, 0, 0, 48, 0, 0, 0, 136, 0, 0, 0, 145, 0, 0, 0, 89, 0, 0, 0, 253, 0, 0, 0, 144, 0, 0, 0, 162, 0, 0, 0, 185, 0, 0, 0, 85, 0, 0, 0, 147, 0, 0, 0, 33, 0, 0, 0, 52, 0, 0, 0, 151, 0, 0, 0, 103, 0, 0, 0, 158, 0, 0, 0, 235, 0, 0, 0, 106, 0, 0, 0, 249, 0, 0, 0, 110, 0, 0, 0, 214, 0, 0, 0, 115, 0, 0, 0, 232, 0, 0, 0, 107, 0, 0, 0, 41, 0, 0, 0, 236, 0, 0, 0, 99, 0, 0, 0, 130, 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, 0, 153, 0, 0, 0, 28, 0, 0, 0, 29, 0, 0, 0, 48, 0, 0, 0, 200, 0, 0, 0, 144, 0, 0, 0, 82, 0, -0, 0, 144, 0, 0, 0, 182, 0, 0, 0, 106, 0, 0, 0, 128, 0, 0, 0, 78, 0, 0, 0, 255, 0, 0, 0, 75, 0, 0, 0, 81, 0, 0, 0, 15, 0, 0, 0, 125, 0, 0, 0, 99, 0, 0, 0, 140, 0, 0, 0, 110, 0, 0, 0, 92, 0, 0, 0, 222, 0, 0, 0, 48, 0, 0, 0, 223, 0, 0, 0, 101, 0, 0, 0, 250, 0, 0, 0, 46, 0, 0, 0, 176, 0, 0, 0, 163, 0, 0, 0, 37, 0, 0, 0, 5, 0, 0, 0, 84, 0, 0, 0, 189, 0, 0, 0, 37, 0, 0, 0, 186, 0, 0, 0, 6, 0, 0, 0, 174, 0, 0, 0, 223, 0, 0, 0, 139, 0, 0, 0, 217, 0, 0, 0, 27, 0, 0, 0, 234, 0, 0, 0, 56, 0, 0, 0, 179, 0, -0, 0, 5, 0, 0, 0, 22, 0, 0, 0, 9, 0, 0, 0, 199, 0, 0, 0, 140, 0, 0, 0, 191, 0, 0, 0, 100, 0, 0, 0, 40, 0, 0, 0, 173, 0, 0, 0, 248, 0, 0, 0, 165, 0, 0, 0, 90, 0, 0, 0, 111, 0, 0, 0, 201, 0, 0, 0, 186, 0, 0, 0, 213, 0, 0, 0, 127, 0, 0, 0, 213, 0, 0, 0, 214, 0, 0, 0, 189, 0, 0, 0, 102, 0, 0, 0, 47, 0, 0, 0, 61, 0, 0, 0, 170, 0, 0, 0, 84, 0, 0, 0, 246, 0, 0, 0, 186, 0, 0, 0, 50, 0, 0, 0, 34, 0, 0, 0, 154, 0, 0, 0, 30, 0, 0, 0, 82, 0, 0, 0, 5, 0, 0, 0, 244, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 0, 0, 0, 31, 0, 0, 0, 187, 0, 0, 0, 235, 0, 0, 0, 254, 0, 0, 0, 228, 0, 0, 0, 135, 0, 0, 0, 252, 0, 0, 0, 177, 0, 0, 0, 44, 0, 0, 0, 183, 0, 0, 0, 136, 0, 0, 0, 244, 0, 0, 0, 198, 0, 0, 0, 185, 0, 0, 0, 245, 0, 0, 0, 36, 0, 0, 0, 70, 0, 0, 0, 242, 0, 0, -0, 165, 0, 0, 0, 159, 0, 0, 0, 143, 0, 0, 0, 138, 0, 0, 0, 147, 0, 0, 0, 112, 0, 0, 0, 105, 0, 0, 0, 212, 0, 0, 0, 86, 0, 0, 0, 236, 0, 0, 0, 253, 0, 0, 0, 6, 0, 0, 0, 70, 0, 0, 0, 78, 0, 0, 0, 102, 0, 0, 0, 207, 0, 0, 0, 78, 0, 0, 0, 52, 0, 0, 0, 206, 0, 0, 0, 12, 0, 0, 0, 217, 0, 0, 0, 166, 0, 0, 0, 80, 0, 0, 0, 214, 0, 0, 0, 94, 0, 0, 0, 149, 0, 0, 0, 175, 0, 0, 0, 233, 0, 0, 0, 88, 0, 0, 0, 250, 0, 0, 0, 238, 0, 0, 0, 155, 0, 0, 0, 184, 0, 0, 0, 165, 0, 0, 0, 15, 0, 0, 0, 53, 0, 0, 0, 224, 0, -0, 0, 67, 0, 0, 0, 130, 0, 0, 0, 109, 0, 0, 0, 101, 0, 0, 0, 230, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 123, 0, 0, 0, 117, 0, 0, 0, 58, 0, 0, 0, 252, 0, 0, 0, 100, 0, 0, 0, 211, 0, 0, 0, 41, 0, 0, 0, 126, 0, 0, 0, 221, 0, 0, 0, 73, 0, 0, 0, 154, 0, 0, 0, 89, 0, 0, 0, 83, 0, 0, 0, 191, 0, 0, 0, 180, 0, 0, 0, 167, 0, 0, 0, 82, 0, 0, 0, 179, 0, 0, 0, 5, 0, 0, 0, 171, 0, 0, 0, 195, 0, 0, 0, 175, 0, 0, 0, 22, 0, 0, 0, 26, 0, 0, 0, 133, 0, 0, 0, 66, 0, 0, 0, 50, 0, 0, 0, 162, 0, 0, 0, 134, 0, -0, 0, 250, 0, 0, 0, 57, 0, 0, 0, 67, 0, 0, 0, 14, 0, 0, 0, 75, 0, 0, 0, 163, 0, 0, 0, 99, 0, 0, 0, 138, 0, 0, 0, 254, 0, 0, 0, 165, 0, 0, 0, 88, 0, 0, 0, 241, 0, 0, 0, 19, 0, 0, 0, 189, 0, 0, 0, 157, 0, 0, 0, 170, 0, 0, 0, 127, 0, 0, 0, 118, 0, 0, 0, 64, 0, 0, 0, 112, 0, 0, 0, 129, 0, 0, 0, 16, 0, 0, 0, 117, 0, 0, 0, 153, 0, 0, 0, 187, 0, 0, 0, 190, 0, 0, 0, 11, 0, 0, 0, 22, 0, 0, 0, 233, 0, 0, 0, 186, 0, 0, 0, 98, 0, 0, 0, 52, 0, 0, 0, 204, 0, 0, 0, 7, 0, 0, 0, 109, 0, 0, 0, 195, 0, 0, 0, 241, 0, -0, 0, 198, 0, 0, 0, 147, 0, 0, 0, 101, 0, 0, 0, 238, 0, 0, 0, 11, 0, 0, 0, 188, 0, 0, 0, 234, 0, 0, 0, 20, 0, 0, 0, 240, 0, 0, 0, 193, 0, 0, 0, 248, 0, 0, 0, 132, 0, 0, 0, 137, 0, 0, 0, 194, 0, 0, 0, 201, 0, 0, 0, 215, 0, 0, 0, 234, 0, 0, 0, 52, 0, 0, 0, 202, 0, 0, 0, 167, 0, 0, 0, 196, 0, 0, 0, 153, 0, 0, 0, 213, 0, 0, 0, 80, 0, 0, 0, 105, 0, 0, 0, 203, 0, 0, 0, 214, 0, 0, 0, 33, 0, 0, 0, 99, 0, 0, 0, 124, 0, 0, 0, 153, 0, 0, 0, 235, 0, 0, 0, 124, 0, 0, 0, 49, 0, 0, 0, 115, 0, 0, 0, 100, 0, 0, 0, -103, 0, 0, 0, 127, 0, 0, 0, 12, 0, 0, 0, 102, 0, 0, 0, 170, 0, 0, 0, 140, 0, 0, 0, 105, 0, 0, 0, 145, 0, 0, 0, 226, 0, 0, 0, 38, 0, 0, 0, 211, 0, 0, 0, 35, 0, 0, 0, 226, 0, 0, 0, 118, 0, 0, 0, 93, 0, 0, 0, 50, 0, 0, 0, 82, 0, 0, 0, 223, 0, 0, 0, 93, 0, 0, 0, 197, 0, 0, 0, 143, 0, 0, 0, 183, 0, 0, 0, 124, 0, 0, 0, 132, 0, 0, 0, 179, 0, 0, 0, 112, 0, 0, 0, 235, 0, 0, 0, 1, 0, 0, 0, 199, 0, 0, 0, 54, 0, 0, 0, 151, 0, 0, 0, 78, 0, 0, 0, 182, 0, 0, 0, 171, 0, 0, 0, 95, 0, 0, 0, 13, 0, 0, 0, 44, 0, 0, -0, 186, 0, 0, 0, 103, 0, 0, 0, 100, 0, 0, 0, 85, 0, 0, 0, 222, 0, 0, 0, 188, 0, 0, 0, 255, 0, 0, 0, 166, 0, 0, 0, 236, 0, 0, 0, 4, 0, 0, 0, 211, 0, 0, 0, 141, 0, 0, 0, 57, 0, 0, 0, 86, 0, 0, 0, 94, 0, 0, 0, 238, 0, 0, 0, 248, 0, 0, 0, 228, 0, 0, 0, 46, 0, 0, 0, 51, 0, 0, 0, 98, 0, 0, 0, 101, 0, 0, 0, 239, 0, 0, 0, 184, 0, 0, 0, 159, 0, 0, 0, 200, 0, 0, 0, 75, 0, 0, 0, 167, 0, 0, 0, 253, 0, 0, 0, 33, 0, 0, 0, 73, 0, 0, 0, 155, 0, 0, 0, 146, 0, 0, 0, 53, 0, 0, 0, 130, 0, 0, 0, 214, 0, 0, 0, 10, 0, -0, 0, 155, 0, 0, 0, 242, 0, 0, 0, 121, 0, 0, 0, 241, 0, 0, 0, 71, 0, 0, 0, 47, 0, 0, 0, 106, 0, 0, 0, 126, 0, 0, 0, 159, 0, 0, 0, 207, 0, 0, 0, 24, 0, 0, 0, 2, 0, 0, 0, 60, 0, 0, 0, 251, 0, 0, 0, 27, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, -139, 0, 0, 0, 200, 0, 0, 0, 64, 0, 0, 0, 81, 0, 0, 0, 209, 0, 0, 0, 172, 0, 0, 0, 26, 0, 0, 0, 11, 0, 0, 0, 228, 0, 0, 0, 169, 0, 0, 0, 162, 0, 0, 0, 66, 0, 0, 0, 33, 0, 0, 0, 25, 0, 0, 0, 47, 0, 0, 0, 123, 0, 0, 0, 151, 0, 0, 0, 191, 0, 0, 0, 247, 0, 0, 0, 87, 0, 0, 0, 109, 0, 0, 0, 63, 0, 0, 0, 61, 0, 0, 0, 79, 0, 0, 0, 15, 0, 0, 0, 226, 0, 0, 0, 178, 0, 0, 0, 129, 0, 0, 0, 0, 0, 0, 0, 158, 0, 0, 0, 123, 0, 0, 0, 140, 0, 0, 0, 133, 0, 0, 0, 43, 0, 0, 0, 196, 0, 0, 0, 252, 0, 0, 0, 241, 0, 0, 0, -171, 0, 0, 0, 232, 0, 0, 0, 121, 0, 0, 0, 34, 0, 0, 0, 196, 0, 0, 0, 132, 0, 0, 0, 23, 0, 0, 0, 58, 0, 0, 0, 250, 0, 0, 0, 134, 0, 0, 0, 166, 0, 0, 0, 125, 0, 0, 0, 249, 0, 0, 0, 243, 0, 0, 0, 111, 0, 0, 0, 3, 0, 0, 0, 87, 0, 0, 0, 32, 0, 0, 0, 77, 0, 0, 0, 121, 0, 0, 0, 249, 0, 0, 0, 110, 0, 0, 0, 113, 0, 0, 0, 84, 0, 0, 0, 56, 0, 0, 0, 9, 0, 0, 0, 64, 0, 0, 0, 41, 0, 0, 0, 116, 0, 0, 0, 168, 0, 0, 0, 47, 0, 0, 0, 94, 0, 0, 0, 249, 0, 0, 0, 121, 0, 0, 0, 164, 0, 0, 0, 243, 0, 0, 0, 62, 0, 0, 0, -185, 0, 0, 0, 253, 0, 0, 0, 51, 0, 0, 0, 49, 0, 0, 0, 172, 0, 0, 0, 154, 0, 0, 0, 105, 0, 0, 0, 136, 0, 0, 0, 30, 0, 0, 0]).concat([119, 0, 0, 0, 33, 0, 0, 0, 45, 0, 0, 0, 243, 0, 0, 0, 145, 0, 0, 0, 82, 0, 0, 0, 38, 0, 0, 0, 21, 0, 0, 0, 178, 0, 0, 0, 166, 0, 0, 0, 207, 0, 0, 0, 126, 0, 0, 0, 198, 0, 0, 0, 32, 0, 0, 0, 71, 0, 0, 0, 108, 0, 0, 0, 164, 0, 0, 0, 125, 0, 0, 0, 203, 0, 0, 0, 99, 0, 0, 0, 234, 0, 0, 0, 91, 0, 0, 0, 3, 0, 0, 0, 223, 0, 0, 0, 62, 0, 0, 0, 136, 0, 0, 0, 129, 0, 0, 0, 109, -0, 0, 0, 206, 0, 0, 0, 7, 0, 0, 0, 66, 0, 0, 0, 24, 0, 0, 0, 96, 0, 0, 0, 126, 0, 0, 0, 123, 0, 0, 0, 85, 0, 0, 0, 254, 0, 0, 0, 106, 0, 0, 0, 243, 0, 0, 0, 218, 0, 0, 0, 92, 0, 0, 0, 139, 0, 0, 0, 149, 0, 0, 0, 16, 0, 0, 0, 98, 0, 0, 0, 228, 0, 0, 0, 13, 0, 0, 0, 3, 0, 0, 0, 180, 0, 0, 0, 215, 0, 0, 0, 205, 0, 0, 0, 250, 0, 0, 0, 189, 0, 0, 0, 70, 0, 0, 0, 223, 0, 0, 0, 147, 0, 0, 0, 113, 0, 0, 0, 16, 0, 0, 0, 44, 0, 0, 0, 168, 0, 0, 0, 59, 0, 0, 0, 182, 0, 0, 0, 9, 0, 0, 0, 5, 0, 0, 0, 112, 0, -0, 0, 132, 0, 0, 0, 67, 0, 0, 0, 41, 0, 0, 0, 168, 0, 0, 0, 89, 0, 0, 0, 245, 0, 0, 0, 142, 0, 0, 0, 16, 0, 0, 0, 228, 0, 0, 0, 215, 0, 0, 0, 32, 0, 0, 0, 87, 0, 0, 0, 130, 0, 0, 0, 28, 0, 0, 0, 171, 0, 0, 0, 191, 0, 0, 0, 98, 0, 0, 0, 112, 0, 0, 0, 232, 0, 0, 0, 196, 0, 0, 0, 207, 0, 0, 0, 240, 0, 0, 0, 40, 0, 0, 0, 110, 0, 0, 0, 22, 0, 0, 0, 60, 0, 0, 0, 8, 0, 0, 0, 120, 0, 0, 0, 137, 0, 0, 0, 133, 0, 0, 0, 70, 0, 0, 0, 15, 0, 0, 0, 246, 0, 0, 0, 127, 0, 0, 0, 207, 0, 0, 0, 203, 0, 0, 0, 126, 0, -0, 0, 184, 0, 0, 0, 37, 0, 0, 0, 233, 0, 0, 0, 90, 0, 0, 0, 250, 0, 0, 0, 3, 0, 0, 0, 251, 0, 0, 0, 149, 0, 0, 0, 146, 0, 0, 0, 99, 0, 0, 0, 80, 0, 0, 0, 252, 0, 0, 0, 98, 0, 0, 0, 240, 0, 0, 0, 164, 0, 0, 0, 94, 0, 0, 0, 140, 0, 0, 0, 24, 0, 0, 0, 194, 0, 0, 0, 23, 0, 0, 0, 36, 0, 0, 0, 183, 0, 0, 0, 120, 0, 0, 0, 194, 0, 0, 0, 169, 0, 0, 0, 231, 0, 0, 0, 106, 0, 0, 0, 50, 0, 0, 0, 214, 0, 0, 0, 41, 0, 0, 0, 133, 0, 0, 0, 175, 0, 0, 0, 203, 0, 0, 0, 141, 0, 0, 0, 145, 0, 0, 0, 19, 0, 0, 0, 218, -0, 0, 0, 107, 0, 0, 0, 54, 0, 0, 0, 10, 0, 0, 0, 194, 0, 0, 0, 182, 0, 0, 0, 75, 0, 0, 0, 165, 0, 0, 0, 93, 0, 0, 0, 7, 0, 0, 0, 23, 0, 0, 0, 65, 0, 0, 0, 49, 0, 0, 0, 95, 0, 0, 0, 98, 0, 0, 0, 70, 0, 0, 0, 248, 0, 0, 0, 146, 0, 0, 0, 249, 0, 0, 0, 102, 0, 0, 0, 72, 0, 0, 0, 115, 0, 0, 0, 166, 0, 0, 0, 151, 0, 0, 0, 13, 0, 0, 0, 125, 0, 0, 0, 136, 0, 0, 0, 238, 0, 0, 0, 98, 0, 0, 0, 177, 0, 0, 0, 3, 0, 0, 0, 168, 0, 0, 0, 63, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 0, 0, 0, 177, 0, 0, 0, 112, 0, 0, 0, 138, 0, 0, 0, 169, 0, 0, 0, 232, 0, 0, 0, 99, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 226, 0, 0, 0, 37, 0, 0, 0, 22, 0, 0, 0, 202, 0, 0, 0, 75, 0, 0, 0, 15, 0, 0, 0, 164, 0, 0, 0, 102, 0, 0, 0, 173, 0, 0, 0, 25, 0, 0, 0, 159, 0, 0, 0, 136, 0, 0, 0, -103, 0, 0, 0, 12, 0, 0, 0, 139, 0, 0, 0, 194, 0, 0, 0, 74, 0, 0, 0, 91, 0, 0, 0, 43, 0, 0, 0, 109, 0, 0, 0, 149, 0, 0, 0, 175, 0, 0, 0, 25, 0, 0, 0, 139, 0, 0, 0, 157, 0, 0, 0, 182, 0, 0, 0, 204, 0, 0, 0, 96, 0, 0, 0, 180, 0, 0, 0, 114, 0, 0, 0, 79, 0, 0, 0, 23, 0, 0, 0, 105, 0, 0, 0, 90, 0, 0, 0, 74, 0, 0, 0, 104, 0, 0, 0, 52, 0, 0, 0, 171, 0, 0, 0, 161, 0, 0, 0, 69, 0, 0, 0, 50, 0, 0, 0, 60, 0, 0, 0, 131, 0, 0, 0, 135, 0, 0, 0, 114, 0, 0, 0, 48, 0, 0, 0, 84, 0, 0, 0, 119, 0, 0, 0, 104, 0, 0, 0, -174, 0, 0, 0, 251, 0, 0, 0, 181, 0, 0, 0, 139, 0, 0, 0, 34, 0, 0, 0, 94, 0, 0, 0, 241, 0, 0, 0, 185, 0, 0, 0, 135, 0, 0, 0, 53, 0, 0, 0, 197, 0, 0, 0, 187, 0, 0, 0, 185, 0, 0, 0, 207, 0, 0, 0, 245, 0, 0, 0, 214, 0, 0, 0, 205, 0, 0, 0, 213, 0, 0, 0, 12, 0, 0, 0, 124, 0, 0, 0, 14, 0, 0, 0, 230, 0, 0, 0, 144, 0, 0, 0, 52, 0, 0, 0, 251, 0, 0, 0, 81, 0, 0, 0, 66, 0, 0, 0, 30, 0, 0, 0, 109, 0, 0, 0, 172, 0, 0, 0, 154, 0, 0, 0, 70, 0, 0, 0, 196, 0, 0, 0, 151, 0, 0, 0, 41, 0, 0, 0, 50, 0, 0, 0, 191, 0, 0, -0, 69, 0, 0, 0, 102, 0, 0, 0, 158, 0, 0, 0, 198, 0, 0, 0, 36, 0, 0, 0, 192, 0, 0, 0, 237, 0, 0, 0, 165, 0, 0, 0, 93, 0, 0, 0, 136, 0, 0, 0, 212, 0, 0, 0, 240, 0, 0, 0, 115, 0, 0, 0, 151, 0, 0, 0, 123, 0, 0, 0, 234, 0, 0, 0, 127, 0, 0, 0, 66, 0, 0, 0, 255, 0, 0, 0, 33, 0, 0, 0, 160, 0, 0, 0, 155, 0, 0, 0, 47, 0, 0, 0, 154, 0, 0, 0, 253, 0, 0, 0, 83, 0, 0, 0, 87, 0, 0, 0, 7, 0, 0, 0, 132, 0, 0, 0, 72, 0, 0, 0, 136, 0, 0, 0, 157, 0, 0, 0, 82, 0, 0, 0, 198, 0, 0, 0, 150, 0, 0, 0, 72, 0, 0, 0, 52, 0, -0, 0, 42, 0, 0, 0, 6, 0, 0, 0, 175, 0, 0, 0, 148, 0, 0, 0, 61, 0, 0, 0, 244, 0, 0, 0, 26, 0, 0, 0, 207, 0, 0, 0, 242, 0, 0, 0, 192, 0, 0, 0, 33, 0, 0, 0, 194, 0, 0, 0, 66, 0, 0, 0, 94, 0, 0, 0, 200, 0, 0, 0, 47, 0, 0, 0, 53, 0, 0, 0, 162, 0, 0, 0, 62, 0, 0, 0, 41, 0, 0, 0, 250, 0, 0, 0, 12, 0, 0, 0, 132, 0, 0, 0, 229, 0, 0, 0, 137, 0, 0, 0, 114, 0, 0, 0, 124, 0, 0, 0, 6, 0, 0, 0, 50, 0, 0, 0, 101, 0, 0, 0, 3, 0, 0, 0, 229, 0, 0, 0, 137, 0, 0, 0, 166, 0, 0, 0, 110, 0, 0, 0, 179, 0, 0, 0, 91, 0, 0, -0, 142, 0, 0, 0, 202, 0, 0, 0, 235, 0, 0, 0, 254, 0, 0, 0, 34, 0, 0, 0, 86, 0, 0, 0, 139, 0, 0, 0, 93, 0, 0, 0, 20, 0, 0, 0, 75, 0, 0, 0, 77, 0, 0, 0, 249, 0, 0, 0, 190, 0, 0, 0, 181, 0, 0, 0, 245, 0, 0, 0, 230, 0, 0, 0, 92, 0, 0, 0, 123, 0, 0, 0, 139, 0, 0, 0, 244, 0, 0, 0, 19, 0, 0, 0, 17, 0, 0, 0, 52, 0, 0, 0, 7, 0, 0, 0, 198, 0, 0, 0, 34, 0, 0, 0, 21, 0, 0, 0, 226, 0, 0, 0, 156, 0, 0, 0, 96, 0, 0, 0, 162, 0, 0, 0, 25, 0, 0, 0, 217, 0, 0, 0, 39, 0, 0, 0, 174, 0, 0, 0, 55, 0, 0, 0, 78, 0, 0, 0, -166, 0, 0, 0, 201, 0, 0, 0, 128, 0, 0, 0, 166, 0, 0, 0, 145, 0, 0, 0, 143, 0, 0, 0, 18, 0, 0, 0, 73, 0, 0, 0, 229, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 71, 0, 0, 0, 209, 0, 0, 0, 215, 0, 0, 0, 40, 0, 0, 0, 34, 0, 0, 0, 99, 0, 0, 0, 57, 0, 0, 0, 232, 0, 0, 0, 226, 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 242, 0, 0, 0, 158, 0, 0, 0, 30, 0, 0, 0, 153, 0, 0, 0, 57, 0, 0, 0, 149, 0, 0, 0, 4, 0, 0, 0, 189, 0, 0, 0, 30, 0, 0, 0, 103, 0, 0, 0, 123, 0, 0, 0, 178, 0, 0, 0, 38, 0, 0, 0, 172, 0, 0, 0, 230, 0, 0, 0, 170, -0, 0, 0, 226, 0, 0, 0, 70, 0, 0, 0, 213, 0, 0, 0, 228, 0, 0, 0, 232, 0, 0, 0, 134, 0, 0, 0, 189, 0, 0, 0, 171, 0, 0, 0, 124, 0, 0, 0, 85, 0, 0, 0, 89, 0, 0, 0, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 100, 0, 0, 0, 110, 0, 0, 0, 155, 0, 0, 0, 53, 0, -0, 0, 113, 0, 0, 0, 120, 0, 0, 0, 206, 0, 0, 0, 51, 0, 0, 0, 3, 0, 0, 0, 33, 0, 0, 0, 51, 0, 0, 0, 54, 0, 0, 0, 241, 0, 0, 0, 115, 0, 0, 0, 155, 0, 0, 0, 185, 0, 0, 0, 21, 0, 0, 0, 139, 0, 0, 0, 44, 0, 0, 0, 105, 0, 0, 0, 207, 0, 0, 0, 77, 0, 0, 0, 237, 0, 0, 0, 79, 0, 0, 0, 77, 0, 0, 0, 87, 0, 0, 0, 20, 0, 0, 0, 19, 0, 0, 0, 130, 0, 0, 0, 164, 0, 0, 0, 77, 0, 0, 0, 101, 0, 0, 0, 110, 0, 0, 0, 10, 0, 0, 0, 164, 0, 0, 0, 89, 0, 0, 0, 7, 0, 0, 0, 23, 0, 0, 0, 242, 0, 0, 0, 107, 0, 0, 0, 74, 0, 0, 0, -31, 0, 0, 0, 110, 0, 0, 0, 246, 0, 0, 0, 181, 0, 0, 0, 188, 0, 0, 0, 98, 0, 0, 0, 228, 0, 0, 0, 182, 0, 0, 0, 218, 0, 0, 0, 162, 0, 0, 0, 147, 0, 0, 0, 188, 0, 0, 0, 41, 0, 0, 0, 5, 0, 0, 0, 210, 0, 0, 0, 210, 0, 0, 0, 115, 0, 0, 0, 70, 0, 0, 0, 3, 0, 0, 0, 22, 0, 0, 0, 64, 0, 0, 0, 49, 0, 0, 0, 76, 0, 0, 0, 115, 0, 0, 0, 109, 0, 0, 0, 21, 0, 0, 0, 189, 0, 0, 0, 161, 0, 0, 0, 77, 0, 0, 0, 92, 0, 0, 0, 19, 0, 0, 0, 11, 0, 0, 0, 36, 0, 0, 0, 6, 0, 0, 0, 152, 0, 0, 0, 120, 0, 0, 0, 28, 0, 0, 0, 91, -0, 0, 0, 235, 0, 0, 0, 31, 0, 0, 0, 24, 0, 0, 0, 84, 0, 0, 0, 67, 0, 0, 0, 217, 0, 0, 0, 85, 0, 0, 0, 102, 0, 0, 0, 218, 0, 0, 0, 41, 0, 0, 0, 33, 0, 0, 0, 232, 0, 0, 0, 184, 0, 0, 0, 60, 0, 0, 0, 66, 0, 0, 0, 34, 0, 0, 0, 180, 0, 0, 0, 205, 0, 0, 0, 8, 0, 0, 0, 111, 0, 0, 0, 21, 0, 0, 0, 35, 0, 0, 0, 26, 0, 0, 0, 11, 0, 0, 0, 34, 0, 0, 0, 237, 0, 0, 0, 209, 0, 0, 0, 241, 0, 0, 0, 167, 0, 0, 0, 199, 0, 0, 0, 115, 0, 0, 0, 69, 0, 0, 0, 243, 0, 0, 0, 158, 0, 0, 0, 206, 0, 0, 0, 118, 0, 0, 0, 183, 0, -0, 0, 246, 0, 0, 0, 57, 0, 0, 0, 182, 0, 0, 0, 142, 0, 0, 0, 121, 0, 0, 0, 190, 0, 0, 0, 233, 0, 0, 0, 155, 0, 0, 0, 207, 0, 0, 0, 125, 0, 0, 0, 98, 0, 0, 0, 146, 0, 0, 0, 91, 0, 0, 0, 252, 0, 0, 0, 114, 0, 0, 0, 253, 0, 0, 0, 186, 0, 0, 0, 241, 0, 0, 0, 253, 0, 0, 0, 166, 0, 0, 0, 124, 0, 0, 0, 149, 0, 0, 0, 227, 0, 0, 0, 97, 0, 0, 0, 63, 0, 0, 0, 233, 0, 0, 0, 3, 0, 0, 0, 212, 0, 0, 0, 43, 0, 0, 0, 212, 0, 0, 0, 32, 0, 0, 0, 217, 0, 0, 0, 219, 0, 0, 0, 77, 0, 0, 0, 50, 0, 0, 0, 62, 0, 0, 0, 245, -0, 0, 0, 17, 0, 0, 0, 100, 0, 0, 0, 227, 0, 0, 0, 180, 0, 0, 0, 190, 0, 0, 0, 50, 0, 0, 0, 134, 0, 0, 0, 23, 0, 0, 0, 144, 0, 0, 0, 231, 0, 0, 0, 201, 0, 0, 0, 31, 0, 0, 0, 16, 0, 0, 0, 165, 0, 0, 0, 106, 0, 0, 0, 45, 0, 0, 0, 57, 0, 0, 0, 208, 0, 0, 0, 59, 0, 0, 0, 196, 0, 0, 0, 166, 0, 0, 0, 233, 0, 0, 0, 89, 0, 0, 0, 19, 0, 0, 0, 218, 0, 0, 0, 26, 0, 0, 0, 230, 0, 0, 0, 160, 0, 0, 0, 185, 0, 0, 0, 60, 0, 0, 0, 80, 0, 0, 0, 184, 0, 0, 0, 64, 0, 0, 0, 124, 0, 0, 0, 21, 0, 0, 0, 54, 0, 0, 0, 90, -0, 0, 0, 66, 0, 0, 0, 180, 0, 0, 0, 11, 0, 0, 0, 50, 0, 0, 0, 171, 0, 0, 0, 220, 0, 0, 0, 4, 0, 0, 0, 81, 0, 0, 0, 85, 0, 0, 0, 33, 0, 0, 0, 30, 0, 0, 0, 11, 0, 0, 0, 117, 0, 0, 0, 153, 0, 0, 0, 137, 0, 0, 0, 115, 0, 0, 0, 53, 0, 0, 0, 58, 0, 0, 0, 145, 0, 0, 0, 43, 0, 0, 0, 254, 0, 0, 0, 231, 0, 0, 0, 73, 0, 0, 0, 234, 0, 0, 0, 118, 0, 0, 0, 193, 0, 0, 0, 249, 0, 0, 0, 70, 0, 0, 0, 185, 0, 0, 0, 83, 0, 0, 0, 2, 0, 0, 0, 35, 0, 0, 0, 4, 0, 0, 0, 252, 0, 0, 0, 90, 0, 0, 0, 30, 0, 0, 0, 29, 0, 0, 0, -116, 0, 0, 0, 88, 0, 0, 0, 149, 0, 0, 0, 166, 0, 0, 0, 143, 0, 0, 0, 123, 0, 0, 0, 151, 0, 0, 0, 62, 0, 0, 0, 23, 0, 0, 0, 59, 0, 0, 0, 121, 0, 0, 0, 45, 0, 0, 0, 166, 0, 0, 0, 87, 0, 0, 0, 239, 0, 0, 0, 69, 0, 0, 0, 2, 0, 0, 0, 11, 0, 0, 0, 77, 0, 0, 0, 110, 0, 0, 0, 158, 0, 0, 0, 147, 0, 0, 0, 141, 0, 0, 0, 47, 0, 0, 0, 217, 0, 0, 0, 157, 0, 0, 0, 219, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 215, 0, 0, 0, 86, 0, 0, 0, 151, 0, 0, 0, 88, 0, 0, 0, 145, 0, 0, 0, 222, 0, 0, 0, 9, 0, 0, 0, 79, 0, 0, 0, 159, 0, 0, 0, 190, 0, 0, 0, 99, 0, 0, 0, 176, 0, 0, 0, 131, 0, 0, 0, 134, 0, 0, 0, 67, 0, 0, 0, 93, 0, 0, 0, 188, 0, 0, 0, 224, 0, 0, 0, 243, 0, 0, 0, 192, 0, 0, 0, 117, 0, 0, 0, 191, 0, 0, 0, 139, 0, 0, 0, 142, 0, 0, 0, 170, 0, 0, 0, 247, -0, 0, 0, 139, 0, 0, 0, 100, 0, 0, 0, 110, 0, 0, 0, 176, 0, 0, 0, 99, 0, 0, 0, 22, 0, 0, 0, 174, 0, 0, 0, 139, 0, 0, 0, 224, 0, 0, 0, 155, 0, 0, 0, 36, 0, 0, 0, 104, 0, 0, 0, 92, 0, 0, 0, 68, 0, 0, 0, 194, 0, 0, 0, 208, 0, 0, 0, 8, 0, 0, 0, 183, 0, 0, 0, 123, 0, 0, 0, 98, 0, 0, 0, 253, 0, 0, 0, 127, 0, 0, 0, 216, 0, 0, 0, 212, 0, 0, 0, 183, 0, 0, 0, 80, 0, 0, 0, 253, 0, 0, 0, 44, 0, 0, 0, 27, 0, 0, 0, 191, 0, 0, 0, 65, 0, 0, 0, 149, 0, 0, 0, 217, 0, 0, 0, 142, 0, 0, 0, 216, 0, 0, 0, 23, 0, 0, 0, 27, -0, 0, 0, 134, 0, 0, 0, 85, 0, 0, 0, 55, 0, 0, 0, 142, 0, 0, 0, 195, 0, 0, 0, 56, 0, 0, 0, 72, 0, 0, 0, 20, 0, 0, 0, 181, 0, 0, 0, 151, 0, 0, 0, 210, 0, 0, 0, 167, 0, 0, 0, 84, 0, 0, 0, 69, 0, 0, 0, 241, 0, 0, 0, 53, 0, 0, 0, 68, 0, 0, 0, 56, 0, 0, 0, 158, 0, 0, 0, 241, 0, 0, 0, 27, 0, 0, 0, 182, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 150, 0, 0, 0, 238, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 234, 0, 0, 0, 44, 0, 0, 0, 11, 0, 0, 0, 234, 0, 0, 0, 218, 0, 0, 0, 153, 0, 0, 0, 158, 0, 0, 0, 25, 0, 0, -0, 131, 0, 0, 0, 102, 0, 0, 0, 109, 0, 0, 0, 233, 0, 0, 0, 118, 0, 0, 0, 135, 0, 0, 0, 80, 0, 0, 0, 209, 0, 0, 0, 253, 0, 0, 0, 60, 0, 0, 0, 96, 0, 0, 0, 135, 0, 0, 0, 198, 0, 0, 0, 65, 0, 0, 0, 217, 0, 0, 0, 142, 0, 0, 0, 219, 0, 0, 0, 94, 0, 0, 0, 222, 0, 0, 0, 170, 0, 0, 0, 154, 0, 0, 0, 211, 0, 0, 0, 40, 0, 0, 0, 218, 0, 0, 0, 149, 0, 0, 0, 234, 0, 0, 0, 71, 0, 0, 0, 208, 0, 0, 0, 128, 0, 0, 0, 186, 0, 0, 0, 25, 0, 0, 0, 174, 0, 0, 0, 29, 0, 0, 0, 169, 0, 0, 0, 121, 0, 0, 0, 246, 0, 0, 0, 63, -0, 0, 0, 172, 0, 0, 0, 93, 0, 0, 0, 111, 0, 0, 0, 150, 0, 0, 0, 31, 0, 0, 0, 42, 0, 0, 0, 206, 0, 0, 0, 41, 0, 0, 0, 178, 0, 0, 0, 255, 0, 0, 0, 55, 0, 0, 0, 241, 0, 0, 0, 148, 0, 0, 0, 143, 0, 0, 0, 12, 0, 0, 0, 181, 0, 0, 0, 40, 0, 0, 0, 186, 0, 0, 0, 154, 0, 0, 0, 33, 0, 0, 0, 246, 0, 0, 0, 102, 0, 0, 0, 2, 0, 0, 0, 251, 0, 0, 0, 84, 0, 0, 0, 184, 0, 0, 0, 5, 0, 0, 0, 243, 0, 0, 0, 129, 0, 0, 0, 82, 0, 0, 0, 105, 0, 0, 0, 52, 0, 0, 0, 70, 0, 0, 0, 157, 0, 0, 0, 134, 0, 0, 0, 118, 0, 0, 0, 143, -0, 0, 0, 215, 0, 0, 0, 248, 0, 0, 0, 106, 0, 0, 0, 102, 0, 0, 0, 255, 0, 0, 0, 230, 0, 0, 0, 167, 0, 0, 0, 144, 0, 0, 0, 247, 0, 0, 0, 94, 0, 0, 0, 205, 0, 0, 0, 106, 0, 0, 0, 155, 0, 0, 0, 85, 0, 0, 0, 252, 0, 0, 0, 157, 0, 0, 0, 72, 0, 0, 0, 189, 0, 0, 0, 170, 0, 0, 0, 19, 0, 0, 0, 230, 0, 0, 0, 205, 0, 0, 0, 69, 0, 0, 0, 74, 0, 0, 0, 164, 0, 0, 0, 89, 0, 0, 0, 10, 0, 0, 0, 100, 0, 0, 0, 177, 0, 0, 0, 152, 0, 0, 0, 214, 0, 0, 0, 52, 0, 0, 0, 19, 0, 0, 0, 4, 0, 0, 0, 230, 0, 0, 0, 151, 0, 0, 0, -148, 0, 0, 0, 6, 0, 0, 0, 203, 0, 0, 0, 212, 0, 0, 0, 78, 0, 0, 0, 187, 0, 0, 0, 150, 0, 0, 0, 205, 0, 0, 0, 209, 0, 0, 0, 87, 0, 0, 0, 209, 0, 0, 0, 227, 0, 0, 0, 6, 0, 0, 0, 122, 0, 0, 0, 108, 0, 0, 0, 69, 0, 0, 0, 39, 0, 0, 0, 196, 0, 0, 0, 147, 0, 0, 0, 127, 0, 0, 0, 125, 0, 0, 0, 124, 0, 0, 0, 98, 0, 0, 0, 80, 0, 0, 0, 56, 0, 0, 0, 58, 0, 0, 0, 107, 0, 0, 0, 181, 0, 0, 0, 136, 0, 0, 0, 198, 0, 0, 0, 217, 0, 0, 0, 241, 0, 0, 0, 120, 0, 0, 0, 25, 0, 0, 0, 185, 0, 0, 0, 57, 0, 0, 0, 147, 0, 0, -0, 61, 0, 0, 0, 201, 0, 0, 0, 224, 0, 0, 0, 156, 0, 0, 0, 60, 0, 0, 0, 206, 0, 0, 0, 245, 0, 0, 0, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 234, 0, 0, 0, 35, 0, 0, 0, 125, 0, 0, 0, 86, 0, 0, 0, 44, 0, 0, 0, 226, 0, 0, 0, 89, 0, 0, 0, 14, 0, 0, 0, 133, -0, 0, 0, 96, 0, 0, 0, 4, 0, 0, 0, 136, 0, 0, 0, 90, 0, 0, 0, 116, 0, 0, 0, 30, 0, 0, 0, 75, 0, 0, 0, 239, 0, 0, 0, 19, 0, 0, 0, 218, 0, 0, 0, 76, 0, 0, 0, 255, 0, 0, 0, 131, 0, 0, 0, 69, 0, 0, 0, 133, 0, 0, 0, 63, 0, 0, 0, 8, 0, 0, 0, 149, 0, 0, 0, 44, 0, 0, 0, 32, 0, 0, 0, 19, 0, 0, 0, 31, 0, 0, 0, 72, 0, 0, 0, 95, 0, 0, 0, 39, 0, 0, 0, 144, 0, 0, 0, 92, 0, 0, 0, 2, 0, 0, 0, 66, 0, 0, 0, 173, 0, 0, 0, 120, 0, 0, 0, 71, 0, 0, 0, 92, 0, 0, 0, 181, 0, 0, 0, 126, 0, 0, 0, 8, 0, 0, 0, 133, 0, 0, 0, 0, -0, 0, 0, 250, 0, 0, 0, 127, 0, 0, 0, 253, 0, 0, 0, 253, 0, 0, 0, 231, 0, 0, 0, 9, 0, 0, 0, 17, 0, 0, 0, 242, 0, 0, 0, 126, 0, 0, 0, 27, 0, 0, 0, 56, 0, 0, 0, 108, 0, 0, 0, 53, 0, 0, 0, 109, 0, 0, 0, 51, 0, 0, 0, 102, 0, 0, 0, 147, 0, 0, 0, 3, 0, 0, 0, 54, 0, 0, 0, 129, 0, 0, 0, 172, 0, 0, 0, 228, 0, 0, 0, 32, 0, 0, 0, 9, 0, 0, 0, 53, 0, 0, 0, 76, 0, 0, 0, 69, 0, 0, 0, 178, 0, 0, 0, 30, 0, 0, 0, 76, 0, 0, 0, 20, 0, 0, 0, 33, 0, 0, 0, 230, 0, 0, 0, 233, 0, 0, 0, 138, 0, 0, 0, 123, 0, 0, 0, 141, 0, -0, 0, 254, 0, 0, 0, 30, 0, 0, 0, 198, 0, 0, 0, 62, 0, 0, 0, 193, 0, 0, 0, 53, 0, 0, 0, 250, 0, 0, 0, 231, 0, 0, 0, 112, 0, 0, 0, 78, 0, 0, 0, 29, 0, 0, 0, 97, 0, 0, 0, 46, 0, 0, 0, 194, 0, 0, 0, 221, 0, 0, 0, 149, 0, 0, 0, 87, 0, 0, 0, 209, 0, 0, 0, 171, 0, 0, 0, 128, 0, 0, 0, 232, 0, 0, 0, 99, 0, 0, 0, 23, 0, 0, 0, 181, 0, 0, 0, 72, 0, 0, 0, 228, 0, 0, 0, 138, 0, 0, 0, 17, 0, 0, 0, 158, 0, 0, 0, 114, 0, 0, 0, 190, 0, 0, 0, 133, 0, 0, 0, 141, 0, 0, 0, 81, 0, 0, 0, 10, 0, 0, 0, 242, 0, 0, 0, 159, -0, 0, 0, 224, 0, 0, 0, 28, 0, 0, 0, 169, 0, 0, 0, 7, 0, 0, 0, 40, 0, 0, 0, 123, 0, 0, 0, 187, 0, 0, 0, 113, 0, 0, 0, 20, 0, 0, 0, 94, 0, 0, 0, 38, 0, 0, 0, 140, 0, 0, 0, 61, 0, 0, 0, 200, 0, 0, 0, 233, 0, 0, 0, 124, 0, 0, 0, 211, 0, 0, 0, 214, 0, 0, 0, 209, 0, 0, 0, 47, 0, 0, 0, 7, 0, 0, 0, 109, 0, 0, 0, 230, 0, 0, 0, 223, 0, 0, 0, 251, 0, 0, 0, 121, 0, 0, 0, 214, 0, 0, 0, 153, 0, 0, 0, 89, 0, 0, 0, 150, 0, 0, 0, 72, 0, 0, 0, 64, 0, 0, 0, 15, 0, 0, 0, 58, 0, 0, 0, 123, 0, 0, 0, 178, 0, 0, 0, 160, -0, 0, 0, 114, 0, 0, 0, 78, 0, 0, 0, 59, 0, 0, 0, 105, 0, 0, 0, 200, 0, 0, 0, 67, 0, 0, 0, 117, 0, 0, 0, 81, 0, 0, 0, 108, 0, 0, 0, 121, 0, 0, 0, 86, 0, 0, 0, 228, 0, 0, 0, 203, 0, 0, 0, 247, 0, 0, 0, 166, 0, 0, 0, 81, 0, 0, 0, 194, 0, 0, 0, 44, 0, 0, 0, 66, 0, 0, 0, 11, 0, 0, 0, 212, 0, 0, 0, 130, 0, 0, 0, 32, 0, 0, 0, 28, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0, 102, 0, 0, 0, 215, 0, 0, 0, 191, 0, 0, 0, 4, 0, 0, 0, 86, 0, 0, 0, 252, 0, 0, 0, 2, 0, 0, 0, 36, 0, 0, 0, 232, 0, 0, 0, 183, 0, 0, 0, 96, 0, 0, -0, 174, 0, 0, 0, 71, 0, 0, 0, 128, 0, 0, 0, 252, 0, 0, 0, 229, 0, 0, 0, 35, 0, 0, 0, 231, 0, 0, 0, 194, 0, 0, 0, 201, 0, 0, 0, 133, 0, 0, 0, 230, 0, 0, 0, 152, 0, 0, 0, 160, 0, 0, 0, 41, 0, 0, 0, 78, 0, 0, 0, 225, 0, 0, 0, 132, 0, 0, 0, 57, 0, 0, 0, 45, 0, 0, 0, 149, 0, 0, 0, 44, 0, 0, 0, 243, 0, 0, 0, 69, 0, 0, 0, 60, 0, 0, 0, 255, 0, 0, 0, 175, 0, 0, 0, 39, 0, 0, 0, 76, 0, 0, 0, 107, 0, 0, 0, 166, 0, 0, 0, 245, 0, 0, 0, 75, 0, 0, 0, 17, 0, 0, 0, 189, 0, 0, 0, 186, 0, 0, 0, 91, 0, 0, 0, 158, 0, -0, 0, 196, 0, 0, 0, 164, 0, 0, 0, 81, 0, 0, 0, 30, 0, 0, 0, 190, 0, 0, 0, 208, 0, 0, 0, 144, 0, 0, 0, 58, 0, 0, 0, 156, 0, 0, 0, 194, 0, 0, 0, 38, 0, 0, 0, 182, 0, 0, 0, 30, 0, 0, 0, 241, 0, 0, 0, 149, 0, 0, 0, 125, 0, 0, 0, 200, 0, 0, 0, 109, 0, 0, 0, 82, 0, 0, 0, 230, 0, 0, 0, 153, 0, 0, 0, 44, 0, 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0, 224, 0, 0, 0, 36, 0, 0, 0, 50, 0, 0, 0, 180, 0, 0, 0, 209, 0, 0, 0, 239, 0, 0, 0, 252, 0, 0, 0, 105, 0, 0, 0, 162, 0, 0, 0, 191, 0, 0, 0, 143, 0, 0, 0, 114, 0, 0, 0, 44, 0, 0, 0, 149, 0, 0, 0, 246, 0, 0, 0, 228, 0, 0, 0, 110, 0, 0, 0, 125, 0, 0, 0, 144, 0, 0, 0, 247, 0, 0, 0, 87, 0, 0, 0, 129, 0, 0, 0, 160, 0, 0, 0, 247, 0, 0, 0, 218, 0, 0, 0, 239, 0, 0, 0, 51, 0, 0, 0, 7, 0, 0, 0, 227, 0, 0, 0, 107, -0, 0, 0, 120, 0, 0, 0, 54, 0, 0, 0, 39, 0, 0, 0, 62, 0, 0, 0, 198, 0, 0, 0, 18, 0, 0, 0, 7, 0, 0, 0, 171, 0, 0, 0, 78, 0, 0, 0, 190, 0, 0, 0, 105, 0, 0, 0, 157, 0, 0, 0, 179, 0, 0, 0, 190, 0, 0, 0, 8, 0, 0, 0, 124, 0, 0, 0, 42, 0, 0, 0, 71, 0, 0, 0, 8, 0, 0, 0, 253, 0, 0, 0, 212, 0, 0, 0, 205, 0, 0, 0, 14, 0, 0, 0, 39, 0, 0, 0, 52, 0, 0, 0, 91, 0, 0, 0, 152, 0, 0, 0, 52, 0, 0, 0, 47, 0, 0, 0, 119, 0, 0, 0, 95, 0, 0, 0, 58, 0, 0, 0, 101, 0, 0, 0, 19, 0, 0, 0, 170, 0, 0, 0, 46, 0, 0, 0, 76, 0, 0, 0, -240, 0, 0, 0, 34, 0, 0, 0, 184, 0, 0, 0, 108, 0, 0, 0, 179, 0, 0, 0, 25, 0, 0, 0, 77, 0, 0, 0, 235, 0, 0, 0, 107, 0, 0, 0, 208, 0, 0, 0, 164, 0, 0, 0, 198, 0, 0, 0, 156, 0, 0, 0, 221, 0, 0, 0, 200, 0, 0, 0, 91, 0, 0, 0, 129, 0, 0, 0, 87, 0, 0, 0, 137, 0, 0, 0, 223, 0, 0, 0, 51, 0, 0, 0, 169, 0, 0, 0, 104, 0, 0, 0, 73, 0, 0, 0, 128, 0, 0, 0, 228, 0, 0, 0, 254, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 144, 0, 0, 0, 48, 0, 0, 0, 233, 0, 0, 0, 211, 0, 0, 0, 96, 0, 0, 0, 48, 0, 0, 0, 49, 0, 0, 0, -194, 0, 0, 0, 114, 0, 0, 0, 137, 0, 0, 0, 122, 0, 0, 0, 54, 0, 0, 0, 165, 0, 0, 0, 189, 0, 0, 0, 57, 0, 0, 0, 131, 0, 0, 0, 133, 0, 0, 0, 80, 0, 0, 0, 161, 0, 0, 0, 93, 0, 0, 0, 108, 0, 0, 0, 65, 0, 0, 0, 29, 0, 0, 0, 181, 0, 0, 0, 44, 0, 0, 0, 7, 0, 0, 0, 64, 0, 0, 0, 119, 0, 0, 0, 11, 0, 0, 0, 80, 0, 0, 0, 100, 0, 0, 0, 52, 0, 0, 0, 236, 0, 0, 0, 192, 0, 0, 0, 158, 0, 0, 0, 68, 0, 0, 0, 65, 0, 0, 0, 175, 0, 0, 0, 160, 0, 0, 0, 54, 0, 0, 0, 5, 0, 0, 0, 109, 0, 0, 0, 234, 0, 0, 0, 48, 0, 0, 0, 37, -0, 0, 0, 70, 0, 0, 0, 53, 0, 0, 0, 36, 0, 0, 0, 157, 0, 0, 0, 134, 0, 0, 0, 189, 0, 0, 0, 149, 0, 0, 0, 241, 0, 0, 0, 106, 0, 0, 0, 70, 0, 0, 0, 215, 0, 0, 0, 148, 0, 0, 0, 84, 0, 0, 0, 249, 0, 0, 0, 59, 0, 0, 0, 189, 0, 0, 0, 93, 0, 0, 0, 119, 0, 0, 0, 91, 0, 0, 0, 226, 0, 0, 0, 55, 0, 0, 0, 199, 0, 0, 0, 225, 0, 0, 0, 124, 0, 0, 0, 19, 0, 0, 0, 140, 0, 0, 0, 159, 0, 0, 0, 123, 0, 0, 0, 123, 0, 0, 0, 42, 0, 0, 0, 206, 0, 0, 0, 66, 0, 0, 0, 163, 0, 0, 0, 185, 0, 0, 0, 42, 0, 0, 0, 153, 0, 0, 0, 168, -0, 0, 0, 192, 0, 0, 0, 216, 0, 0, 0, 60, 0, 0, 0, 134, 0, 0, 0, 176, 0, 0, 0, 251, 0, 0, 0, 233, 0, 0, 0, 118, 0, 0, 0, 119, 0, 0, 0, 247, 0, 0, 0, 245, 0, 0, 0, 86, 0, 0, 0, 223, 0, 0, 0, 179, 0, 0, 0, 70, 0, 0, 0, 17, 0, 0, 0, 110, 0, 0, 0, 19, 0, 0, 0, 183, 0, 0, 0, 40, 0, 0, 0, 78, 0, 0, 0, 86, 0, 0, 0, 221, 0, 0, 0, 241, 0, 0, 0, 172, 0, 0, 0, 173, 0, 0, 0, 88, 0, 0, 0, 195, 0, 0, 0, 248, 0, 0, 0, 136, 0, 0, 0, 148, 0, 0, 0, 94, 0, 0, 0, 6, 0, 0, 0, 152, 0, 0, 0, 161, 0, 0, 0, 228, 0, 0, 0, -106, 0, 0, 0, 251, 0, 0, 0, 10, 0, 0, 0, 73, 0, 0, 0, 93, 0, 0, 0, 138, 0, 0, 0, 254, 0, 0, 0, 119, 0, 0, 0, 70, 0, 0, 0, 2, 0, 0, 0, 245, 0, 0, 0, 165, 0, 0, 0, 175, 0, 0, 0, 197, 0, 0, 0, 117, 0, 0, 0, 109, 0, 0, 0, 186, 0, 0, 0, 69, 0, 0, 0, 53, 0, 0, 0, 10, 0, 0, 0, 254, 0, 0, 0, 201, 0, 0, 0, 172, 0, 0, 0, 34, 0, 0, 0, 145, 0, 0, 0, 141, 0, 0, 0, 33, 0, 0, 0, 149, 0, 0, 0, 51, 0, 0, 0, 3, 0, 0, 0, 192, 0, 0, 0, 138, 0, 0, 0, 22, 0, 0, 0, 243, 0, 0, 0, 57, 0, 0, 0, 224, 0, 0, 0, 1, 0, 0, 0, 15, -0, 0, 0, 83, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 117, 0, 0, 0, 55, 0, 0, 0, 31, 0, 0, 0, 52, 0, 0, 0, 78, 0, 0, 0, 169, 0, 0, 0, 29, 0, 0, 0, 104, 0, 0, 0, 103, 0, 0, 0, 248, 0, 0, 0, 73, 0, 0, 0, 152, 0, 0, 0, 150, 0, 0, 0, 252, 0, 0, 0, -76, 0, 0, 0, 101, 0, 0, 0, 151, 0, 0, 0, 247, 0, 0, 0, 2, 0, 0, 0, 74, 0, 0, 0, 82, 0, 0, 0, 108, 0, 0, 0, 1, 0, 0, 0, 189, 0, 0, 0, 72, 0, 0, 0, 187, 0, 0, 0, 27, 0, 0, 0, 237, 0, 0, 0, 164, 0, 0, 0, 226, 0, 0, 0, 83, 0, 0, 0, 89, 0, 0, 0, 213, 0, 0, 0, 155, 0, 0, 0, 90, 0, 0, 0, 162, 0, 0, 0, 144, 0, 0, 0, 211, 0, 0, 0, 184, 0, 0, 0, 55, 0, 0, 0, 76, 0, 0, 0, 85, 0, 0, 0, 130, 0, 0, 0, 40, 0, 0, 0, 8, 0, 0, 0, 15, 0, 0, 0, 127, 0, 0, 0, 170, 0, 0, 0, 129, 0, 0, 0, 101, 0, 0, 0, 224, 0, 0, 0, 12, -0, 0, 0, 82, 0, 0, 0, 201, 0, 0, 0, 163, 0, 0, 0, 50, 0, 0, 0, 39, 0, 0, 0, 100, 0, 0, 0, 218, 0, 0, 0, 253, 0, 0, 0, 52, 0, 0, 0, 35, 0, 0, 0, 90, 0, 0, 0, 181, 0, 0, 0, 176, 0, 0, 0, 12, 0, 0, 0, 77, 0, 0, 0, 179, 0, 0, 0, 123, 0, 0, 0, 35, 0, 0, 0, 200, 0, 0, 0, 31, 0, 0, 0, 138, 0, 0, 0, 57, 0, 0, 0, 102, 0, 0, 0, 230, 0, 0, 0, 186, 0, 0, 0, 76, 0, 0, 0, 16, 0, 0, 0, 55, 0, 0, 0, 202, 0, 0, 0, 156, 0, 0, 0, 124, 0, 0, 0, 5, 0, 0, 0, 158, 0, 0, 0, 255, 0, 0, 0, 192, 0, 0, 0, 248, 0, 0, 0, 142, -0, 0, 0, 177, 0, 0, 0, 143, 0, 0, 0, 111, 0, 0, 0, 103, 0, 0, 0, 24, 0, 0, 0, 38, 0, 0, 0, 75, 0, 0, 0, 65, 0, 0, 0, 19, 0, 0, 0, 84, 0, 0, 0, 35, 0, 0, 0, 26, 0, 0, 0, 164, 0, 0, 0, 78, 0, 0, 0, 169, 0, 0, 0, 139, 0, 0, 0, 30, 0, 0, 0, 75, 0, 0, 0, 252, 0, 0, 0, 21, 0, 0, 0, 36, 0, 0, 0, 187, 0, 0, 0, 126, 0, 0, 0, 203, 0, 0, 0, 182, 0, 0, 0, 30, 0, 0, 0, 27, 0, 0, 0, 245, 0, 0, 0, 242, 0, 0, 0, 200, 0, 0, 0, 86, 0, 0, 0, 236, 0, 0, 0, 50, 0, 0, 0, 162, 0, 0, 0, 96, 0, 0, 0, 91, 0, 0, 0, 160, 0, -0, 0, 42, 0, 0, 0, 164, 0, 0, 0, 41, 0, 0, 0, 71, 0, 0, 0, 134, 0, 0, 0, 46, 0, 0, 0, 146, 0, 0, 0, 79, 0, 0, 0, 17, 0, 0, 0, 79, 0, 0, 0, 243, 0, 0, 0, 178, 0, 0, 0, 92, 0, 0, 0, 213, 0, 0, 0, 62, 0, 0, 0, 166, 0, 0, 0, 185, 0, 0, 0, 200, 0, 0, 0, 226, 0, 0, 0, 51, 0, 0, 0, 17, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 143, 0, 0, 0, 176, 0, 0, 0, 155, 0, 0, 0, 199, 0, 0, 0, 165, 0, 0, 0, 255, 0, 0, 0, 131, 0, 0, 0, 15, 0, 0, 0, 30, 0, 0, 0, 40, 0, 0, 0, 29, 0, 0, 0, 41, 0, 0, 0, 122, 0, 0, 0, 161, 0, 0, -0, 236, 0, 0, 0, 142, 0, 0, 0, 181, 0, 0, 0, 173, 0, 0, 0, 234, 0, 0, 0, 2, 0, 0, 0, 104, 0, 0, 0, 96, 0, 0, 0, 116, 0, 0, 0, 41, 0, 0, 0, 28, 0, 0, 0, 165, 0, 0, 0, 207, 0, 0, 0, 200, 0, 0, 0, 59, 0, 0, 0, 125, 0, 0, 0, 139, 0, 0, 0, 43, 0, 0, 0, 124, 0, 0, 0, 173, 0, 0, 0, 164, 0, 0, 0, 64, 0, 0, 0, 23, 0, 0, 0, 81, 0, 0, 0, 89, 0, 0, 0, 124, 0, 0, 0, 46, 0, 0, 0, 93, 0, 0, 0, 10, 0, 0, 0, 108, 0, 0, 0, 79, 0, 0, 0, 188, 0, 0, 0, 62, 0, 0, 0, 50, 0, 0, 0, 231, 0, 0, 0, 74, 0, 0, 0, 26, 0, 0, 0, -19, 0, 0, 0, 193, 0, 0, 0, 73, 0, 0, 0, 56, 0, 0, 0, 191, 0, 0, 0, 247, 0, 0, 0, 194, 0, 0, 0, 211, 0, 0, 0, 143, 0, 0, 0, 107, 0, 0, 0, 173, 0, 0, 0, 82, 0, 0, 0, 247, 0, 0, 0, 207, 0, 0, 0, 188, 0, 0, 0, 39, 0, 0, 0, 203, 0, 0, 0, 64, 0, 0, 0, 103, 0, 0, 0, 118, 0, 0, 0, 205, 0, 0, 0, 109, 0, 0, 0, 86, 0, 0, 0, 229, 0, 0, 0, 176, 0, 0, 0, 39, 0, 0, 0, 173, 0, 0, 0, 190, 0, 0, 0, 155, 0, 0, 0, 242, 0, 0, 0, 181, 0, 0, 0, 99, 0, 0, 0, 222, 0, 0, 0, 58, 0, 0, 0, 35, 0, 0, 0, 149, 0, 0, 0, 183, 0, -0, 0, 10, 0, 0, 0, 126, 0, 0, 0, 243, 0, 0, 0, 158, 0, 0, 0, 69, 0, 0, 0, 111, 0, 0, 0, 25, 0, 0, 0, 57, 0, 0, 0, 117, 0, 0, 0, 143, 0, 0, 0, 57, 0, 0, 0, 61, 0, 0, 0, 15, 0, 0, 0, 192, 0, 0, 0, 159, 0, 0, 0, 241, 0, 0, 0, 233, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 136, 0, 0, 0, 170, 0, 0, 0, 20, 0, 0, 0, 36, 0, 0, 0, 134, 0, 0, 0, 148, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0, 62, 0, 0, 0, 26, 0, 0, 0, 181, 0, 0, 0, 204, 0, 0, 0, 187, 0, 0, 0, 224, 0, 0, 0, 156, 0, 0, 0, 213, 0, 0, 0, 156, 0, 0, 0, 109, 0, 0, 0, 186, 0, 0, 0, 88, 0, 0, 0, 114, 0, 0, 0, 141, 0, 0, 0, 251, 0, 0, 0, 34, 0, 0, 0, 123, 0, 0, 0, 159, 0, 0, 0, 124, 0, 0, 0, 148, 0, 0, 0, 48, 0, 0, 0, 179, 0, 0, 0, 81, 0, 0, 0, 33, 0, 0, 0, 246, 0, 0, 0, 116, 0, 0, 0, 61, 0, 0, 0, 242, 0, -0, 0, 175, 0, 0, 0, 208, 0, 0, 0, 30, 0, 0, 0, 3, 0, 0, 0, 124, 0, 0, 0, 35, 0, 0, 0, 107, 0, 0, 0, 201, 0, 0, 0, 252, 0, 0, 0, 37, 0, 0, 0, 112, 0, 0, 0, 144, 0, 0, 0, 220, 0, 0, 0, 154, 0, 0, 0, 164, 0, 0, 0, 251, 0, 0, 0, 73, 0, 0, 0, 252, 0, 0, 0, 61, 0, 0, 0, 10, 0, 0, 0, 53, 0, 0, 0, 56, 0, 0, 0, 111, 0, 0, 0, 228, 0, 0, 0, 126, 0, 0, 0, 80, 0, 0, 0, 1, 0, 0, 0, 42, 0, 0, 0, 214, 0, 0, 0, 227, 0, 0, 0, 150, 0, 0, 0, 97, 0, 0, 0, 58, 0, 0, 0, 253, 0, 0, 0, 239, 0, 0, 0, 155, 0, 0, 0, 31, 0, -0, 0, 144, 0, 0, 0, 164, 0, 0, 0, 36, 0, 0, 0, 20, 0, 0, 0, 91, 0, 0, 0, 200, 0, 0, 0, 222, 0, 0, 0, 80, 0, 0, 0, 177, 0, 0, 0, 29, 0, 0, 0, 175, 0, 0, 0, 232, 0, 0, 0, 85, 0, 0, 0, 138, 0, 0, 0, 135, 0, 0, 0, 13, 0, 0, 0, 254, 0, 0, 0, 170, 0, 0, 0, 59, 0, 0, 0, 130, 0, 0, 0, 44, 0, 0, 0, 141, 0, 0, 0, 123, 0, 0, 0, 133, 0, 0, 0, 12, 0, 0, 0, 175, 0, 0, 0, 248, 0, 0, 0, 131, 0, 0, 0, 68, 0, 0, 0, 73, 0, 0, 0, 217, 0, 0, 0, 69, 0, 0, 0, 207, 0, 0, 0, 247, 0, 0, 0, 72, 0, 0, 0, 217, 0, 0, 0, 83, 0, -0, 0, 180, 0, 0, 0, 241, 0, 0, 0, 101, 0, 0, 0, 160, 0, 0, 0, 225, 0, 0, 0, 195, 0, 0, 0, 179, 0, 0, 0, 21, 0, 0, 0, 237, 0, 0, 0, 137, 0, 0, 0, 155, 0, 0, 0, 79, 0, 0, 0, 98, 0, 0, 0, 179, 0, 0, 0, 87, 0, 0, 0, 165, 0, 0, 0, 69, 0, 0, 0, 28, 0, 0, 0, 143, 0, 0, 0, 18, 0, 0, 0, 234, 0, 0, 0, 175, 0, 0, 0, 209, 0, 0, 0, 31, 0, 0, 0, 121, 0, 0, 0, 16, 0, 0, 0, 11, 0, 0, 0, 246, 0, 0, 0, 163, 0, 0, 0, 123, 0, 0, 0, 234, 0, 0, 0, 172, 0, 0, 0, 139, 0, 0, 0, 87, 0, 0, 0, 50, 0, 0, 0, 98, 0, 0, 0, 231, -0, 0, 0, 6, 0, 0, 0, 18, 0, 0, 0, 81, 0, 0, 0, 160, 0, 0, 0, 59, 0, 0, 0, 67, 0, 0, 0, 94, 0, 0, 0, 164, 0, 0, 0, 32, 0, 0, 0, 120, 0, 0, 0, 49, 0, 0, 0, 206, 0, 0, 0, 13, 0, 0, 0, 132, 0, 0, 0, 124, 0, 0, 0, 194, 0, 0, 0, 166, 0, 0, 0, 145, 0, 0, 0, 35, 0, 0, 0, 206, 0, 0, 0, 189, 0, 0, 0, 220, 0, 0, 0, 249, 0, 0, 0, 206, 0, 0, 0, 213, 0, 0, 0, 117, 0, 0, 0, 48, 0, 0, 0, 34, 0, 0, 0, 230, 0, 0, 0, 249, 0, 0, 0, 67, 0, 0, 0, 98, 0, 0, 0, 13, 0, 0, 0, 247, 0, 0, 0, 117, 0, 0, 0, 157, 0, 0, 0, 127, -0, 0, 0, 140, 0, 0, 0, 255, 0, 0, 0, 125, 0, 0, 0, 228, 0, 0, 0, 114, 0, 0, 0, 172, 0, 0, 0, 159, 0, 0, 0, 28, 0, 0, 0, 136, 0, 0, 0, 193, 0, 0, 0, 153, 0, 0, 0, 208, 0, 0, 0, 60, 0, 0, 0, 28, 0, 0, 0, 93, 0, 0, 0, 180, 0, 0, 0, 239, 0, 0, 0, 19, 0, 0, 0, 15, 0, 0, 0, 144, 0, 0, 0, 185, 0, 0, 0, 54, 0, 0, 0, 47, 0, 0, 0, 149, 0, 0, 0, 149, 0, 0, 0, 198, 0, 0, 0, 220, 0, 0, 0, 222, 0, 0, 0, 10, 0, 0, 0, 81, 0, 0, 0, 226, 0, 0, 0, 141, 0, 0, 0, 243, 0, 0, 0, 188, 0, 0, 0, 81, 0, 0, 0, 236, 0, 0, 0, -223, 0, 0, 0, 177, 0, 0, 0, 162, 0, 0, 0, 95, 0, 0, 0, 46, 0, 0, 0, 104, 0, 0, 0, 161, 0, 0, 0, 35, 0, 0, 0, 125, 0, 0, 0, 155, 0, 0, 0, 64, 0, 0, 0, 105, 0, 0, 0, 133, 0, 0, 0, 123, 0, 0, 0, 66, 0, 0, 0, 191, 0, 0, 0, 144, 0, 0, 0, 75, 0, 0, 0, 214, 0, 0, 0, 64, 0, 0, 0, 47, 0, 0, 0, 215, 0, 0, 0, 82, 0, 0, 0, 82, 0, 0, 0, 178, 0, 0, 0, 33, 0, 0, 0, 222, 0, 0, 0, 100, 0, 0, 0, 189, 0, 0, 0, 136, 0, 0, 0, 195, 0, 0, 0, 109, 0, 0, 0, 165, 0, 0, 0, 250, 0, 0, 0, 129, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 251, 0, 0, 0, 253, 0, 0, 0, 71, 0, 0, 0, 123, 0, 0, 0, 138, 0, 0, 0, 102, 0, 0, 0, 158, 0, 0, 0, 121, 0, 0, 0, 46, 0, 0, 0, 100, 0, 0, 0, 130, 0, 0, 0, 239, 0, 0, 0, 247, 0, 0, 0, 33, 0, 0, 0, 236, 0, 0, 0, 246, 0, 0, 0, 216, 0, 0, 0, 134, 0, -0, 0, 9, 0, 0, 0, 49, 0, 0, 0, 124, 0, 0, 0, 221, 0, 0, 0, 3, 0, 0, 0, 106, 0, 0, 0, 88, 0, 0, 0, 160, 0, 0, 0, 119, 0, 0, 0, 183, 0, 0, 0, 155, 0, 0, 0, 140, 0, 0, 0, 135, 0, 0, 0, 31, 0, 0, 0, 85, 0, 0, 0, 71, 0, 0, 0, 228, 0, 0, 0, 168, 0, 0, 0, 61, 0, 0, 0, 85, 0, 0, 0, 33, 0, 0, 0, 52, 0, 0, 0, 171, 0, 0, 0, 29, 0, 0, 0, 174, 0, 0, 0, 224, 0, 0, 0, 244, 0, 0, 0, 234, 0, 0, 0, 219, 0, 0, 0, 197, 0, 0, 0, 185, 0, 0, 0, 88, 0, 0, 0, 191, 0, 0, 0, 196, 0, 0, 0, 42, 0, 0, 0, 137, 0, 0, 0, 49, 0, -0, 0, 26, 0, 0, 0, 244, 0, 0, 0, 45, 0, 0, 0, 225, 0, 0, 0, 202, 0, 0, 0, 55, 0, 0, 0, 153, 0, 0, 0, 71, 0, 0, 0, 89, 0, 0, 0, 199, 0, 0, 0, 202, 0, 0, 0, 99, 0, 0, 0, 193, 0, 0, 0, 73, 0, 0, 0, 169, 0, 0, 0, 53, 0, 0, 0, 69, 0, 0, 0, 85, 0, 0, 0, 126, 0, 0, 0, 218, 0, 0, 0, 100, 0, 0, 0, 50, 0, 0, 0, 7, 0, 0, 0, 80, 0, 0, 0, 247, 0, 0, 0, 50, 0, 0, 0, 172, 0, 0, 0, 222, 0, 0, 0, 117, 0, 0, 0]).concat([88, 0, 0, 0, 155, 0, 0, 0, 17, 0, 0, 0, 178, 0, 0, 0, 58, 0, 0, 0, 31, 0, 0, 0, 245, 0, 0, 0, 247, -0, 0, 0, 121, 0, 0, 0, 4, 0, 0, 0, 230, 0, 0, 0, 8, 0, 0, 0, 70, 0, 0, 0, 250, 0, 0, 0, 34, 0, 0, 0, 75, 0, 0, 0, 250, 0, 0, 0, 225, 0, 0, 0, 254, 0, 0, 0, 150, 0, 0, 0, 252, 0, 0, 0, 103, 0, 0, 0, 186, 0, 0, 0, 103, 0, 0, 0, 151, 0, 0, 0, 196, 0, 0, 0, 231, 0, 0, 0, 27, 0, 0, 0, 134, 0, 0, 0, 144, 0, 0, 0, 95, 0, 0, 0, 238, 0, 0, 0, 244, 0, 0, 0, 91, 0, 0, 0, 17, 0, 0, 0, 178, 0, 0, 0, 205, 0, 0, 0, 173, 0, 0, 0, 238, 0, 0, 0, 194, 0, 0, 0, 72, 0, 0, 0, 108, 0, 0, 0, 43, 0, 0, 0, 27, 0, 0, 0, 227, -0, 0, 0, 57, 0, 0, 0, 98, 0, 0, 0, 180, 0, 0, 0, 79, 0, 0, 0, 49, 0, 0, 0, 4, 0, 0, 0, 201, 0, 0, 0, 218, 0, 0, 0, 213, 0, 0, 0, 115, 0, 0, 0, 81, 0, 0, 0, 87, 0, 0, 0, 197, 0, 0, 0, 184, 0, 0, 0, 243, 0, 0, 0, 163, 0, 0, 0, 67, 0, 0, 0, 112, 0, 0, 0, 228, 0, 0, 0, 97, 0, 0, 0, 129, 0, 0, 0, 132, 0, 0, 0, 226, 0, 0, 0, 187, 0, 0, 0, 191, 0, 0, 0, 79, 0, 0, 0, 158, 0, 0, 0, 164, 0, 0, 0, 94, 0, 0, 0, 116, 0, 0, 0, 6, 0, 0, 0, 41, 0, 0, 0, 172, 0, 0, 0, 255, 0, 0, 0, 39, 0, 0, 0, 224, 0, 0, 0, 89, -0, 0, 0, 190, 0, 0, 0, 57, 0, 0, 0, 156, 0, 0, 0, 13, 0, 0, 0, 131, 0, 0, 0, 215, 0, 0, 0, 16, 0, 0, 0, 11, 0, 0, 0, 21, 0, 0, 0, 183, 0, 0, 0, 225, 0, 0, 0, 194, 0, 0, 0, 44, 0, 0, 0, 48, 0, 0, 0, 115, 0, 0, 0, 128, 0, 0, 0, 58, 0, 0, 0, 125, 0, 0, 0, 93, 0, 0, 0, 171, 0, 0, 0, 88, 0, 0, 0, 107, 0, 0, 0, 193, 0, 0, 0, 240, 0, 0, 0, 244, 0, 0, 0, 34, 0, 0, 0, 254, 0, 0, 0, 127, 0, 0, 0, 251, 0, 0, 0, 53, 0, 0, 0, 125, 0, 0, 0, 198, 0, 0, 0, 1, 0, 0, 0, 35, 0, 0, 0, 40, 0, 0, 0, 196, 0, 0, 0, 2, 0, -0, 0, 172, 0, 0, 0, 31, 0, 0, 0, 66, 0, 0, 0, 180, 0, 0, 0, 157, 0, 0, 0, 252, 0, 0, 0, 0, 0, 0, 0, 148, 0, 0, 0, 165, 0, 0, 0, 238, 0, 0, 0, 202, 0, 0, 0, 218, 0, 0, 0, 151, 0, 0, 0, 9, 0, 0, 0, 65, 0, 0, 0, 119, 0, 0, 0, 135, 0, 0, 0, 93, 0, 0, 0, 123, 0, 0, 0, 135, 0, 0, 0, 120, 0, 0, 0, 245, 0, 0, 0, 251, 0, 0, 0, 144, 0, 0, 0, 45, 0, 0, 0, 129, 0, 0, 0, 25, 0, 0, 0, 158, 0, 0, 0, 47, 0, 0, 0, 109, 0, 0, 0, 133, 0, 0, 0, 136, 0, 0, 0, 140, 0, 0, 0, 64, 0, 0, 0, 92, 0, 0, 0, 119, 0, 0, 0, 65, -0, 0, 0, 77, 0, 0, 0, 1, 0, 0, 0, 25, 0, 0, 0, 118, 0, 0, 0, 96, 0, 0, 0, 232, 0, 0, 0, 76, 0, 0, 0, 72, 0, 0, 0, 228, 0, 0, 0, 51, 0, 0, 0, 131, 0, 0, 0, 50, 0, 0, 0, 108, 0, 0, 0, 180, 0, 0, 0, 65, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 16, -0, 0, 0, 194, 0, 0, 0, 9, 0, 0, 0, 79, 0, 0, 0, 110, 0, 0, 0, 244, 0, 0, 0, 210, 0, 0, 0, 223, 0, 0, 0, 126, 0, 0, 0, 202, 0, 0, 0, 123, 0, 0, 0, 28, 0, 0, 0, 29, 0, 0, 0, 186, 0, 0, 0, 163, 0, 0, 0, 182, 0, 0, 0, 218, 0, 0, 0, 103, 0, 0, 0, 51, 0, 0, 0, 212, 0, 0, 0, 135, 0, 0, 0, 54, 0, 0, 0, 75, 0, 0, 0, 17, 0, 0, 0, 32, 0, 0, 0, 5, 0, 0, 0, 166, 0, 0, 0, 41, 0, 0, 0, 193, 0, 0, 0, 135, 0, 0, 0, 23, 0, 0, 0, 246, 0, 0, 0, 150, 0, 0, 0, 202, 0, 0, 0, 47, 0, 0, 0, 218, 0, 0, 0, 56, 0, 0, 0, 167, -0, 0, 0, 27, 0, 0, 0, 252, 0, 0, 0, 202, 0, 0, 0, 125, 0, 0, 0, 254, 0, 0, 0, 8, 0, 0, 0, 137, 0, 0, 0, 226, 0, 0, 0, 71, 0, 0, 0, 43, 0, 0, 0, 106, 0, 0, 0, 93, 0, 0, 0, 75, 0, 0, 0, 250, 0, 0, 0, 161, 0, 0, 0, 180, 0, 0, 0, 222, 0, 0, 0, 182, 0, 0, 0, 194, 0, 0, 0, 49, 0, 0, 0, 81, 0, 0, 0, 245, 0, 0, 0, 224, 0, 0, 0, 164, 0, 0, 0, 11, 0, 0, 0, 92, 0, 0, 0, 229, 0, 0, 0, 198, 0, 0, 0, 4, 0, 0, 0, 142, 0, 0, 0, 43, 0, 0, 0, 87, 0, 0, 0, 190, 0, 0, 0, 56, 0, 0, 0, 133, 0, 0, 0, 35, 0, 0, 0, 203, -0, 0, 0, 183, 0, 0, 0, 190, 0, 0, 0, 79, 0, 0, 0, 169, 0, 0, 0, 211, 0, 0, 0, 110, 0, 0, 0, 18, 0, 0, 0, 170, 0, 0, 0, 213, 0, 0, 0, 178, 0, 0, 0, 46, 0, 0, 0, 147, 0, 0, 0, 41, 0, 0, 0, 154, 0, 0, 0, 74, 0, 0, 0, 136, 0, 0, 0, 24, 0, 0, 0, 67, 0, 0, 0, 245, 0, 0, 0, 1, 0, 0, 0, 80, 0, 0, 0, 252, 0, 0, 0, 219, 0, 0, 0, 162, 0, 0, 0, 89, 0, 0, 0, 33, 0, 0, 0, 141, 0, 0, 0, 189, 0, 0, 0, 126, 0, 0, 0, 51, 0, 0, 0, 174, 0, 0, 0, 47, 0, 0, 0, 135, 0, 0, 0, 26, 0, 0, 0, 208, 0, 0, 0, 151, 0, 0, 0, 199, -0, 0, 0, 13, 0, 0, 0, 77, 0, 0, 0, 99, 0, 0, 0, 1, 0, 0, 0, 239, 0, 0, 0, 5, 0, 0, 0, 132, 0, 0, 0, 236, 0, 0, 0, 64, 0, 0, 0, 221, 0, 0, 0, 168, 0, 0, 0, 10, 0, 0, 0, 79, 0, 0, 0, 112, 0, 0, 0, 11, 0, 0, 0, 65, 0, 0, 0, 105, 0, 0, 0, 1, 0, 0, 0, 103, 0, 0, 0, 92, 0, 0, 0, 211, 0, 0, 0, 138, 0, 0, 0, 197, 0, 0, 0, 207, 0, 0, 0, 63, 0, 0, 0, 209, 0, 0, 0, 87, 0, 0, 0, 209, 0, 0, 0, 103, 0, 0, 0, 62, 0, 0, 0, 1, 0, 0, 0, 57, 0, 0, 0, 181, 0, 0, 0, 203, 0, 0, 0, 129, 0, 0, 0, 86, 0, 0, 0, 150, 0, 0, -0, 38, 0, 0, 0, 182, 0, 0, 0, 194, 0, 0, 0, 231, 0, 0, 0, 92, 0, 0, 0, 251, 0, 0, 0, 99, 0, 0, 0, 151, 0, 0, 0, 88, 0, 0, 0, 6, 0, 0, 0, 12, 0, 0, 0, 14, 0, 0, 0, 243, 0, 0, 0, 186, 0, 0, 0, 240, 0, 0, 0, 229, 0, 0, 0, 186, 0, 0, 0, 178, 0, 0, 0, 87, 0, 0, 0, 119, 0, 0, 0, 198, 0, 0, 0, 32, 0, 0, 0, 155, 0, 0, 0, 137, 0, 0, 0, 36, 0, 0, 0, 190, 0, 0, 0, 242, 0, 0, 0, 156, 0, 0, 0, 138, 0, 0, 0, 186, 0, 0, 0, 105, 0, 0, 0, 193, 0, 0, 0, 241, 0, 0, 0, 176, 0, 0, 0, 79, 0, 0, 0, 42, 0, 0, 0, 5, 0, 0, -0, 154, 0, 0, 0, 238, 0, 0, 0, 16, 0, 0, 0, 126, 0, 0, 0, 54, 0, 0, 0, 63, 0, 0, 0, 38, 0, 0, 0, 233, 0, 0, 0, 64, 0, 0, 0, 233, 0, 0, 0, 3, 0, 0, 0, 173, 0, 0, 0, 6, 0, 0, 0, 105, 0, 0, 0, 145, 0, 0, 0, 224, 0, 0, 0, 209, 0, 0, 0, 137, 0, 0, 0, 96, 0, 0, 0, 132, 0, 0, 0, 121, 0, 0, 0, 222, 0, 0, 0, 39, 0, 0, 0, 109, 0, 0, 0, 230, 0, 0, 0, 118, 0, 0, 0, 189, 0, 0, 0, 234, 0, 0, 0, 230, 0, 0, 0, 174, 0, 0, 0, 72, 0, 0, 0, 195, 0, 0, 0, 103, 0, 0, 0, 192, 0, 0, 0, 87, 0, 0, 0, 205, 0, 0, 0, 47, 0, -0, 0, 127, 0, 0, 0, 193, 0, 0, 0, 220, 0, 0, 0, 185, 0, 0, 0, 199, 0, 0, 0, 188, 0, 0, 0, 134, 0, 0, 0, 61, 0, 0, 0, 85, 0, 0, 0, 75, 0, 0, 0, 40, 0, 0, 0, 122, 0, 0, 0, 251, 0, 0, 0, 77, 0, 0, 0, 199, 0, 0, 0, 248, 0, 0, 0, 188, 0, 0, 0, 103, 0, 0, 0, 42, 0, 0, 0, 96, 0, 0, 0, 77, 0, 0, 0, 143, 0, 0, 0, 7, 0, 0, 0, 11, 0, 0, 0, 26, 0, 0, 0, 23, 0, 0, 0, 191, 0, 0, 0, 250, 0, 0, 0, 172, 0, 0, 0, 167, 0, 0, 0, 61, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0, 63, 0, 0, 0, 237, 0, 0, 0, 94, 0, 0, 0, 24, 0, 0, 0, 120, 0, 0, 0, 63, 0, 0, 0, 35, 0, 0, 0, 44, 0, 0, 0, 13, 0, 0, 0, 140, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 232, 0, 0, 0, 251, 0, 0, 0, 233, 0, 0, 0, 142, 0, 0, 0, 214, 0, 0, 0, 209, 0, 0, 0, 54, 0, 0, 0, 88, 0, 0, 0, 87, 0, 0, 0, 158, -0, 0, 0, 174, 0, 0, 0, 75, 0, 0, 0, 92, 0, 0, 0, 11, 0, 0, 0, 7, 0, 0, 0, 188, 0, 0, 0, 107, 0, 0, 0, 85, 0, 0, 0, 43, 0, 0, 0, 111, 0, 0, 0, 77, 0, 0, 0, 23, 0, 0, 0, 215, 0, 0, 0, 225, 0, 0, 0, 132, 0, 0, 0, 217, 0, 0, 0, 120, 0, 0, 0, 177, 0, 0, 0, 144, 0, 0, 0, 253, 0, 0, 0, 46, 0, 0, 0, 179, 0, 0, 0, 181, 0, 0, 0, 25, 0, 0, 0, 63, 0, 0, 0, 27, 0, 0, 0, 250, 0, 0, 0, 192, 0, 0, 0, 104, 0, 0, 0, 179, 0, 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0, 137, 0, 0, 0, 189, 0, 0, 0, 126, 0, 0, 0, 128, -0, 0, 0, 50, 0, 0, 0, 19, 0, 0, 0, 160, 0, 0, 0, 123, 0, 0, 0, 26, 0, 0, 0, 111, 0, 0, 0, 64, 0, 0, 0, 175, 0, 0, 0, 68, 0, 0, 0, 68, 0, 0, 0, 176, 0, 0, 0, 67, 0, 0, 0, 143, 0, 0, 0, 13, 0, 0, 0, 208, 0, 0, 0, 30, 0, 0, 0, 196, 0, 0, 0, 11, 0, 0, 0, 25, 0, 0, 0, 93, 0, 0, 0, 142, 0, 0, 0, 254, 0, 0, 0, 193, 0, 0, 0, 243, 0, 0, 0, 197, 0, 0, 0, 92, 0, 0, 0, 145, 0, 0, 0, 248, 0, 0, 0, 4, 0, 0, 0, 78, 0, 0, 0, 190, 0, 0, 0, 144, 0, 0, 0, 180, 0, 0, 0, 71, 0, 0, 0, 92, 0, 0, 0, 63, 0, 0, 0, 176, 0, -0, 0, 59, 0, 0, 0, 44, 0, 0, 0, 243, 0, 0, 0, 254, 0, 0, 0, 50, 0, 0, 0, 113, 0, 0, 0, 7, 0, 0, 0, 63, 0, 0, 0, 170, 0, 0, 0, 186, 0, 0, 0, 69, 0, 0, 0, 96, 0, 0, 0, 168, 0, 0, 0, 141, 0, 0, 0, 234, 0, 0, 0, 84, 0, 0, 0, 203, 0, 0, 0, 57, 0, 0, 0, 16, 0, 0, 0, 180, 0, 0, 0, 242, 0, 0, 0, 139, 0, 0, 0, 210, 0, 0, 0, 20, 0, 0, 0, 130, 0, 0, 0, 66, 0, 0, 0, 7, 0, 0, 0, 142, 0, 0, 0, 233, 0, 0, 0, 124, 0, 0, 0, 83, 0, 0, 0, 176, 0, 0, 0, 174, 0, 0, 0, 193, 0, 0, 0, 141, 0, 0, 0, 201, 0, 0, 0, 143, 0, -0, 0, 185, 0, 0, 0, 122, 0, 0, 0, 119, 0, 0, 0, 239, 0, 0, 0, 186, 0, 0, 0, 121, 0, 0, 0, 160, 0, 0, 0, 60, 0, 0, 0, 168, 0, 0, 0, 245, 0, 0, 0, 106, 0, 0, 0, 226, 0, 0, 0, 63, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 227, 0, 0, 0, 75, 0, 0, 0, 69, 0, 0, 0, 36, 0, 0, 0, 123, 0, 0, 0, 67, 0, 0, 0, 120, 0, 0, 0, 85, 0, 0, 0, 29, 0, 0, 0, 43, 0, 0, 0, 30, 0, 0, 0, 1, 0, 0, 0, 184, 0, 0, 0, 214, 0, 0, 0, 22, 0, 0, 0, 103, 0, 0, 0, 160, 0, 0, 0, 21, 0, 0, 0, 185, 0, 0, 0, 225, 0, 0, 0, 88, 0, 0, 0, 164, 0, 0, -0, 167, 0, 0, 0, 49, 0, 0, 0, 55, 0, 0, 0, 119, 0, 0, 0, 47, 0, 0, 0, 139, 0, 0, 0, 18, 0, 0, 0, 159, 0, 0, 0, 244, 0, 0, 0, 63, 0, 0, 0, 199, 0, 0, 0, 54, 0, 0, 0, 102, 0, 0, 0, 210, 0, 0, 0, 168, 0, 0, 0, 86, 0, 0, 0, 247, 0, 0, 0, 127, 0, 0, 0, 116, 0, 0, 0, 198, 0, 0, 0, 65, 0, 0, 0, 93, 0, 0, 0, 248, 0, 0, 0, 180, 0, 0, 0, 168, 0, 0, 0, 48, 0, 0, 0, 221, 0, 0, 0, 204, 0, 0, 0, 56, 0, 0, 0, 165, 0, 0, 0, 211, 0, 0, 0, 202, 0, 0, 0, 216, 0, 0, 0, 209, 0, 0, 0, 248, 0, 0, 0, 178, 0, 0, 0, 49, 0, -0, 0, 145, 0, 0, 0, 212, 0, 0, 0, 114, 0, 0, 0, 5, 0, 0, 0, 87, 0, 0, 0, 74, 0, 0, 0, 59, 0, 0, 0, 130, 0, 0, 0, 74, 0, 0, 0, 198, 0, 0, 0, 104, 0, 0, 0, 32, 0, 0, 0, 226, 0, 0, 0, 24, 0, 0, 0, 65, 0, 0, 0, 97, 0, 0, 0, 25, 0, 0, 0, 212, 0, 0, 0, 141, 0, 0, 0, 71, 0, 0, 0, 41, 0, 0, 0, 18, 0, 0, 0, 101, 0, 0, 0, 176, 0, 0, 0, 17, 0, 0, 0, 120, 0, 0, 0, 71, 0, 0, 0, 181, 0, 0, 0, 203, 0, 0, 0, 163, 0, 0, 0, 165, 0, 0, 0, 250, 0, 0, 0, 5, 0, 0, 0, 133, 0, 0, 0, 84, 0, 0, 0, 169, 0, 0, 0, 51, 0, 0, -0, 151, 0, 0, 0, 141, 0, 0, 0, 43, 0, 0, 0, 194, 0, 0, 0, 254, 0, 0, 0, 153, 0, 0, 0, 53, 0, 0, 0, 40, 0, 0, 0, 229, 0, 0, 0, 235, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 239, 0, 0, 0, 216, 0, 0, 0, 244, 0, 0, 0, -252, 0, 0, 0, 179, 0, 0, 0, 160, 0, 0, 0, 96, 0, 0, 0, 80, 0, 0, 0, 6, 0, 0, 0, 43, 0, 0, 0, 41, 0, 0, 0, 82, 0, 0, 0, 112, 0, 0, 0, 21, 0, 0, 0, 11, 0, 0, 0, 36, 0, 0, 0, 36, 0, 0, 0, 248, 0, 0, 0, 95, 0, 0, 0, 121, 0, 0, 0, 24, 0, 0, 0, 204, 0, 0, 0, 255, 0, 0, 0, 137, 0, 0, 0, 153, 0, 0, 0, 132, 0, 0, 0, 161, 0, 0, 0, 174, 0, 0, 0, 19, 0, 0, 0, 68, 0, 0, 0, 31, 0, 0, 0, 184, 0, 0, 0, 194, 0, 0, 0, 1, 0, 0, 0, 193, 0, 0, 0, 48, 0, 0, 0, 25, 0, 0, 0, 85, 0, 0, 0, 5, 0, 0, 0, 96, 0, 0, 0, 16, 0, -0, 0, 164, 0, 0, 0, 108, 0, 0, 0, 45, 0, 0, 0, 103, 0, 0, 0, 112, 0, 0, 0, 229, 0, 0, 0, 37, 0, 0, 0, 27, 0, 0, 0, 242, 0, 0, 0, 191, 0, 0, 0, 221, 0, 0, 0, 251, 0, 0, 0, 112, 0, 0, 0, 43, 0, 0, 0, 161, 0, 0, 0, 140, 0, 0, 0, 156, 0, 0, 0, 148, 0, 0, 0, 132, 0, 0, 0, 8, 0, 0, 0, 231, 0, 0, 0, 196, 0, 0, 0, 67, 0, 0, 0, 77, 0, 0, 0, 201, 0, 0, 0, 43, 0, 0, 0, 105, 0, 0, 0, 93, 0, 0, 0, 29, 0, 0, 0, 60, 0, 0, 0, 175, 0, 0, 0, 187, 0, 0, 0, 67, 0, 0, 0, 56, 0, 0, 0, 78, 0, 0, 0, 152, 0, 0, 0, 61, 0, -0, 0, 237, 0, 0, 0, 13, 0, 0, 0, 33, 0, 0, 0, 3, 0, 0, 0, 253, 0, 0, 0, 240, 0, 0, 0, 153, 0, 0, 0, 71, 0, 0, 0, 4, 0, 0, 0, 176, 0, 0, 0, 152, 0, 0, 0, 105, 0, 0, 0, 85, 0, 0, 0, 114, 0, 0, 0, 15, 0, 0, 0, 94, 0, 0, 0, 223, 0, 0, 0, 21, 0, 0, 0, 83, 0, 0, 0, 59, 0, 0, 0, 134, 0, 0, 0, 128, 0, 0, 0, 176, 0, 0, 0, 241, 0, 0, 0, 112, 0, 0, 0, 104, 0, 0, 0, 143, 0, 0, 0, 102, 0, 0, 0, 124, 0, 0, 0, 14, 0, 0, 0, 73, 0, 0, 0, 26, 0, 0, 0, 216, 0, 0, 0, 107, 0, 0, 0, 254, 0, 0, 0, 78, 0, 0, 0, 239, 0, -0, 0, 202, 0, 0, 0, 71, 0, 0, 0, 212, 0, 0, 0, 3, 0, 0, 0, 193, 0, 0, 0, 55, 0, 0, 0, 80, 0, 0, 0, 156, 0, 0, 0, 193, 0, 0, 0, 22, 0, 0, 0, 205, 0, 0, 0, 36, 0, 0, 0, 198, 0, 0, 0, 62, 0, 0, 0, 12, 0, 0, 0, 130, 0, 0, 0, 155, 0, 0, 0, 145, 0, 0, 0, 43, 0, 0, 0, 97, 0, 0, 0, 74, 0, 0, 0, 178, 0, 0, 0, 15, 0, 0, 0, 136, 0, 0, 0, 85, 0, 0, 0, 95, 0, 0, 0, 90, 0, 0, 0, 87, 0, 0, 0, 255, 0, 0, 0, 229, 0, 0, 0, 116, 0, 0, 0, 11, 0, 0, 0, 19, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 107, 0, 0, 0, -207, 0, 0, 0, 210, 0, 0, 0, 21, 0, 0, 0, 3, 0, 0, 0, 44, 0, 0, 0, 220, 0, 0, 0, 255, 0, 0, 0, 21, 0, 0, 0, 97, 0, 0, 0, 47, 0, 0, 0, 74, 0, 0, 0, 47, 0, 0, 0, 98, 0, 0, 0, 242, 0, 0, 0, 4, 0, 0, 0, 47, 0, 0, 0, 181, 0, 0, 0, 12, 0, 0, 0, 183, 0, 0, 0, 30, 0, 0, 0, 63, 0, 0, 0, 116, 0, 0, 0, 26, 0, 0, 0, 15, 0, 0, 0, 215, 0, 0, 0, 234, 0, 0, 0, 205, 0, 0, 0, 217, 0, 0, 0, 125, 0, 0, 0, 246, 0, 0, 0, 18, 0, 0, 0, 14, 0, 0, 0, 47, 0, 0, 0, 219, 0, 0, 0, 90, 0, 0, 0, 59, 0, 0, 0, 22, 0, 0, 0, 27, 0, -0, 0, 55, 0, 0, 0, 71, 0, 0, 0, 227, 0, 0, 0, 245, 0, 0, 0, 158, 0, 0, 0, 234, 0, 0, 0, 44, 0, 0, 0, 42, 0, 0, 0, 231, 0, 0, 0, 130, 0, 0, 0, 54, 0, 0, 0, 244, 0, 0, 0, 31, 0, 0, 0, 129, 0, 0, 0, 71, 0, 0, 0, 146, 0, 0, 0, 75, 0, 0, 0, 105, 0, 0, 0, 14, 0, 0, 0, 17, 0, 0, 0, 140, 0, 0, 0, 93, 0, 0, 0, 83, 0, 0, 0, 91, 0, 0, 0, 129, 0, 0, 0, 39, 0, 0, 0, 8, 0, 0, 0, 188, 0, 0, 0, 160, 0, 0, 0, 174, 0, 0, 0, 37, 0, 0, 0, 105, 0, 0, 0, 50, 0, 0, 0, 161, 0, 0, 0, 5, 0, 0, 0, 17, 0, 0, 0, 66, 0, 0, 0, -0, 0, 0, 0, 210, 0, 0, 0, 89, 0, 0, 0, 172, 0, 0, 0, 77, 0, 0, 0, 98, 0, 0, 0, 139, 0, 0, 0, 19, 0, 0, 0, 226, 0, 0, 0, 80, 0, 0, 0, 93, 0, 0, 0, 160, 0, 0, 0, 157, 0, 0, 0, 155, 0, 0, 0, 253, 0, 0, 0, 187, 0, 0, 0, 18, 0, 0, 0, 65, 0, 0, 0, 117, 0, 0, 0, 65, 0, 0, 0, 158, 0, 0, 0, 204, 0, 0, 0, 220, 0, 0, 0, 199, 0, 0, 0, 220, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 227, 0, 0, 0, 56, 0, 0, 0, 6, 0, 0, 0, 70, 0, 0, 0, 112, 0, 0, 0, 130, 0, 0, 0, 94, 0, 0, 0, 40, 0, 0, 0, 73, 0, 0, 0, 121, 0, 0, 0, 255, 0, 0, 0, 37, 0, 0, 0, 210, 0, 0, 0, 78, 0, 0, 0, 41, 0, 0, 0, 141, 0, 0, 0, 6, 0, 0, 0, 176, 0, 0, 0, 35, 0, 0, 0, 174, 0, 0, 0, 155, 0, 0, 0, 102, 0, 0, 0, 228, 0, 0, 0, 125, 0, 0, 0, 192, 0, 0, 0, 112, 0, 0, 0, 145, 0, 0, 0, 163, -0, 0, 0, 252, 0, 0, 0, 236, 0, 0, 0, 78, 0, 0, 0, 98, 0, 0, 0, 18, 0, 0, 0, 55, 0, 0, 0, 106, 0, 0, 0, 48, 0, 0, 0, 246, 0, 0, 0, 30, 0, 0, 0, 251, 0, 0, 0, 20, 0, 0, 0, 92, 0, 0, 0, 13, 0, 0, 0, 14, 0, 0, 0, 183, 0, 0, 0, 129, 0, 0, 0, 106, 0, 0, 0, 231, 0, 0, 0, 8, 0, 0, 0, 5, 0, 0, 0, 172, 0, 0, 0, 170, 0, 0, 0, 56, 0, 0, 0, 70, 0, 0, 0, 226, 0, 0, 0, 115, 0, 0, 0, 234, 0, 0, 0, 75, 0, 0, 0, 7, 0, 0, 0, 129, 0, 0, 0, 67, 0, 0, 0, 124, 0, 0, 0, 158, 0, 0, 0, 94, 0, 0, 0, 252, 0, 0, 0, 249, 0, 0, -0, 33, 0, 0, 0, 79, 0, 0, 0, 46, 0, 0, 0, 118, 0, 0, 0, 155, 0, 0, 0, 31, 0, 0, 0, 40, 0, 0, 0, 96, 0, 0, 0, 119, 0, 0, 0, 67, 0, 0, 0, 50, 0, 0, 0, 157, 0, 0, 0, 190, 0, 0, 0, 23, 0, 0, 0, 48, 0, 0, 0, 42, 0, 0, 0, 198, 0, 0, 0, 24, 0, 0, 0, 146, 0, 0, 0, 102, 0, 0, 0, 98, 0, 0, 0, 48, 0, 0, 0, 152, 0, 0, 0, 64, 0, 0, 0, 17, 0, 0, 0, 166, 0, 0, 0, 127, 0, 0, 0, 24, 0, 0, 0, 132, 0, 0, 0, 40, 0, 0, 0, 63, 0, 0, 0, 171, 0, 0, 0, 211, 0, 0, 0, 244, 0, 0, 0, 138, 0, 0, 0, 118, 0, 0, 0, 161, 0, 0, 0, -60, 0, 0, 0, 202, 0, 0, 0, 45, 0, 0, 0, 73, 0, 0, 0, 195, 0, 0, 0, 234, 0, 0, 0, 8, 0, 0, 0, 11, 0, 0, 0, 133, 0, 0, 0, 23, 0, 0, 0, 42, 0, 0, 0, 195, 0, 0, 0, 108, 0, 0, 0, 8, 0, 0, 0, 253, 0, 0, 0, 87, 0, 0, 0, 159, 0, 0, 0, 61, 0, 0, 0, 95, 0, 0, 0, 223, 0, 0, 0, 103, 0, 0, 0, 104, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 81, 0, 0, 0, 96, 0, 0, 0, 27, 0, 0, 0, 6, 0, 0, 0, 79, 0, 0, 0, 138, 0, 0, 0, 33, 0, 0, 0, 186, 0, 0, 0, 56, 0, 0, 0, 168, 0, 0, 0, 186, 0, 0, 0, 214, 0, 0, 0, 64, 0, 0, -0, 246, 0, 0, 0, 233, 0, 0, 0, 155, 0, 0, 0, 118, 0, 0, 0, 77, 0, 0, 0, 86, 0, 0, 0, 33, 0, 0, 0, 91, 0, 0, 0, 10, 0, 0, 0, 155, 0, 0, 0, 46, 0, 0, 0, 79, 0, 0, 0, 61, 0, 0, 0, 129, 0, 0, 0, 50, 0, 0, 0, 8, 0, 0, 0, 159, 0, 0, 0, 151, 0, 0, 0, 91, 0, 0, 0, 229, 0, 0, 0, 68, 0, 0, 0, 236, 0, 0, 0, 6, 0, 0, 0, 157, 0, 0, 0, 144, 0, 0, 0, 121, 0, 0, 0, 159, 0, 0, 0, 211, 0, 0, 0, 224, 0, 0, 0, 121, 0, 0, 0, 175, 0, 0, 0, 143, 0, 0, 0, 16, 0, 0, 0, 253, 0, 0, 0, 221, 0, 0, 0, 4, 0, 0, 0, 174, 0, 0, 0, -39, 0, 0, 0, 151, 0, 0, 0, 70, 0, 0, 0, 51, 0, 0, 0, 121, 0, 0, 0, 234, 0, 0, 0, 184, 0, 0, 0, 78, 0, 0, 0, 202, 0, 0, 0, 90, 0, 0, 0, 89, 0, 0, 0, 87, 0, 0, 0, 225, 0, 0, 0, 14, 0, 0, 0, 26, 0, 0, 0, 218, 0, 0, 0, 243, 0, 0, 0, 165, 0, 0, 0, 65, 0, 0, 0, 67, 0, 0, 0, 40, 0, 0, 0, 252, 0, 0, 0, 126, 0, 0, 0, 231, 0, 0, 0, 113, 0, 0, 0, 234, 0, 0, 0, 198, 0, 0, 0, 59, 0, 0, 0, 89, 0, 0, 0, 204, 0, 0, 0, 46, 0, 0, 0, 211, 0, 0, 0, 64, 0, 0, 0, 236, 0, 0, 0, 179, 0, 0, 0, 19, 0, 0, 0, 111, 0, 0, 0, -68, 0, 0, 0, 205, 0, 0, 0, 19, 0, 0, 0, 178, 0, 0, 0, 55, 0, 0, 0, 242, 0, 0, 0, 110, 0, 0, 0, 217, 0, 0, 0, 28, 0, 0, 0, 227, 0, 0, 0, 219, 0, 0, 0, 96, 0, 0, 0, 205, 0, 0, 0, 92, 0, 0, 0, 74, 0, 0, 0, 24, 0, 0, 0, 15, 0, 0, 0, 239, 0, 0, 0, 115, 0, 0, 0, 54, 0, 0, 0, 113, 0, 0, 0, 140, 0, 0, 0, 246, 0, 0, 0, 17, 0, 0, 0, 180, 0, 0, 0, 216, 0, 0, 0, 206, 0, 0, 0, 23, 0, 0, 0, 94, 0, 0, 0, 79, 0, 0, 0, 38, 0, 0, 0, 119, 0, 0, 0, 151, 0, 0, 0, 95, 0, 0, 0, 203, 0, 0, 0, 239, 0, 0, 0, 145, 0, 0, 0, -235, 0, 0, 0, 106, 0, 0, 0, 98, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 74, 0, 0, 0, 162, 0, 0, 0, 151, 0, 0, 0, 8, 0, 0, 0, 129, 0, 0, 0, 45, 0, 0, 0, 131, 0, 0, 0, 196, 0, 0, 0, 204, 0, 0, 0, 240, 0, 0, 0, 131, 0, 0, 0, 126, 0, 0, 0, 236, -0, 0, 0, 13, 0, 0, 0, 149, 0, 0, 0, 76, 0, 0, 0, 91, 0, 0, 0, 251, 0, 0, 0, 250, 0, 0, 0, 152, 0, 0, 0, 128, 0, 0, 0, 74, 0, 0, 0, 102, 0, 0, 0, 86, 0, 0, 0, 12, 0, 0, 0, 81, 0, 0, 0, 179, 0, 0, 0, 242, 0, 0, 0, 4, 0, 0, 0, 93, 0, 0, 0, 39, 0, 0, 0, 59, 0, 0, 0, 185, 0, 0, 0, 184, 0, 0, 0, 6, 0, 0, 0, 90, 0, 0, 0, 46, 0, 0, 0, 254, 0, 0, 0, 195, 0, 0, 0, 130, 0, 0, 0, 55, 0, 0, 0, 156, 0, 0, 0, 163, 0, 0, 0, 17, 0, 0, 0, 31, 0, 0, 0, 156, 0, 0, 0, 166, 0, 0, 0, 218, 0, 0, 0, 99, 0, 0, 0, 72, 0, 0, -0, 155, 0, 0, 0, 173, 0, 0, 0, 222, 0, 0, 0, 45, 0, 0, 0, 166, 0, 0, 0, 188, 0, 0, 0, 110, 0, 0, 0, 50, 0, 0, 0, 218, 0, 0, 0, 39, 0, 0, 0, 101, 0, 0, 0, 221, 0, 0, 0, 87, 0, 0, 0, 132, 0, 0, 0, 79, 0, 0, 0, 55, 0, 0, 0, 49, 0, 0, 0, 125, 0, 0, 0, 46, 0, 0, 0, 188, 0, 0, 0, 173, 0, 0, 0, 135, 0, 0, 0, 7, 0, 0, 0, 42, 0, 0, 0, 107, 0, 0, 0, 55, 0, 0, 0, 252, 0, 0, 0, 95, 0, 0, 0, 235, 0, 0, 0, 78, 0, 0, 0, 117, 0, 0, 0, 53, 0, 0, 0, 166, 0, 0, 0, 222, 0, 0, 0, 171, 0, 0, 0, 10, 0, 0, 0, 25, 0, 0, -0, 58, 0, 0, 0, 183, 0, 0, 0, 177, 0, 0, 0, 239, 0, 0, 0, 146, 0, 0, 0, 106, 0, 0, 0, 59, 0, 0, 0, 60, 0, 0, 0, 59, 0, 0, 0, 178, 0, 0, 0, 148, 0, 0, 0, 109, 0, 0, 0, 57, 0, 0, 0, 96, 0, 0, 0, 172, 0, 0, 0, 238, 0, 0, 0, 231, 0, 0, 0, 129, 0, 0, 0, 26, 0, 0, 0, 59, 0, 0, 0, 118, 0, 0, 0, 135, 0, 0, 0, 92, 0, 0, 0, 5, 0, 0, 0, 148, 0, 0, 0, 42, 0, 0, 0, 69, 0, 0, 0, 185, 0, 0, 0, 128, 0, 0, 0, 233, 0, 0, 0, 34, 0, 0, 0, 177, 0, 0, 0, 7, 0, 0, 0, 203, 0, 0, 0, 64, 0, 0, 0, 158, 0, 0, 0, 112, 0, 0, -0, 73, 0, 0, 0, 109, 0, 0, 0, 18, 0, 0, 0, 253, 0, 0, 0, 24, 0, 0, 0, 120, 0, 0, 0, 132, 0, 0, 0, 168, 0, 0, 0, 76, 0, 0, 0, 125, 0, 0, 0, 110, 0, 0, 0, 89, 0, 0, 0, 166, 0, 0, 0, 229, 0, 0, 0, 116, 0, 0, 0, 241, 0, 0, 0, 25, 0, 0, 0, 166, 0, 0, 0, 132, 0, 0, 0, 46, 0, 0, 0, 81, 0, 0, 0, 193, 0, 0, 0, 41, 0, 0, 0, 19, 0, 0, 0, 242, 0, 0, 0, 20, 0, 0, 0, 107, 0, 0, 0, 93, 0, 0, 0, 83, 0, 0, 0, 81, 0, 0, 0, 247, 0, 0, 0, 239, 0, 0, 0, 191, 0, 0, 0, 1, 0, 0, 0, 34, 0, 0, 0, 164, 0, 0, 0, 75, 0, 0, 0, -98, 0, 0, 0, 76, 0, 0, 0, 230, 0, 0, 0, 253, 0, 0, 0, 114, 0, 0, 0, 7, 0, 0, 0, 242, 0, 0, 0, 129, 0, 0, 0, 252, 0, 0, 0, 242, 0, 0, 0, 189, 0, 0, 0, 18, 0, 0, 0, 124, 0, 0, 0, 104, 0, 0, 0, 118, 0, 0, 0, 42, 0, 0, 0, 186, 0, 0, 0, 245, 0, 0, 0, 101, 0, 0, 0, 177, 0, 0, 0, 31, 0, 0, 0, 23, 0, 0, 0, 10, 0, 0, 0, 56, 0, 0, 0, 176, 0, 0, 0, 191, 0, 0, 0, 192, 0, 0, 0, 248, 0, 0, 0, 244, 0, 0, 0, 42, 0, 0, 0, 85, 0, 0, 0, 96, 0, 0, 0, 85, 0, 0, 0, 91, 0, 0, 0, 228, 0, 0, 0, 29, 0, 0, 0, 113, 0, 0, 0, -76, 0, 0, 0, 157, 0, 0, 0, 91, 0, 0, 0, 159, 0, 0, 0, 112, 0, 0, 0, 166, 0, 0, 0, 133, 0, 0, 0, 154, 0, 0, 0, 44, 0, 0, 0, 160, 0, 0, 0, 226, 0, 0, 0, 50, 0, 0, 0, 72, 0, 0, 0, 206, 0, 0, 0, 158, 0, 0, 0, 42, 0, 0, 0, 165, 0, 0, 0, 7, 0, 0, 0, 59, 0, 0, 0, 199, 0, 0, 0, 108, 0, 0, 0, 134, 0, 0, 0, 119, 0, 0, 0, 222, 0, 0, 0, 60, 0, 0, 0, 247, 0, 0, 0, 24, 0, 0, 0, 122, 0, 0, 0, 150, 0, 0, 0, 126, 0, 0, 0, 67, 0, 0, 0, 87, 0, 0, 0, 169, 0, 0, 0, 85, 0, 0, 0, 252, 0, 0, 0, 78, 0, 0, 0, 182, 0, 0, 0, -114, 0, 0, 0, 0, 0, 0, 0, 242, 0, 0, 0, 228, 0, 0, 0, 215, 0, 0, 0, 82, 0, 0, 0, 211, 0, 0, 0, 211, 0, 0, 0, 182, 0, 0, 0, 133, 0, 0, 0, 246, 0, 0, 0, 113, 0, 0, 0, 199, 0, 0, 0, 68, 0, 0, 0, 63, 0, 0, 0, 127, 0, 0, 0, 215, 0, 0, 0, 179, 0, 0, 0, 242, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 202, 0, 0, 0, 167, 0, 0, 0, 85, 0, 0, 0, 123, 0, 0, 0, 121, 0, 0, 0, 243, 0, 0, 0, 202, 0, 0, 0, 90, 0, 0, 0, 101, 0, 0, 0, 246, 0, 0, 0, 237, 0, 0, 0, 80, 0, 0, 0, 20, 0, 0, 0, 123, 0, 0, 0, 228, 0, 0, 0, 196, 0, 0, 0, 42, 0, 0, 0, 101, 0, 0, 0, 158, 0, 0, 0, 226, 0, 0, 0, 249, 0, 0, 0, 202, 0, 0, 0, 167, 0, 0, 0, 34, 0, 0, 0, 38, 0, 0, 0, 83, 0, 0, 0, 203, 0, 0, 0, 33, 0, 0, 0, 91, 0, 0, 0, 167, 0, 0, 0, 49, 0, 0, 0, 144, 0, 0, 0, 215, 0, 0, 0, -197, 0, 0, 0, 38, 0, 0, 0, 8, 0, 0, 0, 189, 0, 0, 0, 176, 0, 0, 0, 83, 0, 0, 0, 99, 0, 0, 0, 88, 0, 0, 0, 195, 0, 0, 0, 49, 0, 0, 0, 94, 0, 0, 0, 117, 0, 0, 0, 70, 0, 0, 0, 21, 0, 0, 0, 145, 0, 0, 0, 166, 0, 0, 0, 248, 0, 0, 0, 47, 0, 0, 0, 26, 0, 0, 0, 8, 0, 0, 0, 101, 0, 0, 0, 136, 0, 0, 0, 47, 0, 0, 0, 152, 0, 0, 0, 4, 0, 0, 0, 241, 0, 0, 0, 124, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, 119, 0, 0, 0, 129, 0, 0, 0, 33, 0, 0, 0, 97, 0, 0, 0, 9, 0, 0, 0, 246, 0, 0, 0, 78, 0, 0, 0, 241, 0, 0, 0, 146, 0, -0, 0, 238, 0, 0, 0, 99, 0, 0, 0, 97, 0, 0, 0, 115, 0, 0, 0, 135, 0, 0, 0, 199, 0, 0, 0, 84, 0, 0, 0, 14, 0, 0, 0, 66, 0, 0, 0, 75, 0, 0, 0, 201, 0, 0, 0, 71, 0, 0, 0, 209, 0, 0, 0, 184, 0, 0, 0, 126, 0, 0, 0, 145, 0, 0, 0, 117, 0, 0, 0, 55, 0, 0, 0, 153, 0, 0, 0, 40, 0, 0, 0, 184, 0, 0, 0, 221, 0, 0, 0, 127, 0, 0, 0, 80, 0, 0, 0, 137, 0, 0, 0, 143, 0, 0, 0, 192, 0, 0, 0, 190, 0, 0, 0, 93, 0, 0, 0, 214, 0, 0, 0, 159, 0, 0, 0, 160, 0, 0, 0, 240, 0, 0, 0, 157, 0, 0, 0, 129, 0, 0, 0, 206, 0, 0, 0, 58, -0, 0, 0, 123, 0, 0, 0, 152, 0, 0, 0, 88, 0, 0, 0, 187, 0, 0, 0, 215, 0, 0, 0, 120, 0, 0, 0, 200, 0, 0, 0, 63, 0, 0, 0, 19, 0, 0, 0, 241, 0, 0, 0, 116, 0, 0, 0, 25, 0, 0, 0, 223, 0, 0, 0, 248, 0, 0, 0, 152, 0, 0, 0, 137, 0, 0, 0, 93, 0, 0, 0, 250, 0, 0, 0, 95, 0, 0, 0, 158, 0, 0, 0, 53, 0, 0, 0, 133, 0, 0, 0, 148, 0, 0, 0, 71, 0, 0, 0, 31, 0, 0, 0, 144, 0, 0, 0, 21, 0, 0, 0, 38, 0, 0, 0, 208, 0, 0, 0, 132, 0, 0, 0, 237, 0, 0, 0, 138, 0, 0, 0, 128, 0, 0, 0, 247, 0, 0, 0, 99, 0, 0, 0, 66, 0, 0, 0, 134, -0, 0, 0, 39, 0, 0, 0, 215, 0, 0, 0, 244, 0, 0, 0, 117, 0, 0, 0, 88, 0, 0, 0, 220, 0, 0, 0, 156, 0, 0, 0, 192, 0, 0, 0, 34, 0, 0, 0, 126, 0, 0, 0, 32, 0, 0, 0, 53, 0, 0, 0, 253, 0, 0, 0, 31, 0, 0, 0, 104, 0, 0, 0, 14, 0, 0, 0, 111, 0, 0, 0, 151, 0, 0, 0, 186, 0, 0, 0, 112, 0, 0, 0, 187, 0, 0, 0, 163, 0, 0, 0, 14, 0, 0, 0, 229, 0, 0, 0, 11, 0, 0, 0, 18, 0, 0, 0, 244, 0, 0, 0, 162, 0, 0, 0, 220, 0, 0, 0, 71, 0, 0, 0, 248, 0, 0, 0, 230, 0, 0, 0, 208, 0, 0, 0, 35, 0, 0, 0, 108, 0, 0, 0, 51, 0, 0, 0, 168, -0, 0, 0, 153, 0, 0, 0, 70, 0, 0, 0, 110, 0, 0, 0, 15, 0, 0, 0, 68, 0, 0, 0, 186, 0, 0, 0, 118, 0, 0, 0, 72, 0, 0, 0, 15, 0, 0, 0, 163, 0, 0, 0, 42, 0, 0, 0, 97, 0, 0, 0, 55, 0, 0, 0, 226, 0, 0, 0, 89, 0, 0, 0, 18, 0, 0, 0, 14, 0, 0, 0, 39, 0, 0, 0, 186, 0, 0, 0, 100, 0, 0, 0, 67, 0, 0, 0, 174, 0, 0, 0, 192, 0, 0, 0, 66, 0, 0, 0, 105, 0, 0, 0, 121, 0, 0, 0, 164, 0, 0, 0, 30, 0, 0, 0, 41, 0, 0, 0, 139, 0, 0, 0, 21, 0, 0, 0, 235, 0, 0, 0, 248, 0, 0, 0, 175, 0, 0, 0, 212, 0, 0, 0, 162, 0, 0, 0, 104, -0, 0, 0, 51, 0, 0, 0, 181, 0, 0, 0, 122, 0, 0, 0, 36, 0, 0, 0, 44, 0, 0, 0, 25, 0, 0, 0, 51, 0, 0, 0, 221, 0, 0, 0, 27, 0, 0, 0, 171, 0, 0, 0, 236, 0, 0, 0, 1, 0, 0, 0, 176, 0, 0, 0, 35, 0, 0, 0, 248, 0, 0, 0, 66, 0, 0, 0, 43, 0, 0, 0, 6, 0, 0, 0, 136, 0, 0, 0, 234, 0, 0, 0, 61, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 120, 0, 0, 0, 69, 0, 0, 0, 77, 0, 0, 0, 56, 0, 0, 0, 237, 0, 0, 0, 46, 0, 0, 0, 46, 0, 0, 0, 68, 0, 0, 0, 73, 0, 0, 0, 237, 0, 0, 0, 203, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 160, 0, 0, 0, 104, 0, 0, 0, 232, 0, 0, 0, 65, 0, 0, 0, 143, 0, 0, 0, 145, 0, 0, 0, 248, 0, 0, 0, 17, 0, 0, 0, 19, 0, 0, 0, 144, 0, 0, 0, 46, 0, 0, 0, 167, 0, 0, 0, 171, 0, 0, 0, 48, 0, 0, 0, 239, 0, 0, 0, 173, 0, 0, 0, 160, 0, 0, 0, 97, 0, 0, 0, 0, -0, 0, 0, 136, 0, 0, 0, 239, 0, 0, 0, 219, 0, 0, 0, 206, 0, 0, 0, 91, 0, 0, 0, 92, 0, 0, 0, 187, 0, 0, 0, 98, 0, 0, 0, 200, 0, 0, 0, 86, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 115, 0, 0, 0, 63, 0, 0, 0, 96, 0, 0, 0, 193, 0, 0, 0, 130, 0, 0, 0, 45, 0, 0, 0, 163, 0, 0, 0, 40, 0, 0, 0, 88, 0, 0, 0, 36, 0, 0, 0, 158, 0, 0, 0, 159, 0, 0, 0, 227, 0, 0, 0, 112, 0, 0, 0, 204, 0, 0, 0, 9, 0, 0, 0, 78, 0, 0, 0, 26, 0, 0, 0, 63, 0, 0, 0, 17, 0, 0, 0, 17, 0, 0, 0, 21, 0, 0, 0, 7, 0, 0, 0, 60, 0, 0, 0, 164, 0, 0, -0, 65, 0, 0, 0, 224, 0, 0, 0, 101, 0, 0, 0, 163, 0, 0, 0, 10, 0, 0, 0, 65, 0, 0, 0, 109, 0, 0, 0, 17, 0, 0, 0, 49, 0, 0, 0, 64, 0, 0, 0, 1, 0, 0, 0, 82, 0, 0, 0, 86, 0, 0, 0, 148, 0, 0, 0, 91, 0, 0, 0, 40, 0, 0, 0, 138, 0, 0, 0, 170, 0, 0, 0, 82, 0, 0, 0, 238, 0, 0, 0, 216, 0, 0, 0, 10, 0, 0, 0, 5, 0, 0, 0, 141, 0, 0, 0, 205, 0, 0, 0, 181, 0, 0, 0, 170, 0, 0, 0, 46, 0, 0, 0, 56, 0, 0, 0, 170, 0, 0, 0, 183, 0, 0, 0, 135, 0, 0, 0, 247, 0, 0, 0, 43, 0, 0, 0, 251, 0, 0, 0, 4, 0, 0, 0, 203, 0, 0, 0, 132, -0, 0, 0, 61, 0, 0, 0, 84, 0, 0, 0, 32, 0, 0, 0, 239, 0, 0, 0, 89, 0, 0, 0, 222, 0, 0, 0, 164, 0, 0, 0, 43, 0, 0, 0, 147, 0, 0, 0, 110, 0, 0, 0, 46, 0, 0, 0, 236, 0, 0, 0, 66, 0, 0, 0, 154, 0, 0, 0, 212, 0, 0, 0, 45, 0, 0, 0, 244, 0, 0, 0, 70, 0, 0, 0, 88, 0, 0, 0, 39, 0, 0, 0, 43, 0, 0, 0, 24, 0, 0, 0, 143, 0, 0, 0, 131, 0, 0, 0, 61, 0, 0, 0, 105, 0, 0, 0, 158, 0, 0, 0, 212, 0, 0, 0, 62, 0, 0, 0, 182, 0, 0, 0, 197, 0, 0, 0, 253, 0, 0, 0, 88, 0, 0, 0, 3, 0, 0, 0, 51, 0, 0, 0, 137, 0, 0, 0, 201, 0, -0, 0, 99, 0, 0, 0, 98, 0, 0, 0, 28, 0, 0, 0, 23, 0, 0, 0, 180, 0, 0, 0, 96, 0, 0, 0, 196, 0, 0, 0, 38, 0, 0, 0, 104, 0, 0, 0, 9, 0, 0, 0, 195, 0, 0, 0, 46, 0, 0, 0, 55, 0, 0, 0, 15, 0, 0, 0, 123, 0, 0, 0, 180, 0, 0, 0, 156, 0, 0, 0, 182, 0, 0, 0, 249, 0, 0, 0, 251, 0, 0, 0, 212, 0, 0, 0, 81, 0, 0, 0, 120, 0, 0, 0, 200, 0, 0, 0, 99, 0, 0, 0, 234, 0, 0, 0, 119, 0, 0, 0, 71, 0, 0, 0, 7, 0, 0, 0, 50, 0, 0, 0, 180, 0, 0, 0, 24, 0, 0, 0, 71, 0, 0, 0, 121, 0, 0, 0, 203, 0, 0, 0, 212, 0, 0, 0, 90, 0, 0, -0, 7, 0, 0, 0, 20, 0, 0, 0, 15, 0, 0, 0, 160, 0, 0, 0, 213, 0, 0, 0, 172, 0, 0, 0, 208, 0, 0, 0, 65, 0, 0, 0, 64, 0, 0, 0, 171, 0, 0, 0, 97, 0, 0, 0, 35, 0, 0, 0, 229, 0, 0, 0, 42, 0, 0, 0, 42, 0, 0, 0, 111, 0, 0, 0, 247, 0, 0, 0, 168, 0, 0, 0, 212, 0, 0, 0, 118, 0, 0, 0, 239, 0, 0, 0, 231, 0, 0, 0, 69, 0, 0, 0, 108, 0, 0, 0, 161, 0, 0, 0, 94, 0, 0, 0, 96, 0, 0, 0, 79, 0, 0, 0, 251, 0, 0, 0, 225, 0, 0, 0, 112, 0, 0, 0, 106, 0, 0, 0, 31, 0, 0, 0, 85, 0, 0, 0, 79, 0, 0, 0, 9, 0, 0, 0, 180, 0, 0, 0, -149, 0, 0, 0, 51, 0, 0, 0, 54, 0, 0, 0, 198, 0, 0, 0, 129, 0, 0, 0, 1, 0, 0, 0, 24, 0, 0, 0, 6, 0, 0, 0, 37, 0, 0, 0, 39, 0, 0, 0, 164, 0, 0, 0, 180, 0, 0, 0, 36, 0, 0, 0, 164, 0, 0, 0, 134, 0, 0, 0, 3, 0, 0, 0, 76, 0, 0, 0, 172, 0, 0, 0, 2, 0, 0, 0, 119, 0, 0, 0, 56, 0, 0, 0, 222, 0, 0, 0, 215, 0, 0, 0, 96, 0, 0, 0, 72, 0, 0, 0, 7, 0, 0, 0, 240, 0, 0, 0, 116, 0, 0, 0, 168, 0, 0, 0, 255, 0, 0, 0, 84, 0, 0, 0, 229, 0, 0, 0, 48, 0, 0, 0, 67, 0, 0, 0, 255, 0, 0, 0, 119, 0, 0, 0, 251, 0, 0, 0, 33, 0, -0, 0, 7, 0, 0, 0, 255, 0, 0, 0, 178, 0, 0, 0, 7, 0, 0, 0, 107, 0, 0, 0, 228, 0, 0, 0, 229, 0, 0, 0, 48, 0, 0, 0, 252, 0, 0, 0, 25, 0, 0, 0, 108, 0, 0, 0, 163, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 197, 0, 0, 0, 44, 0, 0, 0, 172, 0, 0, 0, -211, 0, 0, 0, 131, 0, 0, 0, 130, 0, 0, 0, 124, 0, 0, 0, 41, 0, 0, 0, 247, 0, 0, 0, 5, 0, 0, 0, 165, 0, 0, 0, 0, 0, 0, 0, 182, 0, 0, 0, 31, 0, 0, 0, 134, 0, 0, 0, 85, 0, 0, 0, 244, 0, 0, 0, 214, 0, 0, 0, 47, 0, 0, 0, 12, 0, 0, 0, 153, 0, 0, 0, 208, 0, 0, 0, 101, 0, 0, 0, 155, 0, 0, 0, 107, 0, 0, 0, 70, 0, 0, 0, 13, 0, 0, 0, 67, 0, 0, 0, 248, 0, 0, 0, 22, 0, 0, 0, 40, 0, 0, 0, 30, 0, 0, 0, 127, 0, 0, 0, 180, 0, 0, 0, 116, 0, 0, 0, 126, 0, 0, 0, 177, 0, 0, 0, 137, 0, 0, 0, 79, 0, 0, 0, 24, 0, 0, 0, -90, 0, 0, 0, 171, 0, 0, 0, 100, 0, 0, 0, 6, 0, 0, 0, 223, 0, 0, 0, 69, 0, 0, 0, 135, 0, 0, 0, 224, 0, 0, 0, 106, 0, 0, 0, 198, 0, 0, 0, 240, 0, 0, 0, 14, 0, 0, 0, 201, 0, 0, 0, 36, 0, 0, 0, 53, 0, 0, 0, 56, 0, 0, 0, 234, 0, 0, 0, 48, 0, 0, 0, 84, 0, 0, 0, 180, 0, 0, 0, 196, 0, 0, 0, 82, 0, 0, 0, 84, 0, 0, 0, 233, 0, 0, 0, 159, 0, 0, 0, 220, 0, 0, 0, 63, 0, 0, 0, 193, 0, 0, 0, 137, 0, 0, 0, 68, 0, 0, 0, 116, 0, 0, 0, 39, 0, 0, 0, 228, 0, 0, 0, 193, 0, 0, 0, 144, 0, 0, 0, 255, 0, 0, 0, 74, 0, 0, 0, -167, 0, 0, 0, 60, 0, 0, 0, 238, 0, 0, 0, 205, 0, 0, 0, 244, 0, 0, 0, 29, 0, 0, 0]).concat([37, 0, 0, 0, 148, 0, 0, 0, 127, 0, 0, 0, 99, 0, 0, 0, 22, 0, 0, 0, 72, 0, 0, 0, 188, 0, 0, 0, 100, 0, 0, 0, 254, 0, 0, 0, 149, 0, 0, 0, 196, 0, 0, 0, 12, 0, 0, 0, 139, 0, 0, 0, 25, 0, 0, 0, 117, 0, 0, 0, 110, 0, 0, 0, 3, 0, 0, 0, 6, 0, 0, 0, 94, 0, 0, 0, 106, 0, 0, 0, 111, 0, 0, 0, 26, 0, 0, 0, 140, 0, 0, 0, 227, 0, 0, 0, 211, 0, 0, 0, 40, 0, 0, 0, 242, 0, 0, 0, 224, 0, 0, 0, 185, 0, 0, 0, 122, 0, 0, 0, 67, -0, 0, 0, 105, 0, 0, 0, 230, 0, 0, 0, 211, 0, 0, 0, 192, 0, 0, 0, 254, 0, 0, 0, 126, 0, 0, 0, 151, 0, 0, 0, 171, 0, 0, 0, 108, 0, 0, 0, 123, 0, 0, 0, 142, 0, 0, 0, 19, 0, 0, 0, 66, 0, 0, 0, 212, 0, 0, 0, 202, 0, 0, 0, 112, 0, 0, 0, 61, 0, 0, 0, 171, 0, 0, 0, 251, 0, 0, 0, 95, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 204, 0, 0, 0, 119, 0, 0, 0, 34, 0, 0, 0, 248, 0, 0, 0, 120, 0, 0, 0, 85, 0, 0, 0, 174, 0, 0, 0, 98, 0, 0, 0, 53, 0, 0, 0, 251, 0, 0, 0, 154, 0, 0, 0, 198, 0, 0, 0, 3, 0, 0, 0, 228, -0, 0, 0, 12, 0, 0, 0, 238, 0, 0, 0, 171, 0, 0, 0, 199, 0, 0, 0, 192, 0, 0, 0, 137, 0, 0, 0, 135, 0, 0, 0, 84, 0, 0, 0, 50, 0, 0, 0, 173, 0, 0, 0, 174, 0, 0, 0, 133, 0, 0, 0, 88, 0, 0, 0, 67, 0, 0, 0, 184, 0, 0, 0, 177, 0, 0, 0, 230, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 156, 0, 0, 0, 120, 0, 0, 0, 136, 0, 0, 0, 86, 0, 0, 0, 219, 0, 0, 0, 156, 0, 0, 0, 252, 0, 0, 0, 121, 0, 0, 0, 246, 0, 0, 0, 249, 0, 0, 0, 65, 0, 0, 0, 95, 0, 0, 0, 183, 0, 0, 0, 188, 0, 0, 0, 17, 0, 0, 0, 249, 0, 0, 0, 32, 0, 0, 0, 54, -0, 0, 0, 28, 0, 0, 0, 83, 0, 0, 0, 43, 0, 0, 0, 90, 0, 0, 0, 32, 0, 0, 0, 91, 0, 0, 0, 161, 0, 0, 0, 165, 0, 0, 0, 68, 0, 0, 0, 145, 0, 0, 0, 36, 0, 0, 0, 2, 0, 0, 0, 99, 0, 0, 0, 18, 0, 0, 0, 100, 0, 0, 0, 184, 0, 0, 0, 85, 0, 0, 0, 246, 0, 0, 0, 222, 0, 0, 0, 44, 0, 0, 0, 219, 0, 0, 0, 71, 0, 0, 0, 184, 0, 0, 0, 198, 0, 0, 0, 10, 0, 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, 120, 0, 0, 0, 147, 0, 0, 0, 216, 0, 0, 0, 245, 0, 0, 0, 245, 0, 0, 0, 24, 0, 0, 0, 40, 0, 0, 0, 10, 0, 0, 0, 214, 0, 0, 0, 27, 0, 0, -0, 154, 0, 0, 0, 108, 0, 0, 0, 229, 0, 0, 0, 70, 0, 0, 0, 234, 0, 0, 0, 112, 0, 0, 0, 150, 0, 0, 0, 141, 0, 0, 0, 78, 0, 0, 0, 42, 0, 0, 0, 82, 0, 0, 0, 33, 0, 0, 0, 38, 0, 0, 0, 75, 0, 0, 0, 177, 0, 0, 0, 187, 0, 0, 0, 15, 0, 0, 0, 124, 0, 0, 0, 169, 0, 0, 0, 155, 0, 0, 0, 4, 0, 0, 0, 187, 0, 0, 0, 81, 0, 0, 0, 8, 0, 0, 0, 241, 0, 0, 0, 154, 0, 0, 0, 164, 0, 0, 0, 118, 0, 0, 0, 124, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 148, 0, 0, 0, 247, 0, 0, 0, 64, 0, 0, 0, 208, 0, 0, 0, 215, 0, 0, 0, 235, 0, 0, 0, 169, 0, 0, 0, 130, 0, 0, 0, 54, 0, 0, 0, 213, 0, 0, 0, 21, 0, 0, 0, 185, 0, 0, 0, 51, 0, 0, 0, 122, 0, 0, 0, 191, 0, 0, 0, 138, 0, 0, 0, 242, 0, 0, 0, 99, 0, 0, 0, 170, 0, 0, 0, 55, 0, 0, 0, 245, 0, 0, 0, 89, 0, 0, 0, 172, 0, 0, 0, -189, 0, 0, 0, 187, 0, 0, 0, 50, 0, 0, 0, 54, 0, 0, 0, 190, 0, 0, 0, 115, 0, 0, 0, 153, 0, 0, 0, 56, 0, 0, 0, 44, 0, 0, 0, 179, 0, 0, 0, 218, 0, 0, 0, 122, 0, 0, 0, 216, 0, 0, 0, 61, 0, 0, 0, 153, 0, 0, 0, 202, 0, 0, 0, 210, 0, 0, 0, 244, 0, 0, 0, 218, 0, 0, 0, 153, 0, 0, 0, 142, 0, 0, 0, 79, 0, 0, 0, 152, 0, 0, 0, 183, 0, 0, 0, 244, 0, 0, 0, 174, 0, 0, 0, 62, 0, 0, 0, 159, 0, 0, 0, 142, 0, 0, 0, 53, 0, 0, 0, 96, 0, 0, 0, 164, 0, 0, 0, 51, 0, 0, 0, 117, 0, 0, 0, 164, 0, 0, 0, 4, 0, 0, 0, 147, 0, 0, -0, 177, 0, 0, 0, 107, 0, 0, 0, 77, 0, 0, 0, 151, 0, 0, 0, 157, 0, 0, 0, 168, 0, 0, 0, 205, 0, 0, 0, 151, 0, 0, 0, 123, 0, 0, 0, 157, 0, 0, 0, 185, 0, 0, 0, 231, 0, 0, 0, 165, 0, 0, 0, 239, 0, 0, 0, 253, 0, 0, 0, 168, 0, 0, 0, 66, 0, 0, 0, 107, 0, 0, 0, 195, 0, 0, 0, 98, 0, 0, 0, 100, 0, 0, 0, 125, 0, 0, 0, 165, 0, 0, 0, 27, 0, 0, 0, 201, 0, 0, 0, 158, 0, 0, 0, 210, 0, 0, 0, 69, 0, 0, 0, 185, 0, 0, 0, 238, 0, 0, 0, 3, 0, 0, 0, 176, 0, 0, 0, 191, 0, 0, 0, 192, 0, 0, 0, 104, 0, 0, 0, 237, 0, 0, 0, 183, -0, 0, 0, 132, 0, 0, 0, 44, 0, 0, 0, 246, 0, 0, 0, 211, 0, 0, 0, 161, 0, 0, 0, 107, 0, 0, 0, 36, 0, 0, 0, 109, 0, 0, 0, 135, 0, 0, 0, 86, 0, 0, 0, 151, 0, 0, 0, 89, 0, 0, 0, 121, 0, 0, 0, 98, 0, 0, 0, 159, 0, 0, 0, 172, 0, 0, 0, 237, 0, 0, 0, 243, 0, 0, 0, 201, 0, 0, 0, 137, 0, 0, 0, 33, 0, 0, 0, 46, 0, 0, 0, 4, 0, 0, 0, 179, 0, 0, 0, 204, 0, 0, 0, 47, 0, 0, 0, 190, 0, 0, 0, 214, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0, 57, 0, 0, 0, 97, 0, 0, 0, 5, 0, 0, 0, 237, 0, 0, 0, 37, 0, 0, 0, 137, 0, 0, 0, 139, -0, 0, 0, 93, 0, 0, 0, 27, 0, 0, 0, 203, 0, 0, 0, 12, 0, 0, 0, 85, 0, 0, 0, 244, 0, 0, 0, 106, 0, 0, 0, 0, 0, 0, 0, 138, 0, 0, 0, 70, 0, 0, 0, 232, 0, 0, 0, 30, 0, 0, 0, 198, 0, 0, 0, 131, 0, 0, 0, 200, 0, 0, 0, 90, 0, 0, 0, 118, 0, 0, 0, 219, 0, 0, 0, 204, 0, 0, 0, 25, 0, 0, 0, 122, 0, 0, 0, 204, 0, 0, 0, 103, 0, 0, 0, 70, 0, 0, 0, 11, 0, 0, 0, 83, 0, 0, 0, 207, 0, 0, 0, 194, 0, 0, 0, 161, 0, 0, 0, 173, 0, 0, 0, 106, 0, 0, 0, 243, 0, 0, 0, 205, 0, 0, 0, 143, 0, 0, 0, 201, 0, 0, 0, 222, 0, 0, 0, 28, -0, 0, 0, 248, 0, 0, 0, 108, 0, 0, 0, 143, 0, 0, 0, 248, 0, 0, 0, 118, 0, 0, 0, 66, 0, 0, 0, 231, 0, 0, 0, 254, 0, 0, 0, 178, 0, 0, 0, 114, 0, 0, 0, 33, 0, 0, 0, 10, 0, 0, 0, 102, 0, 0, 0, 116, 0, 0, 0, 143, 0, 0, 0, 183, 0, 0, 0, 235, 0, 0, 0, 228, 0, 0, 0, 111, 0, 0, 0, 1, 0, 0, 0, 34, 0, 0, 0, 140, 0, 0, 0, 107, 0, 0, 0, 190, 0, 0, 0, 252, 0, 0, 0, 77, 0, 0, 0, 112, 0, 0, 0, 98, 0, 0, 0, 110, 0, 0, 0, 82, 0, 0, 0, 119, 0, 0, 0, 153, 0, 0, 0, 136, 0, 0, 0, 126, 0, 0, 0, 123, 0, 0, 0, 87, 0, 0, 0, -122, 0, 0, 0, 13, 0, 0, 0, 254, 0, 0, 0, 220, 0, 0, 0, 114, 0, 0, 0, 146, 0, 0, 0, 241, 0, 0, 0, 104, 0, 0, 0, 29, 0, 0, 0, 151, 0, 0, 0, 215, 0, 0, 0, 124, 0, 0, 0, 141, 0, 0, 0, 83, 0, 0, 0, 16, 0, 0, 0, 55, 0, 0, 0, 83, 0, 0, 0, 136, 0, 0, 0, 119, 0, 0, 0, 2, 0, 0, 0, 202, 0, 0, 0, 39, 0, 0, 0, 168, 0, 0, 0, 229, 0, 0, 0, 69, 0, 0, 0, 226, 0, 0, 0, 168, 0, 0, 0, 72, 0, 0, 0, 42, 0, 0, 0, 171, 0, 0, 0, 24, 0, 0, 0, 202, 0, 0, 0, 234, 0, 0, 0, 45, 0, 0, 0, 42, 0, 0, 0, 84, 0, 0, 0, 23, 0, 0, 0, -55, 0, 0, 0, 50, 0, 0, 0, 9, 0, 0, 0, 220, 0, 0, 0, 224, 0, 0, 0, 74, 0, 0, 0, 183, 0, 0, 0, 125, 0, 0, 0, 130, 0, 0, 0, 16, 0, 0, 0, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 138, 0, 0, 0, 100, 0, 0, 0, 30, 0, 0, 0, 20, 0, 0, 0, 10, 0, 0, 0, 87, 0, 0, 0, 212, 0, -0, 0, 218, 0, 0, 0, 92, 0, 0, 0, 150, 0, 0, 0, 155, 0, 0, 0, 1, 0, 0, 0, 76, 0, 0, 0, 103, 0, 0, 0, 191, 0, 0, 0, 139, 0, 0, 0, 48, 0, 0, 0, 254, 0, 0, 0, 8, 0, 0, 0, 219, 0, 0, 0, 13, 0, 0, 0, 213, 0, 0, 0, 168, 0, 0, 0, 215, 0, 0, 0, 9, 0, 0, 0, 17, 0, 0, 0, 133, 0, 0, 0, 162, 0, 0, 0, 211, 0, 0, 0, 69, 0, 0, 0, 251, 0, 0, 0, 126, 0, 0, 0, 218, 0, 0, 0, 140, 0, 0, 0, 194, 0, 0, 0, 208, 0, 0, 0, 172, 0, 0, 0, 24, 0, 0, 0, 232, 0, 0, 0, 82, 0, 0, 0, 54, 0, 0, 0, 212, 0, 0, 0, 33, 0, 0, 0, 163, 0, -0, 0, 221, 0, 0, 0, 87, 0, 0, 0, 34, 0, 0, 0, 121, 0, 0, 0, 183, 0, 0, 0, 248, 0, 0, 0, 113, 0, 0, 0, 157, 0, 0, 0, 198, 0, 0, 0, 145, 0, 0, 0, 112, 0, 0, 0, 134, 0, 0, 0, 86, 0, 0, 0, 191, 0, 0, 0, 161, 0, 0, 0, 17, 0, 0, 0, 139, 0, 0, 0, 25, 0, 0, 0, 225, 0, 0, 0, 15, 0, 0, 0, 24, 0, 0, 0, 50, 0, 0, 0, 152, 0, 0, 0, 44, 0, 0, 0, 143, 0, 0, 0, 145, 0, 0, 0, 174, 0, 0, 0, 18, 0, 0, 0, 240, 0, 0, 0, 140, 0, 0, 0, 234, 0, 0, 0, 243, 0, 0, 0, 60, 0, 0, 0, 185, 0, 0, 0, 93, 0, 0, 0, 228, 0, 0, 0, 105, -0, 0, 0, 237, 0, 0, 0, 178, 0, 0, 0, 71, 0, 0, 0, 24, 0, 0, 0, 189, 0, 0, 0, 206, 0, 0, 0, 22, 0, 0, 0, 82, 0, 0, 0, 92, 0, 0, 0, 35, 0, 0, 0, 226, 0, 0, 0, 165, 0, 0, 0, 37, 0, 0, 0, 82, 0, 0, 0, 93, 0, 0, 0, 185, 0, 0, 0, 177, 0, 0, 0, 231, 0, 0, 0, 93, 0, 0, 0, 78, 0, 0, 0, 188, 0, 0, 0, 238, 0, 0, 0, 187, 0, 0, 0, 64, 0, 0, 0, 129, 0, 0, 0, 119, 0, 0, 0, 130, 0, 0, 0, 25, 0, 0, 0, 171, 0, 0, 0, 181, 0, 0, 0, 198, 0, 0, 0, 238, 0, 0, 0, 171, 0, 0, 0, 91, 0, 0, 0, 107, 0, 0, 0, 99, 0, 0, 0, 146, -0, 0, 0, 138, 0, 0, 0, 52, 0, 0, 0, 141, 0, 0, 0, 205, 0, 0, 0, 238, 0, 0, 0, 79, 0, 0, 0, 73, 0, 0, 0, 229, 0, 0, 0, 201, 0, 0, 0, 126, 0, 0, 0, 33, 0, 0, 0, 172, 0, 0, 0, 139, 0, 0, 0, 34, 0, 0, 0, 205, 0, 0, 0, 195, 0, 0, 0, 154, 0, 0, 0, 233, 0, 0, 0, 94, 0, 0, 0, 120, 0, 0, 0, 189, 0, 0, 0, 222, 0, 0, 0, 186, 0, 0, 0, 173, 0, 0, 0, 171, 0, 0, 0, 191, 0, 0, 0, 117, 0, 0, 0, 65, 0, 0, 0, 9, 0, 0, 0, 197, 0, 0, 0, 88, 0, 0, 0, 164, 0, 0, 0, 125, 0, 0, 0, 146, 0, 0, 0, 176, 0, 0, 0, 127, 0, 0, 0, -242, 0, 0, 0, 161, 0, 0, 0, 209, 0, 0, 0, 192, 0, 0, 0, 179, 0, 0, 0, 109, 0, 0, 0, 98, 0, 0, 0, 79, 0, 0, 0, 208, 0, 0, 0, 117, 0, 0, 0, 119, 0, 0, 0, 186, 0, 0, 0, 118, 0, 0, 0, 119, 0, 0, 0, 215, 0, 0, 0, 184, 0, 0, 0, 216, 0, 0, 0, 146, 0, 0, 0, 111, 0, 0, 0, 152, 0, 0, 0, 52, 0, 0, 0, 61, 0, 0, 0, 214, 0, 0, 0, 78, 0, 0, 0, 28, 0, 0, 0, 15, 0, 0, 0, 240, 0, 0, 0, 143, 0, 0, 0, 46, 0, 0, 0, 241, 0, 0, 0, 179, 0, 0, 0, 189, 0, 0, 0, 177, 0, 0, 0, 185, 0, 0, 0, 236, 0, 0, 0, 153, 0, 0, 0, 180, -0, 0, 0, 7, 0, 0, 0, 96, 0, 0, 0, 87, 0, 0, 0, 46, 0, 0, 0, 154, 0, 0, 0, 114, 0, 0, 0, 29, 0, 0, 0, 107, 0, 0, 0, 110, 0, 0, 0, 88, 0, 0, 0, 51, 0, 0, 0, 36, 0, 0, 0, 140, 0, 0, 0, 72, 0, 0, 0, 57, 0, 0, 0, 70, 0, 0, 0, 142, 0, 0, 0, 137, 0, 0, 0, 106, 0, 0, 0, 136, 0, 0, 0, 81, 0, 0, 0, 35, 0, 0, 0, 98, 0, 0, 0, 181, 0, 0, 0, 50, 0, 0, 0, 9, 0, 0, 0, 54, 0, 0, 0, 227, 0, 0, 0, 87, 0, 0, 0, 245, 0, 0, 0, 152, 0, 0, 0, 222, 0, 0, 0, 111, 0, 0, 0, 139, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, -74, 0, 0, 0, 249, 0, 0, 0, 91, 0, 0, 0, 135, 0, 0, 0, 105, 0, 0, 0, 82, 0, 0, 0, 229, 0, 0, 0, 91, 0, 0, 0, 209, 0, 0, 0, 177, 0, 0, 0, 229, 0, 0, 0, 37, 0, 0, 0, 37, 0, 0, 0, 224, 0, 0, 0, 156, 0, 0, 0, 194, 0, 0, 0, 19, 0, 0, 0, 68, 0, 0, 0, 232, 0, 0, 0, 185, 0, 0, 0, 10, 0, 0, 0, 112, 0, 0, 0, 173, 0, 0, 0, 189, 0, 0, 0, 15, 0, 0, 0, 81, 0, 0, 0, 148, 0, 0, 0, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 162, 0, 0, 0, 220, 0, 0, 0, 171, 0, 0, 0, 169, 0, 0, 0, 37, 0, 0, 0, 45, 0, 0, 0, 172, 0, 0, 0, 95, 0, 0, 0, 3, 0, 0, 0, 51, 0, 0, 0, 8, 0, 0, 0, 231, 0, 0, 0, 126, 0, 0, 0, 254, 0, 0, 0, 149, 0, 0, 0, 54, 0, 0, 0, 60, 0, 0, 0, 91, 0, 0, 0, 58, 0, 0, 0, 211, 0, 0, 0, 5, 0, 0, 0, 130, 0, 0, 0, 28, 0, 0, 0, 149, 0, 0, 0, 45, 0, 0, 0, 216, 0, 0, 0, 119, 0, -0, 0, 126, 0, 0, 0, 2, 0, 0, 0, 217, 0, 0, 0, 91, 0, 0, 0, 112, 0, 0, 0, 194, 0, 0, 0, 254, 0, 0, 0, 27, 0, 0, 0, 12, 0, 0, 0, 103, 0, 0, 0, 205, 0, 0, 0, 214, 0, 0, 0, 224, 0, 0, 0, 81, 0, 0, 0, 142, 0, 0, 0, 44, 0, 0, 0, 224, 0, 0, 0, 121, 0, 0, 0, 136, 0, 0, 0, 240, 0, 0, 0, 207, 0, 0, 0, 65, 0, 0, 0, 74, 0, 0, 0, 173, 0, 0, 0, 35, 0, 0, 0, 212, 0, 0, 0, 70, 0, 0, 0, 202, 0, 0, 0, 148, 0, 0, 0, 161, 0, 0, 0, 195, 0, 0, 0, 235, 0, 0, 0, 40, 0, 0, 0, 6, 0, 0, 0, 250, 0, 0, 0, 23, 0, 0, 0, 20, 0, -0, 0, 123, 0, 0, 0, 170, 0, 0, 0, 112, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0, 251, 0, 0, 0, 245, 0, 0, 0, 191, 0, 0, 0, 128, 0, 0, 0, 197, 0, 0, 0, 207, 0, 0, 0, 8, 0, 0, 0, 122, 0, 0, 0, 221, 0, 0, 0, 161, 0, 0, 0, 244, 0, 0, 0, 157, 0, 0, 0, 84, 0, 0, 0, 80, 0, 0, 0, 83, 0, 0, 0, 35, 0, 0, 0, 119, 0, 0, 0, 35, 0, 0, 0, 245, 0, 0, 0, 52, 0, 0, 0, 165, 0, 0, 0, 34, 0, 0, 0, 209, 0, 0, 0, 13, 0, 0, 0, 150, 0, 0, 0, 46, 0, 0, 0, 71, 0, 0, 0, 204, 0, 0, 0, 183, 0, 0, 0, 50, 0, 0, 0, 137, 0, 0, 0, 87, 0, -0, 0, 208, 0, 0, 0, 152, 0, 0, 0, 117, 0, 0, 0, 228, 0, 0, 0, 55, 0, 0, 0, 153, 0, 0, 0, 169, 0, 0, 0, 232, 0, 0, 0, 186, 0, 0, 0, 237, 0, 0, 0, 186, 0, 0, 0, 235, 0, 0, 0, 199, 0, 0, 0, 79, 0, 0, 0, 21, 0, 0, 0, 118, 0, 0, 0, 7, 0, 0, 0, 12, 0, 0, 0, 76, 0, 0, 0, 239, 0, 0, 0, 159, 0, 0, 0, 82, 0, 0, 0, 252, 0, 0, 0, 4, 0, 0, 0, 93, 0, 0, 0, 88, 0, 0, 0, 16, 0, 0, 0, 206, 0, 0, 0, 130, 0, 0, 0, 240, 0, 0, 0, 143, 0, 0, 0, 121, 0, 0, 0, 2, 0, 0, 0, 168, 0, 0, 0, 209, 0, 0, 0, 218, 0, 0, 0, 20, 0, -0, 0, 9, 0, 0, 0, 72, 0, 0, 0, 238, 0, 0, 0, 138, 0, 0, 0, 64, 0, 0, 0, 152, 0, 0, 0, 118, 0, 0, 0, 96, 0, 0, 0, 84, 0, 0, 0, 90, 0, 0, 0, 222, 0, 0, 0, 3, 0, 0, 0, 36, 0, 0, 0, 245, 0, 0, 0, 230, 0, 0, 0, 47, 0, 0, 0, 225, 0, 0, 0, 3, 0, 0, 0, 191, 0, 0, 0, 104, 0, 0, 0, 130, 0, 0, 0, 127, 0, 0, 0, 100, 0, 0, 0, 233, 0, 0, 0, 40, 0, 0, 0, 199, 0, 0, 0, 164, 0, 0, 0, 207, 0, 0, 0, 42, 0, 0, 0, 249, 0, 0, 0, 144, 0, 0, 0, 100, 0, 0, 0, 114, 0, 0, 0, 44, 0, 0, 0, 139, 0, 0, 0, 235, 0, 0, 0, 236, 0, -0, 0, 160, 0, 0, 0, 242, 0, 0, 0, 125, 0, 0, 0, 53, 0, 0, 0, 181, 0, 0, 0, 144, 0, 0, 0, 77, 0, 0, 0, 127, 0, 0, 0, 91, 0, 0, 0, 74, 0, 0, 0, 73, 0, 0, 0, 228, 0, 0, 0, 184, 0, 0, 0, 59, 0, 0, 0, 200, 0, 0, 0, 161, 0, 0, 0, 47, 0, 0, 0, 139, 0, 0, 0, 197, 0, 0, 0, 204, 0, 0, 0, 61, 0, 0, 0, 105, 0, 0, 0, 166, 0, 0, 0, 161, 0, 0, 0, 24, 0, 0, 0, 68, 0, 0, 0, 188, 0, 0, 0, 77, 0, 0, 0, 119, 0, 0, 0, 55, 0, 0, 0, 199, 0, 0, 0, 134, 0, 0, 0, 236, 0, 0, 0, 12, 0, 0, 0, 201, 0, 0, 0, 214, 0, 0, 0, 68, -0, 0, 0, 169, 0, 0, 0, 35, 0, 0, 0, 39, 0, 0, 0, 185, 0, 0, 0, 3, 0, 0, 0, 52, 0, 0, 0, 167, 0, 0, 0, 10, 0, 0, 0, 213, 0, 0, 0, 199, 0, 0, 0, 52, 0, 0, 0, 55, 0, 0, 0, 249, 0, 0, 0, 126, 0, 0, 0, 62, 0, 0, 0, 102, 0, 0, 0, 238, 0, 0, 0, 249, 0, 0, 0, 153, 0, 0, 0, 40, 0, 0, 0, 255, 0, 0, 0, 173, 0, 0, 0, 17, 0, 0, 0, 216, 0, 0, 0, 226, 0, 0, 0, 102, 0, 0, 0, 197, 0, 0, 0, 205, 0, 0, 0, 15, 0, 0, 0, 13, 0, 0, 0, 11, 0, 0, 0, 106, 0, 0, 0, 252, 0, 0, 0, 124, 0, 0, 0, 36, 0, 0, 0, 168, 0, 0, 0, 79, -0, 0, 0, 168, 0, 0, 0, 94, 0, 0, 0, 128, 0, 0, 0, 69, 0, 0, 0, 139, 0, 0, 0, 108, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, 0, 0, 0, 30, 0, 0, 0, 236, 0, 0, 0, 247, 0, 0, 0, 141, 0, 0, 0, 119, 0, 0, 0, 242, 0, 0, 0, 234, 0, 0, 0, 219, 0, 0, 0, 96, 0, -0, 0, 3, 0, 0, 0, 33, 0, 0, 0, 192, 0, 0, 0, 255, 0, 0, 0, 94, 0, 0, 0, 103, 0, 0, 0, 195, 0, 0, 0, 113, 0, 0, 0, 11, 0, 0, 0, 33, 0, 0, 0, 180, 0, 0, 0, 65, 0, 0, 0, 160, 0, 0, 0, 104, 0, 0, 0, 56, 0, 0, 0, 198, 0, 0, 0, 1, 0, 0, 0, 163, 0, 0, 0, 211, 0, 0, 0, 81, 0, 0, 0, 60, 0, 0, 0, 60, 0, 0, 0, 146, 0, 0, 0, 248, 0, 0, 0, 214, 0, 0, 0, 75, 0, 0, 0, 239, 0, 0, 0, 66, 0, 0, 0, 19, 0, 0, 0, 178, 0, 0, 0, 74, 0, 0, 0, 196, 0, 0, 0, 46, 0, 0, 0, 114, 0, 0, 0, 63, 0, 0, 0, 201, 0, 0, 0, 17, 0, 0, -0, 189, 0, 0, 0, 116, 0, 0, 0, 2, 0, 0, 0, 14, 0, 0, 0, 245, 0, 0, 0, 19, 0, 0, 0, 157, 0, 0, 0, 131, 0, 0, 0, 26, 0, 0, 0, 27, 0, 0, 0, 213, 0, 0, 0, 84, 0, 0, 0, 222, 0, 0, 0, 196, 0, 0, 0, 30, 0, 0, 0, 22, 0, 0, 0, 108, 0, 0, 0, 39, 0, 0, 0, 82, 0, 0, 0, 228, 0, 0, 0, 99, 0, 0, 0, 170, 0, 0, 0, 148, 0, 0, 0, 230, 0, 0, 0, 195, 0, 0, 0, 40, 0, 0, 0, 156, 0, 0, 0, 198, 0, 0, 0, 86, 0, 0, 0, 172, 0, 0, 0, 250, 0, 0, 0, 182, 0, 0, 0, 189, 0, 0, 0, 226, 0, 0, 0, 204, 0, 0, 0, 118, 0, 0, 0, 198, 0, -0, 0, 39, 0, 0, 0, 39, 0, 0, 0, 162, 0, 0, 0, 142, 0, 0, 0, 120, 0, 0, 0, 43, 0, 0, 0, 132, 0, 0, 0, 114, 0, 0, 0, 16, 0, 0, 0, 189, 0, 0, 0, 78, 0, 0, 0, 42, 0, 0, 0, 234, 0, 0, 0, 167, 0, 0, 0, 35, 0, 0, 0, 239, 0, 0, 0, 4, 0, 0, 0, 97, 0, 0, 0, 128, 0, 0, 0, 80, 0, 0, 0, 201, 0, 0, 0, 110, 0, 0, 0, 165, 0, 0, 0, 150, 0, 0, 0, 209, 0, 0, 0, 209, 0, 0, 0, 200, 0, 0, 0, 195, 0, 0, 0, 24, 0, 0, 0, 215, 0, 0, 0, 45, 0, 0, 0, 253, 0, 0, 0, 38, 0, 0, 0, 189, 0, 0, 0, 203, 0, 0, 0, 123, 0, 0, 0, 146, -0, 0, 0, 81, 0, 0, 0, 14, 0, 0, 0, 74, 0, 0, 0, 101, 0, 0, 0, 87, 0, 0, 0, 184, 0, 0, 0, 73, 0, 0, 0, 171, 0, 0, 0, 85, 0, 0, 0, 54, 0, 0, 0, 195, 0, 0, 0, 236, 0, 0, 0, 99, 0, 0, 0, 85, 0, 0, 0, 17, 0, 0, 0, 85, 0, 0, 0, 246, 0, 0, 0, 165, 0, 0, 0, 199, 0, 0, 0, 1, 0, 0, 0, 95, 0, 0, 0, 254, 0, 0, 0, 121, 0, 0, 0, 216, 0, 0, 0, 10, 0, 0, 0, 247, 0, 0, 0, 3, 0, 0, 0, 216, 0, 0, 0, 152, 0, 0, 0, 153, 0, 0, 0, 245, 0, 0, 0, 208, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 107, 0, 0, 0, 102, 0, 0, 0, 40, 0, 0, -0, 245, 0, 0, 0, 37, 0, 0, 0, 122, 0, 0, 0, 141, 0, 0, 0, 161, 0, 0, 0, 93, 0, 0, 0, 112, 0, 0, 0, 93, 0, 0, 0, 81, 0, 0, 0, 39, 0, 0, 0, 238, 0, 0, 0, 48, 0, 0, 0, 101, 0, 0, 0, 86, 0, 0, 0, 149, 0, 0, 0, 70, 0, 0, 0, 222, 0, 0, 0, 189, 0, 0, 0, 3, 0, 0, 0, 117, 0, 0, 0, 180, 0, 0, 0, 87, 0, 0, 0, 89, 0, 0, 0, 137, 0, 0, 0, 235, 0, 0, 0, 2, 0, 0, 0, 158, 0, 0, 0, 204, 0, 0, 0, 137, 0, 0, 0, 25, 0, 0, 0, 167, 0, 0, 0, 203, 0, 0, 0, 23, 0, 0, 0, 103, 0, 0, 0, 106, 0, 0, 0, 235, 0, 0, 0, 252, 0, 0, -0, 154, 0, 0, 0, 154, 0, 0, 0, 16, 0, 0, 0, 206, 0, 0, 0, 219, 0, 0, 0, 58, 0, 0, 0, 28, 0, 0, 0, 60, 0, 0, 0, 106, 0, 0, 0, 157, 0, 0, 0, 234, 0, 0, 0, 70, 0, 0, 0, 188, 0, 0, 0, 69, 0, 0, 0, 73, 0, 0, 0, 172, 0, 0, 0, 227, 0, 0, 0, 65, 0, 0, 0, 18, 0, 0, 0, 124, 0, 0, 0, 240, 0, 0, 0, 247, 0, 0, 0, 79, 0, 0, 0, 249, 0, 0, 0, 247, 0, 0, 0, 255, 0, 0, 0, 44, 0, 0, 0, 137, 0, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, 49, 0, 0, 0, 84, 0, 0, 0, 26, 0, 0, 0, 70, 0, 0, 0, 202, 0, 0, 0, 230, 0, 0, 0, 198, 0, 0, 0, -203, 0, 0, 0, 226, 0, 0, 0, 195, 0, 0, 0, 193, 0, 0, 0, 139, 0, 0, 0, 117, 0, 0, 0, 129, 0, 0, 0, 190, 0, 0, 0, 238, 0, 0, 0, 248, 0, 0, 0, 163, 0, 0, 0, 17, 0, 0, 0, 28, 0, 0, 0, 37, 0, 0, 0, 163, 0, 0, 0, 167, 0, 0, 0, 53, 0, 0, 0, 81, 0, 0, 0, 85, 0, 0, 0, 226, 0, 0, 0, 37, 0, 0, 0, 170, 0, 0, 0, 226, 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 180, 0, 0, 0, 72, 0, 0, 0, 16, 0, 0, 0, 159, 0, 0, 0, 138, 0, 0, 0, 9, 0, 0, 0, 118, 0, 0, 0, 250, 0, 0, 0, 240, 0, 0, 0, 122, 0, 0, 0, 176, 0, 0, 0, 112, 0, 0, 0, 247, 0, 0, 0, 131, 0, 0, 0, 128, 0, 0, 0, 82, 0, 0, 0, 132, 0, 0, 0, 43, 0, 0, 0, 38, 0, 0, 0, 162, 0, 0, 0, 196, 0, 0, 0, 93, 0, 0, 0, 79, 0, 0, 0, 186, 0, 0, 0, 177, 0, 0, 0, 200, 0, 0, 0, 64, 0, 0, 0, 13, 0, 0, 0, 120, 0, 0, 0, 151, 0, 0, 0, -196, 0, 0, 0, 96, 0, 0, 0, 212, 0, 0, 0, 177, 0, 0, 0, 108, 0, 0, 0, 8, 0, 0, 0, 199, 0, 0, 0, 64, 0, 0, 0, 56, 0, 0, 0, 115, 0, 0, 0, 95, 0, 0, 0, 11, 0, 0, 0, 243, 0, 0, 0, 118, 0, 0, 0, 93, 0, 0, 0, 178, 0, 0, 0, 165, 0, 0, 0, 47, 0, 0, 0, 87, 0, 0, 0, 87, 0, 0, 0, 7, 0, 0, 0, 237, 0, 0, 0, 8, 0, 0, 0, 162, 0, 0, 0, 108, 0, 0, 0, 79, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, 0, 181, 0, 0, 0, 14, 0, 0, 0, 238, 0, 0, 0, 68, 0, 0, 0, 250, 0, 0, 0, 34, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 166, 0, 0, -0, 4, 0, 0, 0, 25, 0, 0, 0, 86, 0, 0, 0, 101, 0, 0, 0, 49, 0, 0, 0, 127, 0, 0, 0, 139, 0, 0, 0, 235, 0, 0, 0, 13, 0, 0, 0, 225, 0, 0, 0, 71, 0, 0, 0, 137, 0, 0, 0, 151, 0, 0, 0, 22, 0, 0, 0, 83, 0, 0, 0, 250, 0, 0, 0, 129, 0, 0, 0, 167, 0, 0, 0, 170, 0, 0, 0, 178, 0, 0, 0, 191, 0, 0, 0, 103, 0, 0, 0, 235, 0, 0, 0, 114, 0, 0, 0, 96, 0, 0, 0, 129, 0, 0, 0, 13, 0, 0, 0, 72, 0, 0, 0, 126, 0, 0, 0, 19, 0, 0, 0, 51, 0, 0, 0, 205, 0, 0, 0, 168, 0, 0, 0, 132, 0, 0, 0, 86, 0, 0, 0, 30, 0, 0, 0, 103, 0, 0, -0, 175, 0, 0, 0, 107, 0, 0, 0, 67, 0, 0, 0, 172, 0, 0, 0, 23, 0, 0, 0, 175, 0, 0, 0, 22, 0, 0, 0, 192, 0, 0, 0, 82, 0, 0, 0, 153, 0, 0, 0, 73, 0, 0, 0, 91, 0, 0, 0, 135, 0, 0, 0, 115, 0, 0, 0, 126, 0, 0, 0, 181, 0, 0, 0, 67, 0, 0, 0, 218, 0, 0, 0, 107, 0, 0, 0, 29, 0, 0, 0, 15, 0, 0, 0, 45, 0, 0, 0, 85, 0, 0, 0, 233, 0, 0, 0, 88, 0, 0, 0, 31, 0, 0, 0, 255, 0, 0, 0, 132, 0, 0, 0, 63, 0, 0, 0, 147, 0, 0, 0, 28, 0, 0, 0, 203, 0, 0, 0, 225, 0, 0, 0, 48, 0, 0, 0, 105, 0, 0, 0, 165, 0, 0, 0, 117, 0, 0, -0, 25, 0, 0, 0, 126, 0, 0, 0, 20, 0, 0, 0, 95, 0, 0, 0, 248, 0, 0, 0, 252, 0, 0, 0, 9, 0, 0, 0, 221, 0, 0, 0, 168, 0, 0, 0, 120, 0, 0, 0, 157, 0, 0, 0, 202, 0, 0, 0, 89, 0, 0, 0, 139, 0, 0, 0, 209, 0, 0, 0, 48, 0, 0, 0, 1, 0, 0, 0, 19, 0, 0, 0, 255, 0, 0, 0, 118, 0, 0, 0, 3, 0, 0, 0, 197, 0, 0, 0, 75, 0, 0, 0, 137, 0, 0, 0, 153, 0, 0, 0, 112, 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, 0, 112, 0, 0, 0, 156, 0, 0, 0, 213, 0, 0, 0, 217, 0, 0, 0, 17, 0, 0, 0, 137, 0, 0, 0, 90, 0, 0, 0, 70, 0, 0, 0, 254, 0, 0, 0, -239, 0, 0, 0, 220, 0, 0, 0, 217, 0, 0, 0, 85, 0, 0, 0, 43, 0, 0, 0, 69, 0, 0, 0, 167, 0, 0, 0, 176, 0, 0, 0, 45, 0, 0, 0, 251, 0, 0, 0, 36, 0, 0, 0, 194, 0, 0, 0, 41, 0, 0, 0, 56, 0, 0, 0, 6, 0, 0, 0, 248, 0, 0, 0, 11, 0, 0, 0, 172, 0, 0, 0, 130, 0, 0, 0, 196, 0, 0, 0, 151, 0, 0, 0, 43, 0, 0, 0, 144, 0, 0, 0, 224, 0, 0, 0, 247, 0, 0, 0, 168, 0, 0, 0, 171, 0, 0, 0, 108, 0, 0, 0, 8, 0, 0, 0, 128, 0, 0, 0, 102, 0, 0, 0, 144, 0, 0, 0, 70, 0, 0, 0, 247, 0, 0, 0, 38, 0, 0, 0, 45, 0, 0, 0, 248, 0, 0, 0, -241, 0, 0, 0, 196, 0, 0, 0, 107, 0, 0, 0, 74, 0, 0, 0, 130, 0, 0, 0, 152, 0, 0, 0, 142, 0, 0, 0, 55, 0, 0, 0, 142, 0, 0, 0, 180, 0, 0, 0, 238, 0, 0, 0, 184, 0, 0, 0, 212, 0, 0, 0, 63, 0, 0, 0, 178, 0, 0, 0, 27, 0, 0, 0, 224, 0, 0, 0, 10, 0, 0, 0, 61, 0, 0, 0, 117, 0, 0, 0, 52, 0, 0, 0, 40, 0, 0, 0, 162, 0, 0, 0, 142, 0, 0, 0, 196, 0, 0, 0, 146, 0, 0, 0, 123, 0, 0, 0, 254, 0, 0, 0, 96, 0, 0, 0, 110, 0, 0, 0, 109, 0, 0, 0, 184, 0, 0, 0, 49, 0, 0, 0, 29, 0, 0, 0, 98, 0, 0, 0, 13, 0, 0, 0, 120, 0, 0, -0, 20, 0, 0, 0, 66, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, 0, 168, 0, 0, 0, 216, 0, 0, 0, 4, 0, 0, 0, 155, 0, 0, 0, 115, 0, 0, 0, 201, 0, 0, 0, 201, 0, 0, 0, 220, 0, 0, 0, 13, 0, 0, 0, 115, 0, 0, 0, 191, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 115, -0, 0, 0, 255, 0, 0, 0, 24, 0, 0, 0, 31, 0, 0, 0, 156, 0, 0, 0, 81, 0, 0, 0, 170, 0, 0, 0, 198, 0, 0, 0, 241, 0, 0, 0, 131, 0, 0, 0, 37, 0, 0, 0, 253, 0, 0, 0, 171, 0, 0, 0, 163, 0, 0, 0, 17, 0, 0, 0, 211, 0, 0, 0, 1, 0, 0, 0, 36, 0, 0, 0, 77, 0, 0, 0, 227, 0, 0, 0, 126, 0, 0, 0, 56, 0, 0, 0, 98, 0, 0, 0, 94, 0, 0, 0, 100, 0, 0, 0, 187, 0, 0, 0, 43, 0, 0, 0, 83, 0, 0, 0, 181, 0, 0, 0, 3, 0, 0, 0, 104, 0, 0, 0, 196, 0, 0, 0, 242, 0, 0, 0, 43, 0, 0, 0, 90, 0, 0, 0, 3, 0, 0, 0, 50, 0, 0, 0, 153, 0, 0, -0, 74, 0, 0, 0, 65, 0, 0, 0, 154, 0, 0, 0, 225, 0, 0, 0, 26, 0, 0, 0, 174, 0, 0, 0, 140, 0, 0, 0, 72, 0, 0, 0, 243, 0, 0, 0, 36, 0, 0, 0, 50, 0, 0, 0, 101, 0, 0, 0, 232, 0, 0, 0, 221, 0, 0, 0, 173, 0, 0, 0, 58, 0, 0, 0, 140, 0, 0, 0, 234, 0, 0, 0, 244, 0, 0, 0, 179, 0, 0, 0, 178, 0, 0, 0, 229, 0, 0, 0, 115, 0, 0, 0, 242, 0, 0, 0, 237, 0, 0, 0, 139, 0, 0, 0, 191, 0, 0, 0, 237, 0, 0, 0, 177, 0, 0, 0, 12, 0, 0, 0, 12, 0, 0, 0, 251, 0, 0, 0, 43, 0, 0, 0, 241, 0, 0, 0, 1, 0, 0, 0, 72, 0, 0, 0, 232, 0, -0, 0, 38, 0, 0, 0, 3, 0, 0, 0, 142, 0, 0, 0, 39, 0, 0, 0, 77, 0, 0, 0, 150, 0, 0, 0, 114, 0, 0, 0, 200, 0, 0, 0, 9, 0, 0, 0, 59, 0, 0, 0, 96, 0, 0, 0, 201, 0, 0, 0, 38, 0, 0, 0, 77, 0, 0, 0, 124, 0, 0, 0, 242, 0, 0, 0, 156, 0, 0, 0, 212, 0, 0, 0, 161, 0, 0, 0, 59, 0, 0, 0, 38, 0, 0, 0, 194, 0, 0, 0, 4, 0, 0, 0, 51, 0, 0, 0, 68, 0, 0, 0, 118, 0, 0, 0, 60, 0, 0, 0, 2, 0, 0, 0, 187, 0, 0, 0, 17, 0, 0, 0, 66, 0, 0, 0, 12, 0, 0, 0, 34, 0, 0, 0, 183, 0, 0, 0, 198, 0, 0, 0, 225, 0, 0, 0, 172, 0, 0, 0, 180, -0, 0, 0, 14, 0, 0, 0, 111, 0, 0, 0, 133, 0, 0, 0, 231, 0, 0, 0, 239, 0, 0, 0, 222, 0, 0, 0, 103, 0, 0, 0, 48, 0, 0, 0, 252, 0, 0, 0, 191, 0, 0, 0, 90, 0, 0, 0, 224, 0, 0, 0, 123, 0, 0, 0, 122, 0, 0, 0, 42, 0, 0, 0, 84, 0, 0, 0, 107, 0, 0, 0, 93, 0, 0, 0, 98, 0, 0, 0, 133, 0, 0, 0, 161, 0, 0, 0, 248, 0, 0, 0, 22, 0, 0, 0, 136, 0, 0, 0, 236, 0, 0, 0, 97, 0, 0, 0, 185, 0, 0, 0, 150, 0, 0, 0, 181, 0, 0, 0, 239, 0, 0, 0, 45, 0, 0, 0, 67, 0, 0, 0, 77, 0, 0, 0, 124, 0, 0, 0, 49, 0, 0, 0, 51, 0, 0, 0, 204, -0, 0, 0, 228, 0, 0, 0, 207, 0, 0, 0, 108, 0, 0, 0, 255, 0, 0, 0, 128, 0, 0, 0, 71, 0, 0, 0, 119, 0, 0, 0, 209, 0, 0, 0, 216, 0, 0, 0, 233, 0, 0, 0, 105, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 0, 127, 0, 0, 0, 32, 0, 0, 0, 87, 0, 0, 0, 29, 0, 0, 0, 29, 0, 0, 0, 79, 0, 0, 0, 8, 0, 0, 0, 39, 0, 0, 0, 200, 0, 0, 0, 53, 0, 0, 0, 87, 0, 0, 0, 64, 0, 0, 0, 198, 0, 0, 0, 33, 0, 0, 0, 12, 0, 0, 0, 210, 0, 0, 0, 142, 0, 0, 0, 155, 0, 0, 0, 250, 0, 0, 0, 66, 0, 0, 0, 142, 0, 0, 0, 223, 0, 0, 0, 143, 0, 0, 0, 199, -0, 0, 0, 134, 0, 0, 0, 249, 0, 0, 0, 164, 0, 0, 0, 202, 0, 0, 0, 112, 0, 0, 0, 0, 0, 0, 0, 157, 0, 0, 0, 33, 0, 0, 0, 191, 0, 0, 0, 236, 0, 0, 0, 87, 0, 0, 0, 98, 0, 0, 0, 48, 0, 0, 0, 88, 0, 0, 0, 140, 0, 0, 0, 13, 0, 0, 0, 53, 0, 0, 0, 219, 0, 0, 0, 93, 0, 0, 0, 139, 0, 0, 0, 106, 0, 0, 0, 160, 0, 0, 0, 90, 0, 0, 0, 193, 0, 0, 0, 88, 0, 0, 0, 124, 0, 0, 0, 13, 0, 0, 0, 32, 0, 0, 0, 221, 0, 0, 0, 17, 0, 0, 0, 38, 0, 0, 0, 95, 0, 0, 0, 137, 0, 0, 0, 59, 0, 0, 0, 151, 0, 0, 0, 88, 0, 0, 0, 248, 0, -0, 0, 139, 0, 0, 0, 227, 0, 0, 0, 223, 0, 0, 0, 50, 0, 0, 0, 226, 0, 0, 0, 252, 0, 0, 0, 216, 0, 0, 0, 103, 0, 0, 0, 242, 0, 0, 0, 165, 0, 0, 0, 55, 0, 0, 0, 30, 0, 0, 0, 109, 0, 0, 0, 236, 0, 0, 0, 124, 0, 0, 0, 39, 0, 0, 0, 32, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 208, 0, 0, 0, 233, 0, 0, 0, 192, 0, 0, 0, 250, 0, 0, 0, 149, 0, 0, 0, 69, 0, 0, 0, 35, 0, 0, 0, 150, 0, 0, 0, 241, 0, 0, 0, 44, 0, 0, 0, 121, 0, 0, 0, 37, 0, 0, 0, 20, 0, 0, 0, 206, 0, 0, 0, 64, 0, 0, 0, 20, 0, 0, 0, 68, 0, 0, 0, 44, 0, 0, 0, 54, 0, 0, 0, 80, 0, 0, 0, 217, 0, 0, 0, 99, 0, 0, 0, 86, 0, 0, 0, 183, 0, 0, 0, 86, 0, 0, 0, 59, 0, 0, 0, 158, 0, 0, 0, 167, 0, 0, 0, 239, 0, 0, 0, 137, 0, 0, 0, 187, 0, 0, 0, 14, 0, 0, 0, 206, 0, 0, 0, 127, 0, 0, 0, 220, 0, 0, 0, 10, 0, 0, -0, 204, 0, 0, 0, 130, 0, 0, 0, 28, 0, 0, 0, 10, 0, 0, 0, 120, 0, 0, 0, 113, 0, 0, 0, 232, 0, 0, 0, 116, 0, 0, 0, 141, 0, 0, 0, 1, 0, 0, 0, 48, 0, 0, 0, 15, 0, 0, 0, 167, 0, 0, 0, 17, 0, 0, 0, 76, 0, 0, 0, 223, 0, 0, 0, 56, 0, 0, 0, 215, 0, 0, 0, 167, 0, 0, 0, 13, 0, 0, 0, 248, 0, 0, 0, 72, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 123, 0, 0, 0, 95, 0, 0, 0, 14, 0, 0, 0, 37, 0, 0, 0, 131, 0, 0, 0, 230, 0, 0, 0, 148, 0, 0, 0, 123, 0, 0, 0, 129, 0, 0, 0, 178, 0, 0, 0, 145, 0, 0, 0, 174, 0, 0, -0, 14, 0, 0, 0, 5, 0, 0, 0, 201, 0, 0, 0, 163, 0, 0, 0, 104, 0, 0, 0, 45, 0, 0, 0, 217, 0, 0, 0, 136, 0, 0, 0, 37, 0, 0, 0, 25, 0, 0, 0, 42, 0, 0, 0, 97, 0, 0, 0, 97, 0, 0, 0, 33, 0, 0, 0, 151, 0, 0, 0, 21, 0, 0, 0, 161, 0, 0, 0, 53, 0, 0, 0, 165, 0, 0, 0, 70, 0, 0, 0, 200, 0, 0, 0, 162, 0, 0, 0, 14, 0, 0, 0, 27, 0, 0, 0, 3, 0, 0, 0, 13, 0, 0, 0, 139, 0, 0, 0, 90, 0, 0, 0, 27, 0, 0, 0, 151, 0, 0, 0, 75, 0, 0, 0, 242, 0, 0, 0, 22, 0, 0, 0, 49, 0, 0, 0, 61, 0, 0, 0, 31, 0, 0, 0, 51, 0, 0, 0, 160, 0, -0, 0, 80, 0, 0, 0, 58, 0, 0, 0, 24, 0, 0, 0, 190, 0, 0, 0, 19, 0, 0, 0, 161, 0, 0, 0, 118, 0, 0, 0, 193, 0, 0, 0, 186, 0, 0, 0, 27, 0, 0, 0, 241, 0, 0, 0, 5, 0, 0, 0, 123, 0, 0, 0, 51, 0, 0, 0, 168, 0, 0, 0, 130, 0, 0, 0, 59, 0, 0, 0, 186, 0, 0, 0, 54, 0, 0, 0, 123, 0, 0, 0, 109, 0, 0, 0, 169, 0, 0, 0, 234, 0, 0, 0, 20, 0, 0, 0, 18, 0, 0, 0, 197, 0, 0, 0, 250, 0, 0, 0, 145, 0, 0, 0, 0, 0, 0, 0, 186, 0, 0, 0, 155, 0, 0, 0, 153, 0, 0, 0, 204, 0, 0, 0, 86, 0, 0, 0, 2, 0, 0, 0, 233, 0, 0, 0, 160, 0, -0, 0, 38, 0, 0, 0, 64, 0, 0, 0, 102, 0, 0, 0, 140, 0, 0, 0, 196, 0, 0, 0, 248, 0, 0, 0, 133, 0, 0, 0, 51, 0, 0, 0, 104, 0, 0, 0, 231, 0, 0, 0, 3, 0, 0, 0, 32, 0, 0, 0, 80, 0, 0, 0, 91, 0, 0, 0, 255, 0, 0, 0, 169, 0, 0, 0, 178, 0, 0, 0, 241, 0, 0, 0, 241, 0, 0, 0, 120, 0, 0, 0, 207, 0, 0, 0, 20, 0, 0, 0, 164, 0, 0, 0, 169, 0, 0, 0, 252, 0, 0, 0, 9, 0, 0, 0, 70, 0, 0, 0, 148, 0, 0, 0, 84, 0, 0, 0, 101, 0, 0, 0, 13, 0, 0, 0, 156, 0, 0, 0, 95, 0, 0, 0, 114, 0, 0, 0, 33, 0, 0, 0, 226, 0, 0, 0, 151, 0, -0, 0, 165, 0, 0, 0, 45, 0, 0, 0, 129, 0, 0, 0, 206, 0, 0, 0, 74, 0, 0, 0, 95, 0, 0, 0, 121, 0, 0, 0, 61, 0, 0, 0, 95, 0, 0, 0, 92, 0, 0, 0, 210, 0, 0, 0, 188, 0, 0, 0, 125, 0, 0, 0, 119, 0, 0, 0, 14, 0, 0, 0, 42, 0, 0, 0, 109, 0, 0, 0, 34, 0, 0, 0, 69, 0, 0, 0, 132, 0, 0, 0, 6, 0, 0, 0, 196, 0, 0, 0, 221, 0, 0, 0, 198, 0, 0, 0, 166, 0, 0, 0, 198, 0, 0, 0, 215, 0, 0, 0, 73, 0, 0, 0, 173, 0, 0, 0, 109, 0, 0, 0, 135, 0, 0, 0, 145, 0, 0, 0, 14, 0, 0, 0, 58, 0, 0, 0, 103, 0, 0, 0, 29, 0, 0, 0, 44, 0, -0, 0, 29, 0, 0, 0, 86, 0, 0, 0, 254, 0, 0, 0, 122, 0, 0, 0, 116, 0, 0, 0, 207, 0, 0, 0, 212, 0, 0, 0, 210, 0, 0, 0, 229, 0, 0, 0, 25, 0, 0, 0, 222, 0, 0, 0, 208, 0, 0, 0, 219, 0, 0, 0, 112, 0, 0, 0, 35, 0, 0, 0, 105, 0, 0, 0, 230, 0, 0, 0, 109, 0, 0, 0, 236, 0, 0, 0, 236, 0, 0, 0, 204, 0, 0, 0, 9, 0, 0, 0, 51, 0, 0, 0, 106, 0, 0, 0, 119, 0, 0, 0, 220, 0, 0, 0, 107, 0, 0, 0, 34, 0, 0, 0, 118, 0, 0, 0, 93, 0, 0, 0, 146, 0, 0, 0, 9, 0, 0, 0, 172, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 21, 0, 0, 0, 23, 0, 0, 0, 235, 0, 0, 0, 211, 0, 0, 0, 219, 0, 0, 0, 18, 0, 0, 0, 94, 0, 0, 0, 1, 0, 0, 0, 240, 0, 0, 0, 145, 0, 0, 0, 171, 0, 0, 0, 44, 0, 0, 0, 65, 0, 0, 0, 206, 0, 0, 0, 172, 0, 0, 0, 237, 0, 0, 0, 27, 0, 0, 0, 75, 0, 0, 0, 45, 0, 0, 0, -188, 0, 0, 0, 219, 0, 0, 0, 23, 0, 0, 0, 102, 0, 0, 0, 137, 0, 0, 0, 70, 0, 0, 0, 173, 0, 0, 0, 75, 0, 0, 0, 30, 0, 0, 0, 111, 0, 0, 0, 11, 0, 0, 0, 20, 0, 0, 0, 17, 0, 0, 0, 206, 0, 0, 0, 191, 0, 0, 0, 182, 0, 0, 0, 119, 0, 0, 0, 45, 0, 0, 0, 72, 0, 0, 0, 34, 0, 0, 0, 24, 0, 0, 0, 79, 0, 0, 0, 163, 0, 0, 0, 93, 0, 0, 0, 74, 0, 0, 0, 176, 0, 0, 0, 112, 0, 0, 0, 18, 0, 0, 0, 62, 0, 0, 0, 84, 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 14, 0, 0, 0, 43, 0, 0, 0, 39, 0, 0, 0, 220, 0, 0, 0, 83, 0, 0, 0, 255, -0, 0, 0, 202, 0, 0, 0, 140, 0, 0, 0, 89, 0, 0, 0, 179, 0, 0, 0, 78, 0, 0, 0, 68, 0, 0, 0, 7, 0, 0, 0, 118, 0, 0, 0, 97, 0, 0, 0, 15, 0, 0, 0, 102, 0, 0, 0, 178, 0, 0, 0, 33, 0, 0, 0, 57, 0, 0, 0, 126, 0, 0, 0, 192, 0, 0, 0, 236, 0, 0, 0, 69, 0, 0, 0, 40, 0, 0, 0, 130, 0, 0, 0, 161, 0, 0, 0, 41, 0, 0, 0, 50, 0, 0, 0, 68, 0, 0, 0, 53, 0, 0, 0, 19, 0, 0, 0]).concat([94, 0, 0, 0, 97, 0, 0, 0, 94, 0, 0, 0, 84, 0, 0, 0, 203, 0, 0, 0, 124, 0, 0, 0, 239, 0, 0, 0, 246, 0, 0, 0, 65, 0, 0, 0, 207, 0, 0, 0, -159, 0, 0, 0, 10, 0, 0, 0, 221, 0, 0, 0, 249, 0, 0, 0, 218, 0, 0, 0, 132, 0, 0, 0, 195, 0, 0, 0, 230, 0, 0, 0, 138, 0, 0, 0, 159, 0, 0, 0, 36, 0, 0, 0, 210, 0, 0, 0, 150, 0, 0, 0, 93, 0, 0, 0, 57, 0, 0, 0, 111, 0, 0, 0, 88, 0, 0, 0, 140, 0, 0, 0, 193, 0, 0, 0, 86, 0, 0, 0, 147, 0, 0, 0, 171, 0, 0, 0, 181, 0, 0, 0, 121, 0, 0, 0, 59, 0, 0, 0, 210, 0, 0, 0, 168, 0, 0, 0, 115, 0, 0, 0, 22, 0, 0, 0, 237, 0, 0, 0, 250, 0, 0, 0, 180, 0, 0, 0, 47, 0, 0, 0, 115, 0, 0, 0, 139, 0, 0, 0, 177, 0, 0, 0, 149, 0, -0, 0, 229, 0, 0, 0, 146, 0, 0, 0, 80, 0, 0, 0, 53, 0, 0, 0, 17, 0, 0, 0, 118, 0, 0, 0, 172, 0, 0, 0, 244, 0, 0, 0, 77, 0, 0, 0, 36, 0, 0, 0, 195, 0, 0, 0, 50, 0, 0, 0, 230, 0, 0, 0, 235, 0, 0, 0, 254, 0, 0, 0, 44, 0, 0, 0, 135, 0, 0, 0, 196, 0, 0, 0, 241, 0, 0, 0, 86, 0, 0, 0, 196, 0, 0, 0, 117, 0, 0, 0, 36, 0, 0, 0, 122, 0, 0, 0, 86, 0, 0, 0, 133, 0, 0, 0, 90, 0, 0, 0, 58, 0, 0, 0, 19, 0, 0, 0, 13, 0, 0, 0, 22, 0, 0, 0, 172, 0, 0, 0, 60, 0, 0, 0, 74, 0, 0, 0, 88, 0, 0, 0, 134, 0, 0, 0, 58, 0, 0, -0, 70, 0, 0, 0, 127, 0, 0, 0, 108, 0, 0, 0, 163, 0, 0, 0, 82, 0, 0, 0, 110, 0, 0, 0, 55, 0, 0, 0, 228, 0, 0, 0, 150, 0, 0, 0, 156, 0, 0, 0, 233, 0, 0, 0, 92, 0, 0, 0, 102, 0, 0, 0, 65, 0, 0, 0, 103, 0, 0, 0, 228, 0, 0, 0, 251, 0, 0, 0, 121, 0, 0, 0, 12, 0, 0, 0, 5, 0, 0, 0, 246, 0, 0, 0, 100, 0, 0, 0, 213, 0, 0, 0, 124, 0, 0, 0, 40, 0, 0, 0, 193, 0, 0, 0, 225, 0, 0, 0, 84, 0, 0, 0, 115, 0, 0, 0, 242, 0, 0, 0, 191, 0, 0, 0, 118, 0, 0, 0, 116, 0, 0, 0, 25, 0, 0, 0, 25, 0, 0, 0, 27, 0, 0, 0, 228, 0, -0, 0, 185, 0, 0, 0, 168, 0, 0, 0, 70, 0, 0, 0, 101, 0, 0, 0, 115, 0, 0, 0, 243, 0, 0, 0, 119, 0, 0, 0, 155, 0, 0, 0, 41, 0, 0, 0, 116, 0, 0, 0, 91, 0, 0, 0, 198, 0, 0, 0, 137, 0, 0, 0, 108, 0, 0, 0, 44, 0, 0, 0, 124, 0, 0, 0, 248, 0, 0, 0, 179, 0, 0, 0, 15, 0, 0, 0, 247, 0, 0, 0, 213, 0, 0, 0, 233, 0, 0, 0, 116, 0, 0, 0, 93, 0, 0, 0, 184, 0, 0, 0, 37, 0, 0, 0, 22, 0, 0, 0, 181, 0, 0, 0, 48, 0, 0, 0, 188, 0, 0, 0, 132, 0, 0, 0, 197, 0, 0, 0, 240, 0, 0, 0, 173, 0, 0, 0, 202, 0, 0, 0, 18, 0, 0, 0, 40, -0, 0, 0, 188, 0, 0, 0, 157, 0, 0, 0, 212, 0, 0, 0, 250, 0, 0, 0, 130, 0, 0, 0, 230, 0, 0, 0, 227, 0, 0, 0, 191, 0, 0, 0, 162, 0, 0, 0, 21, 0, 0, 0, 44, 0, 0, 0, 212, 0, 0, 0, 52, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 0, 0, 0, 177, 0, 0, 0, 70, 0, -0, 0, 186, 0, 0, 0, 14, 0, 0, 0, 49, 0, 0, 0, 165, 0, 0, 0, 103, 0, 0, 0, 108, 0, 0, 0, 127, 0, 0, 0, 214, 0, 0, 0, 217, 0, 0, 0, 39, 0, 0, 0, 133, 0, 0, 0, 15, 0, 0, 0, 121, 0, 0, 0, 20, 0, 0, 0, 200, 0, 0, 0, 108, 0, 0, 0, 47, 0, 0, 0, 95, 0, 0, 0, 91, 0, 0, 0, 156, 0, 0, 0, 53, 0, 0, 0, 61, 0, 0, 0, 56, 0, 0, 0, 134, 0, 0, 0, 119, 0, 0, 0, 101, 0, 0, 0, 85, 0, 0, 0, 106, 0, 0, 0, 123, 0, 0, 0, 211, 0, 0, 0, 176, 0, 0, 0, 58, 0, 0, 0, 102, 0, 0, 0, 96, 0, 0, 0, 27, 0, 0, 0, 67, 0, 0, 0, 241, 0, -0, 0, 38, 0, 0, 0, 88, 0, 0, 0, 153, 0, 0, 0, 9, 0, 0, 0, 143, 0, 0, 0, 45, 0, 0, 0, 163, 0, 0, 0, 20, 0, 0, 0, 113, 0, 0, 0, 133, 0, 0, 0, 219, 0, 0, 0, 237, 0, 0, 0, 246, 0, 0, 0, 38, 0, 0, 0, 213, 0, 0, 0, 97, 0, 0, 0, 154, 0, 0, 0, 115, 0, 0, 0, 172, 0, 0, 0, 14, 0, 0, 0, 234, 0, 0, 0, 172, 0, 0, 0, 183, 0, 0, 0, 12, 0, 0, 0, 94, 0, 0, 0, 244, 0, 0, 0, 229, 0, 0, 0, 23, 0, 0, 0, 14, 0, 0, 0, 16, 0, 0, 0, 159, 0, 0, 0, 231, 0, 0, 0, 67, 0, 0, 0, 95, 0, 0, 0, 103, 0, 0, 0, 92, 0, 0, 0, 172, 0, -0, 0, 75, 0, 0, 0, 229, 0, 0, 0, 20, 0, 0, 0, 65, 0, 0, 0, 210, 0, 0, 0, 191, 0, 0, 0, 72, 0, 0, 0, 245, 0, 0, 0, 20, 0, 0, 0, 176, 0, 0, 0, 113, 0, 0, 0, 198, 0, 0, 0, 97, 0, 0, 0, 193, 0, 0, 0, 178, 0, 0, 0, 112, 0, 0, 0, 88, 0, 0, 0, 210, 0, 0, 0, 90, 0, 0, 0, 45, 0, 0, 0, 186, 0, 0, 0, 22, 0, 0, 0, 7, 0, 0, 0, 146, 0, 0, 0, 148, 0, 0, 0, 220, 0, 0, 0, 189, 0, 0, 0, 80, 0, 0, 0, 43, 0, 0, 0, 201, 0, 0, 0, 127, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 186, 0, 0, 0, 97, 0, 0, 0, 237, 0, 0, 0, 248, 0, 0, -0, 67, 0, 0, 0, 237, 0, 0, 0, 245, 0, 0, 0, 249, 0, 0, 0, 64, 0, 0, 0, 96, 0, 0, 0, 178, 0, 0, 0, 176, 0, 0, 0, 130, 0, 0, 0, 203, 0, 0, 0, 237, 0, 0, 0, 117, 0, 0, 0, 199, 0, 0, 0, 101, 0, 0, 0, 128, 0, 0, 0, 186, 0, 0, 0, 13, 0, 0, 0, 9, 0, 0, 0, 64, 0, 0, 0, 167, 0, 0, 0, 57, 0, 0, 0, 166, 0, 0, 0, 103, 0, 0, 0, 52, 0, 0, 0, 126, 0, 0, 0, 102, 0, 0, 0, 190, 0, 0, 0, 86, 0, 0, 0, 251, 0, 0, 0, 83, 0, 0, 0, 120, 0, 0, 0, 196, 0, 0, 0, 70, 0, 0, 0, 232, 0, 0, 0, 237, 0, 0, 0, 104, 0, 0, 0, 108, 0, -0, 0, 127, 0, 0, 0, 206, 0, 0, 0, 232, 0, 0, 0, 159, 0, 0, 0, 206, 0, 0, 0, 162, 0, 0, 0, 100, 0, 0, 0, 88, 0, 0, 0, 83, 0, 0, 0, 232, 0, 0, 0, 193, 0, 0, 0, 169, 0, 0, 0, 194, 0, 0, 0, 123, 0, 0, 0, 89, 0, 0, 0, 33, 0, 0, 0, 51, 0, 0, 0, 226, 0, 0, 0, 67, 0, 0, 0, 115, 0, 0, 0, 43, 0, 0, 0, 172, 0, 0, 0, 45, 0, 0, 0, 193, 0, 0, 0, 137, 0, 0, 0, 59, 0, 0, 0, 21, 0, 0, 0, 226, 0, 0, 0, 213, 0, 0, 0, 192, 0, 0, 0, 151, 0, 0, 0, 138, 0, 0, 0, 253, 0, 0, 0, 111, 0, 0, 0, 54, 0, 0, 0, 51, 0, 0, 0, 183, -0, 0, 0, 185, 0, 0, 0, 195, 0, 0, 0, 136, 0, 0, 0, 9, 0, 0, 0, 208, 0, 0, 0, 182, 0, 0, 0, 86, 0, 0, 0, 48, 0, 0, 0, 92, 0, 0, 0, 174, 0, 0, 0, 179, 0, 0, 0, 117, 0, 0, 0, 68, 0, 0, 0, 164, 0, 0, 0, 131, 0, 0, 0, 81, 0, 0, 0, 110, 0, 0, 0, 1, 0, 0, 0, 101, 0, 0, 0, 239, 0, 0, 0, 69, 0, 0, 0, 118, 0, 0, 0, 230, 0, 0, 0, 245, 0, 0, 0, 162, 0, 0, 0, 13, 0, 0, 0, 212, 0, 0, 0, 22, 0, 0, 0, 59, 0, 0, 0, 88, 0, 0, 0, 47, 0, 0, 0, 242, 0, 0, 0, 47, 0, 0, 0, 54, 0, 0, 0, 24, 0, 0, 0, 63, 0, 0, 0, 253, 0, -0, 0, 47, 0, 0, 0, 224, 0, 0, 0, 155, 0, 0, 0, 30, 0, 0, 0, 140, 0, 0, 0, 197, 0, 0, 0, 24, 0, 0, 0, 169, 0, 0, 0, 202, 0, 0, 0, 212, 0, 0, 0, 43, 0, 0, 0, 53, 0, 0, 0, 182, 0, 0, 0, 149, 0, 0, 0, 10, 0, 0, 0, 159, 0, 0, 0, 126, 0, 0, 0, 251, 0, 0, 0, 196, 0, 0, 0, 239, 0, 0, 0, 136, 0, 0, 0, 123, 0, 0, 0, 35, 0, 0, 0, 67, 0, 0, 0, 236, 0, 0, 0, 47, 0, 0, 0, 13, 0, 0, 0, 15, 0, 0, 0, 122, 0, 0, 0, 252, 0, 0, 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0, 210, 0, 0, 0, 218, 0, 0, 0, 199, 0, 0, 0, 68, 0, 0, 0, 214, 0, 0, 0, 122, 0, 0, 0, 219, 0, 0, 0, 38, 0, 0, 0, 125, 0, 0, 0, 29, 0, 0, 0, 184, 0, 0, 0, 225, 0, 0, 0, 222, 0, 0, 0, 157, 0, 0, 0, 122, 0, 0, 0, 125, 0, 0, 0, 23, 0, 0, 0, 126, 0, 0, 0, 28, 0, 0, 0, 55, 0, 0, 0, 4, 0, 0, 0, 141, 0, 0, -0, 45, 0, 0, 0, 124, 0, 0, 0, 94, 0, 0, 0, 24, 0, 0, 0, 56, 0, 0, 0, 30, 0, 0, 0, 175, 0, 0, 0, 199, 0, 0, 0, 27, 0, 0, 0, 51, 0, 0, 0, 72, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, 0, 246, 0, 0, 0, 242, 0, 0, 0, 202, 0, 0, 0, 15, 0, 0, 0, 39, 0, 0, 0, 27, 0, 0, 0, 99, 0, 0, 0, 18, 0, 0, 0, 126, 0, 0, 0, 2, 0, 0, 0, 29, 0, 0, 0, 73, 0, 0, 0, 192, 0, 0, 0, 93, 0, 0, 0, 121, 0, 0, 0, 135, 0, 0, 0, 239, 0, 0, 0, 94, 0, 0, 0, 122, 0, 0, 0, 47, 0, 0, 0, 31, 0, 0, 0, 102, 0, 0, 0, 85, 0, 0, 0, 216, 0, -0, 0, 9, 0, 0, 0, 217, 0, 0, 0, 97, 0, 0, 0, 84, 0, 0, 0, 131, 0, 0, 0, 2, 0, 0, 0, 24, 0, 0, 0, 130, 0, 0, 0, 147, 0, 0, 0, 153, 0, 0, 0, 7, 0, 0, 0, 208, 0, 0, 0, 167, 0, 0, 0, 218, 0, 0, 0, 216, 0, 0, 0, 117, 0, 0, 0, 137, 0, 0, 0, 250, 0, 0, 0, 242, 0, 0, 0, 217, 0, 0, 0, 163, 0, 0, 0, 184, 0, 0, 0, 107, 0, 0, 0, 90, 0, 0, 0, 53, 0, 0, 0, 40, 0, 0, 0, 210, 0, 0, 0, 107, 0, 0, 0, 89, 0, 0, 0, 194, 0, 0, 0, 248, 0, 0, 0, 69, 0, 0, 0, 226, 0, 0, 0, 188, 0, 0, 0, 6, 0, 0, 0, 101, 0, 0, 0, 192, 0, -0, 0, 163, 0, 0, 0, 136, 0, 0, 0, 81, 0, 0, 0, 149, 0, 0, 0, 252, 0, 0, 0, 150, 0, 0, 0, 148, 0, 0, 0, 120, 0, 0, 0, 232, 0, 0, 0, 13, 0, 0, 0, 139, 0, 0, 0, 65, 0, 0, 0, 201, 0, 0, 0, 194, 0, 0, 0, 88, 0, 0, 0, 72, 0, 0, 0, 117, 0, 0, 0, 16, 0, 0, 0, 47, 0, 0, 0, 205, 0, 0, 0, 42, 0, 0, 0, 201, 0, 0, 0, 160, 0, 0, 0, 109, 0, 0, 0, 15, 0, 0, 0, 221, 0, 0, 0, 156, 0, 0, 0, 152, 0, 0, 0, 38, 0, 0, 0, 61, 0, 0, 0, 47, 0, 0, 0, 102, 0, 0, 0, 41, 0, 0, 0, 27, 0, 0, 0, 4, 0, 0, 0, 137, 0, 0, 0, 189, 0, -0, 0, 126, 0, 0, 0, 238, 0, 0, 0, 110, 0, 0, 0, 221, 0, 0, 0, 183, 0, 0, 0, 14, 0, 0, 0, 239, 0, 0, 0, 176, 0, 0, 0, 12, 0, 0, 0, 180, 0, 0, 0, 252, 0, 0, 0, 127, 0, 0, 0, 194, 0, 0, 0, 201, 0, 0, 0, 58, 0, 0, 0, 60, 0, 0, 0, 100, 0, 0, 0, 239, 0, 0, 0, 69, 0, 0, 0, 68, 0, 0, 0, 175, 0, 0, 0, 138, 0, 0, 0, 144, 0, 0, 0, 101, 0, 0, 0, 118, 0, 0, 0, 161, 0, 0, 0, 76, 0, 0, 0, 112, 0, 0, 0, 75, 0, 0, 0, 14, 0, 0, 0, 160, 0, 0, 0, 131, 0, 0, 0, 112, 0, 0, 0, 19, 0, 0, 0, 164, 0, 0, 0, 175, 0, 0, 0, 184, -0, 0, 0, 56, 0, 0, 0, 25, 0, 0, 0, 34, 0, 0, 0, 101, 0, 0, 0, 9, 0, 0, 0, 180, 0, 0, 0, 2, 0, 0, 0, 79, 0, 0, 0, 6, 0, 0, 0, 248, 0, 0, 0, 23, 0, 0, 0, 206, 0, 0, 0, 70, 0, 0, 0, 69, 0, 0, 0, 218, 0, 0, 0, 80, 0, 0, 0, 124, 0, 0, 0, 138, 0, 0, 0, 209, 0, 0, 0, 78, 0, 0, 0, 247, 0, 0, 0, 212, 0, 0, 0, 22, 0, 0, 0, 108, 0, 0, 0, 78, 0, 0, 0, 149, 0, 0, 0, 157, 0, 0, 0, 93, 0, 0, 0, 15, 0, 0, 0, 145, 0, 0, 0, 43, 0, 0, 0, 82, 0, 0, 0, 254, 0, 0, 0, 92, 0, 0, 0, 52, 0, 0, 0, 229, 0, 0, 0, 48, 0, 0, 0, -230, 0, 0, 0, 164, 0, 0, 0, 59, 0, 0, 0, 243, 0, 0, 0, 243, 0, 0, 0, 52, 0, 0, 0, 8, 0, 0, 0, 169, 0, 0, 0, 74, 0, 0, 0, 160, 0, 0, 0, 181, 0, 0, 0, 110, 0, 0, 0, 179, 0, 0, 0, 9, 0, 0, 0, 10, 0, 0, 0, 38, 0, 0, 0, 217, 0, 0, 0, 94, 0, 0, 0, 163, 0, 0, 0, 15, 0, 0, 0, 235, 0, 0, 0, 162, 0, 0, 0, 243, 0, 0, 0, 32, 0, 0, 0, 59, 0, 0, 0, 55, 0, 0, 0, 212, 0, 0, 0, 228, 0, 0, 0, 158, 0, 0, 0, 206, 0, 0, 0, 6, 0, 0, 0, 61, 0, 0, 0, 83, 0, 0, 0, 237, 0, 0, 0, 174, 0, 0, 0, 43, 0, 0, 0, 235, 0, 0, 0, 182, -0, 0, 0, 36, 0, 0, 0, 10, 0, 0, 0, 17, 0, 0, 0, 163, 0, 0, 0, 15, 0, 0, 0, 214, 0, 0, 0, 127, 0, 0, 0, 164, 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 219, 0, 0, 0, 159, 0, 0, 0, 44, 0, 0, 0, 252, 0, 0, 0, 214, 0, 0, 0, 178, 0, 0, 0, 30, 0, 0, 0, 46, 0, 0, -0, 82, 0, 0, 0, 122, 0, 0, 0, 6, 0, 0, 0, 135, 0, 0, 0, 45, 0, 0, 0, 134, 0, 0, 0, 114, 0, 0, 0, 43, 0, 0, 0, 109, 0, 0, 0, 144, 0, 0, 0, 119, 0, 0, 0, 70, 0, 0, 0, 67, 0, 0, 0, 181, 0, 0, 0, 122, 0, 0, 0, 248, 0, 0, 0, 96, 0, 0, 0, 125, 0, 0, 0, 145, 0, 0, 0, 96, 0, 0, 0, 91, 0, 0, 0, 157, 0, 0, 0, 158, 0, 0, 0, 7, 0, 0, 0, 151, 0, 0, 0, 135, 0, 0, 0, 199, 0, 0, 0, 4, 0, 0, 0, 28, 0, 0, 0, 56, 0, 0, 0, 1, 0, 0, 0, 57, 0, 0, 0, 88, 0, 0, 0, 199, 0, 0, 0, 133, 0, 0, 0, 163, 0, 0, 0, 252, 0, 0, 0, -100, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 37, 0, 0, 0, 162, 0, 0, 0, 191, 0, 0, 0, 80, 0, 0, 0, 148, 0, 0, 0, 202, 0, 0, 0, 38, 0, 0, 0, 49, 0, 0, 0, 69, 0, 0, 0, 10, 0, 0, 0, 36, 0, 0, 0, 210, 0, 0, 0, 81, 0, 0, 0, 41, 0, 0, 0, 81, 0, 0, 0, 22, 0, 0, 0, 77, 0, 0, 0, 74, 0, 0, 0, 215, 0, 0, 0, 152, 0, 0, 0, 113, 0, 0, 0, 87, 0, 0, 0, 172, 0, 0, 0, 125, 0, 0, 0, 139, 0, 0, 0, 55, 0, 0, 0, 189, 0, 0, 0, 99, 0, 0, 0, 255, 0, 0, 0, 135, 0, 0, 0, 177, 0, 0, 0, 73, 0, 0, 0, 149, 0, 0, 0, 32, 0, 0, 0, 124, -0, 0, 0, 207, 0, 0, 0, 124, 0, 0, 0, 89, 0, 0, 0, 196, 0, 0, 0, 145, 0, 0, 0, 156, 0, 0, 0, 239, 0, 0, 0, 208, 0, 0, 0, 219, 0, 0, 0, 96, 0, 0, 0, 9, 0, 0, 0, 157, 0, 0, 0, 70, 0, 0, 0, 203, 0, 0, 0, 120, 0, 0, 0, 148, 0, 0, 0, 144, 0, 0, 0, 228, 0, 0, 0, 69, 0, 0, 0, 179, 0, 0, 0, 246, 0, 0, 0, 217, 0, 0, 0, 246, 0, 0, 0, 87, 0, 0, 0, 116, 0, 0, 0, 213, 0, 0, 0, 248, 0, 0, 0, 131, 0, 0, 0, 79, 0, 0, 0, 57, 0, 0, 0, 201, 0, 0, 0, 189, 0, 0, 0, 136, 0, 0, 0, 194, 0, 0, 0, 87, 0, 0, 0, 33, 0, 0, 0, -31, 0, 0, 0, 36, 0, 0, 0, 50, 0, 0, 0, 104, 0, 0, 0, 248, 0, 0, 0, 199, 0, 0, 0, 33, 0, 0, 0, 95, 0, 0, 0, 11, 0, 0, 0, 42, 0, 0, 0, 54, 0, 0, 0, 104, 0, 0, 0, 252, 0, 0, 0, 95, 0, 0, 0, 182, 0, 0, 0, 79, 0, 0, 0, 165, 0, 0, 0, 227, 0, 0, 0, 157, 0, 0, 0, 36, 0, 0, 0, 47, 0, 0, 0, 192, 0, 0, 0, 147, 0, 0, 0, 97, 0, 0, 0, 207, 0, 0, 0, 248, 0, 0, 0, 10, 0, 0, 0, 237, 0, 0, 0, 225, 0, 0, 0, 219, 0, 0, 0, 39, 0, 0, 0, 236, 0, 0, 0, 14, 0, 0, 0, 20, 0, 0, 0, 50, 0, 0, 0, 95, 0, 0, 0, 142, 0, 0, 0, 161, -0, 0, 0, 98, 0, 0, 0, 65, 0, 0, 0, 22, 0, 0, 0, 149, 0, 0, 0, 33, 0, 0, 0, 1, 0, 0, 0, 206, 0, 0, 0, 149, 0, 0, 0, 91, 0, 0, 0, 14, 0, 0, 0, 87, 0, 0, 0, 199, 0, 0, 0, 185, 0, 0, 0, 98, 0, 0, 0, 181, 0, 0, 0, 40, 0, 0, 0, 202, 0, 0, 0, 17, 0, 0, 0, 236, 0, 0, 0, 180, 0, 0, 0, 70, 0, 0, 0, 6, 0, 0, 0, 115, 0, 0, 0, 38, 0, 0, 0, 255, 0, 0, 0, 251, 0, 0, 0, 102, 0, 0, 0, 125, 0, 0, 0, 238, 0, 0, 0, 95, 0, 0, 0, 178, 0, 0, 0, 86, 0, 0, 0, 253, 0, 0, 0, 42, 0, 0, 0, 8, 0, 0, 0, 146, 0, 0, 0, 103, 0, 0, -0, 119, 0, 0, 0, 86, 0, 0, 0, 161, 0, 0, 0, 255, 0, 0, 0, 196, 0, 0, 0, 197, 0, 0, 0, 149, 0, 0, 0, 240, 0, 0, 0, 227, 0, 0, 0, 58, 0, 0, 0, 10, 0, 0, 0, 202, 0, 0, 0, 148, 0, 0, 0, 77, 0, 0, 0, 158, 0, 0, 0, 126, 0, 0, 0, 61, 0, 0, 0, 185, 0, 0, 0, 110, 0, 0, 0, 182, 0, 0, 0, 176, 0, 0, 0, 206, 0, 0, 0, 164, 0, 0, 0, 48, 0, 0, 0, 137, 0, 0, 0, 153, 0, 0, 0, 233, 0, 0, 0, 173, 0, 0, 0, 17, 0, 0, 0, 89, 0, 0, 0, 246, 0, 0, 0, 72, 0, 0, 0, 149, 0, 0, 0, 161, 0, 0, 0, 111, 0, 0, 0, 95, 0, 0, 0, 183, -0, 0, 0, 165, 0, 0, 0, 187, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 210, 0, 0, 0, 138, 0, 0, 0, 214, 0, 0, 0, 37, 0, 0, 0, 38, 0, 0, 0, 27, 0, 0, 0, 178, 0, 0, 0, 13, 0, 0, 0, 55, 0, 0, 0, 106, 0, 0, 0, 5, 0, 0, 0, 244, 0, 0, 0, 157, 0, 0, 0, 62, 0, 0, 0, 23, 0, 0, 0, 42, 0, 0, 0, 67, 0, 0, 0, 210, 0, 0, 0, 58, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 153, 0, 0, 0, 147, 0, 0, 0, 209, 0, 0, 0, 154, 0, 0, 0, 114, 0, 0, 0, 243, 0, 0, 0, 169, 0, 0, 0, 22, 0, 0, 0, 189, 0, 0, 0, 180, 0, 0, 0, 76, 0, 0, 0, 221, 0, 0, 0, 249, 0, 0, 0, 212, 0, 0, 0, 178, 0, 0, 0, 100, 0, 0, 0, 154, 0, 0, 0, 211, 0, 0, 0, 5, 0, 0, 0, 228, 0, 0, 0, 163, 0, 0, 0, 115, 0, 0, 0, 28, 0, 0, 0, 203, 0, 0, 0, 126, 0, 0, 0, 87, 0, 0, 0, 103, 0, 0, 0, 255, 0, 0, -0, 4, 0, 0, 0, 179, 0, 0, 0, 16, 0, 0, 0, 185, 0, 0, 0, 75, 0, 0, 0, 164, 0, 0, 0, 173, 0, 0, 0, 208, 0, 0, 0, 109, 0, 0, 0, 97, 0, 0, 0, 35, 0, 0, 0, 180, 0, 0, 0, 175, 0, 0, 0, 52, 0, 0, 0, 169, 0, 0, 0, 170, 0, 0, 0, 101, 0, 0, 0, 236, 0, 0, 0, 217, 0, 0, 0, 105, 0, 0, 0, 227, 0, 0, 0, 133, 0, 0, 0, 205, 0, 0, 0, 204, 0, 0, 0, 231, 0, 0, 0, 176, 0, 0, 0, 155, 0, 0, 0, 65, 0, 0, 0, 193, 0, 0, 0, 28, 0, 0, 0, 249, 0, 0, 0, 160, 0, 0, 0, 250, 0, 0, 0, 183, 0, 0, 0, 19, 0, 0, 0, 4, 0, 0, 0, 253, 0, -0, 0, 136, 0, 0, 0, 60, 0, 0, 0, 12, 0, 0, 0, 208, 0, 0, 0, 9, 0, 0, 0, 82, 0, 0, 0, 81, 0, 0, 0, 79, 0, 0, 0, 6, 0, 0, 0, 25, 0, 0, 0, 204, 0, 0, 0, 195, 0, 0, 0, 187, 0, 0, 0, 222, 0, 0, 0, 128, 0, 0, 0, 197, 0, 0, 0, 51, 0, 0, 0, 188, 0, 0, 0, 249, 0, 0, 0, 243, 0, 0, 0, 23, 0, 0, 0, 54, 0, 0, 0, 221, 0, 0, 0, 198, 0, 0, 0, 222, 0, 0, 0, 232, 0, 0, 0, 155, 0, 0, 0, 93, 0, 0, 0, 121, 0, 0, 0, 27, 0, 0, 0, 101, 0, 0, 0, 10, 0, 0, 0, 190, 0, 0, 0, 81, 0, 0, 0, 87, 0, 0, 0, 173, 0, 0, 0, 80, 0, 0, -0, 121, 0, 0, 0, 8, 0, 0, 0, 113, 0, 0, 0, 155, 0, 0, 0, 7, 0, 0, 0, 149, 0, 0, 0, 143, 0, 0, 0, 251, 0, 0, 0, 174, 0, 0, 0, 75, 0, 0, 0, 56, 0, 0, 0, 186, 0, 0, 0, 207, 0, 0, 0, 83, 0, 0, 0, 42, 0, 0, 0, 134, 0, 0, 0, 30, 0, 0, 0, 192, 0, 0, 0, 80, 0, 0, 0, 92, 0, 0, 0, 103, 0, 0, 0, 27, 0, 0, 0, 246, 0, 0, 0, 135, 0, 0, 0, 108, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 178, 0, 0, 0, 102, 0, 0, 0, 85, 0, 0, 0, 237, 0, 0, 0, 74, 0, 0, 0, 237, 0, 0, 0, 141, 0, 0, 0, 225, 0, 0, 0, 102, 0, 0, 0, 24, 0, 0, 0, -178, 0, 0, 0, 20, 0, 0, 0, 116, 0, 0, 0, 141, 0, 0, 0, 253, 0, 0, 0, 26, 0, 0, 0, 54, 0, 0, 0, 15, 0, 0, 0, 38, 0, 0, 0, 92, 0, 0, 0, 139, 0, 0, 0, 137, 0, 0, 0, 243, 0, 0, 0, 171, 0, 0, 0, 242, 0, 0, 0, 243, 0, 0, 0, 36, 0, 0, 0, 103, 0, 0, 0, 253, 0, 0, 0, 112, 0, 0, 0, 253, 0, 0, 0, 78, 0, 0, 0, 42, 0, 0, 0, 193, 0, 0, 0, 58, 0, 0, 0, 202, 0, 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 236, 0, 0, 0, 116, 0, 0, 0, 103, 0, 0, 0, 239, 0, 0, 0, 97, 0, 0, 0, 224, 0, 0, 0, 40, 0, 0, 0, 208, 0, 0, -0, 150, 0, 0, 0, 244, 0, 0, 0, 72, 0, 0, 0, 222, 0, 0, 0, 129, 0, 0, 0, 227, 0, 0, 0, 239, 0, 0, 0, 220, 0, 0, 0, 170, 0, 0, 0, 125, 0, 0, 0, 243, 0, 0, 0, 182, 0, 0, 0, 85, 0, 0, 0, 166, 0, 0, 0, 101, 0, 0, 0, 235, 0, 0, 0, 203, 0, 0, 0, 197, 0, 0, 0, 112, 0, 0, 0, 145, 0, 0, 0, 49, 0, 0, 0, 16, 0, 0, 0, 147, 0, 0, 0, 13, 0, 0, 0, 200, 0, 0, 0, 208, 0, 0, 0, 239, 0, 0, 0, 98, 0, 0, 0, 232, 0, 0, 0, 111, 0, 0, 0, 130, 0, 0, 0, 227, 0, 0, 0, 105, 0, 0, 0, 61, 0, 0, 0, 145, 0, 0, 0, 127, 0, 0, 0, 49, -0, 0, 0, 225, 0, 0, 0, 38, 0, 0, 0, 53, 0, 0, 0, 60, 0, 0, 0, 74, 0, 0, 0, 47, 0, 0, 0, 171, 0, 0, 0, 196, 0, 0, 0, 154, 0, 0, 0, 94, 0, 0, 0, 171, 0, 0, 0, 27, 0, 0, 0, 181, 0, 0, 0, 229, 0, 0, 0, 43, 0, 0, 0, 195, 0, 0, 0, 14, 0, 0, 0, 41, 0, 0, 0, 176, 0, 0, 0, 208, 0, 0, 0, 115, 0, 0, 0, 230, 0, 0, 0, 79, 0, 0, 0, 100, 0, 0, 0, 242, 0, 0, 0, 188, 0, 0, 0, 228, 0, 0, 0, 228, 0, 0, 0, 225, 0, 0, 0, 154, 0, 0, 0, 82, 0, 0, 0, 51, 0, 0, 0, 47, 0, 0, 0, 189, 0, 0, 0, 204, 0, 0, 0, 3, 0, 0, 0, 238, -0, 0, 0, 138, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, 219, 0, 0, 0, 13, 0, 0, 0, 34, 0, 0, 0, 61, 0, 0, 0, 181, 0, 0, 0, 20, 0, 0, 0, 117, 0, 0, 0, 49, 0, 0, 0, 240, 0, 0, 0, 129, 0, 0, 0, 226, 0, 0, -0, 185, 0, 0, 0, 55, 0, 0, 0, 162, 0, 0, 0, 169, 0, 0, 0, 132, 0, 0, 0, 17, 0, 0, 0, 154, 0, 0, 0, 7, 0, 0, 0, 181, 0, 0, 0, 83, 0, 0, 0, 137, 0, 0, 0, 120, 0, 0, 0, 169, 0, 0, 0, 48, 0, 0, 0, 39, 0, 0, 0, 161, 0, 0, 0, 241, 0, 0, 0, 78, 0, 0, 0, 92, 0, 0, 0, 46, 0, 0, 0, 139, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 251, 0, 0, 0, 77, 0, 0, 0, 220, 0, 0, 0, 203, 0, 0, 0, 23, 0, 0, 0, 53, 0, 0, 0, 64, 0, 0, 0, 255, 0, 0, 0, 183, 0, 0, 0, 140, 0, 0, 0, 254, 0, 0, 0, 74, 0, 0, 0, 228, 0, 0, 0, 78, 0, 0, 0, -153, 0, 0, 0, 78, 0, 0, 0, 168, 0, 0, 0, 116, 0, 0, 0, 84, 0, 0, 0, 93, 0, 0, 0, 92, 0, 0, 0, 150, 0, 0, 0, 163, 0, 0, 0, 18, 0, 0, 0, 85, 0, 0, 0, 54, 0, 0, 0, 49, 0, 0, 0, 23, 0, 0, 0, 92, 0, 0, 0, 206, 0, 0, 0, 36, 0, 0, 0, 239, 0, 0, 0, 123, 0, 0, 0, 134, 0, 0, 0, 242, 0, 0, 0, 15, 0, 0, 0, 119, 0, 0, 0, 232, 0, 0, 0, 92, 0, 0, 0, 125, 0, 0, 0, 135, 0, 0, 0, 56, 0, 0, 0, 45, 0, 0, 0, 239, 0, 0, 0, 175, 0, 0, 0, 242, 0, 0, 0, 140, 0, 0, 0, 114, 0, 0, 0, 46, 0, 0, 0, 235, 0, 0, 0, 182, 0, 0, 0, -85, 0, 0, 0, 75, 0, 0, 0, 110, 0, 0, 0, 241, 0, 0, 0, 78, 0, 0, 0, 138, 0, 0, 0, 14, 0, 0, 0, 154, 0, 0, 0, 108, 0, 0, 0, 76, 0, 0, 0, 37, 0, 0, 0, 234, 0, 0, 0, 134, 0, 0, 0, 194, 0, 0, 0, 209, 0, 0, 0, 79, 0, 0, 0, 183, 0, 0, 0, 62, 0, 0, 0, 168, 0, 0, 0, 92, 0, 0, 0, 141, 0, 0, 0, 102, 0, 0, 0, 129, 0, 0, 0, 37, 0, 0, 0, 237, 0, 0, 0, 197, 0, 0, 0, 76, 0, 0, 0, 5, 0, 0, 0, 185, 0, 0, 0, 216, 0, 0, 0, 214, 0, 0, 0, 112, 0, 0, 0, 190, 0, 0, 0, 115, 0, 0, 0, 130, 0, 0, 0, 232, 0, 0, 0, 161, 0, 0, -0, 229, 0, 0, 0, 30, 0, 0, 0, 113, 0, 0, 0, 213, 0, 0, 0, 38, 0, 0, 0, 78, 0, 0, 0, 109, 0, 0, 0, 195, 0, 0, 0, 167, 0, 0, 0, 79, 0, 0, 0, 34, 0, 0, 0, 69, 0, 0, 0, 38, 0, 0, 0, 162, 0, 0, 0, 126, 0, 0, 0, 22, 0, 0, 0, 247, 0, 0, 0, 247, 0, 0, 0, 99, 0, 0, 0, 220, 0, 0, 0, 134, 0, 0, 0, 1, 0, 0, 0, 42, 0, 0, 0, 113, 0, 0, 0, 56, 0, 0, 0, 92, 0, 0, 0, 51, 0, 0, 0, 195, 0, 0, 0, 206, 0, 0, 0, 48, 0, 0, 0, 255, 0, 0, 0, 249, 0, 0, 0, 44, 0, 0, 0, 145, 0, 0, 0, 113, 0, 0, 0, 138, 0, 0, 0, 114, 0, 0, -0, 140, 0, 0, 0, 68, 0, 0, 0, 9, 0, 0, 0, 40, 0, 0, 0, 213, 0, 0, 0, 35, 0, 0, 0, 201, 0, 0, 0, 143, 0, 0, 0, 243, 0, 0, 0, 132, 0, 0, 0, 69, 0, 0, 0, 198, 0, 0, 0, 154, 0, 0, 0, 94, 0, 0, 0, 255, 0, 0, 0, 210, 0, 0, 0, 199, 0, 0, 0, 87, 0, 0, 0, 147, 0, 0, 0, 163, 0, 0, 0, 193, 0, 0, 0, 105, 0, 0, 0, 221, 0, 0, 0, 98, 0, 0, 0, 15, 0, 0, 0, 218, 0, 0, 0, 92, 0, 0, 0, 48, 0, 0, 0, 89, 0, 0, 0, 93, 0, 0, 0, 233, 0, 0, 0, 76, 0, 0, 0, 146, 0, 0, 0, 126, 0, 0, 0, 80, 0, 0, 0, 39, 0, 0, 0, 114, 0, 0, -0, 215, 0, 0, 0, 12, 0, 0, 0, 214, 0, 0, 0, 105, 0, 0, 0, 150, 0, 0, 0, 129, 0, 0, 0, 53, 0, 0, 0, 132, 0, 0, 0, 148, 0, 0, 0, 53, 0, 0, 0, 139, 0, 0, 0, 108, 0, 0, 0, 170, 0, 0, 0, 98, 0, 0, 0, 134, 0, 0, 0, 110, 0, 0, 0, 28, 0, 0, 0, 21, 0, 0, 0, 243, 0, 0, 0, 108, 0, 0, 0, 179, 0, 0, 0, 255, 0, 0, 0, 101, 0, 0, 0, 27, 0, 0, 0, 162, 0, 0, 0, 155, 0, 0, 0, 89, 0, 0, 0, 226, 0, 0, 0, 169, 0, 0, 0, 101, 0, 0, 0, 136, 0, 0, 0, 196, 0, 0, 0, 80, 0, 0, 0, 250, 0, 0, 0, 187, 0, 0, 0, 59, 0, 0, 0, 110, -0, 0, 0, 95, 0, 0, 0, 68, 0, 0, 0, 1, 0, 0, 0, 202, 0, 0, 0, 151, 0, 0, 0, 212, 0, 0, 0, 221, 0, 0, 0, 246, 0, 0, 0, 205, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 229, 0, 0, 0, 151, 0, 0, 0, 103, 0, 0, 0, 43, 0, 0, 0, 140, 0, 0, 0, 102, 0, 0, 0, 15, 0, 0, 0, 53, 0, 0, 0, 155, 0, 0, 0, 245, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 241, 0, 0, 0, 89, 0, 0, 0, 39, 0, 0, 0, 216, 0, 0, 0, 219, 0, 0, 0, 90, 0, 0, 0, 17, 0, 0, 0, 94, 0, 0, 0, 130, 0, 0, 0, 243, 0, 0, 0, 56, 0, 0, 0, 255, 0, 0, 0, 28, 0, 0, 0, 237, 0, 0, 0, 254, 0, 0, 0, 63, 0, 0, 0, 100, 0, 0, 0, 84, 0, 0, 0, 63, 0, 0, 0, 127, 0, 0, 0, 209, 0, 0, 0, 129, 0, 0, 0, 237, 0, 0, 0, 239, 0, 0, 0, 101, 0, 0, 0, 197, 0, 0, 0, 203, 0, 0, 0, 253, 0, 0, 0, 225, 0, 0, 0, 128, 0, 0, 0, 205, 0, 0, 0, 17, 0, -0, 0, 224, 0, 0, 0, 219, 0, 0, 0, 34, 0, 0, 0, 40, 0, 0, 0, 230, 0, 0, 0, 255, 0, 0, 0, 97, 0, 0, 0, 157, 0, 0, 0, 65, 0, 0, 0, 20, 0, 0, 0, 45, 0, 0, 0, 59, 0, 0, 0, 38, 0, 0, 0, 34, 0, 0, 0, 223, 0, 0, 0, 241, 0, 0, 0, 52, 0, 0, 0, 129, 0, 0, 0, 233, 0, 0, 0, 69, 0, 0, 0, 238, 0, 0, 0, 15, 0, 0, 0, 152, 0, 0, 0, 139, 0, 0, 0, 166, 0, 0, 0, 63, 0, 0, 0, 239, 0, 0, 0, 247, 0, 0, 0, 67, 0, 0, 0, 25, 0, 0, 0, 241, 0, 0, 0, 67, 0, 0, 0, 238, 0, 0, 0, 243, 0, 0, 0, 0, 0, 0, 0, 161, 0, 0, 0, 80, 0, 0, -0, 222, 0, 0, 0, 192, 0, 0, 0, 182, 0, 0, 0, 1, 0, 0, 0, 227, 0, 0, 0, 140, 0, 0, 0, 60, 0, 0, 0, 77, 0, 0, 0, 49, 0, 0, 0, 210, 0, 0, 0, 176, 0, 0, 0, 88, 0, 0, 0, 205, 0, 0, 0, 237, 0, 0, 0, 16, 0, 0, 0, 74, 0, 0, 0, 122, 0, 0, 0, 239, 0, 0, 0, 128, 0, 0, 0, 169, 0, 0, 0, 25, 0, 0, 0, 50, 0, 0, 0, 243, 0, 0, 0, 216, 0, 0, 0, 51, 0, 0, 0, 140, 0, 0, 0, 6, 0, 0, 0, 203, 0, 0, 0, 125, 0, 0, 0, 79, 0, 0, 0, 255, 0, 0, 0, 48, 0, 0, 0, 216, 0, 0, 0, 18, 0, 0, 0, 59, 0, 0, 0, 57, 0, 0, 0, 28, 0, 0, 0, -6, 0, 0, 0, 249, 0, 0, 0, 76, 0, 0, 0, 52, 0, 0, 0, 53, 0, 0, 0, 113, 0, 0, 0, 181, 0, 0, 0, 22, 0, 0, 0, 148, 0, 0, 0, 103, 0, 0, 0, 223, 0, 0, 0, 238, 0, 0, 0, 17, 0, 0, 0, 222, 0, 0, 0, 164, 0, 0, 0, 29, 0, 0, 0, 136, 0, 0, 0, 147, 0, 0, 0, 53, 0, 0, 0, 169, 0, 0, 0, 50, 0, 0, 0, 16, 0, 0, 0, 233, 0, 0, 0, 195, 0, 0, 0, 188, 0, 0, 0, 123, 0, 0, 0, 92, 0, 0, 0, 252, 0, 0, 0, 178, 0, 0, 0, 249, 0, 0, 0, 201, 0, 0, 0, 47, 0, 0, 0, 229, 0, 0, 0, 186, 0, 0, 0, 58, 0, 0, 0, 11, 0, 0, 0, 171, 0, 0, 0, -100, 0, 0, 0, 56, 0, 0, 0, 111, 0, 0, 0, 91, 0, 0, 0, 75, 0, 0, 0, 147, 0, 0, 0, 218, 0, 0, 0, 100, 0, 0, 0, 236, 0, 0, 0, 77, 0, 0, 0, 61, 0, 0, 0, 160, 0, 0, 0, 245, 0, 0, 0, 187, 0, 0, 0, 186, 0, 0, 0, 71, 0, 0, 0, 72, 0, 0, 0, 96, 0, 0, 0, 188, 0, 0, 0, 69, 0, 0, 0, 31, 0, 0, 0, 35, 0, 0, 0, 162, 0, 0, 0, 59, 0, 0, 0, 112, 0, 0, 0, 118, 0, 0, 0, 230, 0, 0, 0, 151, 0, 0, 0, 153, 0, 0, 0, 79, 0, 0, 0, 119, 0, 0, 0, 84, 0, 0, 0, 103, 0, 0, 0, 48, 0, 0, 0, 154, 0, 0, 0, 231, 0, 0, 0, 102, 0, 0, 0, -214, 0, 0, 0, 205, 0, 0, 0, 46, 0, 0, 0, 81, 0, 0, 0, 36, 0, 0, 0, 44, 0, 0, 0, 66, 0, 0, 0, 74, 0, 0, 0, 17, 0, 0, 0, 254, 0, 0, 0, 111, 0, 0, 0, 126, 0, 0, 0, 135, 0, 0, 0, 192, 0, 0, 0, 177, 0, 0, 0, 240, 0, 0, 0, 163, 0, 0, 0, 111, 0, 0, 0, 12, 0, 0, 0, 147, 0, 0, 0, 169, 0, 0, 0, 10, 0, 0, 0, 114, 0, 0, 0, 239, 0, 0, 0, 92, 0, 0, 0, 190, 0, 0, 0, 101, 0, 0, 0, 53, 0, 0, 0, 167, 0, 0, 0, 106, 0, 0, 0, 78, 0, 0, 0, 44, 0, 0, 0, 191, 0, 0, 0, 33, 0, 0, 0, 35, 0, 0, 0, 232, 0, 0, 0, 47, 0, 0, 0, -151, 0, 0, 0, 199, 0, 0, 0, 62, 0, 0, 0, 200, 0, 0, 0, 23, 0, 0, 0, 172, 0, 0, 0, 30, 0, 0, 0, 123, 0, 0, 0, 239, 0, 0, 0, 33, 0, 0, 0, 229, 0, 0, 0, 64, 0, 0, 0, 204, 0, 0, 0, 30, 0, 0, 0, 220, 0, 0, 0, 214, 0, 0, 0, 189, 0, 0, 0, 151, 0, 0, 0, 122, 0, 0, 0, 124, 0, 0, 0, 117, 0, 0, 0, 134, 0, 0, 0, 122, 0, 0, 0, 37, 0, 0, 0, 90, 0, 0, 0, 110, 0, 0, 0, 124, 0, 0, 0, 229, 0, 0, 0, 81, 0, 0, 0, 60, 0, 0, 0, 27, 0, 0, 0, 91, 0, 0, 0, 130, 0, 0, 0, 154, 0, 0, 0, 7, 0, 0, 0, 96, 0, 0, 0, 161, 0, 0, 0, -25, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 136, 0, 0, 0, 166, 0, 0, 0, 171, 0, 0, 0, 143, 0, 0, 0, 227, 0, 0, 0, 58, 0, 0, 0, 73, 0, 0, 0, 248, 0, 0, 0, 254, 0, 0, 0, 52, 0, 0, 0, 231, 0, 0, 0, 106, 0, 0, 0, 178, 0, 0, 0, 254, 0, 0, 0, 64, -0, 0, 0, 38, 0, 0, 0, 116, 0, 0, 0, 87, 0, 0, 0, 76, 0, 0, 0, 246, 0, 0, 0, 212, 0, 0, 0, 153, 0, 0, 0, 206, 0, 0, 0, 93, 0, 0, 0, 123, 0, 0, 0, 47, 0, 0, 0, 103, 0, 0, 0, 214, 0, 0, 0, 90, 0, 0, 0, 228, 0, 0, 0, 78, 0, 0, 0, 92, 0, 0, 0, 130, 0, 0, 0, 179, 0, 0, 0, 189, 0, 0, 0, 85, 0, 0, 0, 37, 0, 0, 0, 246, 0, 0, 0, 106, 0, 0, 0, 147, 0, 0, 0, 164, 0, 0, 0, 2, 0, 0, 0, 198, 0, 0, 0, 125, 0, 0, 0, 92, 0, 0, 0, 177, 0, 0, 0, 43, 0, 0, 0, 91, 0, 0, 0, 255, 0, 0, 0, 251, 0, 0, 0, 86, 0, 0, 0, 248, -0, 0, 0, 1, 0, 0, 0, 65, 0, 0, 0, 144, 0, 0, 0, 198, 0, 0, 0, 182, 0, 0, 0, 172, 0, 0, 0, 79, 0, 0, 0, 254, 0, 0, 0, 167, 0, 0, 0, 65, 0, 0, 0, 112, 0, 0, 0, 219, 0, 0, 0, 250, 0, 0, 0, 155, 0, 0, 0, 44, 0, 0, 0, 212, 0, 0, 0, 35, 0, 0, 0, 103, 0, 0, 0, 44, 0, 0, 0, 138, 0, 0, 0, 99, 0, 0, 0, 108, 0, 0, 0, 7, 0, 0, 0, 38, 0, 0, 0, 72, 0, 0, 0, 79, 0, 0, 0, 194, 0, 0, 0, 3, 0, 0, 0, 210, 0, 0, 0, 83, 0, 0, 0, 32, 0, 0, 0, 40, 0, 0, 0, 237, 0, 0, 0, 101, 0, 0, 0, 113, 0, 0, 0, 71, 0, 0, 0, 169, 0, -0, 0, 22, 0, 0, 0, 22, 0, 0, 0, 18, 0, 0, 0, 188, 0, 0, 0, 40, 0, 0, 0, 51, 0, 0, 0, 57, 0, 0, 0, 192, 0, 0, 0, 250, 0, 0, 0, 250, 0, 0, 0, 205, 0, 0, 0, 51, 0, 0, 0, 67, 0, 0, 0, 199, 0, 0, 0, 151, 0, 0, 0, 118, 0, 0, 0, 155, 0, 0, 0, 147, 0, 0, 0, 145, 0, 0, 0, 114, 0, 0, 0, 235, 0, 0, 0, 197, 0, 0, 0, 24, 0, 0, 0, 103, 0, 0, 0, 76, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 244, 0, 0, 0, 229, 0, 0, 0, 115, 0, 0, 0, 178, 0, 0, 0, 92, 0, 0, 0, 27, 0, 0, 0, 194, 0, 0, 0, 38, 0, 0, 0, 63, 0, 0, 0, 191, 0, -0, 0, 43, 0, 0, 0, 134, 0, 0, 0, 230, 0, 0, 0, 140, 0, 0, 0, 29, 0, 0, 0, 223, 0, 0, 0, 202, 0, 0, 0, 252, 0, 0, 0, 213, 0, 0, 0, 248, 0, 0, 0, 58, 0, 0, 0, 195, 0, 0, 0, 68, 0, 0, 0, 114, 0, 0, 0, 230, 0, 0, 0, 120, 0, 0, 0, 157, 0, 0, 0, 43, 0, 0, 0, 151, 0, 0, 0, 248, 0, 0, 0, 40, 0, 0, 0, 69, 0, 0, 0, 180, 0, 0, 0, 32, 0, 0, 0, 201, 0, 0, 0, 42, 0, 0, 0, 140, 0, 0, 0, 103, 0, 0, 0, 170, 0, 0, 0, 17, 0, 0, 0, 197, 0, 0, 0, 91, 0, 0, 0, 47, 0, 0, 0, 23, 0, 0, 0, 15, 0, 0, 0, 134, 0, 0, 0, 82, 0, -0, 0, 215, 0, 0, 0, 157, 0, 0, 0, 195, 0, 0, 0, 68, 0, 0, 0, 81, 0, 0, 0, 118, 0, 0, 0, 50, 0, 0, 0, 101, 0, 0, 0, 180, 0, 0, 0, 55, 0, 0, 0, 129, 0, 0, 0, 153, 0, 0, 0, 70, 0, 0, 0, 55, 0, 0, 0, 98, 0, 0, 0, 237, 0, 0, 0, 207, 0, 0, 0, 100, 0, 0, 0, 157, 0, 0, 0, 114, 0, 0, 0, 64, 0, 0, 0, 122, 0, 0, 0, 76, 0, 0, 0, 11, 0, 0, 0, 118, 0, 0, 0, 42, 0, 0, 0, 251, 0, 0, 0, 86, 0, 0, 0, 51, 0, 0, 0, 167, 0, 0, 0, 144, 0, 0, 0, 124, 0, 0, 0, 195, 0, 0, 0, 111, 0, 0, 0, 23, 0, 0, 0, 165, 0, 0, 0, 160, -0, 0, 0, 103, 0, 0, 0, 114, 0, 0, 0, 23, 0, 0, 0, 234, 0, 0, 0, 126, 0, 0, 0, 99, 0, 0, 0, 20, 0, 0, 0, 131, 0, 0, 0, 222, 0, 0, 0, 193, 0, 0, 0, 113, 0, 0, 0, 45, 0, 0, 0, 65, 0, 0, 0, 50, 0, 0, 0, 122, 0, 0, 0, 243, 0, 0, 0, 209, 0, 0, 0, 43, 0, 0, 0, 216, 0, 0, 0, 42, 0, 0, 0, 166, 0, 0, 0, 70, 0, 0, 0, 54, 0, 0, 0, 172, 0, 0, 0, 204, 0, 0, 0, 107, 0, 0, 0, 124, 0, 0, 0, 249, 0, 0, 0, 184, 0, 0, 0, 139, 0, 0, 0, 8, 0, 0, 0, 92, 0, 0, 0, 208, 0, 0, 0, 125, 0, 0, 0, 143, 0, 0, 0, 115, 0, 0, 0, 234, -0, 0, 0, 32, 0, 0, 0, 218, 0, 0, 0, 134, 0, 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 199, 0, 0, 0, 173, 0, 0, 0, 115, 0, 0, 0, 77, 0, 0, 0, 233, 0, 0, 0, 232, 0, 0, 0, 169, 0, 0, 0, 218, 0, 0, 0, 31, 0, 0, 0, 3, 0, 0, 0, 6, 0, 0, 0, 221, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 156, 0, 0, 0, 178, 0, 0, 0, 97, 0, 0, 0, 10, 0, 0, 0, 152, 0, 0, 0, 42, 0, 0, 0, 165, 0, 0, 0, 215, 0, 0, 0, 238, 0, 0, 0, 169, 0, 0, 0, 172, 0, 0, 0, 101, 0, 0, 0, 203, 0, 0, 0, 10, 0, 0, 0, 30, 0, 0, 0, 226, 0, 0, 0, 190, 0, 0, 0, 220, 0, 0, 0, 133, 0, 0, 0, 89, 0, 0, 0, 15, 0, 0, 0, 156, 0, 0, 0, 166, 0, 0, 0, 87, 0, 0, 0, 52, 0, 0, 0, 165, 0, 0, 0, 135, 0, 0, 0, 235, 0, 0, 0, 123, 0, 0, 0, 30, 0, 0, 0, 12, 0, 0, 0, 60, 0, 0, 0, 47, 0, 0, 0, 189, 0, 0, 0, 132, 0, 0, 0, 99, 0, 0, -0, 13, 0, 0, 0, 181, 0, 0, 0, 160, 0, 0, 0, 240, 0, 0, 0, 75, 0, 0, 0, 158, 0, 0, 0, 147, 0, 0, 0, 198, 0, 0, 0, 52, 0, 0, 0, 154, 0, 0, 0, 52, 0, 0, 0, 255, 0, 0, 0, 115, 0, 0, 0, 25, 0, 0, 0, 47, 0, 0, 0, 110, 0, 0, 0, 84, 0, 0, 0, 69, 0, 0, 0, 44, 0, 0, 0, 146, 0, 0, 0, 49, 0, 0, 0, 118, 0, 0, 0, 52, 0, 0, 0, 241, 0, 0, 0, 178, 0, 0, 0, 38, 0, 0, 0, 232, 0, 0, 0, 116, 0, 0, 0, 10, 0, 0, 0, 103, 0, 0, 0, 144, 0, 0, 0, 109, 0, 0, 0, 12, 0, 0, 0, 76, 0, 0, 0, 204, 0, 0, 0, 192, 0, 0, 0, 230, 0, 0, -0, 189, 0, 0, 0, 167, 0, 0, 0, 94, 0, 0, 0, 85, 0, 0, 0, 140, 0, 0, 0, 205, 0, 0, 0, 88, 0, 0, 0, 155, 0, 0, 0, 17, 0, 0, 0, 162, 0, 0, 0, 187, 0, 0, 0]).concat([75, 0, 0, 0, 177, 0, 0, 0, 67, 0, 0, 0, 4, 0, 0, 0, 60, 0, 0, 0, 85, 0, 0, 0, 237, 0, 0, 0, 35, 0, 0, 0, 254, 0, 0, 0, 205, 0, 0, 0, 177, 0, 0, 0, 83, 0, 0, 0, 5, 0, 0, 0, 251, 0, 0, 0, 117, 0, 0, 0, 245, 0, 0, 0, 1, 0, 0, 0, 175, 0, 0, 0, 56, 0, 0, 0, 114, 0, 0, 0, 88, 0, 0, 0, 252, 0, 0, 0, 4, 0, 0, 0, 41, 0, 0, 0, 52, 0, 0, 0, 122, 0, -0, 0, 103, 0, 0, 0, 162, 0, 0, 0, 8, 0, 0, 0, 80, 0, 0, 0, 110, 0, 0, 0, 208, 0, 0, 0, 43, 0, 0, 0, 115, 0, 0, 0, 213, 0, 0, 0, 184, 0, 0, 0, 228, 0, 0, 0, 48, 0, 0, 0, 150, 0, 0, 0, 173, 0, 0, 0, 69, 0, 0, 0, 223, 0, 0, 0, 166, 0, 0, 0, 92, 0, 0, 0, 13, 0, 0, 0, 136, 0, 0, 0, 26, 0, 0, 0, 144, 0, 0, 0, 126, 0, 0, 0, 220, 0, 0, 0, 216, 0, 0, 0, 254, 0, 0, 0, 193, 0, 0, 0, 47, 0, 0, 0, 93, 0, 0, 0, 103, 0, 0, 0, 238, 0, 0, 0, 103, 0, 0, 0, 47, 0, 0, 0, 237, 0, 0, 0, 111, 0, 0, 0, 85, 0, 0, 0, 67, -0, 0, 0, 95, 0, 0, 0, 135, 0, 0, 0, 20, 0, 0, 0, 53, 0, 0, 0, 66, 0, 0, 0, 211, 0, 0, 0, 117, 0, 0, 0, 174, 0, 0, 0, 213, 0, 0, 0, 211, 0, 0, 0, 133, 0, 0, 0, 26, 0, 0, 0, 118, 0, 0, 0, 135, 0, 0, 0, 200, 0, 0, 0, 160, 0, 0, 0, 110, 0, 0, 0, 225, 0, 0, 0, 176, 0, 0, 0, 173, 0, 0, 0, 106, 0, 0, 0, 74, 0, 0, 0, 52, 0, 0, 0, 113, 0, 0, 0, 237, 0, 0, 0, 124, 0, 0, 0, 214, 0, 0, 0, 68, 0, 0, 0, 3, 0, 0, 0, 101, 0, 0, 0, 74, 0, 0, 0, 92, 0, 0, 0, 92, 0, 0, 0, 4, 0, 0, 0, 245, 0, 0, 0, 36, 0, 0, 0, 63, -0, 0, 0, 176, 0, 0, 0, 22, 0, 0, 0, 94, 0, 0, 0, 140, 0, 0, 0, 178, 0, 0, 0, 210, 0, 0, 0, 197, 0, 0, 0, 32, 0, 0, 0, 152, 0, 0, 0, 131, 0, 0, 0, 194, 0, 0, 0, 55, 0, 0, 0, 160, 0, 0, 0, 65, 0, 0, 0, 168, 0, 0, 0, 72, 0, 0, 0, 92, 0, 0, 0, 95, 0, 0, 0, 191, 0, 0, 0, 200, 0, 0, 0, 250, 0, 0, 0, 36, 0, 0, 0, 224, 0, 0, 0, 89, 0, 0, 0, 44, 0, 0, 0, 189, 0, 0, 0, 246, 0, 0, 0, 129, 0, 0, 0, 126, 0, 0, 0, 136, 0, 0, 0, 230, 0, 0, 0, 202, 0, 0, 0, 4, 0, 0, 0, 216, 0, 0, 0, 93, 0, 0, 0, 96, 0, 0, 0, 187, -0, 0, 0, 116, 0, 0, 0, 167, 0, 0, 0, 11, 0, 0, 0, 33, 0, 0, 0, 19, 0, 0, 0, 145, 0, 0, 0, 191, 0, 0, 0, 119, 0, 0, 0, 122, 0, 0, 0, 51, 0, 0, 0, 188, 0, 0, 0, 233, 0, 0, 0, 7, 0, 0, 0, 57, 0, 0, 0, 10, 0, 0, 0, 221, 0, 0, 0, 125, 0, 0, 0, 6, 0, 0, 0, 16, 0, 0, 0, 154, 0, 0, 0, 238, 0, 0, 0, 71, 0, 0, 0, 115, 0, 0, 0, 27, 0, 0, 0, 21, 0, 0, 0, 90, 0, 0, 0, 251, 0, 0, 0, 205, 0, 0, 0, 77, 0, 0, 0, 208, 0, 0, 0, 210, 0, 0, 0, 58, 0, 0, 0, 1, 0, 0, 0, 186, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 213, 0, 0, 0, 57, 0, 0, 0, 74, 0, 0, 0, 11, 0, 0, 0, 32, 0, 0, 0, 106, 0, 0, 0, 67, 0, 0, 0, 160, 0, 0, 0, 7, 0, 0, 0, 130, 0, 0, 0, 94, 0, 0, 0, 73, 0, 0, 0, 124, 0, 0, 0, 201, 0, 0, 0, 71, 0, 0, 0, 241, 0, 0, 0, 124, 0, 0, 0, 55, 0, 0, 0, 185, -0, 0, 0, 35, 0, 0, 0, 239, 0, 0, 0, 107, 0, 0, 0, 70, 0, 0, 0, 69, 0, 0, 0, 140, 0, 0, 0, 69, 0, 0, 0, 118, 0, 0, 0, 223, 0, 0, 0, 20, 0, 0, 0, 107, 0, 0, 0, 110, 0, 0, 0, 66, 0, 0, 0, 201, 0, 0, 0, 202, 0, 0, 0, 41, 0, 0, 0, 76, 0, 0, 0, 118, 0, 0, 0, 55, 0, 0, 0, 218, 0, 0, 0, 138, 0, 0, 0, 45, 0, 0, 0, 124, 0, 0, 0, 58, 0, 0, 0, 88, 0, 0, 0, 242, 0, 0, 0, 3, 0, 0, 0, 180, 0, 0, 0, 181, 0, 0, 0, 185, 0, 0, 0, 26, 0, 0, 0, 19, 0, 0, 0, 45, 0, 0, 0, 222, 0, 0, 0, 95, 0, 0, 0, 107, 0, 0, 0, 157, 0, -0, 0, 186, 0, 0, 0, 82, 0, 0, 0, 201, 0, 0, 0, 93, 0, 0, 0, 179, 0, 0, 0, 243, 0, 0, 0, 48, 0, 0, 0, 76, 0, 0, 0, 111, 0, 0, 0, 254, 0, 0, 0, 107, 0, 0, 0, 12, 0, 0, 0, 98, 0, 0, 0, 215, 0, 0, 0, 72, 0, 0, 0, 113, 0, 0, 0, 239, 0, 0, 0, 177, 0, 0, 0, 133, 0, 0, 0, 121, 0, 0, 0, 192, 0, 0, 0, 237, 0, 0, 0, 36, 0, 0, 0, 177, 0, 0, 0, 8, 0, 0, 0, 147, 0, 0, 0, 118, 0, 0, 0, 142, 0, 0, 0, 247, 0, 0, 0, 56, 0, 0, 0, 142, 0, 0, 0, 235, 0, 0, 0, 254, 0, 0, 0, 128, 0, 0, 0, 64, 0, 0, 0, 175, 0, 0, 0, 144, -0, 0, 0, 100, 0, 0, 0, 73, 0, 0, 0, 74, 0, 0, 0, 136, 0, 0, 0, 218, 0, 0, 0, 193, 0, 0, 0, 152, 0, 0, 0, 68, 0, 0, 0, 60, 0, 0, 0, 83, 0, 0, 0, 78, 0, 0, 0, 219, 0, 0, 0, 75, 0, 0, 0, 185, 0, 0, 0, 18, 0, 0, 0, 95, 0, 0, 0, 205, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 239, 0, 0, 0, 117, 0, 0, 0, 231, 0, 0, 0, 177, 0, 0, 0, 58, 0, 0, 0, 229, 0, 0, 0, 7, 0, 0, 0, 250, 0, 0, 0, 202, 0, 0, 0, 101, 0, 0, 0, 123, 0, 0, 0, 114, 0, 0, 0, 16, 0, 0, 0, 100, 0, 0, 0, 127, 0, 0, 0, 61, 0, 0, 0, 129, 0, 0, 0, 240, 0, -0, 0, 235, 0, 0, 0, 22, 0, 0, 0, 253, 0, 0, 0, 88, 0, 0, 0, 51, 0, 0, 0, 141, 0, 0, 0, 124, 0, 0, 0, 26, 0, 0, 0, 251, 0, 0, 0, 32, 0, 0, 0, 44, 0, 0, 0, 138, 0, 0, 0, 238, 0, 0, 0, 144, 0, 0, 0, 187, 0, 0, 0, 51, 0, 0, 0, 109, 0, 0, 0, 69, 0, 0, 0, 233, 0, 0, 0, 142, 0, 0, 0, 153, 0, 0, 0, 133, 0, 0, 0, 225, 0, 0, 0, 8, 0, 0, 0, 31, 0, 0, 0, 197, 0, 0, 0, 241, 0, 0, 0, 181, 0, 0, 0, 70, 0, 0, 0, 228, 0, 0, 0, 231, 0, 0, 0, 67, 0, 0, 0, 75, 0, 0, 0, 160, 0, 0, 0, 63, 0, 0, 0, 43, 0, 0, 0, 6, 0, 0, -0, 186, 0, 0, 0, 23, 0, 0, 0, 174, 0, 0, 0, 61, 0, 0, 0, 230, 0, 0, 0, 206, 0, 0, 0, 189, 0, 0, 0, 184, 0, 0, 0, 237, 0, 0, 0, 116, 0, 0, 0, 17, 0, 0, 0, 53, 0, 0, 0, 236, 0, 0, 0, 150, 0, 0, 0, 254, 0, 0, 0, 49, 0, 0, 0, 227, 0, 0, 0, 14, 0, 0, 0, 122, 0, 0, 0, 78, 0, 0, 0, 201, 0, 0, 0, 29, 0, 0, 0, 203, 0, 0, 0, 32, 0, 0, 0, 224, 0, 0, 0, 103, 0, 0, 0, 233, 0, 0, 0, 123, 0, 0, 0, 219, 0, 0, 0, 150, 0, 0, 0, 92, 0, 0, 0, 176, 0, 0, 0, 50, 0, 0, 0, 208, 0, 0, 0, 89, 0, 0, 0, 49, 0, 0, 0, 144, 0, -0, 0, 220, 0, 0, 0, 146, 0, 0, 0, 151, 0, 0, 0, 172, 0, 0, 0, 9, 0, 0, 0, 56, 0, 0, 0, 49, 0, 0, 0, 15, 0, 0, 0, 126, 0, 0, 0, 214, 0, 0, 0, 93, 0, 0, 0, 208, 0, 0, 0, 6, 0, 0, 0, 182, 0, 0, 0, 31, 0, 0, 0, 234, 0, 0, 0, 240, 0, 0, 0, 91, 0, 0, 0, 7, 0, 0, 0, 129, 0, 0, 0, 159, 0, 0, 0, 199, 0, 0, 0, 222, 0, 0, 0, 107, 0, 0, 0, 65, 0, 0, 0, 34, 0, 0, 0, 53, 0, 0, 0, 20, 0, 0, 0, 103, 0, 0, 0, 119, 0, 0, 0, 62, 0, 0, 0, 144, 0, 0, 0, 129, 0, 0, 0, 176, 0, 0, 0, 217, 0, 0, 0, 133, 0, 0, 0, 76, 0, 0, -0, 202, 0, 0, 0, 155, 0, 0, 0, 63, 0, 0, 0, 4, 0, 0, 0, 89, 0, 0, 0, 214, 0, 0, 0, 170, 0, 0, 0, 23, 0, 0, 0, 195, 0, 0, 0, 136, 0, 0, 0, 52, 0, 0, 0, 55, 0, 0, 0, 186, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 0, 0, 0, 182, 0, 0, 0, 105, 0, 0, 0, 200, -0, 0, 0, 129, 0, 0, 0, 149, 0, 0, 0, 148, 0, 0, 0, 51, 0, 0, 0, 146, 0, 0, 0, 52, 0, 0, 0, 233, 0, 0, 0, 60, 0, 0, 0, 132, 0, 0, 0, 13, 0, 0, 0, 61, 0, 0, 0, 90, 0, 0, 0, 55, 0, 0, 0, 156, 0, 0, 0, 34, 0, 0, 0, 160, 0, 0, 0, 170, 0, 0, 0, 101, 0, 0, 0, 206, 0, 0, 0, 180, 0, 0, 0, 194, 0, 0, 0, 45, 0, 0, 0, 102, 0, 0, 0, 103, 0, 0, 0, 2, 0, 0, 0, 255, 0, 0, 0, 116, 0, 0, 0, 16, 0, 0, 0, 34, 0, 0, 0, 176, 0, 0, 0, 213, 0, 0, 0, 230, 0, 0, 0, 199, 0, 0, 0, 239, 0, 0, 0, 177, 0, 0, 0, 167, 0, 0, 0, 19, -0, 0, 0, 218, 0, 0, 0, 96, 0, 0, 0, 180, 0, 0, 0, 128, 0, 0, 0, 193, 0, 0, 0, 66, 0, 0, 0, 125, 0, 0, 0, 16, 0, 0, 0, 112, 0, 0, 0, 151, 0, 0, 0, 4, 0, 0, 0, 77, 0, 0, 0, 218, 0, 0, 0, 35, 0, 0, 0, 137, 0, 0, 0, 194, 0, 0, 0, 14, 0, 0, 0, 104, 0, 0, 0, 203, 0, 0, 0, 222, 0, 0, 0, 224, 0, 0, 0, 155, 0, 0, 0, 41, 0, 0, 0, 51, 0, 0, 0, 254, 0, 0, 0, 66, 0, 0, 0, 42, 0, 0, 0, 54, 0, 0, 0, 43, 0, 0, 0, 46, 0, 0, 0, 54, 0, 0, 0, 100, 0, 0, 0, 92, 0, 0, 0, 139, 0, 0, 0, 204, 0, 0, 0, 129, 0, 0, 0, 106, -0, 0, 0, 21, 0, 0, 0, 8, 0, 0, 0, 161, 0, 0, 0, 39, 0, 0, 0, 232, 0, 0, 0, 87, 0, 0, 0, 229, 0, 0, 0, 120, 0, 0, 0, 142, 0, 0, 0, 242, 0, 0, 0, 88, 0, 0, 0, 25, 0, 0, 0, 18, 0, 0, 0, 66, 0, 0, 0, 174, 0, 0, 0, 196, 0, 0, 0, 99, 0, 0, 0, 62, 0, 0, 0, 120, 0, 0, 0, 150, 0, 0, 0, 156, 0, 0, 0, 167, 0, 0, 0, 202, 0, 0, 0, 128, 0, 0, 0, 174, 0, 0, 0, 2, 0, 0, 0, 133, 0, 0, 0, 177, 0, 0, 0, 124, 0, 0, 0, 4, 0, 0, 0, 92, 0, 0, 0, 193, 0, 0, 0, 91, 0, 0, 0, 38, 0, 0, 0, 193, 0, 0, 0, 186, 0, 0, 0, 237, 0, -0, 0, 165, 0, 0, 0, 89, 0, 0, 0, 112, 0, 0, 0, 133, 0, 0, 0, 140, 0, 0, 0, 140, 0, 0, 0, 232, 0, 0, 0, 135, 0, 0, 0, 172, 0, 0, 0, 106, 0, 0, 0, 40, 0, 0, 0, 153, 0, 0, 0, 53, 0, 0, 0, 159, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 40, 0, 0, 0, 190, 0, 0, 0, 135, 0, 0, 0, 218, 0, 0, 0, 128, 0, 0, 0, 40, 0, 0, 0, 56, 0, 0, 0, 222, 0, 0, 0, 159, 0, 0, 0, 205, 0, 0, 0, 228, 0, 0, 0, 227, 0, 0, 0, 98, 0, 0, 0, 251, 0, 0, 0, 46, 0, 0, 0, 70, 0, 0, 0, 141, 0, 0, 0, 1, 0, 0, 0, 179, 0, 0, 0, 6, 0, 0, 0, 81, 0, 0, -0, 212, 0, 0, 0, 25, 0, 0, 0, 59, 0, 0, 0, 17, 0, 0, 0, 250, 0, 0, 0, 226, 0, 0, 0, 173, 0, 0, 0, 30, 0, 0, 0, 160, 0, 0, 0, 32, 0, 0, 0, 153, 0, 0, 0, 105, 0, 0, 0, 10, 0, 0, 0, 174, 0, 0, 0, 163, 0, 0, 0, 112, 0, 0, 0, 78, 0, 0, 0, 100, 0, 0, 0, 128, 0, 0, 0, 183, 0, 0, 0, 133, 0, 0, 0, 156, 0, 0, 0, 135, 0, 0, 0, 84, 0, 0, 0, 67, 0, 0, 0, 67, 0, 0, 0, 85, 0, 0, 0, 128, 0, 0, 0, 109, 0, 0, 0, 141, 0, 0, 0, 124, 0, 0, 0, 169, 0, 0, 0, 100, 0, 0, 0, 202, 0, 0, 0, 108, 0, 0, 0, 46, 0, 0, 0, 33, 0, -0, 0, 216, 0, 0, 0, 200, 0, 0, 0, 108, 0, 0, 0, 145, 0, 0, 0, 74, 0, 0, 0, 7, 0, 0, 0, 173, 0, 0, 0, 8, 0, 0, 0, 117, 0, 0, 0, 193, 0, 0, 0, 79, 0, 0, 0, 164, 0, 0, 0, 178, 0, 0, 0, 195, 0, 0, 0, 111, 0, 0, 0, 70, 0, 0, 0, 62, 0, 0, 0, 177, 0, 0, 0, 206, 0, 0, 0, 82, 0, 0, 0, 171, 0, 0, 0, 103, 0, 0, 0, 9, 0, 0, 0, 84, 0, 0, 0, 72, 0, 0, 0, 107, 0, 0, 0, 108, 0, 0, 0, 215, 0, 0, 0, 29, 0, 0, 0, 113, 0, 0, 0, 118, 0, 0, 0, 203, 0, 0, 0, 255, 0, 0, 0, 221, 0, 0, 0, 49, 0, 0, 0, 54, 0, 0, 0, 136, 0, -0, 0, 250, 0, 0, 0, 253, 0, 0, 0, 240, 0, 0, 0, 54, 0, 0, 0, 111, 0, 0, 0, 7, 0, 0, 0, 116, 0, 0, 0, 136, 0, 0, 0, 80, 0, 0, 0, 208, 0, 0, 0, 149, 0, 0, 0, 56, 0, 0, 0, 74, 0, 0, 0, 72, 0, 0, 0, 46, 0, 0, 0, 7, 0, 0, 0, 100, 0, 0, 0, 151, 0, 0, 0, 17, 0, 0, 0, 118, 0, 0, 0, 1, 0, 0, 0, 26, 0, 0, 0, 39, 0, 0, 0, 77, 0, 0, 0, 142, 0, 0, 0, 37, 0, 0, 0, 154, 0, 0, 0, 155, 0, 0, 0, 28, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 190, 0, 0, 0, 87, 0, 0, 0, 189, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 172, 0, 0, 0, 94, 0, 0, 0, 118, 0, 0, 0, 163, 0, 0, 0, 113, 0, 0, 0, 173, 0, 0, 0, 43, 0, 0, 0, 16, 0, 0, 0, 69, 0, 0, 0, 2, 0, 0, 0, 236, 0, 0, 0, 89, 0, 0, 0, 213, 0, 0, 0, 93, 0, 0, 0, 169, 0, 0, 0, 68, 0, 0, 0, 204, 0, 0, 0, 37, 0, 0, 0, 76, 0, 0, 0, 179, 0, -0, 0, 60, 0, 0, 0, 91, 0, 0, 0, 105, 0, 0, 0, 7, 0, 0, 0, 85, 0, 0, 0, 38, 0, 0, 0, 107, 0, 0, 0, 48, 0, 0, 0, 107, 0, 0, 0, 212, 0, 0, 0, 167, 0, 0, 0, 81, 0, 0, 0, 41, 0, 0, 0, 227, 0, 0, 0, 249, 0, 0, 0, 122, 0, 0, 0, 117, 0, 0, 0, 42, 0, 0, 0, 130, 0, 0, 0, 47, 0, 0, 0, 214, 0, 0, 0, 29, 0, 0, 0, 153, 0, 0, 0, 43, 0, 0, 0, 128, 0, 0, 0, 213, 0, 0, 0, 103, 0, 0, 0, 30, 0, 0, 0, 21, 0, 0, 0, 157, 0, 0, 0, 202, 0, 0, 0, 253, 0, 0, 0, 235, 0, 0, 0, 172, 0, 0, 0, 151, 0, 0, 0, 53, 0, 0, 0, 9, 0, 0, -0, 127, 0, 0, 0, 63, 0, 0, 0, 53, 0, 0, 0, 13, 0, 0, 0, 52, 0, 0, 0, 10, 0, 0, 0, 184, 0, 0, 0, 103, 0, 0, 0, 86, 0, 0, 0, 41, 0, 0, 0, 32, 0, 0, 0, 243, 0, 0, 0, 25, 0, 0, 0, 95, 0, 0, 0, 226, 0, 0, 0, 131, 0, 0, 0, 66, 0, 0, 0, 115, 0, 0, 0, 83, 0, 0, 0, 168, 0, 0, 0, 197, 0, 0, 0, 2, 0, 0, 0, 25, 0, 0, 0, 51, 0, 0, 0, 180, 0, 0, 0, 100, 0, 0, 0, 189, 0, 0, 0, 195, 0, 0, 0, 135, 0, 0, 0, 140, 0, 0, 0, 215, 0, 0, 0, 118, 0, 0, 0, 237, 0, 0, 0, 37, 0, 0, 0, 71, 0, 0, 0, 57, 0, 0, 0, 55, 0, 0, 0, -118, 0, 0, 0, 13, 0, 0, 0, 29, 0, 0, 0, 12, 0, 0, 0, 245, 0, 0, 0, 90, 0, 0, 0, 109, 0, 0, 0, 67, 0, 0, 0, 136, 0, 0, 0, 153, 0, 0, 0, 21, 0, 0, 0, 180, 0, 0, 0, 82, 0, 0, 0, 15, 0, 0, 0, 42, 0, 0, 0, 179, 0, 0, 0, 176, 0, 0, 0, 63, 0, 0, 0, 166, 0, 0, 0, 179, 0, 0, 0, 38, 0, 0, 0, 179, 0, 0, 0, 199, 0, 0, 0, 69, 0, 0, 0, 245, 0, 0, 0, 146, 0, 0, 0, 95, 0, 0, 0, 155, 0, 0, 0, 23, 0, 0, 0, 157, 0, 0, 0, 35, 0, 0, 0, 189, 0, 0, 0, 21, 0, 0, 0, 254, 0, 0, 0, 82, 0, 0, 0, 82, 0, 0, 0, 21, 0, 0, 0, 38, -0, 0, 0, 121, 0, 0, 0, 134, 0, 0, 0, 186, 0, 0, 0, 6, 0, 0, 0, 86, 0, 0, 0, 102, 0, 0, 0, 187, 0, 0, 0, 140, 0, 0, 0, 46, 0, 0, 0, 16, 0, 0, 0, 17, 0, 0, 0, 213, 0, 0, 0, 74, 0, 0, 0, 24, 0, 0, 0, 82, 0, 0, 0, 218, 0, 0, 0, 132, 0, 0, 0, 68, 0, 0, 0, 240, 0, 0, 0, 62, 0, 0, 0, 233, 0, 0, 0, 140, 0, 0, 0, 53, 0, 0, 0, 173, 0, 0, 0, 160, 0, 0, 0, 65, 0, 0, 0, 236, 0, 0, 0, 200, 0, 0, 0, 77, 0, 0, 0, 185, 0, 0, 0, 210, 0, 0, 0, 110, 0, 0, 0, 150, 0, 0, 0, 78, 0, 0, 0, 91, 0, 0, 0, 197, 0, 0, 0, 194, -0, 0, 0, 160, 0, 0, 0, 27, 0, 0, 0, 207, 0, 0, 0, 12, 0, 0, 0, 191, 0, 0, 0, 23, 0, 0, 0, 102, 0, 0, 0, 87, 0, 0, 0, 193, 0, 0, 0, 23, 0, 0, 0, 144, 0, 0, 0, 69, 0, 0, 0, 113, 0, 0, 0, 194, 0, 0, 0, 225, 0, 0, 0, 36, 0, 0, 0, 235, 0, 0, 0, 39, 0, 0, 0, 44, 0, 0, 0, 185, 0, 0, 0, 66, 0, 0, 0, 164, 0, 0, 0, 175, 0, 0, 0, 59, 0, 0, 0, 66, 0, 0, 0, 14, 0, 0, 0, 194, 0, 0, 0, 15, 0, 0, 0, 242, 0, 0, 0, 234, 0, 0, 0, 131, 0, 0, 0, 175, 0, 0, 0, 154, 0, 0, 0, 19, 0, 0, 0, 23, 0, 0, 0, 176, 0, 0, 0, 189, -0, 0, 0, 137, 0, 0, 0, 23, 0, 0, 0, 227, 0, 0, 0, 114, 0, 0, 0, 203, 0, 0, 0, 14, 0, 0, 0, 118, 0, 0, 0, 126, 0, 0, 0, 65, 0, 0, 0, 99, 0, 0, 0, 4, 0, 0, 0, 136, 0, 0, 0, 113, 0, 0, 0, 117, 0, 0, 0, 120, 0, 0, 0, 56, 0, 0, 0, 134, 0, 0, 0, 87, 0, 0, 0, 221, 0, 0, 0, 159, 0, 0, 0, 238, 0, 0, 0, 84, 0, 0, 0, 112, 0, 0, 0, 101, 0, 0, 0, 191, 0, 0, 0, 241, 0, 0, 0, 44, 0, 0, 0, 224, 0, 0, 0, 57, 0, 0, 0, 13, 0, 0, 0, 227, 0, 0, 0, 137, 0, 0, 0, 253, 0, 0, 0, 142, 0, 0, 0, 147, 0, 0, 0, 79, 0, 0, 0, 67, -0, 0, 0, 220, 0, 0, 0, 213, 0, 0, 0, 91, 0, 0, 0, 222, 0, 0, 0, 249, 0, 0, 0, 152, 0, 0, 0, 229, 0, 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, 0, 0, 0, 59, 0, 0, 0, 101, 0, 0, 0, 17, 0, 0, 0, 223, 0, 0, 0, 178, 0, 0, 0, 242, 0, 0, 0, 99, 0, 0, 0, 148, -0, 0, 0, 18, 0, 0, 0, 111, 0, 0, 0, 92, 0, 0, 0, 158, 0, 0, 0, 119, 0, 0, 0, 193, 0, 0, 0, 182, 0, 0, 0, 216, 0, 0, 0, 171, 0, 0, 0, 88, 0, 0, 0, 122, 0, 0, 0, 29, 0, 0, 0, 149, 0, 0, 0, 115, 0, 0, 0, 221, 0, 0, 0, 231, 0, 0, 0, 227, 0, 0, 0, 111, 0, 0, 0, 242, 0, 0, 0, 3, 0, 0, 0, 29, 0, 0, 0, 219, 0, 0, 0, 118, 0, 0, 0, 174, 0, 0, 0, 6, 0, 0, 0, 78, 0, 0, 0, 44, 0, 0, 0, 82, 0, 0, 0, 27, 0, 0, 0, 188, 0, 0, 0, 90, 0, 0, 0, 90, 0, 0, 0, 165, 0, 0, 0, 190, 0, 0, 0, 39, 0, 0, 0, 189, 0, 0, 0, 235, -0, 0, 0, 225, 0, 0, 0, 20, 0, 0, 0, 23, 0, 0, 0, 104, 0, 0, 0, 38, 0, 0, 0, 7, 0, 0, 0, 3, 0, 0, 0, 209, 0, 0, 0, 24, 0, 0, 0, 11, 0, 0, 0, 223, 0, 0, 0, 241, 0, 0, 0, 6, 0, 0, 0, 92, 0, 0, 0, 166, 0, 0, 0, 27, 0, 0, 0, 185, 0, 0, 0, 36, 0, 0, 0, 197, 0, 0, 0, 102, 0, 0, 0, 128, 0, 0, 0, 19, 0, 0, 0, 14, 0, 0, 0, 72, 0, 0, 0, 140, 0, 0, 0, 135, 0, 0, 0, 49, 0, 0, 0, 132, 0, 0, 0, 180, 0, 0, 0, 96, 0, 0, 0, 237, 0, 0, 0, 197, 0, 0, 0, 236, 0, 0, 0, 182, 0, 0, 0, 197, 0, 0, 0, 5, 0, 0, 0, 51, 0, 0, -0, 95, 0, 0, 0, 47, 0, 0, 0, 125, 0, 0, 0, 64, 0, 0, 0, 182, 0, 0, 0, 50, 0, 0, 0, 29, 0, 0, 0, 56, 0, 0, 0, 116, 0, 0, 0, 27, 0, 0, 0, 241, 0, 0, 0, 9, 0, 0, 0, 61, 0, 0, 0, 212, 0, 0, 0, 105, 0, 0, 0, 130, 0, 0, 0, 188, 0, 0, 0, 141, 0, 0, 0, 248, 0, 0, 0, 52, 0, 0, 0, 54, 0, 0, 0, 117, 0, 0, 0, 85, 0, 0, 0, 24, 0, 0, 0, 85, 0, 0, 0, 88, 0, 0, 0, 60, 0, 0, 0, 121, 0, 0, 0, 175, 0, 0, 0, 38, 0, 0, 0, 128, 0, 0, 0, 171, 0, 0, 0, 155, 0, 0, 0, 149, 0, 0, 0, 0, 0, 0, 0, 241, 0, 0, 0, 203, 0, 0, 0, -218, 0, 0, 0, 193, 0, 0, 0, 159, 0, 0, 0, 246, 0, 0, 0, 47, 0, 0, 0, 162, 0, 0, 0, 244, 0, 0, 0, 69, 0, 0, 0, 23, 0, 0, 0, 190, 0, 0, 0, 235, 0, 0, 0, 133, 0, 0, 0, 237, 0, 0, 0, 158, 0, 0, 0, 205, 0, 0, 0, 86, 0, 0, 0, 245, 0, 0, 0, 23, 0, 0, 0, 69, 0, 0, 0, 66, 0, 0, 0, 180, 0, 0, 0, 31, 0, 0, 0, 68, 0, 0, 0, 76, 0, 0, 0, 5, 0, 0, 0, 116, 0, 0, 0, 21, 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 106, 0, 0, 0, 61, 0, 0, 0, 36, 0, 0, 0, 9, 0, 0, 0, 13, 0, 0, 0, 88, 0, 0, 0, 177, 0, 0, 0, 66, 0, -0, 0, 215, 0, 0, 0, 4, 0, 0, 0, 141, 0, 0, 0, 189, 0, 0, 0, 163, 0, 0, 0, 196, 0, 0, 0, 6, 0, 0, 0, 155, 0, 0, 0, 31, 0, 0, 0, 144, 0, 0, 0, 88, 0, 0, 0, 96, 0, 0, 0, 116, 0, 0, 0, 178, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, 60, 0, 0, 0, 210, 0, 0, 0, 218, 0, 0, 0, 130, 0, 0, 0, 187, 0, 0, 0, 16, 0, 0, 0, 144, 0, 0, 0, 105, 0, 0, 0, 146, 0, 0, 0, 169, 0, 0, 0, 180, 0, 0, 0, 48, 0, 0, 0, 129, 0, 0, 0, 227, 0, 0, 0, 124, 0, 0, 0, 168, 0, 0, 0, 137, 0, 0, 0, 69, 0, 0, 0, 63, 0, 0, 0, 220, 0, 0, 0, 5, 0, -0, 0, 203, 0, 0, 0, 65, 0, 0, 0, 60, 0, 0, 0, 200, 0, 0, 0, 35, 0, 0, 0, 4, 0, 0, 0, 44, 0, 0, 0, 56, 0, 0, 0, 153, 0, 0, 0, 227, 0, 0, 0, 104, 0, 0, 0, 85, 0, 0, 0, 249, 0, 0, 0, 211, 0, 0, 0, 50, 0, 0, 0, 199, 0, 0, 0, 191, 0, 0, 0, 250, 0, 0, 0, 212, 0, 0, 0, 27, 0, 0, 0, 93, 0, 0, 0, 222, 0, 0, 0, 220, 0, 0, 0, 16, 0, 0, 0, 66, 0, 0, 0, 192, 0, 0, 0, 66, 0, 0, 0, 217, 0, 0, 0, 117, 0, 0, 0, 45, 0, 0, 0, 171, 0, 0, 0, 53, 0, 0, 0, 78, 0, 0, 0, 135, 0, 0, 0, 196, 0, 0, 0, 101, 0, 0, 0, 151, 0, -0, 0, 103, 0, 0, 0, 36, 0, 0, 0, 164, 0, 0, 0, 71, 0, 0, 0, 173, 0, 0, 0, 63, 0, 0, 0, 142, 0, 0, 0, 243, 0, 0, 0, 203, 0, 0, 0, 49, 0, 0, 0, 23, 0, 0, 0, 119, 0, 0, 0, 197, 0, 0, 0, 226, 0, 0, 0, 215, 0, 0, 0, 143, 0, 0, 0, 60, 0, 0, 0, 193, 0, 0, 0, 205, 0, 0, 0, 86, 0, 0, 0, 72, 0, 0, 0, 193, 0, 0, 0, 108, 0, 0, 0, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 174, 0, 0, 0, 95, 0, 0, 0, 136, 0, 0, 0, 123, 0, 0, 0, 165, 0, 0, 0, 144, 0, 0, 0, 223, 0, 0, 0, 16, 0, 0, 0, 178, 0, 0, 0, 139, 0, 0, 0, 94, 0, 0, 0, 36, 0, 0, 0, 23, 0, 0, 0, 195, 0, 0, 0, 163, 0, 0, 0, 212, 0, 0, 0, 15, 0, 0, 0, 146, 0, 0, 0, 97, 0, 0, 0, 26, 0, 0, 0, 25, 0, 0, 0, 90, 0, 0, 0, 173, 0, 0, 0, 118, 0, 0, 0, 189, 0, 0, 0, 216, 0, 0, 0, 28, 0, 0, 0, 221, 0, 0, 0, 224, 0, -0, 0, 18, 0, 0, 0, 109, 0, 0, 0, 142, 0, 0, 0, 189, 0, 0, 0, 112, 0, 0, 0, 143, 0, 0, 0, 2, 0, 0, 0, 163, 0, 0, 0, 36, 0, 0, 0, 77, 0, 0, 0, 90, 0, 0, 0, 103, 0, 0, 0, 196, 0, 0, 0, 218, 0, 0, 0, 247, 0, 0, 0, 32, 0, 0, 0, 15, 0, 0, 0, 129, 0, 0, 0, 91, 0, 0, 0, 122, 0, 0, 0, 5, 0, 0, 0, 36, 0, 0, 0, 103, 0, 0, 0, 131, 0, 0, 0, 11, 0, 0, 0, 42, 0, 0, 0, 128, 0, 0, 0, 231, 0, 0, 0, 253, 0, 0, 0, 116, 0, 0, 0, 75, 0, 0, 0, 158, 0, 0, 0, 92, 0, 0, 0, 13, 0, 0, 0, 148, 0, 0, 0, 213, 0, 0, 0, 95, 0, 0, -0, 31, 0, 0, 0, 162, 0, 0, 0, 251, 0, 0, 0, 235, 0, 0, 0, 225, 0, 0, 0, 7, 0, 0, 0, 52, 0, 0, 0, 248, 0, 0, 0, 32, 0, 0, 0, 173, 0, 0, 0, 129, 0, 0, 0, 48, 0, 0, 0, 6, 0, 0, 0, 45, 0, 0, 0, 161, 0, 0, 0, 129, 0, 0, 0, 149, 0, 0, 0, 54, 0, 0, 0, 207, 0, 0, 0, 17, 0, 0, 0, 11, 0, 0, 0, 175, 0, 0, 0, 193, 0, 0, 0, 43, 0, 0, 0, 154, 0, 0, 0, 108, 0, 0, 0, 85, 0, 0, 0, 193, 0, 0, 0, 22, 0, 0, 0, 54, 0, 0, 0, 79, 0, 0, 0, 241, 0, 0, 0, 94, 0, 0, 0, 116, 0, 0, 0, 53, 0, 0, 0, 19, 0, 0, 0, 40, 0, 0, 0, 215, -0, 0, 0, 17, 0, 0, 0, 207, 0, 0, 0, 184, 0, 0, 0, 222, 0, 0, 0, 147, 0, 0, 0, 179, 0, 0, 0, 5, 0, 0, 0, 184, 0, 0, 0, 181, 0, 0, 0, 115, 0, 0, 0, 233, 0, 0, 0, 235, 0, 0, 0, 173, 0, 0, 0, 25, 0, 0, 0, 30, 0, 0, 0, 137, 0, 0, 0, 15, 0, 0, 0, 139, 0, 0, 0, 21, 0, 0, 0, 213, 0, 0, 0, 140, 0, 0, 0, 227, 0, 0, 0, 35, 0, 0, 0, 51, 0, 0, 0, 121, 0, 0, 0, 231, 0, 0, 0, 24, 0, 0, 0, 230, 0, 0, 0, 15, 0, 0, 0, 87, 0, 0, 0, 147, 0, 0, 0, 21, 0, 0, 0, 160, 0, 0, 0, 167, 0, 0, 0, 170, 0, 0, 0, 196, 0, 0, 0, 191, -0, 0, 0, 79, 0, 0, 0, 48, 0, 0, 0, 116, 0, 0, 0, 149, 0, 0, 0, 94, 0, 0, 0, 105, 0, 0, 0, 74, 0, 0, 0, 91, 0, 0, 0, 69, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, 235, 0, 0, 0, 35, 0, 0, 0, 116, 0, 0, 0, 76, 0, 0, 0, 223, 0, 0, 0, 107, 0, 0, 0, 69, 0, 0, 0, 151, 0, 0, 0, 41, 0, 0, 0, 108, 0, 0, 0, 196, 0, 0, 0, 66, 0, 0, 0, 11, 0, 0, 0, 221, 0, 0, 0, 192, 0, 0, 0, 41, 0, 0, 0, 92, 0, 0, 0, 155, 0, 0, 0, 52, 0, 0, 0, 151, 0, 0, 0, 208, 0, 0, 0, 199, 0, 0, 0, 121, 0, 0, 0, 128, 0, 0, 0, 99, 0, 0, 0, 116, 0, -0, 0, 228, 0, 0, 0, 142, 0, 0, 0, 55, 0, 0, 0, 176, 0, 0, 0, 43, 0, 0, 0, 124, 0, 0, 0, 232, 0, 0, 0, 104, 0, 0, 0, 108, 0, 0, 0, 195, 0, 0, 0, 130, 0, 0, 0, 151, 0, 0, 0, 87, 0, 0, 0, 34, 0, 0, 0, 190, 0, 0, 0, 131, 0, 0, 0, 182, 0, 0, 0, 75, 0, 0, 0, 128, 0, 0, 0, 107, 0, 0, 0, 67, 0, 0, 0, 36, 0, 0, 0, 94, 0, 0, 0, 239, 0, 0, 0, 153, 0, 0, 0, 155, 0, 0, 0, 168, 0, 0, 0, 252, 0, 0, 0, 37, 0, 0, 0, 141, 0, 0, 0, 59, 0, 0, 0, 3, 0, 0, 0, 148, 0, 0, 0, 43, 0, 0, 0, 62, 0, 0, 0, 231, 0, 0, 0, 149, -0, 0, 0, 118, 0, 0, 0, 155, 0, 0, 0, 204, 0, 0, 0, 21, 0, 0, 0, 219, 0, 0, 0, 50, 0, 0, 0, 230, 0, 0, 0, 102, 0, 0, 0, 132, 0, 0, 0, 240, 0, 0, 0, 74, 0, 0, 0, 19, 0, 0, 0, 166, 0, 0, 0, 214, 0, 0, 0, 250, 0, 0, 0, 147, 0, 0, 0, 70, 0, 0, 0, 7, 0, 0, 0, 246, 0, 0, 0, 126, 0, 0, 0, 92, 0, 0, 0, 109, 0, 0, 0, 94, 0, 0, 0, 246, 0, 0, 0, 166, 0, 0, 0, 231, 0, 0, 0, 72, 0, 0, 0, 240, 0, 0, 0, 6, 0, 0, 0, 234, 0, 0, 0, 255, 0, 0, 0, 144, 0, 0, 0, 193, 0, 0, 0, 204, 0, 0, 0, 76, 0, 0, 0, 25, 0, 0, 0, 156, -0, 0, 0, 60, 0, 0, 0, 78, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 80, 0, 0, 0, 227, 0, 0, 0, 7, 0, 0, 0, 21, 0, 0, 0, 89, 0, 0, 0, 242, 0, 0, 0, 139, 0, 0, 0, 129, 0, 0, 0, 242, 0, 0, 0, 243, 0, 0, 0, 211, 0, 0, 0, 108, 0, 0, 0, 153, 0, 0, -0, 140, 0, 0, 0, 112, 0, 0, 0, 103, 0, 0, 0, 236, 0, 0, 0, 204, 0, 0, 0, 238, 0, 0, 0, 158, 0, 0, 0, 89, 0, 0, 0, 69, 0, 0, 0, 89, 0, 0, 0, 125, 0, 0, 0, 71, 0, 0, 0, 117, 0, 0, 0, 105, 0, 0, 0, 245, 0, 0, 0, 36, 0, 0, 0, 147, 0, 0, 0, 93, 0, 0, 0, 106, 0, 0, 0, 79, 0, 0, 0, 27, 0, 0, 0, 190, 0, 0, 0, 107, 0, 0, 0, 48, 0, 0, 0, 207, 0, 0, 0, 117, 0, 0, 0, 70, 0, 0, 0, 227, 0, 0, 0, 123, 0, 0, 0, 157, 0, 0, 0, 252, 0, 0, 0, 205, 0, 0, 0, 216, 0, 0, 0, 92, 0, 0, 0, 31, 0, 0, 0, 180, 0, 0, 0, 200, 0, -0, 0, 226, 0, 0, 0, 36, 0, 0, 0, 236, 0, 0, 0, 26, 0, 0, 0, 40, 0, 0, 0, 5, 0, 0, 0, 50, 0, 0, 0, 87, 0, 0, 0, 253, 0, 0, 0, 60, 0, 0, 0, 90, 0, 0, 0, 152, 0, 0, 0, 16, 0, 0, 0, 163, 0, 0, 0, 219, 0, 0, 0, 247, 0, 0, 0, 48, 0, 0, 0, 216, 0, 0, 0, 194, 0, 0, 0, 154, 0, 0, 0, 225, 0, 0, 0, 211, 0, 0, 0, 206, 0, 0, 0, 34, 0, 0, 0, 229, 0, 0, 0, 128, 0, 0, 0, 30, 0, 0, 0, 217, 0, 0, 0, 228, 0, 0, 0, 31, 0, 0, 0, 171, 0, 0, 0, 192, 0, 0, 0, 113, 0, 0, 0, 26, 0, 0, 0, 134, 0, 0, 0, 14, 0, 0, 0, 39, 0, -0, 0, 153, 0, 0, 0, 91, 0, 0, 0, 250, 0, 0, 0, 118, 0, 0, 0, 153, 0, 0, 0, 176, 0, 0, 0, 8, 0, 0, 0, 60, 0, 0, 0, 42, 0, 0, 0, 147, 0, 0, 0, 210, 0, 0, 0, 133, 0, 0, 0, 27, 0, 0, 0, 106, 0, 0, 0, 93, 0, 0, 0, 166, 0, 0, 0, 238, 0, 0, 0, 209, 0, 0, 0, 209, 0, 0, 0, 51, 0, 0, 0, 189, 0, 0, 0, 106, 0, 0, 0, 54, 0, 0, 0, 115, 0, 0, 0, 55, 0, 0, 0, 58, 0, 0, 0, 68, 0, 0, 0, 180, 0, 0, 0, 236, 0, 0, 0, 169, 0, 0, 0, 122, 0, 0, 0, 222, 0, 0, 0, 131, 0, 0, 0, 64, 0, 0, 0, 215, 0, 0, 0, 223, 0, 0, 0, 40, -0, 0, 0, 186, 0, 0, 0, 162, 0, 0, 0, 48, 0, 0, 0, 211, 0, 0, 0, 181, 0, 0, 0, 109, 0, 0, 0, 5, 0, 0, 0, 63, 0, 0, 0, 159, 0, 0, 0, 243, 0, 0, 0, 21, 0, 0, 0, 141, 0, 0, 0, 124, 0, 0, 0, 202, 0, 0, 0, 201, 0, 0, 0, 252, 0, 0, 0, 138, 0, 0, 0, 124, 0, 0, 0, 148, 0, 0, 0, 176, 0, 0, 0, 99, 0, 0, 0, 54, 0, 0, 0, 155, 0, 0, 0, 120, 0, 0, 0, 209, 0, 0, 0, 145, 0, 0, 0, 31, 0, 0, 0, 147, 0, 0, 0, 216, 0, 0, 0, 87, 0, 0, 0, 67, 0, 0, 0, 222, 0, 0, 0, 118, 0, 0, 0, 163, 0, 0, 0, 67, 0, 0, 0, 155, 0, 0, 0, -53, 0, 0, 0, 226, 0, 0, 0, 169, 0, 0, 0, 61, 0, 0, 0, 50, 0, 0, 0, 30, 0, 0, 0, 187, 0, 0, 0, 22, 0, 0, 0, 40, 0, 0, 0, 112, 0, 0, 0, 233, 0, 0, 0, 69, 0, 0, 0, 47, 0, 0, 0, 143, 0, 0, 0, 112, 0, 0, 0, 127, 0, 0, 0, 8, 0, 0, 0, 126, 0, 0, 0, 83, 0, 0, 0, 196, 0, 0, 0, 122, 0, 0, 0, 191, 0, 0, 0, 247, 0, 0, 0, 225, 0, 0, 0, 164, 0, 0, 0, 106, 0, 0, 0, 216, 0, 0, 0, 172, 0, 0, 0, 100, 0, 0, 0, 27, 0, 0, 0, 17, 0, 0, 0, 178, 0, 0, 0, 235, 0, 0, 0, 71, 0, 0, 0, 70, 0, 0, 0, 24, 0, 0, 0, 62, 0, 0, 0, -31, 0, 0, 0, 153, 0, 0, 0, 12, 0, 0, 0, 204, 0, 0, 0, 241, 0, 0, 0, 44, 0, 0, 0, 224, 0, 0, 0, 231, 0, 0, 0, 143, 0, 0, 0, 224, 0, 0, 0, 1, 0, 0, 0, 126, 0, 0, 0, 101, 0, 0, 0, 184, 0, 0, 0, 12, 0, 0, 0, 208, 0, 0, 0, 251, 0, 0, 0, 200, 0, 0, 0, 185, 0, 0, 0, 144, 0, 0, 0, 152, 0, 0, 0, 51, 0, 0, 0, 97, 0, 0, 0, 59, 0, 0, 0, 216, 0, 0, 0, 39, 0, 0, 0, 160, 0, 0, 0, 190, 0, 0, 0, 114, 0, 0, 0, 58, 0, 0, 0, 80, 0, 0, 0, 75, 0, 0, 0, 116, 0, 0, 0, 171, 0, 0, 0, 1, 0, 0, 0, 200, 0, 0, 0, 147, 0, 0, 0, -197, 0, 0, 0, 228, 0, 0, 0, 199, 0, 0, 0, 8, 0, 0, 0, 108, 0, 0, 0, 180, 0, 0, 0, 202, 0, 0, 0, 238, 0, 0, 0, 235, 0, 0, 0, 142, 0, 0, 0, 215, 0, 0, 0, 78, 0, 0, 0, 38, 0, 0, 0, 198, 0, 0, 0, 29, 0, 0, 0, 226, 0, 0, 0, 113, 0, 0, 0, 175, 0, 0, 0, 137, 0, 0, 0, 160, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, 0, 0, 0, 11, 0, 0, 0, 228, 0, 0, 0, 222, 0, 0, 0, 219, 0, 0, 0, 168, 0, 0, 0, 250, 0, 0, 0, 130, 0, 0, 0, 116, 0, 0, 0, 6, 0, 0, 0, 82, 0, 0, 0, 109, 0, 0, 0, 8, 0, 0, 0, 82, 0, 0, 0, 138, 0, 0, 0, 255, 0, 0, 0, 98, 0, 0, 0, 197, 0, 0, 0, 106, 0, 0, 0, 68, 0, 0, 0, 15, 0, 0, 0, 81, 0, 0, 0, 140, 0, 0, 0, 31, 0, 0, 0, 110, 0, 0, 0, 182, 0, 0, 0, 198, 0, 0, 0, 44, 0, 0, 0, 129, 0, 0, 0, 211, 0, 0, 0, 118, 0, 0, 0, 70, 0, 0, 0, 244, 0, 0, 0, -41, 0, 0, 0, 116, 0, 0, 0, 46, 0, 0, 0, 128, 0, 0, 0, 167, 0, 0, 0, 26, 0, 0, 0, 143, 0, 0, 0, 246, 0, 0, 0, 189, 0, 0, 0, 214, 0, 0, 0, 142, 0, 0, 0, 191, 0, 0, 0, 193, 0, 0, 0, 149, 0, 0, 0, 42, 0, 0, 0, 235, 0, 0, 0, 160, 0, 0, 0, 127, 0, 0, 0, 69, 0, 0, 0, 160, 0, 0, 0, 80, 0, 0, 0, 20, 0, 0, 0, 5, 0, 0, 0, 177, 0, 0, 0, 87, 0, 0, 0, 76, 0, 0, 0, 116, 0, 0, 0, 183, 0, 0, 0, 226, 0, 0, 0, 137, 0, 0, 0, 125, 0, 0, 0, 7, 0, 0, 0, 238, 0, 0, 0, 167, 0, 0, 0, 173, 0, 0, 0, 183, 0, 0, 0, 9, 0, 0, 0, -11, 0, 0, 0, 73, 0, 0, 0, 78, 0, 0, 0, 191, 0, 0, 0, 202, 0, 0, 0, 229, 0, 0, 0, 33, 0, 0, 0, 230, 0, 0, 0, 230, 0, 0, 0, 175, 0, 0, 0, 213, 0, 0, 0, 103, 0, 0, 0, 243, 0, 0, 0, 206, 0, 0, 0, 126, 0, 0, 0, 124, 0, 0, 0, 147, 0, 0, 0, 123, 0, 0, 0, 90, 0, 0, 0, 16, 0, 0, 0, 18, 0, 0, 0, 14, 0, 0, 0, 108, 0, 0, 0, 6, 0, 0, 0, 17, 0, 0, 0, 117, 0, 0, 0, 213, 0, 0, 0, 252, 0, 0, 0, 134, 0, 0, 0, 163, 0, 0, 0, 59, 0, 0, 0, 163, 0, 0, 0, 62, 0, 0, 0, 10, 0, 0, 0, 251, 0, 0, 0, 11, 0, 0, 0, 247, 0, 0, 0, -54, 0, 0, 0, 177, 0, 0, 0, 91, 0, 0, 0, 218, 0, 0, 0, 112, 0, 0, 0, 183, 0, 0, 0, 0, 0, 0, 0, 167, 0, 0, 0, 218, 0, 0, 0, 136, 0, 0, 0, 143, 0, 0, 0, 132, 0, 0, 0, 168, 0, 0, 0, 188, 0, 0, 0, 28, 0, 0, 0, 57, 0, 0, 0, 184, 0, 0, 0, 101, 0, 0, 0, 243, 0, 0, 0, 77, 0, 0, 0, 96, 0, 0, 0, 150, 0, 0, 0, 157, 0, 0, 0, 49, 0, 0, 0, 244, 0, 0, 0, 162, 0, 0, 0, 190, 0, 0, 0, 129, 0, 0, 0, 185, 0, 0, 0, 165, 0, 0, 0, 89, 0, 0, 0, 158, 0, 0, 0, 186, 0, 0, 0, 7, 0, 0, 0, 190, 0, 0, 0, 116, 0, 0, 0, 88, 0, 0, -0, 216, 0, 0, 0, 235, 0, 0, 0, 197, 0, 0, 0, 159, 0, 0, 0, 61, 0, 0, 0, 209, 0, 0, 0, 244, 0, 0, 0, 174, 0, 0, 0, 206, 0, 0, 0, 83, 0, 0, 0, 223, 0, 0, 0, 79, 0, 0, 0, 199, 0, 0, 0, 42, 0, 0, 0, 137, 0, 0, 0, 77, 0, 0, 0, 41, 0, 0, 0, 216, 0, 0, 0, 242, 0, 0, 0, 170, 0, 0, 0, 233, 0, 0, 0, 14, 0, 0, 0, 247, 0, 0, 0, 46, 0, 0, 0, 95, 0, 0, 0, 157, 0, 0, 0, 138, 0, 0, 0, 91, 0, 0, 0, 9, 0, 0, 0, 237, 0, 0, 0, 201, 0, 0, 0, 36, 0, 0, 0, 34, 0, 0, 0, 244, 0, 0, 0, 15, 0, 0, 0, 37, 0, 0, 0, 143, 0, 0, -0, 28, 0, 0, 0, 132, 0, 0, 0, 110, 0, 0, 0, 52, 0, 0, 0, 20, 0, 0, 0, 108, 0, 0, 0, 234, 0, 0, 0, 179, 0, 0, 0, 134, 0, 0, 0, 93, 0, 0, 0, 4, 0, 0, 0, 7, 0, 0, 0, 152, 0, 0, 0, 97, 0, 0, 0, 232, 0, 0, 0, 106, 0, 0, 0, 210, 0, 0, 0, 129, 0, 0, 0, 73, 0, 0, 0, 37, 0, 0, 0, 213, 0, 0, 0, 91, 0, 0, 0, 24, 0, 0, 0, 199, 0, 0, 0, 53, 0, 0, 0, 82, 0, 0, 0, 81, 0, 0, 0, 164, 0, 0, 0, 70, 0, 0, 0, 173, 0, 0, 0, 24, 0, 0, 0, 13, 0, 0, 0, 201, 0, 0, 0, 95, 0, 0, 0, 24, 0, 0, 0, 145, 0, 0, 0, 59, 0, 0, 0, 180, -0, 0, 0, 192, 0, 0, 0, 96, 0, 0, 0, 89, 0, 0, 0, 141, 0, 0, 0, 102, 0, 0, 0, 3, 0, 0, 0, 27, 0, 0, 0, 121, 0, 0, 0, 83, 0, 0, 0, 110, 0, 0, 0, 36, 0, 0, 0, 174, 0, 0, 0, 87, 0, 0, 0, 217, 0, 0, 0, 88, 0, 0, 0, 9, 0, 0, 0, 133, 0, 0, 0, 72, 0, 0, 0, 162, 0, 0, 0, 211, 0, 0, 0, 181, 0, 0, 0, 226, 0, 0, 0, 77, 0, 0, 0, 17, 0, 0, 0, 130, 0, 0, 0, 230, 0, 0, 0, 134, 0, 0, 0, 60, 0, 0, 0, 233, 0, 0, 0, 177, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 194, 0, 0, 0, 87, 0, 0, 0, 247, 0, 0, 0, 102, 0, 0, 0, 122, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 227, 0, 0, 0, 137, 0, 0, 0, 3, 0, 0, 0, 215, 0, 0, 0, 34, 0, 0, 0, 149, 0, 0, 0, 159, 0, 0, 0, 202, 0, 0, 0, 180, 0, 0, 0, 141, 0, 0, 0, 158, 0, 0, 0, 109, 0, 0, 0, 151, 0, 0, 0, 255, 0, 0, 0, 141, 0, 0, 0, 33, 0, 0, -0, 89, 0, 0, 0, 7, 0, 0, 0, 239, 0, 0, 0, 3, 0, 0, 0, 45, 0, 0, 0, 94, 0, 0, 0, 248, 0, 0, 0, 68, 0, 0, 0, 70, 0, 0, 0, 231, 0, 0, 0, 133, 0, 0, 0, 128, 0, 0, 0, 197, 0, 0, 0, 137, 0, 0, 0, 80, 0, 0, 0, 139, 0, 0, 0, 216, 0, 0, 0, 83, 0, 0, 0, 134, 0, 0, 0, 36, 0, 0, 0, 134, 0, 0, 0, 41, 0, 0, 0, 82, 0, 0, 0, 1, 0, 0, 0, 250, 0, 0, 0, 32, 0, 0, 0, 195, 0, 0, 0, 78, 0, 0, 0, 149, 0, 0, 0, 203, 0, 0, 0, 173, 0, 0, 0, 123, 0, 0, 0, 52, 0, 0, 0, 148, 0, 0, 0, 48, 0, 0, 0, 183, 0, 0, 0, 122, 0, 0, 0, -250, 0, 0, 0, 150, 0, 0, 0, 65, 0, 0, 0, 96, 0, 0, 0, 43, 0, 0, 0, 203, 0, 0, 0, 89, 0, 0, 0, 185, 0, 0, 0, 202, 0, 0, 0, 80, 0, 0, 0, 194, 0, 0, 0, 91, 0, 0, 0, 155, 0, 0, 0, 120, 0, 0, 0, 35, 0, 0, 0, 27, 0, 0, 0, 58, 0, 0, 0, 136, 0, 0, 0, 148, 0, 0, 0, 95, 0, 0, 0, 10, 0, 0, 0, 155, 0, 0, 0, 152, 0, 0, 0, 43, 0, 0, 0, 110, 0, 0, 0, 83, 0, 0, 0, 17, 0, 0, 0, 246, 0, 0, 0, 255, 0, 0, 0, 198, 0, 0, 0]).concat([125, 0, 0, 0, 66, 0, 0, 0, 204, 0, 0, 0, 2, 0, 0, 0, 128, 0, 0, 0, 64, 0, 0, 0, 13, 0, -0, 0, 30, 0, 0, 0, 251, 0, 0, 0, 175, 0, 0, 0, 97, 0, 0, 0, 7, 0, 0, 0, 176, 0, 0, 0, 230, 0, 0, 0, 47, 0, 0, 0, 129, 0, 0, 0, 112, 0, 0, 0, 161, 0, 0, 0, 46, 0, 0, 0, 57, 0, 0, 0, 4, 0, 0, 0, 124, 0, 0, 0, 196, 0, 0, 0, 44, 0, 0, 0, 135, 0, 0, 0, 69, 0, 0, 0, 74, 0, 0, 0, 91, 0, 0, 0, 105, 0, 0, 0, 151, 0, 0, 0, 172, 0, 0, 0, 109, 0, 0, 0, 44, 0, 0, 0, 16, 0, 0, 0, 66, 0, 0, 0, 124, 0, 0, 0, 59, 0, 0, 0, 21, 0, 0, 0, 112, 0, 0, 0, 96, 0, 0, 0, 14, 0, 0, 0, 17, 0, 0, 0, 109, 0, 0, 0, 58, 0, 0, 0, -155, 0, 0, 0, 24, 0, 0, 0, 128, 0, 0, 0, 94, 0, 0, 0, 219, 0, 0, 0, 5, 0, 0, 0, 189, 0, 0, 0, 198, 0, 0, 0, 183, 0, 0, 0, 60, 0, 0, 0, 194, 0, 0, 0, 64, 0, 0, 0, 77, 0, 0, 0, 93, 0, 0, 0, 206, 0, 0, 0, 151, 0, 0, 0, 138, 0, 0, 0, 52, 0, 0, 0, 21, 0, 0, 0, 171, 0, 0, 0, 40, 0, 0, 0, 93, 0, 0, 0, 16, 0, 0, 0, 240, 0, 0, 0, 55, 0, 0, 0, 12, 0, 0, 0, 204, 0, 0, 0, 22, 0, 0, 0, 250, 0, 0, 0, 31, 0, 0, 0, 51, 0, 0, 0, 13, 0, 0, 0, 25, 0, 0, 0, 249, 0, 0, 0, 53, 0, 0, 0, 170, 0, 0, 0, 89, 0, 0, 0, 26, 0, -0, 0, 12, 0, 0, 0, 92, 0, 0, 0, 6, 0, 0, 0, 252, 0, 0, 0, 106, 0, 0, 0, 11, 0, 0, 0, 151, 0, 0, 0, 83, 0, 0, 0, 54, 0, 0, 0, 252, 0, 0, 0, 42, 0, 0, 0, 165, 0, 0, 0, 90, 0, 0, 0, 155, 0, 0, 0, 48, 0, 0, 0, 239, 0, 0, 0, 35, 0, 0, 0, 175, 0, 0, 0, 57, 0, 0, 0, 93, 0, 0, 0, 154, 0, 0, 0, 107, 0, 0, 0, 117, 0, 0, 0, 87, 0, 0, 0, 72, 0, 0, 0, 11, 0, 0, 0, 38, 0, 0, 0, 220, 0, 0, 0, 118, 0, 0, 0, 59, 0, 0, 0, 252, 0, 0, 0, 249, 0, 0, 0, 156, 0, 0, 0, 63, 0, 0, 0, 137, 0, 0, 0, 11, 0, 0, 0, 98, 0, 0, 0, -83, 0, 0, 0, 175, 0, 0, 0, 131, 0, 0, 0, 1, 0, 0, 0, 46, 0, 0, 0, 188, 0, 0, 0, 106, 0, 0, 0, 198, 0, 0, 0, 3, 0, 0, 0, 13, 0, 0, 0, 117, 0, 0, 0, 42, 0, 0, 0, 13, 0, 0, 0, 230, 0, 0, 0, 148, 0, 0, 0, 84, 0, 0, 0, 207, 0, 0, 0, 179, 0, 0, 0, 229, 0, 0, 0, 150, 0, 0, 0, 37, 0, 0, 0, 254, 0, 0, 0, 130, 0, 0, 0, 177, 0, 0, 0, 116, 0, 0, 0, 49, 0, 0, 0, 138, 0, 0, 0, 167, 0, 0, 0, 111, 0, 0, 0, 86, 0, 0, 0, 189, 0, 0, 0, 141, 0, 0, 0, 244, 0, 0, 0, 224, 0, 0, 0, 148, 0, 0, 0, 81, 0, 0, 0, 89, 0, 0, 0, -222, 0, 0, 0, 44, 0, 0, 0, 90, 0, 0, 0, 244, 0, 0, 0, 132, 0, 0, 0, 107, 0, 0, 0, 74, 0, 0, 0, 136, 0, 0, 0, 147, 0, 0, 0, 192, 0, 0, 0, 12, 0, 0, 0, 154, 0, 0, 0, 172, 0, 0, 0, 167, 0, 0, 0, 160, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 13, -0, 0, 0, 214, 0, 0, 0, 199, 0, 0, 0, 35, 0, 0, 0, 71, 0, 0, 0, 16, 0, 0, 0, 173, 0, 0, 0, 199, 0, 0, 0, 8, 0, 0, 0, 92, 0, 0, 0, 135, 0, 0, 0, 135, 0, 0, 0, 147, 0, 0, 0, 152, 0, 0, 0, 24, 0, 0, 0, 184, 0, 0, 0, 211, 0, 0, 0, 156, 0, 0, 0, 172, 0, 0, 0, 90, 0, 0, 0, 61, 0, 0, 0, 197, 0, 0, 0, 117, 0, 0, 0, 248, 0, 0, 0, 73, 0, 0, 0, 50, 0, 0, 0, 20, 0, 0, 0, 204, 0, 0, 0, 81, 0, 0, 0, 150, 0, 0, 0, 36, 0, 0, 0, 101, 0, 0, 0, 156, 0, 0, 0, 93, 0, 0, 0, 240, 0, 0, 0, 55, 0, 0, 0, 4, 0, 0, 0, 240, 0, -0, 0, 52, 0, 0, 0, 105, 0, 0, 0, 42, 0, 0, 0, 240, 0, 0, 0, 165, 0, 0, 0, 100, 0, 0, 0, 202, 0, 0, 0, 222, 0, 0, 0, 43, 0, 0, 0, 91, 0, 0, 0, 21, 0, 0, 0, 16, 0, 0, 0, 210, 0, 0, 0, 171, 0, 0, 0, 6, 0, 0, 0, 221, 0, 0, 0, 196, 0, 0, 0, 176, 0, 0, 0, 182, 0, 0, 0, 91, 0, 0, 0, 193, 0, 0, 0, 23, 0, 0, 0, 223, 0, 0, 0, 143, 0, 0, 0, 2, 0, 0, 0, 189, 0, 0, 0, 89, 0, 0, 0, 61, 0, 0, 0, 191, 0, 0, 0, 92, 0, 0, 0, 49, 0, 0, 0, 68, 0, 0, 0, 44, 0, 0, 0, 50, 0, 0, 0, 148, 0, 0, 0, 4, 0, 0, 0, 96, 0, 0, 0, -132, 0, 0, 0, 15, 0, 0, 0, 173, 0, 0, 0, 0, 0, 0, 0, 182, 0, 0, 0, 143, 0, 0, 0, 201, 0, 0, 0, 29, 0, 0, 0, 204, 0, 0, 0, 92, 0, 0, 0, 162, 0, 0, 0, 73, 0, 0, 0, 14, 0, 0, 0, 80, 0, 0, 0, 145, 0, 0, 0, 8, 0, 0, 0, 154, 0, 0, 0, 67, 0, 0, 0, 85, 0, 0, 0, 5, 0, 0, 0, 93, 0, 0, 0, 147, 0, 0, 0, 85, 0, 0, 0, 223, 0, 0, 0, 155, 0, 0, 0, 18, 0, 0, 0, 25, 0, 0, 0, 236, 0, 0, 0, 147, 0, 0, 0, 133, 0, 0, 0, 66, 0, 0, 0, 158, 0, 0, 0, 102, 0, 0, 0, 15, 0, 0, 0, 157, 0, 0, 0, 175, 0, 0, 0, 153, 0, 0, 0, 175, -0, 0, 0, 38, 0, 0, 0, 137, 0, 0, 0, 188, 0, 0, 0, 97, 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 206, 0, 0, 0, 75, 0, 0, 0, 244, 0, 0, 0, 51, 0, 0, 0, 149, 0, 0, 0, 201, 0, 0, 0, 53, 0, 0, 0, 88, 0, 0, 0, 18, 0, 0, 0, 85, 0, 0, 0, 249, 0, 0, 0, 218, 0, 0, 0, 203, 0, 0, 0, 68, 0, 0, 0, 167, 0, 0, 0, 220, 0, 0, 0, 87, 0, 0, 0, 226, 0, 0, 0, 249, 0, 0, 0, 154, 0, 0, 0, 230, 0, 0, 0, 7, 0, 0, 0, 35, 0, 0, 0, 96, 0, 0, 0, 84, 0, 0, 0, 167, 0, 0, 0, 57, 0, 0, 0, 165, 0, 0, 0, 155, 0, 0, 0, 132, 0, 0, 0, 86, -0, 0, 0, 110, 0, 0, 0, 170, 0, 0, 0, 139, 0, 0, 0, 143, 0, 0, 0, 176, 0, 0, 0, 44, 0, 0, 0, 135, 0, 0, 0, 175, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 0, 169, 0, 0, 0, 76, 0, 0, 0, 178, 0, 0, 0, 18, 0, 0, 0, 248, 0, 0, 0, 50, 0, 0, 0, 168, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0, 73, 0, 0, 0, 50, 0, 0, 0, 186, 0, 0, 0, 31, 0, 0, 0, 93, 0, 0, 0, 68, 0, 0, 0, 142, 0, 0, 0, 68, 0, 0, 0, 122, 0, 0, 0, 220, 0, 0, 0, 17, 0, 0, 0, 251, 0, 0, 0, 57, 0, 0, 0, 8, 0, 0, 0, 87, 0, 0, 0, 135, 0, 0, 0, 165, 0, -0, 0, 18, 0, 0, 0, 66, 0, 0, 0, 147, 0, 0, 0, 14, 0, 0, 0, 23, 0, 0, 0, 180, 0, 0, 0, 174, 0, 0, 0, 114, 0, 0, 0, 89, 0, 0, 0, 208, 0, 0, 0, 170, 0, 0, 0, 168, 0, 0, 0, 22, 0, 0, 0, 139, 0, 0, 0, 99, 0, 0, 0, 17, 0, 0, 0, 179, 0, 0, 0, 67, 0, 0, 0, 4, 0, 0, 0, 218, 0, 0, 0, 12, 0, 0, 0, 168, 0, 0, 0, 183, 0, 0, 0, 104, 0, 0, 0, 221, 0, 0, 0, 78, 0, 0, 0, 84, 0, 0, 0, 231, 0, 0, 0, 175, 0, 0, 0, 93, 0, 0, 0, 93, 0, 0, 0, 5, 0, 0, 0, 118, 0, 0, 0, 54, 0, 0, 0, 236, 0, 0, 0, 13, 0, 0, 0, 109, 0, 0, -0, 124, 0, 0, 0, 130, 0, 0, 0, 50, 0, 0, 0, 56, 0, 0, 0, 85, 0, 0, 0, 87, 0, 0, 0, 116, 0, 0, 0, 91, 0, 0, 0, 125, 0, 0, 0, 195, 0, 0, 0, 196, 0, 0, 0, 251, 0, 0, 0, 6, 0, 0, 0, 41, 0, 0, 0, 240, 0, 0, 0, 19, 0, 0, 0, 85, 0, 0, 0, 84, 0, 0, 0, 198, 0, 0, 0, 167, 0, 0, 0, 220, 0, 0, 0, 76, 0, 0, 0, 159, 0, 0, 0, 152, 0, 0, 0, 73, 0, 0, 0, 32, 0, 0, 0, 168, 0, 0, 0, 195, 0, 0, 0, 141, 0, 0, 0, 250, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, 0, 0, 0, 71, 0, 0, 0, 157, 0, 0, 0, 233, 0, 0, 0, 37, 0, 0, 0, 213, 0, 0, 0, 227, 0, 0, 0, 71, 0, 0, 0, 120, 0, 0, 0, 223, 0, 0, 0, 133, 0, 0, 0, 167, 0, 0, 0, 133, 0, 0, 0, 94, 0, 0, 0, 122, 0, 0, 0, 76, 0, 0, 0, 95, 0, 0, 0, 121, 0, 0, 0, 26, 0, 0, 0, 243, 0, 0, 0, 162, 0, 0, 0, 178, 0, 0, 0, 40, 0, 0, 0, 160, -0, 0, 0, 156, 0, 0, 0, 221, 0, 0, 0, 48, 0, 0, 0, 64, 0, 0, 0, 212, 0, 0, 0, 56, 0, 0, 0, 189, 0, 0, 0, 40, 0, 0, 0, 252, 0, 0, 0, 187, 0, 0, 0, 213, 0, 0, 0, 120, 0, 0, 0, 109, 0, 0, 0, 29, 0, 0, 0, 212, 0, 0, 0, 153, 0, 0, 0, 180, 0, 0, 0, 170, 0, 0, 0, 68, 0, 0, 0, 68, 0, 0, 0, 122, 0, 0, 0, 27, 0, 0, 0, 216, 0, 0, 0, 254, 0, 0, 0, 180, 0, 0, 0, 153, 0, 0, 0, 185, 0, 0, 0, 204, 0, 0, 0, 231, 0, 0, 0, 196, 0, 0, 0, 211, 0, 0, 0, 58, 0, 0, 0, 115, 0, 0, 0, 131, 0, 0, 0, 65, 0, 0, 0, 92, 0, 0, 0, -64, 0, 0, 0, 215, 0, 0, 0, 45, 0, 0, 0, 85, 0, 0, 0, 38, 0, 0, 0, 225, 0, 0, 0, 123, 0, 0, 0, 95, 0, 0, 0, 229, 0, 0, 0, 220, 0, 0, 0, 63, 0, 0, 0, 125, 0, 0, 0, 161, 0, 0, 0, 167, 0, 0, 0, 38, 0, 0, 0, 68, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 192, 0, 0, 0, 143, 0, 0, 0, 125, 0, 0, 0, 241, 0, 0, 0, 181, 0, 0, 0, 17, 0, 0, 0, 71, 0, 0, 0, 123, 0, 0, 0, 25, 0, 0, 0, 212, 0, 0, 0, 117, 0, 0, 0, 111, 0, 0, 0, 30, 0, 0, 0, 165, 0, 0, 0, 39, 0, 0, 0, 254, 0, 0, 0, 200, 0, 0, 0, 14, 0, 0, 0, 211, 0, 0, 0, -17, 0, 0, 0, 61, 0, 0, 0, 171, 0, 0, 0, 239, 0, 0, 0, 44, 0, 0, 0, 237, 0, 0, 0, 177, 0, 0, 0, 61, 0, 0, 0, 124, 0, 0, 0, 50, 0, 0, 0, 129, 0, 0, 0, 107, 0, 0, 0, 254, 0, 0, 0, 248, 0, 0, 0, 28, 0, 0, 0, 60, 0, 0, 0, 123, 0, 0, 0, 192, 0, 0, 0, 97, 0, 0, 0, 223, 0, 0, 0, 184, 0, 0, 0, 117, 0, 0, 0, 118, 0, 0, 0, 127, 0, 0, 0, 170, 0, 0, 0, 216, 0, 0, 0, 147, 0, 0, 0, 175, 0, 0, 0, 61, 0, 0, 0, 232, 0, 0, 0, 61, 0, 0, 0, 253, 0, 0, 0, 91, 0, 0, 0, 78, 0, 0, 0, 141, 0, 0, 0, 182, 0, 0, 0, 126, 0, 0, -0, 130, 0, 0, 0, 155, 0, 0, 0, 239, 0, 0, 0, 206, 0, 0, 0, 4, 0, 0, 0, 105, 0, 0, 0, 81, 0, 0, 0, 82, 0, 0, 0, 255, 0, 0, 0, 239, 0, 0, 0, 160, 0, 0, 0, 82, 0, 0, 0, 181, 0, 0, 0, 121, 0, 0, 0, 23, 0, 0, 0, 94, 0, 0, 0, 47, 0, 0, 0, 222, 0, 0, 0, 214, 0, 0, 0, 60, 0, 0, 0, 45, 0, 0, 0, 160, 0, 0, 0, 67, 0, 0, 0, 180, 0, 0, 0, 11, 0, 0, 0, 25, 0, 0, 0, 192, 0, 0, 0, 97, 0, 0, 0, 72, 0, 0, 0, 72, 0, 0, 0, 23, 0, 0, 0, 244, 0, 0, 0, 158, 0, 0, 0, 24, 0, 0, 0, 81, 0, 0, 0, 45, 0, 0, 0, 234, 0, 0, 0, -47, 0, 0, 0, 242, 0, 0, 0, 242, 0, 0, 0, 224, 0, 0, 0, 163, 0, 0, 0, 20, 0, 0, 0, 183, 0, 0, 0, 139, 0, 0, 0, 58, 0, 0, 0, 48, 0, 0, 0, 245, 0, 0, 0, 129, 0, 0, 0, 193, 0, 0, 0, 93, 0, 0, 0, 113, 0, 0, 0, 57, 0, 0, 0, 98, 0, 0, 0, 85, 0, 0, 0, 31, 0, 0, 0, 96, 0, 0, 0, 90, 0, 0, 0, 229, 0, 0, 0, 137, 0, 0, 0, 138, 0, 0, 0, 118, 0, 0, 0, 108, 0, 0, 0, 219, 0, 0, 0, 77, 0, 0, 0, 10, 0, 0, 0, 91, 0, 0, 0, 114, 0, 0, 0, 157, 0, 0, 0, 89, 0, 0, 0, 110, 0, 0, 0, 99, 0, 0, 0, 99, 0, 0, 0, 24, 0, 0, 0, 124, -0, 0, 0, 227, 0, 0, 0, 250, 0, 0, 0, 226, 0, 0, 0, 219, 0, 0, 0, 161, 0, 0, 0, 141, 0, 0, 0, 244, 0, 0, 0, 165, 0, 0, 0, 215, 0, 0, 0, 22, 0, 0, 0, 178, 0, 0, 0, 208, 0, 0, 0, 179, 0, 0, 0, 63, 0, 0, 0, 57, 0, 0, 0, 206, 0, 0, 0, 96, 0, 0, 0, 9, 0, 0, 0, 108, 0, 0, 0, 245, 0, 0, 0, 118, 0, 0, 0, 23, 0, 0, 0, 36, 0, 0, 0, 128, 0, 0, 0, 58, 0, 0, 0, 150, 0, 0, 0, 199, 0, 0, 0, 148, 0, 0, 0, 46, 0, 0, 0, 247, 0, 0, 0, 107, 0, 0, 0, 239, 0, 0, 0, 181, 0, 0, 0, 5, 0, 0, 0, 150, 0, 0, 0, 239, 0, 0, 0, -211, 0, 0, 0, 123, 0, 0, 0, 81, 0, 0, 0, 218, 0, 0, 0, 5, 0, 0, 0, 68, 0, 0, 0, 103, 0, 0, 0, 188, 0, 0, 0, 7, 0, 0, 0, 33, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 233, 0, 0, 0, 115, 0, 0, 0, 111, 0, 0, 0, 33, 0, 0, 0, 185, 0, 0, 0, 222, 0, 0, 0, 34, 0, -0, 0, 125, 0, 0, 0, 235, 0, 0, 0, 151, 0, 0, 0, 49, 0, 0, 0, 16, 0, 0, 0, 163, 0, 0, 0, 234, 0, 0, 0, 225, 0, 0, 0, 198, 0, 0, 0, 55, 0, 0, 0, 235, 0, 0, 0, 143, 0, 0, 0, 67, 0, 0, 0, 88, 0, 0, 0, 222, 0, 0, 0, 65, 0, 0, 0, 100, 0, 0, 0, 14, 0, 0, 0, 62, 0, 0, 0, 7, 0, 0, 0, 153, 0, 0, 0, 61, 0, 0, 0, 241, 0, 0, 0, 223, 0, 0, 0, 30, 0, 0, 0, 248, 0, 0, 0, 173, 0, 0, 0, 67, 0, 0, 0, 194, 0, 0, 0, 23, 0, 0, 0, 6, 0, 0, 0, 226, 0, 0, 0, 228, 0, 0, 0, 169, 0, 0, 0, 134, 0, 0, 0, 205, 0, 0, 0, 24, 0, -0, 0, 215, 0, 0, 0, 120, 0, 0, 0, 200, 0, 0, 0, 116, 0, 0, 0, 102, 0, 0, 0, 210, 0, 0, 0, 9, 0, 0, 0, 24, 0, 0, 0, 165, 0, 0, 0, 241, 0, 0, 0, 202, 0, 0, 0, 166, 0, 0, 0, 98, 0, 0, 0, 146, 0, 0, 0, 193, 0, 0, 0, 203, 0, 0, 0, 0, 0, 0, 0, 235, 0, 0, 0, 66, 0, 0, 0, 46, 0, 0, 0, 123, 0, 0, 0, 52, 0, 0, 0, 36, 0, 0, 0, 76, 0, 0, 0, 207, 0, 0, 0, 56, 0, 0, 0, 229, 0, 0, 0, 108, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 0, 44, 0, 0, 0, 34, 0, 0, 0, 11, 0, 0, 0, 36, 0, 0, 0, 56, 0, 0, 0, 173, 0, 0, 0, 36, 0, 0, 0, -126, 0, 0, 0, 25, 0, 0, 0, 240, 0, 0, 0, 108, 0, 0, 0, 249, 0, 0, 0, 49, 0, 0, 0, 244, 0, 0, 0, 53, 0, 0, 0, 17, 0, 0, 0, 246, 0, 0, 0, 70, 0, 0, 0, 51, 0, 0, 0, 58, 0, 0, 0, 35, 0, 0, 0, 89, 0, 0, 0, 32, 0, 0, 0, 11, 0, 0, 0, 161, 0, 0, 0, 8, 0, 0, 0, 25, 0, 0, 0, 173, 0, 0, 0, 57, 0, 0, 0, 84, 0, 0, 0, 234, 0, 0, 0, 62, 0, 0, 0, 35, 0, 0, 0, 9, 0, 0, 0, 182, 0, 0, 0, 226, 0, 0, 0, 210, 0, 0, 0, 188, 0, 0, 0, 77, 0, 0, 0, 252, 0, 0, 0, 156, 0, 0, 0, 240, 0, 0, 0, 19, 0, 0, 0, 22, 0, 0, 0, 34, 0, -0, 0, 63, 0, 0, 0, 185, 0, 0, 0, 210, 0, 0, 0, 17, 0, 0, 0, 134, 0, 0, 0, 144, 0, 0, 0, 85, 0, 0, 0, 206, 0, 0, 0, 60, 0, 0, 0, 196, 0, 0, 0, 11, 0, 0, 0, 75, 0, 0, 0, 98, 0, 0, 0, 153, 0, 0, 0, 55, 0, 0, 0, 132, 0, 0, 0, 63, 0, 0, 0, 116, 0, 0, 0, 162, 0, 0, 0, 249, 0, 0, 0, 206, 0, 0, 0, 226, 0, 0, 0, 11, 0, 0, 0, 15, 0, 0, 0, 42, 0, 0, 0, 61, 0, 0, 0, 163, 0, 0, 0, 227, 0, 0, 0, 219, 0, 0, 0, 90, 0, 0, 0, 157, 0, 0, 0, 147, 0, 0, 0, 204, 0, 0, 0, 165, 0, 0, 0, 239, 0, 0, 0, 130, 0, 0, 0, 145, -0, 0, 0, 29, 0, 0, 0, 230, 0, 0, 0, 108, 0, 0, 0, 104, 0, 0, 0, 163, 0, 0, 0, 100, 0, 0, 0, 23, 0, 0, 0, 155, 0, 0, 0, 139, 0, 0, 0, 200, 0, 0, 0, 58, 0, 0, 0, 97, 0, 0, 0, 230, 0, 0, 0, 157, 0, 0, 0, 198, 0, 0, 0, 237, 0, 0, 0, 123, 0, 0, 0, 3, 0, 0, 0, 82, 0, 0, 0, 38, 0, 0, 0, 157, 0, 0, 0, 58, 0, 0, 0, 179, 0, 0, 0, 19, 0, 0, 0, 204, 0, 0, 0, 138, 0, 0, 0, 253, 0, 0, 0, 44, 0, 0, 0, 26, 0, 0, 0, 29, 0, 0, 0, 237, 0, 0, 0, 19, 0, 0, 0, 208, 0, 0, 0, 85, 0, 0, 0, 87, 0, 0, 0, 14, 0, 0, 0, 26, 0, -0, 0, 234, 0, 0, 0, 191, 0, 0, 0, 253, 0, 0, 0, 74, 0, 0, 0, 60, 0, 0, 0, 142, 0, 0, 0, 236, 0, 0, 0, 41, 0, 0, 0, 126, 0, 0, 0, 119, 0, 0, 0, 119, 0, 0, 0, 18, 0, 0, 0, 153, 0, 0, 0, 215, 0, 0, 0, 132, 0, 0, 0, 249, 0, 0, 0, 85, 0, 0, 0, 127, 0, 0, 0, 241, 0, 0, 0, 139, 0, 0, 0, 180, 0, 0, 0, 210, 0, 0, 0, 149, 0, 0, 0, 163, 0, 0, 0, 141, 0, 0, 0, 240, 0, 0, 0, 138, 0, 0, 0, 167, 0, 0, 0, 235, 0, 0, 0, 130, 0, 0, 0, 75, 0, 0, 0, 44, 0, 0, 0, 40, 0, 0, 0, 244, 0, 0, 0, 58, 0, 0, 0, 246, 0, 0, 0, -222, 0, 0, 0, 10, 0, 0, 0, 224, 0, 0, 0, 65, 0, 0, 0, 68, 0, 0, 0, 35, 0, 0, 0, 248, 0, 0, 0, 63, 0, 0, 0, 3, 0, 0, 0, 100, 0, 0, 0, 159, 0, 0, 0, 195, 0, 0, 0, 85, 0, 0, 0, 76, 0, 0, 0, 198, 0, 0, 0, 193, 0, 0, 0, 148, 0, 0, 0, 28, 0, 0, 0, 36, 0, 0, 0, 93, 0, 0, 0, 95, 0, 0, 0, 146, 0, 0, 0, 69, 0, 0, 0, 150, 0, 0, 0, 87, 0, 0, 0, 55, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 0, 0, 0, 205, 0, 0, 0, 144, 0, 0, 0, 102, 0, 0, 0, 185, 0, 0, 0, 118, 0, 0, 0, 160, 0, 0, 0, 91, 0, 0, 0, 165, 0, 0, 0, 133, 0, 0, 0, 117, 0, 0, 0, 35, 0, 0, 0, 249, 0, 0, 0, 137, 0, 0, 0, 165, 0, 0, 0, 130, 0, 0, 0, 178, 0, 0, 0, 111, 0, 0, 0, 177, 0, 0, 0, 235, 0, 0, 0, 196, 0, 0, 0, 105, 0, 0, 0, 111, 0, 0, 0, 24, 0, 0, 0, 90, 0, 0, 0, 237, 0, 0, 0, 148, 0, 0, 0, 61, -0, 0, 0, 157, 0, 0, 0, 217, 0, 0, 0, 44, 0, 0, 0, 26, 0, 0, 0, 53, 0, 0, 0, 176, 0, 0, 0, 230, 0, 0, 0, 115, 0, 0, 0, 6, 0, 0, 0, 183, 0, 0, 0, 55, 0, 0, 0, 224, 0, 0, 0, 248, 0, 0, 0, 176, 0, 0, 0, 34, 0, 0, 0, 232, 0, 0, 0, 210, 0, 0, 0, 237, 0, 0, 0, 11, 0, 0, 0, 239, 0, 0, 0, 230, 0, 0, 0, 198, 0, 0, 0, 90, 0, 0, 0, 153, 0, 0, 0, 158, 0, 0, 0, 26, 0, 0, 0, 159, 0, 0, 0, 4, 0, 0, 0, 151, 0, 0, 0, 228, 0, 0, 0, 77, 0, 0, 0, 11, 0, 0, 0, 190, 0, 0, 0, 186, 0, 0, 0, 68, 0, 0, 0, 64, 0, 0, 0, 193, -0, 0, 0, 86, 0, 0, 0, 150, 0, 0, 0, 145, 0, 0, 0, 95, 0, 0, 0, 31, 0, 0, 0, 187, 0, 0, 0, 84, 0, 0, 0, 111, 0, 0, 0, 136, 0, 0, 0, 137, 0, 0, 0, 10, 0, 0, 0, 178, 0, 0, 0, 214, 0, 0, 0, 65, 0, 0, 0, 66, 0, 0, 0, 106, 0, 0, 0, 130, 0, 0, 0, 238, 0, 0, 0, 20, 0, 0, 0, 170, 0, 0, 0, 118, 0, 0, 0, 48, 0, 0, 0, 101, 0, 0, 0, 15, 0, 0, 0, 103, 0, 0, 0, 57, 0, 0, 0, 166, 0, 0, 0, 81, 0, 0, 0, 124, 0, 0, 0, 73, 0, 0, 0, 36, 0, 0, 0, 53, 0, 0, 0, 163, 0, 0, 0, 120, 0, 0, 0, 209, 0, 0, 0, 17, 0, 0, 0, 15, -0, 0, 0, 117, 0, 0, 0, 211, 0, 0, 0, 112, 0, 0, 0, 70, 0, 0, 0, 219, 0, 0, 0, 32, 0, 0, 0, 81, 0, 0, 0, 203, 0, 0, 0, 146, 0, 0, 0, 128, 0, 0, 0, 84, 0, 0, 0, 16, 0, 0, 0, 116, 0, 0, 0, 54, 0, 0, 0, 134, 0, 0, 0, 169, 0, 0, 0, 215, 0, 0, 0, 163, 0, 0, 0, 8, 0, 0, 0, 120, 0, 0, 0, 241, 0, 0, 0, 1, 0, 0, 0, 41, 0, 0, 0, 248, 0, 0, 0, 128, 0, 0, 0, 59, 0, 0, 0, 219, 0, 0, 0, 167, 0, 0, 0, 157, 0, 0, 0, 157, 0, 0, 0, 191, 0, 0, 0, 160, 0, 0, 0, 204, 0, 0, 0, 237, 0, 0, 0, 83, 0, 0, 0, 162, 0, 0, 0, 162, -0, 0, 0, 25, 0, 0, 0, 57, 0, 0, 0, 72, 0, 0, 0, 131, 0, 0, 0, 25, 0, 0, 0, 55, 0, 0, 0, 88, 0, 0, 0, 209, 0, 0, 0, 4, 0, 0, 0, 40, 0, 0, 0, 64, 0, 0, 0, 247, 0, 0, 0, 138, 0, 0, 0, 194, 0, 0, 0, 8, 0, 0, 0, 183, 0, 0, 0, 165, 0, 0, 0, 66, 0, 0, 0, 207, 0, 0, 0, 83, 0, 0, 0, 76, 0, 0, 0, 167, 0, 0, 0, 187, 0, 0, 0, 246, 0, 0, 0, 142, 0, 0, 0, 173, 0, 0, 0, 221, 0, 0, 0, 247, 0, 0, 0, 144, 0, 0, 0, 221, 0, 0, 0, 95, 0, 0, 0, 147, 0, 0, 0, 137, 0, 0, 0, 174, 0, 0, 0, 4, 0, 0, 0, 55, 0, 0, 0, 230, 0, -0, 0, 154, 0, 0, 0, 183, 0, 0, 0, 232, 0, 0, 0, 192, 0, 0, 0, 223, 0, 0, 0, 22, 0, 0, 0, 42, 0, 0, 0, 191, 0, 0, 0, 196, 0, 0, 0, 58, 0, 0, 0, 60, 0, 0, 0, 65, 0, 0, 0, 213, 0, 0, 0, 137, 0, 0, 0, 114, 0, 0, 0, 90, 0, 0, 0, 31, 0, 0, 0, 150, 0, 0, 0, 255, 0, 0, 0, 52, 0, 0, 0, 44, 0, 0, 0, 19, 0, 0, 0, 33, 0, 0, 0, 203, 0, 0, 0, 10, 0, 0, 0, 137, 0, 0, 0, 133, 0, 0, 0, 190, 0, 0, 0, 179, 0, 0, 0, 112, 0, 0, 0, 158, 0, 0, 0, 30, 0, 0, 0, 222, 0, 0, 0, 151, 0, 0, 0, 175, 0, 0, 0, 150, 0, 0, 0, 48, -0, 0, 0, 247, 0, 0, 0, 72, 0, 0, 0, 137, 0, 0, 0, 64, 0, 0, 0, 141, 0, 0, 0, 7, 0, 0, 0, 241, 0, 0, 0, 37, 0, 0, 0, 240, 0, 0, 0, 48, 0, 0, 0, 88, 0, 0, 0, 30, 0, 0, 0, 212, 0, 0, 0, 147, 0, 0, 0, 87, 0, 0, 0, 226, 0, 0, 0, 23, 0, 0, 0, 231, 0, 0, 0, 157, 0, 0, 0, 171, 0, 0, 0, 60, 0, 0, 0, 85, 0, 0, 0, 3, 0, 0, 0, 130, 0, 0, 0, 47, 0, 0, 0, 43, 0, 0, 0, 219, 0, 0, 0, 86, 0, 0, 0, 30, 0, 0, 0, 48, 0, 0, 0, 46, 0, 0, 0, 36, 0, 0, 0, 71, 0, 0, 0, 110, 0, 0, 0, 230, 0, 0, 0, 255, 0, 0, 0, 51, 0, 0, -0, 36, 0, 0, 0, 44, 0, 0, 0, 117, 0, 0, 0, 81, 0, 0, 0, 212, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 6, 0, 0, 0, 217, 0, 0, 0, 161, 0, 0, 0, 93, 0, 0, 0, 225, 0, 0, 0, 244, 0, 0, 0, 209, 0, 0, 0, 30, 0, 0, 0, 60, 0, 0, 0, 154, 0, 0, 0, 198, -0, 0, 0, 41, 0, 0, 0, 43, 0, 0, 0, 19, 0, 0, 0, 19, 0, 0, 0, 120, 0, 0, 0, 192, 0, 0, 0, 216, 0, 0, 0, 22, 0, 0, 0, 23, 0, 0, 0, 45, 0, 0, 0, 158, 0, 0, 0, 169, 0, 0, 0, 201, 0, 0, 0, 121, 0, 0, 0, 87, 0, 0, 0, 171, 0, 0, 0, 36, 0, 0, 0, 145, 0, 0, 0, 146, 0, 0, 0, 25, 0, 0, 0, 105, 0, 0, 0, 251, 0, 0, 0, 161, 0, 0, 0, 156, 0, 0, 0, 166, 0, 0, 0, 117, 0, 0, 0, 73, 0, 0, 0, 125, 0, 0, 0, 96, 0, 0, 0, 115, 0, 0, 0, 64, 0, 0, 0, 66, 0, 0, 0, 196, 0, 0, 0, 19, 0, 0, 0, 10, 0, 0, 0, 149, 0, 0, 0, 121, -0, 0, 0, 30, 0, 0, 0, 4, 0, 0, 0, 131, 0, 0, 0, 148, 0, 0, 0, 153, 0, 0, 0, 155, 0, 0, 0, 30, 0, 0, 0, 12, 0, 0, 0, 232, 0, 0, 0, 31, 0, 0, 0, 84, 0, 0, 0, 239, 0, 0, 0, 203, 0, 0, 0, 192, 0, 0, 0, 82, 0, 0, 0, 20, 0, 0, 0, 137, 0, 0, 0, 115, 0, 0, 0, 161, 0, 0, 0, 55, 0, 0, 0, 135, 0, 0, 0, 106, 0, 0, 0, 122, 0, 0, 0, 207, 0, 0, 0, 29, 0, 0, 0, 217, 0, 0, 0, 46, 0, 0, 0, 26, 0, 0, 0, 103, 0, 0, 0, 237, 0, 0, 0, 116, 0, 0, 0, 192, 0, 0, 0, 240, 0, 0, 0, 156, 0, 0, 0, 51, 0, 0, 0, 221, 0, 0, 0, 223, -0, 0, 0, 8, 0, 0, 0, 191, 0, 0, 0, 123, 0, 0, 0, 209, 0, 0, 0, 102, 0, 0, 0, 218, 0, 0, 0, 230, 0, 0, 0, 201, 0, 0, 0, 73, 0, 0, 0, 8, 0, 0, 0, 233, 0, 0, 0, 221, 0, 0, 0, 94, 0, 0, 0, 85, 0, 0, 0, 176, 0, 0, 0, 10, 0, 0, 0, 222, 0, 0, 0, 33, 0, 0, 0, 76, 0, 0, 0, 90, 0, 0, 0, 46, 0, 0, 0, 212, 0, 0, 0, 128, 0, 0, 0, 58, 0, 0, 0, 87, 0, 0, 0, 146, 0, 0, 0, 122, 0, 0, 0, 241, 0, 0, 0, 196, 0, 0, 0, 44, 0, 0, 0, 64, 0, 0, 0, 175, 0, 0, 0, 47, 0, 0, 0, 201, 0, 0, 0, 146, 0, 0, 0, 3, 0, 0, 0, 229, 0, -0, 0, 90, 0, 0, 0, 188, 0, 0, 0, 220, 0, 0, 0, 244, 0, 0, 0, 9, 0, 0, 0, 243, 0, 0, 0, 225, 0, 0, 0, 43, 0, 0, 0, 124, 0, 0, 0, 5, 0, 0, 0, 134, 0, 0, 0, 128, 0, 0, 0, 147, 0, 0, 0, 74, 0, 0, 0, 173, 0, 0, 0, 180, 0, 0, 0, 143, 0, 0, 0, 126, 0, 0, 0, 153, 0, 0, 0, 12, 0, 0, 0, 253, 0, 0, 0, 205, 0, 0, 0, 239, 0, 0, 0, 209, 0, 0, 0, 255, 0, 0, 0, 44, 0, 0, 0, 105, 0, 0, 0, 52, 0, 0, 0, 19, 0, 0, 0, 65, 0, 0, 0, 100, 0, 0, 0, 207, 0, 0, 0, 59, 0, 0, 0, 208, 0, 0, 0, 144, 0, 0, 0, 9, 0, 0, 0, 30, 0, -0, 0, 157, 0, 0, 0, 69, 0, 0, 0, 214, 0, 0, 0, 128, 0, 0, 0, 230, 0, 0, 0, 69, 0, 0, 0, 170, 0, 0, 0, 244, 0, 0, 0, 21, 0, 0, 0, 170, 0, 0, 0, 92, 0, 0, 0, 52, 0, 0, 0, 135, 0, 0, 0, 153, 0, 0, 0, 162, 0, 0, 0, 140, 0, 0, 0, 38, 0, 0, 0, 132, 0, 0, 0, 98, 0, 0, 0, 125, 0, 0, 0, 182, 0, 0, 0, 41, 0, 0, 0, 192, 0, 0, 0, 82, 0, 0, 0, 234, 0, 0, 0, 245, 0, 0, 0, 129, 0, 0, 0, 24, 0, 0, 0, 15, 0, 0, 0, 53, 0, 0, 0, 169, 0, 0, 0, 14, 0, 0, 0, 231, 0, 0, 0, 32, 0, 0, 0, 114, 0, 0, 0, 124, 0, 0, 0, 109, -0, 0, 0, 148, 0, 0, 0, 95, 0, 0, 0, 82, 0, 0, 0, 68, 0, 0, 0, 84, 0, 0, 0, 227, 0, 0, 0, 241, 0, 0, 0, 178, 0, 0, 0, 176, 0, 0, 0, 54, 0, 0, 0, 70, 0, 0, 0, 15, 0, 0, 0, 174, 0, 0, 0, 146, 0, 0, 0, 232, 0, 0, 0, 112, 0, 0, 0, 157, 0, 0, 0, 110, 0, 0, 0, 121, 0, 0, 0, 177, 0, 0, 0, 173, 0, 0, 0, 55, 0, 0, 0, 169, 0, 0, 0, 95, 0, 0, 0, 192, 0, 0, 0, 222, 0, 0, 0, 3, 0, 0, 0, 21, 0, 0, 0, 85, 0, 0, 0, 55, 0, 0, 0, 198, 0, 0, 0, 28, 0, 0, 0, 39, 0, 0, 0, 28, 0, 0, 0, 109, 0, 0, 0, 20, 0, 0, 0, 79, 0, -0, 0, 202, 0, 0, 0, 164, 0, 0, 0, 196, 0, 0, 0, 136, 0, 0, 0, 37, 0, 0, 0, 70, 0, 0, 0, 57, 0, 0, 0, 252, 0, 0, 0, 90, 0, 0, 0, 229, 0, 0, 0, 254, 0, 0, 0, 41, 0, 0, 0, 17, 0, 0, 0, 105, 0, 0, 0, 245, 0, 0, 0, 114, 0, 0, 0, 132, 0, 0, 0, 77, 0, 0, 0, 120, 0, 0, 0, 159, 0, 0, 0, 148, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 236, 0, 0, 0, 211, 0, 0, 0, 255, 0, 0, 0, 87, 0, 0, 0, 11, 0, 0, 0, 176, 0, 0, 0, 178, 0, 0, 0, 220, 0, 0, 0, 248, 0, 0, 0, 79, 0, 0, 0, 226, 0, 0, 0, 18, 0, 0, 0, 213, 0, 0, 0, 54, 0, 0, 0, 190, 0, 0, 0, 107, 0, 0, 0, 9, 0, 0, 0, 67, 0, 0, 0, 109, 0, 0, 0, 163, 0, 0, 0, 77, 0, 0, 0, 144, 0, 0, 0, 45, 0, 0, 0, 184, 0, 0, 0, 116, 0, 0, 0, 232, 0, 0, 0, 113, 0, 0, 0, 69, 0, 0, 0, 25, 0, 0, 0, 139, 0, 0, 0, 12, 0, 0, 0, 106, 0, -0, 0, 184, 0, 0, 0, 66, 0, 0, 0, 28, 0, 0, 0, 3, 0, 0, 0, 173, 0, 0, 0, 44, 0, 0, 0, 3, 0, 0, 0, 142, 0, 0, 0, 172, 0, 0, 0, 215, 0, 0, 0, 152, 0, 0, 0, 41, 0, 0, 0, 19, 0, 0, 0, 198, 0, 0, 0, 2, 0, 0, 0, 41, 0, 0, 0, 181, 0, 0, 0, 212, 0, 0, 0, 231, 0, 0, 0, 207, 0, 0, 0, 204, 0, 0, 0, 139, 0, 0, 0, 131, 0, 0, 0, 236, 0, 0, 0, 53, 0, 0, 0, 199, 0, 0, 0, 156, 0, 0, 0, 116, 0, 0, 0, 183, 0, 0, 0, 173, 0, 0, 0, 133, 0, 0, 0, 95, 0, 0, 0, 120, 0, 0, 0, 132, 0, 0, 0, 225, 0, 0, 0, 86, 0, 0, 0, 69, 0, -0, 0, 105, 0, 0, 0, 104, 0, 0, 0, 90, 0, 0, 0, 79, 0, 0, 0, 184, 0, 0, 0, 177, 0, 0, 0, 41, 0, 0, 0, 255, 0, 0, 0, 51, 0, 0, 0, 3, 0, 0, 0, 49, 0, 0, 0, 183, 0, 0, 0, 203, 0, 0, 0, 150, 0, 0, 0, 37, 0, 0, 0, 230, 0, 0, 0, 230, 0, 0, 0, 65, 0, 0, 0, 152, 0, 0, 0, 26, 0, 0, 0, 187, 0, 0, 0, 3, 0, 0, 0, 86, 0, 0, 0, 242, 0, 0, 0, 178, 0, 0, 0, 145, 0, 0, 0, 52, 0, 0, 0, 44, 0, 0, 0, 108, 0, 0, 0, 247, 0, 0, 0, 102, 0, 0, 0, 164, 0, 0, 0, 98, 0, 0, 0, 107, 0, 0, 0, 57, 0, 0, 0, 179, 0, 0, 0, 186, 0, -0, 0, 101, 0, 0, 0, 211, 0, 0, 0, 28, 0, 0, 0, 248, 0, 0, 0, 17, 0, 0, 0, 170, 0, 0, 0, 190, 0, 0, 0, 220, 0, 0, 0, 128, 0, 0, 0, 89, 0, 0, 0, 135, 0, 0, 0, 245, 0, 0, 0, 123, 0, 0, 0, 229, 0, 0, 0, 227, 0, 0, 0, 179, 0, 0, 0, 62, 0, 0, 0, 57, 0, 0, 0, 218, 0, 0, 0, 190, 0, 0, 0, 136, 0, 0, 0, 9, 0, 0, 0, 139, 0, 0, 0, 241, 0, 0, 0, 160, 0, 0, 0, 245, 0, 0, 0, 220, 0, 0, 0, 41, 0, 0, 0, 180, 0, 0, 0, 226, 0, 0, 0, 7, 0, 0, 0, 198, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 208, 0, 0, 0, 137, 0, 0, 0, 23, -0, 0, 0, 81, 0, 0, 0, 212, 0, 0, 0, 187, 0, 0, 0, 212, 0, 0, 0, 34, 0, 0, 0, 234, 0, 0, 0, 126, 0, 0, 0, 125, 0, 0, 0, 124, 0, 0, 0, 36, 0, 0, 0, 234, 0, 0, 0, 242, 0, 0, 0, 232, 0, 0, 0, 34, 0, 0, 0, 18, 0, 0, 0, 149, 0, 0, 0, 6, 0, 0, 0, 218, 0, 0, 0, 124, 0, 0, 0, 164, 0, 0, 0, 12, 0, 0, 0, 244, 0, 0, 0, 186, 0, 0, 0, 110, 0, 0, 0, 225, 0, 0, 0, 137, 0, 0, 0, 181, 0, 0, 0, 89, 0, 0, 0, 202, 0, 0, 0, 241, 0, 0, 0, 192, 0, 0, 0, 41, 0, 0, 0, 54, 0, 0, 0, 9, 0, 0, 0, 68, 0, 0, 0, 226, 0, 0, 0, 127, -0, 0, 0, 209, 0, 0, 0, 99, 0, 0, 0, 21, 0, 0, 0, 153, 0, 0, 0, 234, 0, 0, 0, 37, 0, 0, 0, 207, 0, 0, 0, 12, 0, 0, 0, 157, 0, 0, 0, 192, 0, 0, 0, 68, 0, 0, 0, 111, 0, 0, 0, 29, 0, 0, 0, 134, 0, 0, 0, 78, 0, 0, 0, 207, 0, 0, 0, 247, 0, 0, 0, 55, 0, 0, 0, 16, 0, 0, 0, 37, 0, 0, 0, 143, 0, 0, 0, 18, 0, 0, 0, 251, 0, 0, 0, 25, 0, 0, 0, 251, 0, 0, 0, 224, 0, 0, 0, 237, 0, 0, 0, 16, 0, 0, 0, 200, 0, 0, 0, 226, 0, 0, 0, 245, 0, 0, 0, 117, 0, 0, 0, 177, 0, 0, 0, 51, 0, 0, 0, 192, 0, 0, 0, 150, 0, 0, 0, 13, -0, 0, 0, 251, 0, 0, 0, 21, 0, 0, 0, 108, 0, 0, 0, 13, 0, 0, 0, 7, 0, 0, 0, 95, 0, 0, 0, 5, 0, 0, 0, 105, 0, 0, 0, 62, 0, 0, 0, 71, 0, 0, 0, 151, 0, 0, 0, 44, 0, 0, 0, 175, 0, 0, 0, 82, 0, 0, 0, 124, 0, 0, 0, 120, 0, 0, 0, 131, 0, 0, 0, 173, 0, 0, 0, 27, 0, 0, 0, 57, 0, 0, 0, 130, 0, 0, 0, 47, 0, 0, 0, 2, 0, 0, 0, 111, 0, 0, 0, 71, 0, 0, 0, 219, 0, 0, 0, 42, 0, 0, 0, 176, 0, 0, 0, 225, 0, 0, 0, 145, 0, 0, 0, 153, 0, 0, 0, 85, 0, 0, 0, 184, 0, 0, 0, 153, 0, 0, 0, 58, 0, 0, 0, 160, 0, 0, 0, 68, 0, 0, -0, 17, 0, 0, 0, 81, 0, 0, 0, 163, 120, 89, 19, 202, 77, 235, 117, 171, 216, 65, 65, 77, 10, 112, 0, 152, 232, 121, 119, 121, 64, 199, 140, 115, 254, 111, 43, 238, 108, 3, 82, 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12, 15, 10, 5, 0, 14, 9, 4, 3, 13, 8, 7, 2, 12, 11, 6, 1, 1, 2, 3, 0, 6, 7, 4, 5, 11, 8, 9, 10, 12, 13, 14, 15, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 8, 12, 8, 4, 0, 13, 9, 5, 1, 14, 10, 6, 2, 15, 11, 7, 3, 15, 11, 7, 3, 14, 10, 6, 2, 13, 9, 5, 1, 12, 8, 4, 0, 3, 3, 3, -3, 7, 7, 7, 7, 11, 11, 11, 11, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 15, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, -255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 15, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 31, 26, 0, 0, 0, 213, 0, 0, 0, 37, 0, 0, 0, 143, 0, 0, 0, 96, 0, 0, 0, 45, 0, 0, 0, 86, 0, 0, 0, 201, 0, 0, 0, 178, 0, 0, 0, 167, 0, 0, 0, 37, 0, 0, 0, 149, 0, 0, 0, 96, 0, 0, 0, 199, 0, 0, 0, 44, 0, 0, 0, 105, 0, 0, 0, 92, 0, 0, 0, 220, 0, 0, 0, 214, 0, 0, 0, 253, 0, 0, 0, 49, 0, 0, 0, 226, -0, 0, 0, 164, 0, 0, 0, 192, 0, 0, 0, 254, 0, 0, 0, 83, 0, 0, 0, 110, 0, 0, 0, 205, 0, 0, 0, 211, 0, 0, 0, 54, 0, 0, 0, 105, 0, 0, 0, 33, 0, 0, 0, 88, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, -0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 102, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 163, 0, 0, 0, 221, 0, 0, 0, -183, 0, 0, 0, 165, 0, 0, 0, 179, 0, 0, 0, 138, 0, 0, 0, 222, 0, 0, 0, 109, 0, 0, 0, 245, 0, 0, 0, 82, 0, 0, 0, 81, 0, 0, 0, 119, 0, 0, 0, 128, 0, 0, 0, 159, 0, 0, 0, 240, 0, 0, 0, 32, 0, 0, 0, 125, 0, 0, 0, 227, 0, 0, 0, 171, 0, 0, 0, 100, 0, 0, 0, 142, 0, 0, 0, 78, 0, 0, 0, 234, 0, 0, 0, 102, 0, 0, 0, 101, 0, 0, 0, 118, 0, 0, 0, 139, 0, 0, 0, 215, 0, 0, 0, 15, 0, 0, 0, 95, 0, 0, 0, 135, 0, 0, 0, 103, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 97, 109, 98, 105, 103, 117, 111, 117, 115, 32, 111, 112, 116, 105, 111, 110, 32, 45, 45, 32, 37, 46, 42, 115, 0, 0, 0, 0, 0, 0, 0, 0, 37, 115, 58, 32, 0, 0, 0, 0, 80, 79, 83, 73, 88, 76, 89, 95, 67, 79, 82, 82, 69, 67, 84, 0, 115, 116, 100, 58, 58, 98, 97, 100, 95, 97, 108, 108, 111, 99, 0, 0, 37, 115, 58, 32, 0, 0, 0, 0, 37, 115, 10, 0, 0, 0, 0, 0, 37, 115, 10, 0, 0, 0, 0, 0, 105, 110, 32, 117, 115, 101, 32, 98, 121, 116, 101, 115, 32, 32, 32, 32, 32, 61, 32, 37, 49, 48, 108, 117, 10, 0, -0, 0, 0, 0, 0, 0, 37, 115, 58, 32, 0, 0, 0, 0, 37, 115, 58, 32, 0, 0, 0, 0, 98, 97, 100, 95, 97, 114, 114, 97, 121, 95, 110, 101, 119, 95, 108, 101, 110, 103, 116, 104, 0, 0, 0, 0, 58, 32, 0, 0, 0, 0, 0, 0, 58, 32, 0, 0, 0, 0, 0, 0, 115, 121, 115, 116, 101, 109, 32, 98, 121, 116, 101, 115, 32, 32, 32, 32, 32, 61, 32, 37, 49, 48, 108, 117, 10, 0, 0, 0, 0, 0, 0, 0, 109, 97, 120, 32, 115, 121, 115, 116, 101, 109, 32, 98, 121, 116, 101, 115, 32, 61, 32, 37, 49, 48, 108, 117, 10, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 120, 181, 1, 0, 6, 0, 0, 0, 10, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, 181, 1, 0, 6, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 116, 57, 101, 120, 99, 101, 112, 116, 105, 111, 110, 0, 0, 0, 0, 83, 116, 57, 98, 97, 100, 95, 97, 108, 108, 111, 99, 0, 0, 0, 0, 83, 116, 50, 48, 98, 97, 100, 95, 97, 114, 114, 97, 121, 95, 110, 101, 119, 95, 108, 101, 110, 103, 116, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 181, 1, 0, 0, 0, -0, 0, 64, 181, 1, 0, 112, 181, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 181, 1, 0, 120, 181, 1, 0, 0, 0, 0, 0]), "i8", Na, 8); -var qb = xa(F(12, "i8", E), 8); -v(0 == qb % 8); -r._memset = rb; -r._memcpy = sb; -var tb = {crypto:m}; -function ub(a, b, c) { - c && e({message:"_randombytes count overflow"}); - G.set(tb.crypto.randomBytes(b), a); - return 0 -} -r._randombytes = ub; -var vb = 0; -function M(a) { - return B[vb >> 2] = a -} -var N = {L:1, ca:2, Bd:3, sc:4, I:5, za:6, Jb:7, Sc:8, $:9, Zb:10, ua:11, Ld:11, $a:12, Ya:13, kc:14, ed:15, Wb:16, va:17, Md:18, wa:19, gd:20, aa:21, A:22, Mc:23, Za:24, ld:25, Id:26, lc:27, ad:28, da:29, yd:30, Fc:31, rd:32, hc:33, ab:34, Wc:35, pc:36, $b:37, vc:38, wc:39, xc:40, Ec:41, Jd:42, Qc:43, uc:44, ec:45, Tc:46, Pb:50, Sb:51, Nd:52, Oc:53, Tb:54, Ub:55, fc:56, Vb:57, cd:60, Rc:61, Fd:62, bd:63, Xc:64, Yc:65, xd:66, Uc:67, Mb:68, Cd:69, ac:70, td:71, Hc:74, yc:75, ic:76, Rb:77, mc:79, md:80, -Qb:81, wd:82, zc:83, Ac:84, Dc:85, Cc:86, Bc:87, dd:88, Nc:89, ya:90, Ic:91, ba:92, nd:95, qd:96, dc:104, Pc:105, Nb:106, vd:107, jd:108, Zc:109, zd:110, cc:111, Kb:112, bc:113, Lc:114, Jc:115, Gd:116, nc:117, oc:118, rc:119, Ob:120, gc:121, Gc:122, ud:123, Ad:124, Lb:125, Kc:126, tc:127, fd:128, Hd:129, sd:130, Kd:131, jc:132, Dd:133, kd:134, Vc:135, $c:136, Yb:137, qc:138, od:139, Xb:140, hd:141, pd:142, Ed:143}, wb = {"0":"Success", 1:"Not super-user", 2:"No such file or directory", 3:"No such process", -4:"Interrupted system call", 5:"I/O error", 6:"No such device or address", 7:"Arg list too long", 8:"Exec format error", 9:"Bad file number", 10:"No children", 11:"No more processes", 12:"Not enough core", 13:"Permission denied", 14:"Bad address", 15:"Block device required", 16:"Mount device busy", 17:"File exists", 18:"Cross-device link", 19:"No such device", 20:"Not a directory", 21:"Is a directory", 22:"Invalid argument", 23:"Too many open files in system", 24:"Too many open files", 25:"Not a typewriter", -26:"Text file busy", 27:"File too large", 28:"No space left on device", 29:"Illegal seek", 30:"Read only file system", 31:"Too many links", 32:"Broken pipe", 33:"Math arg out of domain of func", 34:"Math result not representable", 35:"No message of desired type", 36:"Identifier removed", 37:"Channel number out of range", 38:"Level 2 not synchronized", 39:"Level 3 halted", 40:"Level 3 reset", 41:"Link number out of range", 42:"Protocol driver not attached", 43:"No CSI structure available", 44:"Level 2 halted", -45:"Deadlock condition", 46:"No record locks available", 50:"Invalid exchange", 51:"Invalid request descriptor", 52:"Exchange full", 53:"No anode", 54:"Invalid request code", 55:"Invalid slot", 56:"File locking deadlock error", 57:"Bad font file fmt", 60:"Device not a stream", 61:"No data (for no delay io)", 62:"Timer expired", 63:"Out of streams resources", 64:"Machine is not on the network", 65:"Package not installed", 66:"The object is remote", 67:"The link has been severed", 68:"Advertise error", -69:"Srmount error", 70:"Communication error on send", 71:"Protocol error", 74:"Multihop attempted", 75:"Inode is remote (not really error)", 76:"Cross mount point (not really error)", 77:"Trying to read unreadable message", 79:"Inappropriate file type or format", 80:"Given log. name not unique", 81:"f.d. invalid for this operation", 82:"Remote address changed", 83:"Can\t access a needed shared lib", 84:"Accessing a corrupted shared lib", 85:".lib section in a.out corrupted", 86:"Attempting to link in too many libs", -87:"Attempting to exec a shared library", 88:"Function not implemented", 89:"No more files", 90:"Directory not empty", 91:"File or path name too long", 92:"Too many symbolic links", 95:"Operation not supported on transport endpoint", 96:"Protocol family not supported", 104:"Connection reset by peer", 105:"No buffer space available", 106:"Address family not supported by protocol family", 107:"Protocol wrong type for socket", 108:"Socket operation on non-socket", 109:"Protocol not available", 110:"Can't send after socket shutdown", -111:"Connection refused", 112:"Address already in use", 113:"Connection aborted", 114:"Network is unreachable", 115:"Network interface is not configured", 116:"Connection timed out", 117:"Host is down", 118:"Host is unreachable", 119:"Connection already in progress", 120:"Socket already connected", 121:"Destination address required", 122:"Message too long", 123:"Unknown protocol", 124:"Socket type not supported", 125:"Address not available", 126:"ENETRESET", 127:"Socket is already connected", 128:"Socket is not connected", -129:"TOOMANYREFS", 130:"EPROCLIM", 131:"EUSERS", 132:"EDQUOT", 133:"ESTALE", 134:"Not supported", 135:"No medium (in tape drive)", 136:"No such host or network path", 137:"Filename exists with different case", 138:"EILSEQ", 139:"Value too large for defined data type", 140:"Operation canceled", 141:"State not recoverable", 142:"Previous owner died", 143:"Streams pipe error"}; -function xb(a, b, c) { - var d = O(a, {parent:l}).d, a = "/" === a ? "/" : yb(a)[2], f = zb(d, a); - f && e(new Q(f)); - d.l.Ta || e(new Q(N.L)); - return d.l.Ta(d, a, b, c) -} -function Ab(a, b) { - b = b & 4095 | 32768; - return xb(a, b, 0) -} -function Bb(a, b) { - b = b & 1023 | 16384; - return xb(a, b, 0) -} -function Cb(a, b, c) { - return xb(a, b | 8192, c) -} -function Db(a, b) { - var c = O(b, {parent:l}).d, d = "/" === b ? "/" : yb(b)[2], f = zb(c, d); - f && e(new Q(f)); - c.l.Wa || e(new Q(N.L)); - return c.l.Wa(c, d, a) -} -function Eb(a, b) { - var c; - c = "string" === typeof a ? O(a, {N:l}).d : a; - c.l.Y || e(new Q(N.L)); - c.l.Y(c, {mode:b & 4095 | c.mode & -4096, timestamp:Date.now()}) -} -function Fb(a, b) { - var c, a = Gb(a), d; - "string" === typeof b ? (d = Hb[b], "undefined" === typeof d && e(Error("Unknown file open mode: " + b))) : d = b; - b = d; - c = b & 512 ? c & 4095 | 32768 : 0; - var f; - try { - var g = O(a, {N:!(b & 65536)}); - f = g.d; - a = g.path - }catch(h) { - } - b & 512 && (f ? b & 2048 && e(new Q(N.va)) : f = xb(a, c, 0)); - f || e(new Q(N.ca)); - 8192 === (f.mode & 61440) && (b &= -1025); - f ? 40960 === (f.mode & 61440) ? c = N.ba : 16384 === (f.mode & 61440) && (0 !== (b & 3) || b & 1024) ? c = N.aa : (c = ["r", "w", "rw"][b & 3], b & 1024 && (c += "w"), c = Ib(f, c)) : c = N.ca; - c && e(new Q(c)); - b & 1024 && (c = f, c = "string" === typeof c ? O(c, {N:l}).d : c, c.l.Y || e(new Q(N.L)), 16384 === (c.mode & 61440) && e(new Q(N.aa)), 32768 !== (c.mode & 61440) && e(new Q(N.A)), (g = Ib(c, "w")) && e(new Q(g)), c.l.Y(c, {size:0, timestamp:Date.now()})); - var i = {path:a, d:f, M:b, seekable:l, position:0, e:f.e, Gb:[], error:n}, j; - a: { - f = k || 4096; - for(c = k || 1;c <= f;c++) { - if(!R[c]) { - j = c; - break a - } - } - e(new Q(N.Za)) - } - i.s = j; - Object.defineProperty(i, "object", {get:function() { - return i.d - }, set:function(a) { - i.d = a - }}); - Object.defineProperty(i, "isRead", {get:function() { - return 1 !== (i.M & 3) - }}); - Object.defineProperty(i, "isWrite", {get:function() { - return 0 !== (i.M & 3) - }}); - Object.defineProperty(i, "isAppend", {get:function() { - return i.M & 8 - }}); - R[j] = i; - i.e.open && i.e.open(i); - return i -} -function Jb(a) { - try { - a.e.close && a.e.close(a) - }catch(b) { - e(b) - }finally { - R[a.s] = m - } -} -function Kb(a, b, c, d, f) { - (0 > d || 0 > f) && e(new Q(N.A)); - 0 === (a.M & 3) && e(new Q(N.$)); - 16384 === (a.d.mode & 61440) && e(new Q(N.aa)); - a.e.write || e(new Q(N.A)); - var g = l; - "undefined" === typeof f ? (f = a.position, g = n) : a.seekable || e(new Q(N.da)); - a.M & 8 && ((!a.seekable || !a.e.na) && e(new Q(N.da)), a.e.na(a, 0, 2)); - b = a.e.write(a, b, c, d, f); - g || (a.position += b); - return b -} -function yb(a) { - return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1) -} -function Lb(a, b) { - for(var c = 0, d = a.length - 1;0 <= d;d--) { - var f = a[d]; - "." === f ? a.splice(d, 1) : ".." === f ? (a.splice(d, 1), c++) : c && (a.splice(d, 1), c--) - } - if(b) { - for(;c--;c) { - a.unshift("..") - } - } - return a -} -function Gb(a) { - var b = "/" === a.charAt(0), c = "/" === a.substr(-1), a = Lb(a.split("/").filter(function(a) { - return!!a - }), !b).join("/"); - !a && !b && (a = "."); - a && c && (a += "/"); - return(b ? "/" : "") + a -} -function S() { - var a = Array.prototype.slice.call(arguments, 0); - return Gb(a.filter(function(a) { - "string" !== typeof a && e(new TypeError("Arguments to path.join must be strings")); - return a - }).join("/")) -} -function Mb() { - for(var a = "", b = n, c = arguments.length - 1;-1 <= c && !b;c--) { - var d = 0 <= c ? arguments[c] : "/"; - "string" !== typeof d && e(new TypeError("Arguments to path.resolve must be strings")); - d && (a = d + "/" + a, b = "/" === d.charAt(0)) - } - a = Lb(a.split("/").filter(function(a) { - return!!a - }), !b).join("/"); - return(b ? "/" : "") + a || "." -} -var Nb = []; -function Ob(a, b) { - Nb[a] = {input:[], H:[], O:b}; - Pb[a] = {e:Qb} -} -var Qb = {open:function(a) { - Rb || (Rb = new pa); - var b = Nb[a.d.X]; - b || e(new Q(N.wa)); - a.q = b; - a.seekable = n -}, close:function(a) { - a.q.H.length && a.q.O.W(a.q, 10) -}, Q:function(a, b, c, d) { - (!a.q || !a.q.O.Na) && e(new Q(N.za)); - for(var f = 0, g = 0;g < d;g++) { - var h; - try { - h = a.q.O.Na(a.q) - }catch(i) { - e(new Q(N.I)) - } - h === k && 0 === f && e(new Q(N.ua)); - if(h === m || h === k) { - break - } - f++; - b[c + g] = h - } - f && (a.d.timestamp = Date.now()); - return f -}, write:function(a, b, c, d) { - (!a.q || !a.q.O.W) && e(new Q(N.za)); - for(var f = 0;f < d;f++) { - try { - a.q.O.W(a.q, b[c + f]) - }catch(g) { - e(new Q(N.I)) - } - } - d && (a.d.timestamp = Date.now()); - return f -}}, Rb, T = {z:function() { - return T.ka(m, "/", 16895, 0) -}, ka:function(a, b, c, d) { - (24576 === (c & 61440) || 4096 === (c & 61440)) && e(new Q(N.L)); - c = Sb(a, b, c, d); - c.l = T.l; - 16384 === (c.mode & 61440) ? (c.e = T.e, c.g = {}) : 32768 === (c.mode & 61440) ? (c.e = T.e, c.g = []) : 40960 === (c.mode & 61440) ? c.e = T.e : 8192 === (c.mode & 61440) && (c.e = Tb); - c.timestamp = Date.now(); - a && (a.g[b] = c); - return c -}, l:{ge:function(a) { - var b = {}; - b.ce = 8192 === (a.mode & 61440) ? a.id : 1; - b.je = a.id; - b.mode = a.mode; - b.pe = 1; - b.uid = 0; - b.he = 0; - b.X = a.X; - b.size = 16384 === (a.mode & 61440) ? 4096 : 32768 === (a.mode & 61440) ? a.g.length : 40960 === (a.mode & 61440) ? a.link.length : 0; - b.Yd = new Date(a.timestamp); - b.oe = new Date(a.timestamp); - b.ae = new Date(a.timestamp); - b.ib = 4096; - b.Zd = Math.ceil(b.size / b.ib); - return b -}, Y:function(a, b) { - b.mode !== k && (a.mode = b.mode); - b.timestamp !== k && (a.timestamp = b.timestamp); - if(b.size !== k) { - var c = a.g; - if(b.size < c.length) { - c.length = b.size - }else { - for(;b.size > c.length;) { - c.push(0) - } - } - } -}, tb:function() { - e(new Q(N.ca)) -}, Ta:function(a, b, c, d) { - return T.ka(a, b, c, d) -}, rename:function(a, b, c) { - if(16384 === (a.mode & 61440)) { - var d; - try { - d = Ub(b, c) - }catch(f) { - } - if(d) { - for(var g in d.g) { - e(new Q(N.ya)) - } - } - } - delete a.parent.g[a.name]; - a.name = c; - b.g[c] = a -}, ze:function(a, b) { - delete a.g[b] -}, ve:function(a, b) { - var c = Ub(a, b), d; - for(d in c.g) { - e(new Q(N.ya)) - } - delete a.g[b] -}, Wa:function(a, b, c) { - a = T.ka(a, b, 41471, 0); - a.link = c; - return a -}, Va:function(a) { - 40960 !== (a.mode & 61440) && e(new Q(N.A)); - return a.link -}}, e:{open:function(a) { - if(16384 === (a.d.mode & 61440)) { - var b = [".", ".."], c; - for(c in a.d.g) { - a.d.g.hasOwnProperty(c) && b.push(c) - } - a.lb = b - } -}, Q:function(a, b, c, d, f) { - a = a.d.g; - d = Math.min(a.length - f, d); - if(a.subarray) { - b.set(a.subarray(f, f + d), c) - }else { - for(var g = 0;g < d;g++) { - b[c + g] = a[f + g] - } - } - return d -}, write:function(a, b, c, d, f) { - for(var g = a.d.g;g.length < f;) { - g.push(0) - } - for(var h = 0;h < d;h++) { - g[f + h] = b[c + h] - } - a.d.timestamp = Date.now(); - return d -}, na:function(a, b, c) { - 1 === c ? b += a.position : 2 === c && 32768 === (a.d.mode & 61440) && (b += a.d.g.length); - 0 > b && e(new Q(N.A)); - a.Gb = []; - return a.position = b -}, ue:function(a) { - return a.lb -}, Wd:function(a, b, c) { - a = a.d.g; - for(b += c;b > a.length;) { - a.push(0) - } -}, ne:function(a, b, c, d, f, g, h) { - 32768 !== (a.d.mode & 61440) && e(new Q(N.wa)); - a = a.d.g; - if(h & 2) { - if(0 < f || f + d < a.length) { - a = a.subarray ? a.subarray(f, f + d) : Array.prototype.slice.call(a, f, f + d) - } - f = l; - (d = Oa(d)) || e(new Q(N.$a)); - b.set(a, d) - }else { - v(a.buffer === b || a.buffer === b.buffer), f = n, d = a.byteOffset - } - return{te:d, Xd:f} -}}}, Vb = F(1, "i32*", E), Wb = F(1, "i32*", E); -nb = F(1, "i32*", E); -var Xb = m, Pb = [m], R = [m], Yb = 1, Zb = [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], $b = l; -function Q(a) { - this.mb = a; - for(var b in N) { - if(N[b] === a) { - this.code = b; - break - } - } - this.message = wb[a] -} -function ac(a) { - a instanceof Q || e(a + " : " + Error().stack); - M(a.mb) -} -function bc(a, b) { - for(var c = 0, d = 0;d < b.length;d++) { - c = (c << 5) - c + b.charCodeAt(d) | 0 - } - return(a + c) % Zb.length -} -function Ub(a, b) { - var c = Ib(a, "x"); - c && e(new Q(c)); - for(c = Zb[bc(a.id, b)];c;c = c.wb) { - if(c.parent.id === a.id && c.name === b) { - return c - } - } - return a.l.tb(a, b) -} -function Sb(a, b, c, d) { - var f = {id:Yb++, name:b, mode:c, l:{}, e:{}, X:d, parent:m, z:m}; - a || (a = f); - f.parent = a; - f.z = a.z; - Object.defineProperty(f, "read", {get:function() { - return 365 === (f.mode & 365) - }, set:function(a) { - a ? f.mode |= 365 : f.mode &= -366 - }}); - Object.defineProperty(f, "write", {get:function() { - return 146 === (f.mode & 146) - }, set:function(a) { - a ? f.mode |= 146 : f.mode &= -147 - }}); - a = bc(f.parent.id, f.name); - f.wb = Zb[a]; - return Zb[a] = f -} -function O(a, b) { - a = Mb("/", a); - b = b || {pa:0}; - 8 < b.pa && e(new Q(N.ba)); - for(var c = Lb(a.split("/").filter(function(a) { - return!!a - }), n), d = Xb, f = "/", g = 0;g < c.length;g++) { - var h = g === c.length - 1; - if(h && b.parent) { - break - } - d = Ub(d, c[g]); - f = S(f, c[g]); - d.ub && (d = d.z.root); - if(!h || b.N) { - for(h = 0;40960 === (d.mode & 61440);) { - d = O(f, {N:n}).d; - d.l.Va || e(new Q(N.A)); - var d = d.l.Va(d), i = Mb; - var j = yb(f), f = j[0], j = j[1]; - !f && !j ? f = "." : (j && (j = j.substr(0, j.length - 1)), f += j); - f = i(f, d); - d = O(f, {pa:b.pa}).d; - 40 < h++ && e(new Q(N.ba)) - } - } - } - return{path:f, d:d} -} -function cc(a) { - for(var b;;) { - if(a === a.parent) { - return b ? S(a.z.Ua, b) : a.z.Ua - } - b = b ? S(a.name, b) : a.name; - a = a.parent - } -} -var Hb = {r:0, rs:8192, "r+":2, w:1537, wx:3585, xw:3585, "w+":1538, "wx+":3586, "xw+":3586, a:521, ax:2569, xa:2569, "a+":522, "ax+":2570, "xa+":2570}; -function Ib(a, b) { - return $b ? 0 : -1 !== b.indexOf("r") && !(a.mode & 292) || -1 !== b.indexOf("w") && !(a.mode & 146) || -1 !== b.indexOf("x") && !(a.mode & 73) ? N.Ya : 0 -} -function zb(a, b) { - try { - return Ub(a, b), N.va - }catch(c) { - } - return Ib(a, "wx") -} -var Tb = {open:function(a) { - a.e = Pb[a.d.X].e; - a.e.open && a.e.open(a) -}, na:function() { - e(new Q(N.da)) -}}, dc; -function ec(a, b) { - var c = 0; - a && (c |= 365); - b && (c |= 146); - return c -} -function fc(a, b, c, d, f) { - a = S("string" === typeof a ? a : cc(a), b); - d = ec(d, f); - f = Ab(a, d); - if(c) { - if("string" === typeof c) { - for(var b = Array(c.length), g = 0, h = c.length;g < h;++g) { - b[g] = c.charCodeAt(g) - } - c = b - } - Eb(a, d | 146); - b = Fb(a, "w"); - Kb(b, c, 0, c.length, 0); - Jb(b); - Eb(a, d) - } - return f -} -function gc(a, b, c, d) { - a = S("string" === typeof a ? a : cc(a), b); - gc.Sa || (gc.Sa = 64); - b = gc.Sa++ << 8 | 0; - Pb[b] = {e:{open:function(a) { - a.seekable = n - }, close:function() { - d && (d.buffer && d.buffer.length) && d(10) - }, Q:function(a, b, d, i) { - for(var j = 0, p = 0;p < i;p++) { - var z; - try { - z = c() - }catch(w) { - e(new Q(N.I)) - } - z === k && 0 === j && e(new Q(N.ua)); - if(z === m || z === k) { - break - } - j++; - b[d + p] = z - } - j && (a.d.timestamp = Date.now()); - return j - }, write:function(a, b, c, i) { - for(var j = 0;j < i;j++) { - try { - d(b[c + j]) - }catch(p) { - e(new Q(N.I)) - } - } - i && (a.d.timestamp = Date.now()); - return j - }}}; - return Cb(a, c && d ? 511 : c ? 219 : 365, b) -} -function hc(a, b, c) { - a = R[a]; - if(!a) { - return-1 - } - a.sender(G.subarray(b, b + c)); - return c -} -function ic(a, b, c) { - var d = R[a]; - if(!d) { - return M(N.$), -1 - } - if(d && "socket" in d) { - return hc(a, b, c) - } - try { - return Kb(d, A, b, c) - }catch(f) { - return ac(f), -1 - } -} -function jc(a, b, c, d) { - c *= b; - if(0 == c) { - return 0 - } - a = ic(d, a, c); - if(-1 == a) { - if(b = R[d]) { - b.error = l - } - return 0 - } - return Math.floor(a / b) -} -r._strlen = kc; -function lc(a) { - return 0 > a || 0 === a && -Infinity === 1 / a -} -function mc(a, b) { - function c(a) { - var c; - "double" === a ? c = Ja[b + f >> 3] : "i64" == a ? (c = [B[b + f >> 2], B[b + (f + 8) >> 2]], f += 8) : (a = "i32", c = B[b + f >> 2]); - f += Math.max(Math.max(la(a), ma), 8); - return c - } - for(var d = a, f = 0, g = [], h, i;;) { - var j = d; - h = A[d]; - if(0 === h) { - break - } - i = A[d + 1 | 0]; - if(37 == h) { - var p = n, z = n, w = n, C = n; - a:for(;;) { - switch(i) { - case 43: - p = l; - break; - case 45: - z = l; - break; - case 35: - w = l; - break; - case 48: - if(C) { - break a - }else { - C = l; - break - } - ; - default: - break a - } - d++; - i = A[d + 1 | 0] - } - var D = 0; - if(42 == i) { - D = c("i32"), d++, i = A[d + 1 | 0] - }else { - for(;48 <= i && 57 >= i;) { - D = 10 * D + (i - 48), d++, i = A[d + 1 | 0] - } - } - var L = n; - if(46 == i) { - var H = 0, L = l; - d++; - i = A[d + 1 | 0]; - if(42 == i) { - H = c("i32"), d++ - }else { - for(;;) { - i = A[d + 1 | 0]; - if(48 > i || 57 < i) { - break - } - H = 10 * H + (i - 48); - d++ - } - } - i = A[d + 1 | 0] - }else { - H = 6 - } - var y; - switch(String.fromCharCode(i)) { - case "h": - i = A[d + 2 | 0]; - 104 == i ? (d++, y = 1) : y = 2; - break; - case "l": - i = A[d + 2 | 0]; - 108 == i ? (d++, y = 8) : y = 4; - break; - case "L": - ; - case "q": - ; - case "j": - y = 8; - break; - case "z": - ; - case "t": - ; - case "I": - y = 4; - break; - default: - y = m - } - y && d++; - i = A[d + 1 | 0]; - switch(String.fromCharCode(i)) { - case "d": - ; - case "i": - ; - case "u": - ; - case "o": - ; - case "x": - ; - case "X": - ; - case "p": - j = 100 == i || 105 == i; - y = y || 4; - var P = h = c("i" + 8 * y), s; - 8 == y && (h = 117 == i ? +(h[0] >>> 0) + 4294967296 * +(h[1] >>> 0) : +(h[0] >>> 0) + 4294967296 * +(h[1] | 0)); - 4 >= y && (h = (j ? eb : db)(h & Math.pow(256, y) - 1, 8 * y)); - var ta = Math.abs(h), j = ""; - if(100 == i || 105 == i) { - s = 8 == y && nc ? nc.stringify(P[0], P[1], m) : eb(h, 8 * y).toString(10) - }else { - if(117 == i) { - s = 8 == y && nc ? nc.stringify(P[0], P[1], l) : db(h, 8 * y).toString(10), h = Math.abs(h) - }else { - if(111 == i) { - s = (w ? "0" : "") + ta.toString(8) - }else { - if(120 == i || 88 == i) { - j = w && 0 != h ? "0x" : ""; - if(8 == y && nc) { - if(P[1]) { - s = (P[1] >>> 0).toString(16); - for(w = (P[0] >>> 0).toString(16);8 > w.length;) { - w = "0" + w - } - s += w - }else { - s = (P[0] >>> 0).toString(16) - } - }else { - if(0 > h) { - h = -h; - s = (ta - 1).toString(16); - P = []; - for(w = 0;w < s.length;w++) { - P.push((15 - parseInt(s[w], 16)).toString(16)) - } - for(s = P.join("");s.length < 2 * y;) { - s = "f" + s - } - }else { - s = ta.toString(16) - } - } - 88 == i && (j = j.toUpperCase(), s = s.toUpperCase()) - }else { - 112 == i && (0 === ta ? s = "(nil)" : (j = "0x", s = ta.toString(16))) - } - } - } - } - if(L) { - for(;s.length < H;) { - s = "0" + s - } - } - for(p && (j = 0 > h ? "-" + j : "+" + j);j.length + s.length < D;) { - z ? s += " " : C ? s = "0" + s : j = " " + j - } - s = j + s; - s.split("").forEach(function(a) { - g.push(a.charCodeAt(0)) - }); - break; - case "f": - ; - case "F": - ; - case "e": - ; - case "E": - ; - case "g": - ; - case "G": - h = c("double"); - if(isNaN(h)) { - s = "nan", C = n - }else { - if(isFinite(h)) { - L = n; - y = Math.min(H, 20); - if(103 == i || 71 == i) { - L = l, H = H || 1, y = parseInt(h.toExponential(y).split("e")[1], 10), H > y && -4 <= y ? (i = (103 == i ? "f" : "F").charCodeAt(0), H -= y + 1) : (i = (103 == i ? "e" : "E").charCodeAt(0), H--), y = Math.min(H, 20) - } - if(101 == i || 69 == i) { - s = h.toExponential(y), /[eE][-+]\d$/.test(s) && (s = s.slice(0, -1) + "0" + s.slice(-1)) - }else { - if(102 == i || 70 == i) { - s = h.toFixed(y), 0 === h && lc(h) && (s = "-" + s) - } - } - j = s.split("e"); - if(L && !w) { - for(;1 < j[0].length && -1 != j[0].indexOf(".") && ("0" == j[0].slice(-1) || "." == j[0].slice(-1));) { - j[0] = j[0].slice(0, -1) - } - }else { - for(w && -1 == s.indexOf(".") && (j[0] += ".");H > y++;) { - j[0] += "0" - } - } - s = j[0] + (1 < j.length ? "e" + j[1] : ""); - 69 == i && (s = s.toUpperCase()); - p && 0 <= h && (s = "+" + s) - }else { - s = (0 > h ? "-" : "") + "inf", C = n - } - } - for(;s.length < D;) { - s = z ? s + " " : C && ("-" == s[0] || "+" == s[0]) ? s[0] + "0" + s.slice(1) : (C ? "0" : " ") + s - } - 97 > i && (s = s.toUpperCase()); - s.split("").forEach(function(a) { - g.push(a.charCodeAt(0)) - }); - break; - case "s": - C = (p = c("i8*")) ? kc(p) : 6; - L && (C = Math.min(C, H)); - if(!z) { - for(;C < D--;) { - g.push(32) - } - } - if(p) { - for(w = 0;w < C;w++) { - g.push(G[p++ | 0]) - } - }else { - g = g.concat(J("(null)".substr(0, C), l)) - } - if(z) { - for(;C < D--;) { - g.push(32) - } - } - break; - case "c": - for(z && g.push(c("i8"));0 < --D;) { - g.push(32) - } - z || g.push(c("i8")); - break; - case "n": - z = c("i32*"); - B[z >> 2] = g.length; - break; - case "%": - g.push(h); - break; - default: - for(w = j;w < d + 2;w++) { - g.push(A[w]) - } - } - d += 2 - }else { - g.push(h), d += 1 - } - } - return g -} -function oc(a, b, c) { - c = mc(b, c); - b = ja(); - a = jc(F(c, "i8", La), 1, c.length, a); - ka(b); - return a -} -function pc(a) { - pc.ia || (x = x + 4095 >> 12 << 12, pc.ia = l, v(ua), pc.hb = ua, ua = function() { - wa("cannot dynamically allocate, sbrk now has control") - }); - var b = x; - 0 != a && pc.hb(a); - return b -} -function U() { - return B[U.m >> 2] -} -function qc() { - return!!qc.ta -} -function rc(a) { - var b = n; - try { - a == __ZTIi && (b = l) - }catch(c) { - } - try { - a == __ZTIj && (b = l) - }catch(d) { - } - try { - a == __ZTIl && (b = l) - }catch(f) { - } - try { - a == __ZTIm && (b = l) - }catch(g) { - } - try { - a == __ZTIx && (b = l) - }catch(h) { - } - try { - a == __ZTIy && (b = l) - }catch(i) { - } - try { - a == __ZTIf && (b = l) - }catch(j) { - } - try { - a == __ZTId && (b = l) - }catch(p) { - } - try { - a == __ZTIe && (b = l) - }catch(z) { - } - try { - a == __ZTIc && (b = l) - }catch(w) { - } - try { - a == __ZTIa && (b = l) - }catch(C) { - } - try { - a == __ZTIh && (b = l) - }catch(D) { - } - try { - a == __ZTIs && (b = l) - }catch(L) { - } - try { - a == __ZTIt && (b = l) - }catch(H) { - } - return b -} -function sc(a, b, c) { - if(0 == c) { - return n - } - if(0 == b || b == a) { - return l - } - switch(rc(b) ? b : B[B[b >> 2] - 8 >> 2]) { - case 0: - return 0 == B[B[a >> 2] - 8 >> 2] ? sc(B[a + 8 >> 2], B[b + 8 >> 2], c) : n; - case 1: - return n; - case 2: - return sc(a, B[b + 8 >> 2], c); - default: - return n - } -} -function tc(a, b, c) { - if(!tc.sb) { - try { - B[__ZTVN10__cxxabiv119__pointer_type_infoE >> 2] = 0 - }catch(d) { - } - try { - B[pb >> 2] = 1 - }catch(f) { - } - try { - B[ob >> 2] = 2 - }catch(g) { - } - tc.sb = l - } - B[U.m >> 2] = a; - B[U.m + 4 >> 2] = b; - B[U.m + 8 >> 2] = c; - "uncaught_exception" in qc ? qc.ta++ : qc.ta = 1; - e(a + " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.") -} -function uc(a) { - try { - return vc(a) - }catch(b) { - } -} -function wc() { - if(wc.Bb) { - wc.Bb = n - }else { - V.setThrew(0); - B[U.m + 4 >> 2] = 0; - var a = B[U.m >> 2], b = B[U.m + 8 >> 2]; - b && (na("vi", b, [a]), B[U.m + 8 >> 2] = 0); - a && (uc(a), B[U.m >> 2] = 0) - } -} -var xc = F(1, "i32*", E); -function yc(a) { - var b, c; - yc.ia ? (c = B[xc >> 2], b = B[c >> 2]) : (yc.ia = l, W.USER = "root", W.PATH = "/", W.PWD = "/", W.HOME = "/home/emscripten", W.LANG = "en_US.UTF-8", W._ = "./this.program", b = F(1024, "i8", E), c = F(256, "i8*", E), B[c >> 2] = b, B[xc >> 2] = c); - var d = [], f = 0, g; - for(g in a) { - if("string" === typeof a[g]) { - var h = g + "=" + a[g]; - d.push(h); - f += h.length - } - } - 1024 < f && e(Error("Environment size exceeded TOTAL_ENV_SIZE!")); - for(a = 0;a < d.length;a++) { - h = d[a]; - for(f = 0;f < h.length;f++) { - A[b + f | 0] = h.charCodeAt(f) - } - A[b + f | 0] = 0; - B[c + 4 * a >> 2] = b; - b += h.length + 1 - } - B[c + 4 * d.length >> 2] = 0 -} -var W = {}; -function zc(a) { - if(0 === a) { - return 0 - } - a = Fa(a); - if(!W.hasOwnProperty(a)) { - return 0 - } - zc.J && vc(zc.J); - zc.J = F(J(W[a]), "i8", Ka); - return zc.J -} -function Ac(a, b, c) { - if(a in wb) { - if(wb[a].length > c - 1) { - return M(N.ab) - } - a = wb[a]; - for(c = 0;c < a.length;c++) { - A[b + c | 0] = a.charCodeAt(c) - } - return A[b + c | 0] = 0 - } - return M(N.A) -} -function Bc(a) { - Bc.buffer || (Bc.buffer = Oa(256)); - Ac(a, Bc.buffer, 256); - return Bc.buffer -} -function Cc(a) { - r.exit(a) -} -function Dc(a, b) { - var c = db(a & 255); - A[Dc.J | 0] = c; - if(-1 == ic(b, Dc.J, 1)) { - if(c = R[b]) { - c.error = l - } - return-1 - } - return c -} -var Ec = n, Fc = n, Gc = n, Hc = n, Ic = k, Jc = k; -function Kc(a) { - return{jpg:"image/jpeg", jpeg:"image/jpeg", png:"image/png", bmp:"image/bmp", ogg:"audio/ogg", wav:"audio/wav", mp3:"audio/mpeg"}[a.substr(a.lastIndexOf(".") + 1)] -} -var Lc = []; -function Mc() { - var a = r.canvas; - Lc.forEach(function(b) { - b(a.width, a.height) - }) -} -function Nc() { - var a = r.canvas; - this.Ib = a.width; - this.Hb = a.height; - a.width = screen.width; - a.height = screen.height; - "undefined" != typeof SDL && (a = Qa[SDL.screen + 0 * ma >> 2], B[SDL.screen + 0 * ma >> 2] = a | 8388608); - Mc() -} -function Oc() { - var a = r.canvas; - a.width = this.Ib; - a.height = this.Hb; - "undefined" != typeof SDL && (a = Qa[SDL.screen + 0 * ma >> 2], B[SDL.screen + 0 * ma >> 2] = a & -8388609); - Mc() -} -var Pc, Qc, Rc, Sc; -r.RandomBytes = tb; -vb = ra(4); -B[vb >> 2] = 0; -var Xb = Sb(m, "/", 16895, 0), Tc = T, Uc = {type:Tc, se:{}, Ua:"/", root:m}, Vc; -Vc = O("/", {N:n}); -var Wc = Tc.z(Uc); -Wc.z = Uc; -Uc.root = Wc; -Vc && (Vc.d.z = Uc, Vc.d.ub = l, Xb = Uc.root); -Bb("/tmp", 511); -Bb("/dev", 511); -Pb[259] = {e:{Q:function() { - return 0 -}, write:function() { - return 0 -}}}; -Cb("/dev/null", 438, 259); -Ob(1280, {Na:function(a) { - if(!a.input.length) { - var b = m; - if(ca) { - if(process.Eb.be) { - return - } - b = process.Eb.Q() - }else { - "undefined" != typeof window && "function" == typeof window.prompt ? (b = window.prompt("Input: "), b !== m && (b += "\n")) : "function" == typeof readline && (b = readline(), b !== m && (b += "\n")) - } - if(!b) { - return m - } - a.input = J(b, l) - } - return a.input.shift() -}, W:function(a, b) { - b === m || 10 === b ? (r.print(a.H.join("")), a.H = []) : a.H.push(Rb.oa(b)) -}}); -Ob(1536, {W:function(a, b) { - b === m || 10 === b ? (r.printErr(a.H.join("")), a.H = []) : a.H.push(Rb.oa(b)) -}}); -Cb("/dev/tty", 438, 1280); -Cb("/dev/tty1", 438, 1536); -Bb("/dev/shm", 511); -Bb("/dev/shm/tmp", 511); -Xa.unshift({V:function() { - if(!r.noFSInit && !dc) { - v(!dc, "FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"); - dc = l; - r.stdin = r.stdin; - r.stdout = r.stdout; - r.stderr = r.stderr; - r.stdin ? gc("/dev", "stdin", r.stdin) : Db("/dev/tty", "/dev/stdin"); - r.stdout ? gc("/dev", "stdout", m, r.stdout) : Db("/dev/tty", "/dev/stdout"); - r.stderr ? gc("/dev", "stderr", m, r.stderr) : Db("/dev/tty1", "/dev/stderr"); - var a = Fb("/dev/stdin", "r"); - B[Vb >> 2] = a.s; - v(1 === a.s, "invalid handle for stdin (" + a.s + ")"); - a = Fb("/dev/stdout", "w"); - B[Wb >> 2] = a.s; - v(2 === a.s, "invalid handle for stdout (" + a.s + ")"); - a = Fb("/dev/stderr", "w"); - B[nb >> 2] = a.s; - v(3 === a.s, "invalid handle for stderr (" + a.s + ")") - } -}}); -Ya.push({V:function() { - $b = n -}}); -Za.push({V:function() { - dc = n; - for(var a = 0;a < R.length;a++) { - var b = R[a]; - b && Jb(b) - } -}}); -r.FS_createFolder = function(a, b, c, d) { - a = S("string" === typeof a ? a : cc(a), b); - return Bb(a, ec(c, d)) -}; -r.FS_createPath = function(a, b) { - for(var a = "string" === typeof a ? a : cc(a), c = b.split("/").reverse();c.length;) { - var d = c.pop(); - if(d) { - var f = S(a, d); - try { - Bb(f, 511) - }catch(g) { - } - a = f - } - } - return f -}; -r.FS_createDataFile = fc; -r.FS_createPreloadedFile = function(a, b, c, d, f, g, h, i) { - function j() { - Gc = document.pointerLockElement === w || document.mozPointerLockElement === w || document.webkitPointerLockElement === w - } - function p(c) { - function j(c) { - i || fc(a, b, c, d, f); - g && g(); - jb("cp " + C) - } - var p = n; - r.preloadPlugins.forEach(function(a) { - !p && a.canHandle(C) && (a.handle(c, C, j, function() { - h && h(); - jb("cp " + C) - }), p = l) - }); - p || j(c) - } - r.preloadPlugins || (r.preloadPlugins = []); - if(!Pc && !ea) { - Pc = l; - try { - new Blob, Qc = l - }catch(z) { - Qc = n, console.log("warning: no blob constructor, cannot create blobs with mimetypes") - } - Rc = "undefined" != typeof MozBlobBuilder ? MozBlobBuilder : "undefined" != typeof WebKitBlobBuilder ? WebKitBlobBuilder : !Qc ? console.log("warning: no BlobBuilder") : m; - Sc = "undefined" != typeof window ? window.URL ? window.URL : window.webkitURL : console.log("warning: cannot create object URLs"); - r.preloadPlugins.push({canHandle:function(a) { - return!r.re && /\.(jpg|jpeg|png|bmp)$/i.test(a) - }, handle:function(a, b, c, d) { - var f = m; - if(Qc) { - try { - f = new Blob([a], {type:Kc(b)}), f.size !== a.length && (f = new Blob([(new Uint8Array(a)).buffer], {type:Kc(b)})) - }catch(g) { - var h = "Blob constructor present but fails: " + g + "; falling back to blob builder"; - oa || (oa = {}); - oa[h] || (oa[h] = 1, r.P(h)) - } - } - f || (f = new Rc, f.append((new Uint8Array(a)).buffer), f = f.getBlob()); - var i = Sc.createObjectURL(f), j = new Image; - j.onload = function() { - v(j.complete, "Image " + b + " could not be decoded"); - var d = document.createElement("canvas"); - d.width = j.width; - d.height = j.height; - d.getContext("2d").drawImage(j, 0, 0); - r.preloadedImages[b] = d; - Sc.revokeObjectURL(i); - c && c(a) - }; - j.onerror = function() { - console.log("Image " + i + " could not be decoded"); - d && d() - }; - j.src = i - }}); - r.preloadPlugins.push({canHandle:function(a) { - return!r.qe && a.substr(-4) in {".ogg":1, ".wav":1, ".mp3":1} - }, handle:function(a, b, c, d) { - function f(d) { - h || (h = l, r.preloadedAudios[b] = d, c && c(a)) - } - function g() { - h || (h = l, r.preloadedAudios[b] = new Audio, d && d()) - } - var h = n; - if(Qc) { - try { - var i = new Blob([a], {type:Kc(b)}) - }catch(j) { - return g() - } - var i = Sc.createObjectURL(i), p = new Audio; - p.addEventListener("canplaythrough", function() { - f(p) - }, n); - p.onerror = function() { - if(!h) { - console.log("warning: browser could not fully decode audio " + b + ", trying slower base64 approach"); - for(var c = "", d = 0, g = 0, i = 0;i < a.length;i++) { - d = d << 8 | a[i]; - for(g += 8;6 <= g;) { - var j = d >> g - 6 & 63, g = g - 6, c = c + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[j] - } - } - 2 == g ? (c += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(d & 3) << 4], c += "==") : 4 == g && (c += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(d & 15) << 2], c += "="); - p.src = "data:audio/x-" + b.substr(-3) + ";base64," + c; - f(p) - } - }; - p.src = i; - setTimeout(function() { - za || f(p) - }, 1E4) - }else { - return g() - } - }}); - var w = r.canvas; - w.qa = w.requestPointerLock || w.mozRequestPointerLock || w.webkitRequestPointerLock; - w.La = document.exitPointerLock || document.mozExitPointerLock || document.webkitExitPointerLock || aa(); - w.La = w.La.bind(document); - document.addEventListener("pointerlockchange", j, n); - document.addEventListener("mozpointerlockchange", j, n); - document.addEventListener("webkitpointerlockchange", j, n); - r.elementPointerLock && w.addEventListener("click", function(a) { - !Gc && w.qa && (w.qa(), a.preventDefault()) - }, n) - } - var C, D = S.apply(m, [a, b]); - "/" == D[0] && (D = D.substr(1)); - C = D; - ib("cp " + C); - if("string" == typeof c) { - var L = h, H = function() { - L ? L() : e('Loading data file "' + c + '" failed.') - }, y = new XMLHttpRequest; - y.open("GET", c, l); - y.responseType = "arraybuffer"; - y.onload = function() { - if(200 == y.status || 0 == y.status && y.response) { - var a = y.response; - v(a, 'Loading data file "' + c + '" failed (no arrayBuffer).'); - a = new Uint8Array(a); - p(a); - jb("al " + c) - }else { - H() - } - }; - y.onerror = H; - y.send(m); - ib("al " + c) - }else { - p(c) - } -}; -r.FS_createLazyFile = function(a, b, c, d, f) { - var g, h; - "undefined" !== typeof XMLHttpRequest ? (ea || e("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"), g = function() { - this.ma = n; - this.T = [] - }, g.prototype.get = function(a) { - if(!(a > this.length - 1 || 0 > a)) { - var b = a % this.S; - return this.pb(Math.floor(a / this.S))[b] - } - }, g.prototype.Cb = function(a) { - this.pb = a - }, g.prototype.Fa = function() { - var a = new XMLHttpRequest; - a.open("HEAD", c, n); - a.send(m); - 200 <= a.status && 300 > a.status || 304 === a.status || e(Error("Couldn't load " + c + ". Status: " + a.status)); - var b = Number(a.getResponseHeader("Content-length")), d, f = 1048576; - if(!((d = a.getResponseHeader("Accept-Ranges")) && "bytes" === d)) { - f = b - } - var g = this; - g.Cb(function(a) { - var d = a * f, h = (a + 1) * f - 1, h = Math.min(h, b - 1); - if("undefined" === typeof g.T[a]) { - var i = g.T; - d > h && e(Error("invalid range (" + d + ", " + h + ") or no bytes requested!")); - h > b - 1 && e(Error("only " + b + " bytes available! programmer error!")); - var j = new XMLHttpRequest; - j.open("GET", c, n); - b !== f && j.setRequestHeader("Range", "bytes=" + d + "-" + h); - "undefined" != typeof Uint8Array && (j.responseType = "arraybuffer"); - j.overrideMimeType && j.overrideMimeType("text/plain; charset=x-user-defined"); - j.send(m); - 200 <= j.status && 300 > j.status || 304 === j.status || e(Error("Couldn't load " + c + ". Status: " + j.status)); - d = j.response !== k ? new Uint8Array(j.response || []) : J(j.responseText || "", l); - i[a] = d - } - "undefined" === typeof g.T[a] && e(Error("doXHR failed!")); - return g.T[a] - }); - this.gb = b; - this.fb = f; - this.ma = l - }, g = new g, Object.defineProperty(g, "length", {get:function() { - this.ma || this.Fa(); - return this.gb - }}), Object.defineProperty(g, "chunkSize", {get:function() { - this.ma || this.Fa(); - return this.fb - }}), h = k) : (h = c, g = k); - var i, a = S("string" === typeof a ? a : cc(a), b); - i = Ab(a, ec(d, f)); - g ? i.g = g : h && (i.g = m, i.url = h); - var j = {}; - Object.keys(i.e).forEach(function(a) { - var b = i.e[a]; - j[a] = function() { - var a; - if(i.ke || i.le || i.link || i.g) { - a = l - }else { - a = l; - "undefined" !== typeof XMLHttpRequest && e(Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")); - if(r.read) { - try { - i.g = J(r.read(i.url), l) - }catch(c) { - a = n - } - }else { - e(Error("Cannot load without read() or XMLHttpRequest.")) - } - a || M(N.I) - } - a || e(new Q(N.I)); - return b.apply(m, arguments) - } - }); - j.Q = function(a, b, c, d, f) { - a = a.d.g; - d = Math.min(a.length - f, d); - if(a.slice) { - for(var g = 0;g < d;g++) { - b[c + g] = a[f + g] - } - }else { - for(g = 0;g < d;g++) { - b[c + g] = a.get(f + g) - } - } - return d - }; - i.e = j; - return i -}; -r.FS_createLink = function(a, b, c) { - a = S("string" === typeof a ? a : cc(a), b); - return Db(c, a) -}; -r.FS_createDevice = gc; -U.m = F(12, "void*", E); -yc(W); -Dc.J = F([0], "i8", E); -r.requestFullScreen = function(a, b) { - function c() { - Fc = n; - (document.webkitFullScreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.mozFullscreenElement || document.fullScreenElement || document.fullscreenElement) === d ? (d.Ga = document.cancelFullScreen || document.mozCancelFullScreen || document.webkitCancelFullScreen, d.Ga = d.Ga.bind(document), Ic && d.qa(), Fc = l, Jc && Nc()) : Jc && Oc(); - if(r.onFullScreen) { - r.onFullScreen(Fc) - } - } - Ic = a; - Jc = b; - "undefined" === typeof Ic && (Ic = l); - "undefined" === typeof Jc && (Jc = n); - var d = r.canvas; - Hc || (Hc = l, document.addEventListener("fullscreenchange", c, n), document.addEventListener("mozfullscreenchange", c, n), document.addEventListener("webkitfullscreenchange", c, n)); - d.Ab = d.requestFullScreen || d.mozRequestFullScreen || (d.webkitRequestFullScreen ? function() { - d.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT) - } : m); - d.Ab() -}; -r.requestAnimationFrame = function(a) { - window.requestAnimationFrame || (window.requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame || window.oRequestAnimationFrame || window.setTimeout); - window.requestAnimationFrame(a) -}; -r.pauseMainLoop = aa(); -r.resumeMainLoop = function() { - Ec && (Ec = n, m()) -}; -r.getUserMedia = function() { - window.Ma || (window.Ma = navigator.getUserMedia || navigator.mozGetUserMedia); - window.Ma(k) -}; -Sa = u = xa(sa); -Ta = Sa + 5242880; -Ua = x = xa(Ta); -v(Ua < va); -var Xc = F([8, 7, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "i8", 3), Yc = F([8, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 6, 0, 1, 0, -2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 7, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, -0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0], "i8", 3), Zc = Math.min; -var V = (function(global,env,buffer) { -// EMSCRIPTEN_START_ASM - "use asm"; - var a = new global.Int8Array(buffer); - var b = new global.Int16Array(buffer); - var c = new global.Int32Array(buffer); - var d = new global.Uint8Array(buffer); - var e = new global.Uint16Array(buffer); - var f = new global.Uint32Array(buffer); - var g = new global.Float32Array(buffer); - var h = new global.Float64Array(buffer); - var i = env.STACKTOP | 0; - var j = env.STACK_MAX | 0; - var k = env.tempDoublePtr | 0; - var l = env.ABORT | 0; - var m = env.cttz_i8 | 0; - var n = env.ctlz_i8 | 0; - var o = env.__ZTVN10__cxxabiv120__si_class_type_infoE | 0; - var p = env._stderr | 0; - var q = env.__ZTVN10__cxxabiv117__class_type_infoE | 0; - var r = env.___progname | 0; - var s = +env.NaN; - var t = +env.Infinity; - var u = 0; - var v = 0; - var w = 0; - var x = 0; - var y = 0, z = 0, A = 0, B = 0, C = 0.0, D = 0, E = 0, F = 0, G = 0.0; - var H = 0; - var I = 0; - var J = 0; - var K = 0; - var L = 0; - var M = 0; - var N = 0; - var O = 0; - var P = 0; - var Q = 0; - var R = global.Math.floor; - var S = global.Math.abs; - var T = global.Math.sqrt; - var U = global.Math.pow; - var V = global.Math.cos; - var W = global.Math.sin; - var X = global.Math.tan; - var Y = global.Math.acos; - var Z = global.Math.asin; - var _ = global.Math.atan; - var $ = global.Math.atan2; - var aa = global.Math.exp; - var ab = global.Math.log; - var ac = global.Math.ceil; - var ad = global.Math.imul; - var ae = env.abort; - var af = env.assert; - var ag = env.asmPrintInt; - var ah = env.asmPrintFloat; - var ai = env.min; - var aj = env.invoke_vi; - var ak = env.invoke_vii; - var al = env.invoke_ii; - var am = env.invoke_viii; - var an = env.invoke_v; - var ao = env.invoke_iii; - var ap = env._strncmp; - var aq = env._llvm_va_end; - var ar = env._sysconf; - var as = env.___cxa_throw; - var at = env._randombytes; - var au = env._strerror; - var av = env._abort; - var aw = env._fprintf; - var ax = env._llvm_eh_exception; - var ay = env.___cxa_free_exception; - var az = env._fflush; - var aA = env.___buildEnvironment; - var aB = env.__reallyNegative; - var aC = env._strchr; - var aD = env._fputc; - var aE = env.___setErrNo; - var aF = env._fwrite; - var aG = env._send; - var aH = env._write; - var aI = env._exit; - var aJ = env.___cxa_find_matching_catch; - var aK = env.___cxa_allocate_exception; - var aL = env._isspace; - var aM = env.___cxa_is_number_type; - var aN = env.___resumeException; - var aO = env.__formatString; - var aP = env.___cxa_does_inherit; - var aQ = env._getenv; - var aR = env._vfprintf; - var aS = env.___cxa_begin_catch; - var aT = env.__ZSt18uncaught_exceptionv; - var aU = env._pwrite; - var aV = env.___cxa_call_unexpected; - var aW = env._sbrk; - var aX = env._strerror_r; - var aY = env.___errno_location; - var aZ = env.___gxx_personality_v0; - var a_ = env._time; - var a$ = env.__exit; - var a0 = env.___cxa_end_catch; -// EMSCRIPTEN_START_FUNCS -function a7(a) { - a = a | 0; - var b = 0; - b = i; - i = i + a | 0; - i = i + 7 >> 3 << 3; - return b | 0; -} -function a8() { - return i | 0; -} -function a9(a) { - a = a | 0; - i = a; -} -function ba(a, b) { - a = a | 0; - b = b | 0; - if ((u | 0) == 0) { - u = a; - v = b; - } -} -function bb(b) { - b = b | 0; - a[k] = a[b]; - a[k + 1 | 0] = a[b + 1 | 0]; - a[k + 2 | 0] = a[b + 2 | 0]; - a[k + 3 | 0] = a[b + 3 | 0]; -} -function bc(b) { - b = b | 0; - a[k] = a[b]; - a[k + 1 | 0] = a[b + 1 | 0]; - a[k + 2 | 0] = a[b + 2 | 0]; - a[k + 3 | 0] = a[b + 3 | 0]; - a[k + 4 | 0] = a[b + 4 | 0]; - a[k + 5 | 0] = a[b + 5 | 0]; - a[k + 6 | 0] = a[b + 6 | 0]; - a[k + 7 | 0] = a[b + 7 | 0]; -} -function bd(a) { - a = a | 0; - H = a; -} -function be(a) { - a = a | 0; - I = a; -} -function bf(a) { - a = a | 0; - J = a; -} -function bg(a) { - a = a | 0; - K = a; -} -function bh(a) { - a = a | 0; - L = a; -} -function bi(a) { - a = a | 0; - M = a; -} -function bj(a) { - a = a | 0; - N = a; -} -function bk(a) { - a = a | 0; - O = a; -} -function bl(a) { - a = a | 0; - P = a; -} -function bm(a) { - a = a | 0; - Q = a; -} -function bn() { - c[27996] = q + 8; - c[27998] = o + 8; - c[28002] = o + 8; -} -function bo(a, b) { - a = a | 0; - b = b | 0; - return a >>> ((32 - b | 0) >>> 0) | a << b | 0; -} -function bp(a, b) { - a = a | 0; - b = b | 0; - return a >>> ((32 - b | 0) >>> 0) | a << b | 0; -} -function bq(a) { - a = a | 0; - return (d[a + 1 | 0] | 0) << 8 | (d[a] | 0) | (d[a + 2 | 0] | 0) << 16 | (d[a + 3 | 0] | 0) << 24 | 0; -} -function br(b, c) { - b = b | 0; - c = c | 0; - a[b] = c & 255; - a[b + 1 | 0] = c >>> 8 & 255; - a[b + 2 | 0] = c >>> 16 & 255; - a[b + 3 | 0] = c >>> 24 & 255; - return; -} -function bs(a) { - a = a | 0; - return (d[a + 1 | 0] | 0) << 8 | (d[a] | 0) | (d[a + 2 | 0] | 0) << 16 | (d[a + 3 | 0] | 0) << 24 | 0; -} -function bt(b, c) { - b = b | 0; - c = c | 0; - a[b] = c & 255; - a[b + 1 | 0] = c >>> 8 & 255; - a[b + 2 | 0] = c >>> 16 & 255; - a[b + 3 | 0] = c >>> 24 & 255; - return; -} -function bu(b, c, d) { - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, j = 0; - e = i; - i = i + 640 | 0; - f = e | 0; - g = e + 128 | 0; - bR(c, d, 32, 0) | 0; - a[c] = a[c] & -8; - h = c + 31 | 0; - a[h] = a[h] & 63 | 64; - cV(f, c); - cR(g, f); - cJ(b, g); - g = 0; - while (1) { - a[c + g | 0] = a[d + g | 0] | 0; - f = g + 1 | 0; - if ((f | 0) < 32) { - g = f; - } else { - j = 0; - break; - } - } - do { - a[c + (j + 32) | 0] = a[b + j | 0] | 0; - j = j + 1 | 0; - } while ((j | 0) < 32); - i = e; - return 0; -} -function bv() { - return en(10) | 0; -} -function bw(b, c, d, e, f) { - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - f = f | 0; - var g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0; - g = i; - i = i + 32 | 0; - h = g | 0; - j = h | 0; - k = i; - i = i + 128 | 0; - fn(j | 0, 1280, 32) | 0; - l = k | 0; - m = fp(d << 3 | 0 >>> 29, e << 3 | d >>> 29, 512, 0) | 0; - n = H; - o = 0; - do { - a[k + o | 0] = a[f + o | 0] ^ 54; - o = o + 1 | 0; - } while ((o | 0) < 32); - fm(k + 32 | 0, 54, 32); - o = h | 0; - h = k | 0; - bS(o, h, 64, 0) | 0; - bS(o, c, d, e) | 0; - p = d & 63; - q = e & 0; - e = p; - do { - if ((p | 0) == 0 & (q | 0) == 0) { - a[k + e | 0] = -128; - r = fp(p, q, 1, 0) | 0; - s = r; - t = 18; - } else { - r = d & 63; - u = c + (d - r) | 0; - fn(l | 0, u | 0, r) | 0; - a[k + e | 0] = -128; - r = 0; - u = fp(p, q, 1, 0) | 0; - v = u; - if (q >>> 0 < r >>> 0 | q >>> 0 == r >>> 0 & p >>> 0 < 56 >>> 0) { - s = v; - t = 18; - break; - } - if (v >>> 0 < 120) { - v = d & 63; - fm(k + (v + 1) | 0, 0, 119 - v | 0); - } - a[k + 120 | 0] = (n >>> 24 | 0 << 8) & 255; - a[k + 121 | 0] = (n >>> 16 | 0 << 16) & 255; - a[k + 122 | 0] = (n >>> 8 | 0 << 24) & 255; - a[k + 123 | 0] = n & 255; - a[k + 124 | 0] = (m >>> 24 | n << 8) & 255; - a[k + 125 | 0] = (m >>> 16 | n << 16) & 255; - a[k + 126 | 0] = (m >>> 8 | n << 24) & 255; - a[k + 127 | 0] = m & 255; - v = 128; - r = 0; - bS(o, h, v, r) | 0; - w = 0; - } - } while (0); - if ((t | 0) == 18) { - if (s >>> 0 < 56) { - s = d & 63; - fm(k + (s + 1) | 0, 0, ((s + 2 | 0) >>> 0 > 56 ? s + 1 | 0 : 55) - s | 0); - } - a[k + 56 | 0] = (n >>> 24 | 0 << 8) & 255; - a[k + 57 | 0] = (n >>> 16 | 0 << 16) & 255; - a[k + 58 | 0] = (n >>> 8 | 0 << 24) & 255; - a[k + 59 | 0] = n & 255; - a[k + 60 | 0] = (m >>> 24 | n << 8) & 255; - a[k + 61 | 0] = (m >>> 16 | n << 16) & 255; - a[k + 62 | 0] = (m >>> 8 | n << 24) & 255; - a[k + 63 | 0] = m & 255; - m = 64; - n = 0; - bS(o, h, m, n) | 0; - w = 0; - } - do { - a[k + w | 0] = a[f + w | 0] ^ 92; - w = w + 1 | 0; - } while ((w | 0) < 32); - fm(k + 32 | 0, 92, 32); - w = k + 64 | 0; - fn(w | 0, j | 0, 32) | 0; - j = 0; - do { - a[b + j | 0] = a[1280 + j | 0] | 0; - j = j + 1 | 0; - } while ((j | 0) < 32); - fm(k + 96 | 0, 0, 32); - a[k + 96 | 0] = -128; - a[k + 126 | 0] = 3; - bS(b, h, 128, 0) | 0; - i = g; - return 0; -} -function bx(a, b, c, d, e) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - var f = 0, g = 0; - f = i; - i = i + 32 | 0; - g = f | 0; - bw(g, b, c, d, e) | 0; - e = em(a, g) | 0; - i = f; - return e | 0; -} -function by(b, c, d, e, f) { - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - f = f | 0; - var g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0; - g = i; - i = i + 64 | 0; - h = g | 0; - j = h | 0; - k = i; - i = i + 256 | 0; - l = k | 0; - fn(j | 0, 1216, 64) | 0; - m = fp(d, e, 128, 0) | 0; - n = H; - o = 0; - do { - a[k + o | 0] = a[f + o | 0] ^ 54; - o = o + 1 | 0; - } while ((o | 0) < 32); - fm(k + 32 | 0, 54, 96); - o = h | 0; - h = k | 0; - bV(o, h, 128, 0) | 0; - bV(o, c, d, e) | 0; - p = d & 127; - q = e & 0; - e = p; - do { - if ((p | 0) == 0 & (q | 0) == 0) { - a[k + e | 0] = -128; - r = fp(p, q, 1, 0) | 0; - s = r; - t = 34; - } else { - r = d & 127; - u = c + (d - r) | 0; - fn(l | 0, u | 0, r) | 0; - a[k + e | 0] = -128; - r = 0; - u = fp(p, q, 1, 0) | 0; - v = u; - if (q >>> 0 < r >>> 0 | q >>> 0 == r >>> 0 & p >>> 0 < 112 >>> 0) { - s = v; - t = 34; - break; - } - if (v >>> 0 < 247) { - v = d & 127; - fm(k + (v + 1) | 0, 0, 246 - v | 0); - } - a[k + 247 | 0] = (n >>> 29 | 0 << 3) & 255; - a[k + 248 | 0] = (n >>> 21 | 0 << 11) & 255; - a[k + 249 | 0] = (n >>> 13 | 0 << 19) & 255; - a[k + 250 | 0] = (n >>> 5 | 0 << 27) & 255; - a[k + 251 | 0] = (m >>> 29 | n << 3) & 255; - a[k + 252 | 0] = (m >>> 21 | n << 11) & 255; - a[k + 253 | 0] = (m >>> 13 | n << 19) & 255; - a[k + 254 | 0] = (m >>> 5 | n << 27) & 255; - a[k + 255 | 0] = (m << 3 | 0 >>> 29) & 255; - v = 256; - r = 0; - bV(o, h, v, r) | 0; - w = 0; - } - } while (0); - if ((t | 0) == 34) { - if (s >>> 0 < 119) { - s = d & 127; - fm(k + (s + 1) | 0, 0, ((s + 2 | 0) >>> 0 > 119 ? s + 1 | 0 : 118) - s | 0); - } - a[k + 119 | 0] = (n >>> 29 | 0 << 3) & 255; - a[k + 120 | 0] = (n >>> 21 | 0 << 11) & 255; - a[k + 121 | 0] = (n >>> 13 | 0 << 19) & 255; - a[k + 122 | 0] = (n >>> 5 | 0 << 27) & 255; - a[k + 123 | 0] = (m >>> 29 | n << 3) & 255; - a[k + 124 | 0] = (m >>> 21 | n << 11) & 255; - a[k + 125 | 0] = (m >>> 13 | n << 19) & 255; - a[k + 126 | 0] = (m >>> 5 | n << 27) & 255; - a[k + 127 | 0] = (m << 3 | 0 >>> 29) & 255; - m = 128; - n = 0; - bV(o, h, m, n) | 0; - w = 0; - } - do { - a[k + w | 0] = a[f + w | 0] ^ 92; - w = w + 1 | 0; - } while ((w | 0) < 32); - fm(k + 32 | 0, 92, 96); - w = k + 128 | 0; - fn(w | 0, j | 0, 64) | 0; - fn(j | 0, 1216, 64) | 0; - fm(k + 192 | 0, 0, 64); - a[k + 192 | 0] = -128; - a[k + 254 | 0] = 6; - bV(o, h, 256, 0) | 0; - fn(b | 0, j | 0, 32) | 0; - i = g; - return 0; -} -function bz(a, b, c, d, e) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - var f = 0, g = 0; - f = i; - i = i + 32 | 0; - g = f | 0; - by(g, b, c, d, e) | 0; - e = em(a, g) | 0; - i = f; - return e | 0; -} -function bA(a, b, c, d, e, f) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - f = f | 0; - return ci(a, b, c, d, e, f) | 0; -} -function bB(a, b, c, d, e, f) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - f = f | 0; - return cj(a, b, c, d, e, f) | 0; -} -function bC(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - var d = 0, e = 0; - d = i; - i = i + 32 | 0; - e = d | 0; - b3(e, c, b) | 0; - b = bG(a, 112040, e, 136) | 0; - i = d; - return b | 0; -} -function bD(a, b, c, d, e, f, g) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - f = f | 0; - g = g | 0; - var h = 0, j = 0; - h = i; - i = i + 32 | 0; - j = h | 0; - bC(j, f, g) | 0; - g = bA(a, b, c, d, e, j) | 0; - i = h; - return g | 0; -} -function bE(a, b, c, d, e, f, g) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - f = f | 0; - g = g | 0; - var h = 0, j = 0; - h = i; - i = i + 32 | 0; - j = h | 0; - bC(j, f, g) | 0; - g = bB(a, b, c, d, e, j) | 0; - i = h; - return g | 0; -} -function bF(a, b) { - a = a | 0; - b = b | 0; - at(b | 0, 32, 0); - return b2(a, b) | 0; -} -function bG(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0; - e = bq(d) | 0; - f = bq(c) | 0; - g = bq(c + 4 | 0) | 0; - h = bq(c + 8 | 0) | 0; - i = bq(c + 12 | 0) | 0; - j = d + 4 | 0; - k = bq(j) | 0; - l = bq(b) | 0; - m = b + 4 | 0; - n = bq(m) | 0; - o = b + 8 | 0; - p = bq(o) | 0; - q = b + 12 | 0; - r = bq(q) | 0; - s = d + 8 | 0; - t = bq(s) | 0; - u = bq(c + 16 | 0) | 0; - v = bq(c + 20 | 0) | 0; - w = bq(c + 24 | 0) | 0; - x = bq(c + 28 | 0) | 0; - c = d + 12 | 0; - y = bq(c) | 0; - z = y; - A = x; - x = w; - w = v; - v = u; - u = t; - B = r; - C = p; - D = n; - E = l; - F = k; - G = i; - i = h; - h = g; - g = f; - f = e; - H = 20; - do { - I = (bo(f + w | 0, 7) | 0) ^ G; - J = (bo(I + f | 0, 9) | 0) ^ C; - K = (bo(J + I | 0, 13) | 0) ^ w; - L = (bo(K + J | 0, 18) | 0) ^ f; - M = (bo(g + F | 0, 7) | 0) ^ B; - N = (bo(M + F | 0, 9) | 0) ^ x; - O = (bo(N + M | 0, 13) | 0) ^ g; - P = (bo(O + N | 0, 18) | 0) ^ F; - Q = (bo(E + u | 0, 7) | 0) ^ A; - R = (bo(Q + u | 0, 9) | 0) ^ h; - S = (bo(R + Q | 0, 13) | 0) ^ E; - T = (bo(S + R | 0, 18) | 0) ^ u; - U = (bo(v + z | 0, 7) | 0) ^ i; - V = (bo(U + z | 0, 9) | 0) ^ D; - W = (bo(V + U | 0, 13) | 0) ^ v; - X = (bo(W + V | 0, 18) | 0) ^ z; - g = (bo(U + L | 0, 7) | 0) ^ O; - h = (bo(g + L | 0, 9) | 0) ^ R; - i = (bo(h + g | 0, 13) | 0) ^ U; - f = (bo(i + h | 0, 18) | 0) ^ L; - E = (bo(P + I | 0, 7) | 0) ^ S; - D = (bo(E + P | 0, 9) | 0) ^ V; - G = (bo(D + E | 0, 13) | 0) ^ I; - F = (bo(G + D | 0, 18) | 0) ^ P; - v = (bo(T + M | 0, 7) | 0) ^ W; - C = (bo(v + T | 0, 9) | 0) ^ J; - B = (bo(C + v | 0, 13) | 0) ^ M; - u = (bo(B + C | 0, 18) | 0) ^ T; - w = (bo(X + Q | 0, 7) | 0) ^ K; - x = (bo(w + X | 0, 9) | 0) ^ N; - A = (bo(x + w | 0, 13) | 0) ^ Q; - z = (bo(A + x | 0, 18) | 0) ^ X; - H = H - 2 | 0; - } while ((H | 0) > 0); - H = f + e - (bq(d) | 0) | 0; - d = F + k - (bq(j) | 0) | 0; - j = u + t - (bq(s) | 0) | 0; - s = z + y - (bq(c) | 0) | 0; - c = E + l - (bq(b) | 0) | 0; - b = D + n - (bq(m) | 0) | 0; - m = C + p - (bq(o) | 0) | 0; - o = B + r - (bq(q) | 0) | 0; - br(a, H); - br(a + 4 | 0, d); - br(a + 8 | 0, j); - br(a + 12 | 0, s); - br(a + 16 | 0, c); - br(a + 20 | 0, b); - br(a + 24 | 0, m); - br(a + 28 | 0, o); - return 0; -} -function bH(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0; - e = bs(d) | 0; - f = bs(c) | 0; - g = bs(c + 4 | 0) | 0; - h = bs(c + 8 | 0) | 0; - i = bs(c + 12 | 0) | 0; - j = bs(d + 4 | 0) | 0; - k = bs(b) | 0; - l = bs(b + 4 | 0) | 0; - m = bs(b + 8 | 0) | 0; - n = bs(b + 12 | 0) | 0; - b = bs(d + 8 | 0) | 0; - o = bs(c + 16 | 0) | 0; - p = bs(c + 20 | 0) | 0; - q = bs(c + 24 | 0) | 0; - r = bs(c + 28 | 0) | 0; - c = bs(d + 12 | 0) | 0; - d = c; - s = r; - t = q; - u = p; - v = o; - w = b; - x = n; - y = m; - z = l; - A = k; - B = j; - C = i; - D = h; - E = g; - F = f; - G = e; - H = 20; - do { - I = (bp(G + u | 0, 7) | 0) ^ C; - J = (bp(I + G | 0, 9) | 0) ^ y; - K = (bp(J + I | 0, 13) | 0) ^ u; - L = (bp(K + J | 0, 18) | 0) ^ G; - M = (bp(F + B | 0, 7) | 0) ^ x; - N = (bp(M + B | 0, 9) | 0) ^ t; - O = (bp(N + M | 0, 13) | 0) ^ F; - P = (bp(O + N | 0, 18) | 0) ^ B; - Q = (bp(A + w | 0, 7) | 0) ^ s; - R = (bp(Q + w | 0, 9) | 0) ^ E; - S = (bp(R + Q | 0, 13) | 0) ^ A; - T = (bp(S + R | 0, 18) | 0) ^ w; - U = (bp(v + d | 0, 7) | 0) ^ D; - V = (bp(U + d | 0, 9) | 0) ^ z; - W = (bp(V + U | 0, 13) | 0) ^ v; - X = (bp(W + V | 0, 18) | 0) ^ d; - F = (bp(U + L | 0, 7) | 0) ^ O; - E = (bp(F + L | 0, 9) | 0) ^ R; - D = (bp(E + F | 0, 13) | 0) ^ U; - G = (bp(D + E | 0, 18) | 0) ^ L; - A = (bp(P + I | 0, 7) | 0) ^ S; - z = (bp(A + P | 0, 9) | 0) ^ V; - C = (bp(z + A | 0, 13) | 0) ^ I; - B = (bp(C + z | 0, 18) | 0) ^ P; - v = (bp(T + M | 0, 7) | 0) ^ W; - y = (bp(v + T | 0, 9) | 0) ^ J; - x = (bp(y + v | 0, 13) | 0) ^ M; - w = (bp(x + y | 0, 18) | 0) ^ T; - u = (bp(X + Q | 0, 7) | 0) ^ K; - t = (bp(u + X | 0, 9) | 0) ^ N; - s = (bp(t + u | 0, 13) | 0) ^ Q; - d = (bp(s + t | 0, 18) | 0) ^ X; - H = H - 2 | 0; - } while ((H | 0) > 0); - bt(a, G + e | 0); - bt(a + 4 | 0, F + f | 0); - bt(a + 8 | 0, E + g | 0); - bt(a + 12 | 0, D + h | 0); - bt(a + 16 | 0, C + i | 0); - bt(a + 20 | 0, B + j | 0); - bt(a + 24 | 0, A + k | 0); - bt(a + 28 | 0, z + l | 0); - bt(a + 32 | 0, y + m | 0); - bt(a + 36 | 0, x + n | 0); - bt(a + 40 | 0, w + b | 0); - bt(a + 44 | 0, v + o | 0); - bt(a + 48 | 0, u + p | 0); - bt(a + 52 | 0, t + q | 0); - bt(a + 56 | 0, s + r | 0); - bt(a + 60 | 0, d + c | 0); - return 0; -} -function bI(a, b) { - a = a | 0; - b = b | 0; - return a >>> ((32 - b | 0) >>> 0) | a << b | 0; -} -function bJ(a, b) { - a = a | 0; - b = b | 0; - return a >>> ((32 - b | 0) >>> 0) | a << b | 0; -} -function bK(a) { - a = a | 0; - return (d[a + 1 | 0] | 0) << 8 | (d[a] | 0) | (d[a + 2 | 0] | 0) << 16 | (d[a + 3 | 0] | 0) << 24 | 0; -} -function bL(b, c) { - b = b | 0; - c = c | 0; - a[b] = c & 255; - a[b + 1 | 0] = c >>> 8 & 255; - a[b + 2 | 0] = c >>> 16 & 255; - a[b + 3 | 0] = c >>> 24 & 255; - return; -} -function bM(a) { - a = a | 0; - return (d[a + 1 | 0] | 0) << 8 | (d[a] | 0) | (d[a + 2 | 0] | 0) << 16 | (d[a + 3 | 0] | 0) << 24 | 0; -} -function bN(b, c) { - b = b | 0; - c = c | 0; - a[b] = c & 255; - a[b + 1 | 0] = c >>> 8 & 255; - a[b + 2 | 0] = c >>> 16 & 255; - a[b + 3 | 0] = c >>> 24 & 255; - return; -} -function bO(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0; - e = bK(d) | 0; - f = bK(c) | 0; - g = bK(c + 4 | 0) | 0; - h = bK(c + 8 | 0) | 0; - i = bK(c + 12 | 0) | 0; - j = bK(d + 4 | 0) | 0; - k = bK(b) | 0; - l = bK(b + 4 | 0) | 0; - m = bK(b + 8 | 0) | 0; - n = bK(b + 12 | 0) | 0; - b = bK(d + 8 | 0) | 0; - o = bK(c + 16 | 0) | 0; - p = bK(c + 20 | 0) | 0; - q = bK(c + 24 | 0) | 0; - r = bK(c + 28 | 0) | 0; - c = bK(d + 12 | 0) | 0; - d = c; - s = r; - t = q; - u = p; - v = o; - w = b; - x = n; - y = m; - z = l; - A = k; - B = j; - C = i; - D = h; - E = g; - F = f; - G = e; - H = 12; - do { - I = (bI(G + u | 0, 7) | 0) ^ C; - J = (bI(I + G | 0, 9) | 0) ^ y; - K = (bI(J + I | 0, 13) | 0) ^ u; - L = (bI(K + J | 0, 18) | 0) ^ G; - M = (bI(F + B | 0, 7) | 0) ^ x; - N = (bI(M + B | 0, 9) | 0) ^ t; - O = (bI(N + M | 0, 13) | 0) ^ F; - P = (bI(O + N | 0, 18) | 0) ^ B; - Q = (bI(A + w | 0, 7) | 0) ^ s; - R = (bI(Q + w | 0, 9) | 0) ^ E; - S = (bI(R + Q | 0, 13) | 0) ^ A; - T = (bI(S + R | 0, 18) | 0) ^ w; - U = (bI(v + d | 0, 7) | 0) ^ D; - V = (bI(U + d | 0, 9) | 0) ^ z; - W = (bI(V + U | 0, 13) | 0) ^ v; - X = (bI(W + V | 0, 18) | 0) ^ d; - F = (bI(U + L | 0, 7) | 0) ^ O; - E = (bI(F + L | 0, 9) | 0) ^ R; - D = (bI(E + F | 0, 13) | 0) ^ U; - G = (bI(D + E | 0, 18) | 0) ^ L; - A = (bI(P + I | 0, 7) | 0) ^ S; - z = (bI(A + P | 0, 9) | 0) ^ V; - C = (bI(z + A | 0, 13) | 0) ^ I; - B = (bI(C + z | 0, 18) | 0) ^ P; - v = (bI(T + M | 0, 7) | 0) ^ W; - y = (bI(v + T | 0, 9) | 0) ^ J; - x = (bI(y + v | 0, 13) | 0) ^ M; - w = (bI(x + y | 0, 18) | 0) ^ T; - u = (bI(X + Q | 0, 7) | 0) ^ K; - t = (bI(u + X | 0, 9) | 0) ^ N; - s = (bI(t + u | 0, 13) | 0) ^ Q; - d = (bI(s + t | 0, 18) | 0) ^ X; - H = H - 2 | 0; - } while ((H | 0) > 0); - bL(a, G + e | 0); - bL(a + 4 | 0, F + f | 0); - bL(a + 8 | 0, E + g | 0); - bL(a + 12 | 0, D + h | 0); - bL(a + 16 | 0, C + i | 0); - bL(a + 20 | 0, B + j | 0); - bL(a + 24 | 0, A + k | 0); - bL(a + 28 | 0, z + l | 0); - bL(a + 32 | 0, y + m | 0); - bL(a + 36 | 0, x + n | 0); - bL(a + 40 | 0, w + b | 0); - bL(a + 44 | 0, v + o | 0); - bL(a + 48 | 0, u + p | 0); - bL(a + 52 | 0, t + q | 0); - bL(a + 56 | 0, s + r | 0); - bL(a + 60 | 0, d + c | 0); - return 0; -} -function bP(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0; - e = bM(d) | 0; - f = bM(c) | 0; - g = bM(c + 4 | 0) | 0; - h = bM(c + 8 | 0) | 0; - i = bM(c + 12 | 0) | 0; - j = bM(d + 4 | 0) | 0; - k = bM(b) | 0; - l = bM(b + 4 | 0) | 0; - m = bM(b + 8 | 0) | 0; - n = bM(b + 12 | 0) | 0; - b = bM(d + 8 | 0) | 0; - o = bM(c + 16 | 0) | 0; - p = bM(c + 20 | 0) | 0; - q = bM(c + 24 | 0) | 0; - r = bM(c + 28 | 0) | 0; - c = bM(d + 12 | 0) | 0; - d = c; - s = r; - t = q; - u = p; - v = o; - w = b; - x = n; - y = m; - z = l; - A = k; - B = j; - C = i; - D = h; - E = g; - F = f; - G = e; - H = 8; - do { - I = (bJ(G + u | 0, 7) | 0) ^ C; - J = (bJ(I + G | 0, 9) | 0) ^ y; - K = (bJ(J + I | 0, 13) | 0) ^ u; - L = (bJ(K + J | 0, 18) | 0) ^ G; - M = (bJ(F + B | 0, 7) | 0) ^ x; - N = (bJ(M + B | 0, 9) | 0) ^ t; - O = (bJ(N + M | 0, 13) | 0) ^ F; - P = (bJ(O + N | 0, 18) | 0) ^ B; - Q = (bJ(A + w | 0, 7) | 0) ^ s; - R = (bJ(Q + w | 0, 9) | 0) ^ E; - S = (bJ(R + Q | 0, 13) | 0) ^ A; - T = (bJ(S + R | 0, 18) | 0) ^ w; - U = (bJ(v + d | 0, 7) | 0) ^ D; - V = (bJ(U + d | 0, 9) | 0) ^ z; - W = (bJ(V + U | 0, 13) | 0) ^ v; - X = (bJ(W + V | 0, 18) | 0) ^ d; - F = (bJ(U + L | 0, 7) | 0) ^ O; - E = (bJ(F + L | 0, 9) | 0) ^ R; - D = (bJ(E + F | 0, 13) | 0) ^ U; - G = (bJ(D + E | 0, 18) | 0) ^ L; - A = (bJ(P + I | 0, 7) | 0) ^ S; - z = (bJ(A + P | 0, 9) | 0) ^ V; - C = (bJ(z + A | 0, 13) | 0) ^ I; - B = (bJ(C + z | 0, 18) | 0) ^ P; - v = (bJ(T + M | 0, 7) | 0) ^ W; - y = (bJ(v + T | 0, 9) | 0) ^ J; - x = (bJ(y + v | 0, 13) | 0) ^ M; - w = (bJ(x + y | 0, 18) | 0) ^ T; - u = (bJ(X + Q | 0, 7) | 0) ^ K; - t = (bJ(u + X | 0, 9) | 0) ^ N; - s = (bJ(t + u | 0, 13) | 0) ^ Q; - d = (bJ(s + t | 0, 18) | 0) ^ X; - H = H - 2 | 0; - } while ((H | 0) > 0); - bN(a, G + e | 0); - bN(a + 4 | 0, F + f | 0); - bN(a + 8 | 0, E + g | 0); - bN(a + 12 | 0, D + h | 0); - bN(a + 16 | 0, C + i | 0); - bN(a + 20 | 0, B + j | 0); - bN(a + 24 | 0, A + k | 0); - bN(a + 28 | 0, z + l | 0); - bN(a + 32 | 0, y + m | 0); - bN(a + 36 | 0, x + n | 0); - bN(a + 40 | 0, w + b | 0); - bN(a + 44 | 0, v + o | 0); - bN(a + 48 | 0, u + p | 0); - bN(a + 52 | 0, t + q | 0); - bN(a + 56 | 0, s + r | 0); - bN(a + 60 | 0, d + c | 0); - return 0; -} -function bQ(b, c, d, e) { - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - var f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0; - f = i; - i = i + 32 | 0; - g = f | 0; - h = g | 0; - j = i; - i = i + 128 | 0; - fn(h | 0, 1184, 32) | 0; - k = d << 3 | 0 >>> 29; - l = g | 0; - bS(l, c, d, e) | 0; - g = d & 63; - m = e & 0; - n = g; - do { - if ((g | 0) == 0 & (m | 0) == 0) { - a[j + n | 0] = -128; - o = fp(g, m, 1, 0) | 0; - p = o; - } else { - o = j | 0; - q = d & 63; - r = c + (d - q) | 0; - fn(o | 0, r | 0, q) | 0; - a[j + n | 0] = -128; - q = 0; - r = fp(g, m, 1, 0) | 0; - o = r; - if (m >>> 0 < q >>> 0 | m >>> 0 == q >>> 0 & g >>> 0 < 56 >>> 0) { - p = o; - break; - } - if (o >>> 0 < 120) { - o = d & 63; - fm(j + (o + 1) | 0, 0, 119 - o | 0); - } - a[j + 120 | 0] = (e >>> 21 | 0 << 11) & 255; - a[j + 121 | 0] = (e >>> 13 | 0 << 19) & 255; - a[j + 122 | 0] = (e >>> 5 | 0 << 27) & 255; - a[j + 123 | 0] = (d >>> 29 | e << 3) & 255; - a[j + 124 | 0] = (d >>> 21 | e << 11) & 255; - a[j + 125 | 0] = (d >>> 13 | e << 19) & 255; - a[j + 126 | 0] = (d >>> 5 | e << 27) & 255; - a[j + 127 | 0] = k & 255; - o = j | 0; - q = 128; - r = 0; - bS(l, o, q, r) | 0; - fn(b | 0, h | 0, 32) | 0; - i = f; - return 0; - } - } while (0); - if (p >>> 0 < 56) { - p = d & 63; - fm(j + (p + 1) | 0, 0, ((p + 2 | 0) >>> 0 > 56 ? p + 1 | 0 : 55) - p | 0); - } - a[j + 56 | 0] = (e >>> 21 | 0 << 11) & 255; - a[j + 57 | 0] = (e >>> 13 | 0 << 19) & 255; - a[j + 58 | 0] = (e >>> 5 | 0 << 27) & 255; - a[j + 59 | 0] = (d >>> 29 | e << 3) & 255; - a[j + 60 | 0] = (d >>> 21 | e << 11) & 255; - a[j + 61 | 0] = (d >>> 13 | e << 19) & 255; - a[j + 62 | 0] = (d >>> 5 | e << 27) & 255; - a[j + 63 | 0] = k & 255; - bS(l, j | 0, 64, 0) | 0; - fn(b | 0, h | 0, 32) | 0; - i = f; - return 0; -} -function bR(b, c, d, e) { - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - var f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0; - f = i; - i = i + 64 | 0; - g = f | 0; - h = g | 0; - j = i; - i = i + 256 | 0; - fn(h | 0, 1120, 64) | 0; - k = g | 0; - bV(k, c, d, e) | 0; - g = d & 127; - l = e & 0; - m = g; - do { - if ((g | 0) == 0 & (l | 0) == 0) { - a[j + m | 0] = -128; - n = fp(g, l, 1, 0) | 0; - o = n; - } else { - n = j | 0; - p = d & 127; - q = c + (d - p) | 0; - fn(n | 0, q | 0, p) | 0; - a[j + m | 0] = -128; - p = 0; - q = fp(g, l, 1, 0) | 0; - n = q; - if (l >>> 0 < p >>> 0 | l >>> 0 == p >>> 0 & g >>> 0 < 112 >>> 0) { - o = n; - break; - } - if (n >>> 0 < 247) { - n = d & 127; - fm(j + (n + 1) | 0, 0, 246 - n | 0); - } - a[j + 247 | 0] = (e >>> 29 | 0 << 3) & 255; - a[j + 248 | 0] = (e >>> 21 | 0 << 11) & 255; - a[j + 249 | 0] = (e >>> 13 | 0 << 19) & 255; - a[j + 250 | 0] = (e >>> 5 | 0 << 27) & 255; - a[j + 251 | 0] = (d >>> 29 | e << 3) & 255; - a[j + 252 | 0] = (d >>> 21 | e << 11) & 255; - a[j + 253 | 0] = (d >>> 13 | e << 19) & 255; - a[j + 254 | 0] = (d >>> 5 | e << 27) & 255; - a[j + 255 | 0] = (d << 3 | 0 >>> 29) & 255; - n = j | 0; - p = 256; - q = 0; - bV(k, n, p, q) | 0; - fn(b | 0, h | 0, 64) | 0; - i = f; - return 0; - } - } while (0); - if (o >>> 0 < 119) { - o = d & 127; - fm(j + (o + 1) | 0, 0, ((o + 2 | 0) >>> 0 > 119 ? o + 1 | 0 : 118) - o | 0); - } - a[j + 119 | 0] = (e >>> 29 | 0 << 3) & 255; - a[j + 120 | 0] = (e >>> 21 | 0 << 11) & 255; - a[j + 121 | 0] = (e >>> 13 | 0 << 19) & 255; - a[j + 122 | 0] = (e >>> 5 | 0 << 27) & 255; - a[j + 123 | 0] = (d >>> 29 | e << 3) & 255; - a[j + 124 | 0] = (d >>> 21 | e << 11) & 255; - a[j + 125 | 0] = (d >>> 13 | e << 19) & 255; - a[j + 126 | 0] = (d >>> 5 | e << 27) & 255; - a[j + 127 | 0] = (d << 3 | 0 >>> 29) & 255; - bV(k, j | 0, 128, 0) | 0; - fn(b | 0, h | 0, 64) | 0; - i = f; - return 0; -} -function bS(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, aa = 0; - e = bT(a) | 0; - f = a + 4 | 0; - g = bT(f) | 0; - h = a + 8 | 0; - i = bT(h) | 0; - j = a + 12 | 0; - k = bT(j) | 0; - l = a + 16 | 0; - m = bT(l) | 0; - n = a + 20 | 0; - o = bT(n) | 0; - p = a + 24 | 0; - q = bT(p) | 0; - r = a + 28 | 0; - s = bT(r) | 0; - t = 0; - if (d >>> 0 > t >>> 0 | d >>> 0 == t >>> 0 & c >>> 0 > 63 >>> 0) { - u = s; - v = q; - w = o; - x = m; - y = k; - z = i; - A = g; - B = e; - C = d; - D = c; - E = b; - } else { - F = s; - G = q; - I = o; - J = m; - K = k; - L = i; - M = g; - N = e; - bU(a, N); - bU(f, M); - bU(h, L); - bU(j, K); - bU(l, J); - bU(n, I); - bU(p, G); - bU(r, F); - return 0; - } - while (1) { - e = bT(E) | 0; - g = bT(E + 4 | 0) | 0; - i = bT(E + 8 | 0) | 0; - k = bT(E + 12 | 0) | 0; - m = bT(E + 16 | 0) | 0; - o = bT(E + 20 | 0) | 0; - q = bT(E + 24 | 0) | 0; - s = bT(E + 28 | 0) | 0; - b = bT(E + 32 | 0) | 0; - c = bT(E + 36 | 0) | 0; - d = bT(E + 40 | 0) | 0; - t = bT(E + 44 | 0) | 0; - O = bT(E + 48 | 0) | 0; - P = bT(E + 52 | 0) | 0; - Q = bT(E + 56 | 0) | 0; - R = bT(E + 60 | 0) | 0; - S = u + 1116352408 + (x & w ^ v & ~x) + ((x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7)) + e | 0; - T = B & A; - U = S + y | 0; - V = ((B >>> 2 | B << 30) ^ (B >>> 13 | B << 19) ^ (B >>> 22 | B << 10)) + ((B ^ A) & z ^ T) + S | 0; - S = v + 1899447441 + g + (U & x ^ w & ~U) + ((U >>> 6 | U << 26) ^ (U >>> 11 | U << 21) ^ (U >>> 25 | U << 7)) | 0; - W = V & B; - X = S + z | 0; - Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & A ^ T ^ W) + S | 0; - S = w - 1245643825 + i + (X & U ^ x & ~X) + ((X >>> 6 | X << 26) ^ (X >>> 11 | X << 21) ^ (X >>> 25 | X << 7)) | 0; - T = Y & V; - Z = S + A | 0; - _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & B ^ W ^ T) + S | 0; - S = x - 373957723 + k + (Z & X ^ U & ~Z) + ((Z >>> 6 | Z << 26) ^ (Z >>> 11 | Z << 21) ^ (Z >>> 25 | Z << 7)) | 0; - W = _ & Y; - $ = S + B | 0; - aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ T ^ W) + S | 0; - S = U + 961987163 + m + ($ & Z ^ X & ~$) + (($ >>> 6 | $ << 26) ^ ($ >>> 11 | $ << 21) ^ ($ >>> 25 | $ << 7)) | 0; - U = aa & _; - T = S + V | 0; - V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ W ^ U) + S | 0; - S = o + 1508970993 + X + (T & $ ^ Z & ~T) + ((T >>> 6 | T << 26) ^ (T >>> 11 | T << 21) ^ (T >>> 25 | T << 7)) | 0; - X = V & aa; - W = S + Y | 0; - Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ U ^ X) + S | 0; - S = q - 1841331548 + Z + (W & T ^ $ & ~W) + ((W >>> 6 | W << 26) ^ (W >>> 11 | W << 21) ^ (W >>> 25 | W << 7)) | 0; - Z = Y & V; - U = S + _ | 0; - _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ X ^ Z) + S | 0; - S = s - 1424204075 + $ + (U & W ^ T & ~U) + ((U >>> 6 | U << 26) ^ (U >>> 11 | U << 21) ^ (U >>> 25 | U << 7)) | 0; - $ = _ & Y; - X = S + aa | 0; - aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ Z ^ $) + S | 0; - S = b - 670586216 + T + (X & U ^ W & ~X) + ((X >>> 6 | X << 26) ^ (X >>> 11 | X << 21) ^ (X >>> 25 | X << 7)) | 0; - T = aa & _; - Z = S + V | 0; - V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ $ ^ T) + S | 0; - S = c + 310598401 + W + (Z & X ^ U & ~Z) + ((Z >>> 6 | Z << 26) ^ (Z >>> 11 | Z << 21) ^ (Z >>> 25 | Z << 7)) | 0; - W = V & aa; - $ = S + Y | 0; - Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ T ^ W) + S | 0; - S = d + 607225278 + U + ($ & Z ^ X & ~$) + (($ >>> 6 | $ << 26) ^ ($ >>> 11 | $ << 21) ^ ($ >>> 25 | $ << 7)) | 0; - U = Y & V; - T = S + _ | 0; - _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ W ^ U) + S | 0; - S = t + 1426881987 + X + (T & $ ^ Z & ~T) + ((T >>> 6 | T << 26) ^ (T >>> 11 | T << 21) ^ (T >>> 25 | T << 7)) | 0; - X = _ & Y; - W = S + aa | 0; - aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ U ^ X) + S | 0; - S = O + 1925078388 + Z + (W & T ^ $ & ~W) + ((W >>> 6 | W << 26) ^ (W >>> 11 | W << 21) ^ (W >>> 25 | W << 7)) | 0; - Z = aa & _; - U = S + V | 0; - V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ X ^ Z) + S | 0; - S = P - 2132889090 + $ + (U & W ^ T & ~U) + ((U >>> 6 | U << 26) ^ (U >>> 11 | U << 21) ^ (U >>> 25 | U << 7)) | 0; - $ = V & aa; - X = S + Y | 0; - Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ Z ^ $) + S | 0; - S = Q - 1680079193 + T + (X & U ^ W & ~X) + ((X >>> 6 | X << 26) ^ (X >>> 11 | X << 21) ^ (X >>> 25 | X << 7)) | 0; - T = Y & V; - Z = S + _ | 0; - _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ $ ^ T) + S | 0; - S = R - 1046744716 + W + (Z & X ^ U & ~Z) + ((Z >>> 6 | Z << 26) ^ (Z >>> 11 | Z << 21) ^ (Z >>> 25 | Z << 7)) | 0; - W = _ & Y; - $ = S + aa | 0; - aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ T ^ W) + S | 0; - S = ((g >>> 18 | g << 14) ^ g >>> 3 ^ (g >>> 7 | g << 25)) + e + c + ((Q >>> 19 | Q << 13) ^ Q >>> 10 ^ (Q >>> 17 | Q << 15)) | 0; - e = ((i >>> 18 | i << 14) ^ i >>> 3 ^ (i >>> 7 | i << 25)) + g + d + ((R >>> 19 | R << 13) ^ R >>> 10 ^ (R >>> 17 | R << 15)) | 0; - g = ((k >>> 18 | k << 14) ^ k >>> 3 ^ (k >>> 7 | k << 25)) + i + t + ((S >>> 19 | S << 13) ^ S >>> 10 ^ (S >>> 17 | S << 15)) | 0; - i = ((m >>> 18 | m << 14) ^ m >>> 3 ^ (m >>> 7 | m << 25)) + k + O + ((e >>> 19 | e << 13) ^ e >>> 10 ^ (e >>> 17 | e << 15)) | 0; - k = ((o >>> 18 | o << 14) ^ o >>> 3 ^ (o >>> 7 | o << 25)) + m + P + ((g >>> 19 | g << 13) ^ g >>> 10 ^ (g >>> 17 | g << 15)) | 0; - m = ((q >>> 18 | q << 14) ^ q >>> 3 ^ (q >>> 7 | q << 25)) + o + Q + ((i >>> 19 | i << 13) ^ i >>> 10 ^ (i >>> 17 | i << 15)) | 0; - o = ((s >>> 18 | s << 14) ^ s >>> 3 ^ (s >>> 7 | s << 25)) + q + R + ((k >>> 19 | k << 13) ^ k >>> 10 ^ (k >>> 17 | k << 15)) | 0; - q = ((b >>> 18 | b << 14) ^ b >>> 3 ^ (b >>> 7 | b << 25)) + s + S + ((m >>> 19 | m << 13) ^ m >>> 10 ^ (m >>> 17 | m << 15)) | 0; - s = ((c >>> 18 | c << 14) ^ c >>> 3 ^ (c >>> 7 | c << 25)) + b + e + ((o >>> 19 | o << 13) ^ o >>> 10 ^ (o >>> 17 | o << 15)) | 0; - b = ((d >>> 18 | d << 14) ^ d >>> 3 ^ (d >>> 7 | d << 25)) + c + g + ((q >>> 19 | q << 13) ^ q >>> 10 ^ (q >>> 17 | q << 15)) | 0; - c = ((t >>> 18 | t << 14) ^ t >>> 3 ^ (t >>> 7 | t << 25)) + d + i + ((s >>> 19 | s << 13) ^ s >>> 10 ^ (s >>> 17 | s << 15)) | 0; - d = ((O >>> 18 | O << 14) ^ O >>> 3 ^ (O >>> 7 | O << 25)) + t + k + ((b >>> 19 | b << 13) ^ b >>> 10 ^ (b >>> 17 | b << 15)) | 0; - t = ((P >>> 18 | P << 14) ^ P >>> 3 ^ (P >>> 7 | P << 25)) + O + m + ((c >>> 19 | c << 13) ^ c >>> 10 ^ (c >>> 17 | c << 15)) | 0; - O = ((Q >>> 18 | Q << 14) ^ Q >>> 3 ^ (Q >>> 7 | Q << 25)) + P + o + ((d >>> 19 | d << 13) ^ d >>> 10 ^ (d >>> 17 | d << 15)) | 0; - P = ((R >>> 18 | R << 14) ^ R >>> 3 ^ (R >>> 7 | R << 25)) + Q + q + ((t >>> 19 | t << 13) ^ t >>> 10 ^ (t >>> 17 | t << 15)) | 0; - Q = ((S >>> 18 | S << 14) ^ S >>> 3 ^ (S >>> 7 | S << 25)) + R + s + ((O >>> 19 | O << 13) ^ O >>> 10 ^ (O >>> 17 | O << 15)) | 0; - R = S - 459576895 + U + ($ & Z ^ X & ~$) + (($ >>> 6 | $ << 26) ^ ($ >>> 11 | $ << 21) ^ ($ >>> 25 | $ << 7)) | 0; - U = aa & _; - T = R + V | 0; - V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ W ^ U) + R | 0; - R = e - 272742522 + X + (T & $ ^ Z & ~T) + ((T >>> 6 | T << 26) ^ (T >>> 11 | T << 21) ^ (T >>> 25 | T << 7)) | 0; - X = V & aa; - W = R + Y | 0; - Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ U ^ X) + R | 0; - R = g + 264347078 + Z + (W & T ^ $ & ~W) + ((W >>> 6 | W << 26) ^ (W >>> 11 | W << 21) ^ (W >>> 25 | W << 7)) | 0; - Z = Y & V; - U = R + _ | 0; - _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ X ^ Z) + R | 0; - R = i + 604807628 + $ + (U & W ^ T & ~U) + ((U >>> 6 | U << 26) ^ (U >>> 11 | U << 21) ^ (U >>> 25 | U << 7)) | 0; - $ = _ & Y; - X = R + aa | 0; - aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ Z ^ $) + R | 0; - R = k + 770255983 + T + (X & U ^ W & ~X) + ((X >>> 6 | X << 26) ^ (X >>> 11 | X << 21) ^ (X >>> 25 | X << 7)) | 0; - T = aa & _; - Z = R + V | 0; - V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ $ ^ T) + R | 0; - R = m + 1249150122 + W + (Z & X ^ U & ~Z) + ((Z >>> 6 | Z << 26) ^ (Z >>> 11 | Z << 21) ^ (Z >>> 25 | Z << 7)) | 0; - W = V & aa; - $ = R + Y | 0; - Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ T ^ W) + R | 0; - R = o + 1555081692 + U + ($ & Z ^ X & ~$) + (($ >>> 6 | $ << 26) ^ ($ >>> 11 | $ << 21) ^ ($ >>> 25 | $ << 7)) | 0; - U = Y & V; - T = R + _ | 0; - _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ W ^ U) + R | 0; - R = q + 1996064986 + X + (T & $ ^ Z & ~T) + ((T >>> 6 | T << 26) ^ (T >>> 11 | T << 21) ^ (T >>> 25 | T << 7)) | 0; - X = _ & Y; - W = R + aa | 0; - aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ U ^ X) + R | 0; - R = s - 1740746414 + Z + (W & T ^ $ & ~W) + ((W >>> 6 | W << 26) ^ (W >>> 11 | W << 21) ^ (W >>> 25 | W << 7)) | 0; - Z = aa & _; - U = R + V | 0; - V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ X ^ Z) + R | 0; - R = b - 1473132947 + $ + (U & W ^ T & ~U) + ((U >>> 6 | U << 26) ^ (U >>> 11 | U << 21) ^ (U >>> 25 | U << 7)) | 0; - $ = V & aa; - X = R + Y | 0; - Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ Z ^ $) + R | 0; - R = c - 1341970488 + T + (X & U ^ W & ~X) + ((X >>> 6 | X << 26) ^ (X >>> 11 | X << 21) ^ (X >>> 25 | X << 7)) | 0; - T = Y & V; - Z = R + _ | 0; - _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ $ ^ T) + R | 0; - R = d - 1084653625 + W + (Z & X ^ U & ~Z) + ((Z >>> 6 | Z << 26) ^ (Z >>> 11 | Z << 21) ^ (Z >>> 25 | Z << 7)) | 0; - W = _ & Y; - $ = R + aa | 0; - aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ T ^ W) + R | 0; - R = t - 958395405 + U + ($ & Z ^ X & ~$) + (($ >>> 6 | $ << 26) ^ ($ >>> 11 | $ << 21) ^ ($ >>> 25 | $ << 7)) | 0; - U = aa & _; - T = R + V | 0; - V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ W ^ U) + R | 0; - R = O - 710438585 + X + (T & $ ^ Z & ~T) + ((T >>> 6 | T << 26) ^ (T >>> 11 | T << 21) ^ (T >>> 25 | T << 7)) | 0; - X = V & aa; - W = R + Y | 0; - Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ U ^ X) + R | 0; - R = P + 113926993 + Z + (W & T ^ $ & ~W) + ((W >>> 6 | W << 26) ^ (W >>> 11 | W << 21) ^ (W >>> 25 | W << 7)) | 0; - Z = Y & V; - U = R + _ | 0; - _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ X ^ Z) + R | 0; - R = Q + 338241895 + $ + (U & W ^ T & ~U) + ((U >>> 6 | U << 26) ^ (U >>> 11 | U << 21) ^ (U >>> 25 | U << 7)) | 0; - $ = _ & Y; - X = R + aa | 0; - aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ Z ^ $) + R | 0; - R = ((e >>> 18 | e << 14) ^ e >>> 3 ^ (e >>> 7 | e << 25)) + S + b + ((P >>> 19 | P << 13) ^ P >>> 10 ^ (P >>> 17 | P << 15)) | 0; - S = ((g >>> 18 | g << 14) ^ g >>> 3 ^ (g >>> 7 | g << 25)) + e + c + ((Q >>> 19 | Q << 13) ^ Q >>> 10 ^ (Q >>> 17 | Q << 15)) | 0; - e = ((i >>> 18 | i << 14) ^ i >>> 3 ^ (i >>> 7 | i << 25)) + g + d + ((R >>> 19 | R << 13) ^ R >>> 10 ^ (R >>> 17 | R << 15)) | 0; - g = ((k >>> 18 | k << 14) ^ k >>> 3 ^ (k >>> 7 | k << 25)) + i + t + ((S >>> 19 | S << 13) ^ S >>> 10 ^ (S >>> 17 | S << 15)) | 0; - i = ((m >>> 18 | m << 14) ^ m >>> 3 ^ (m >>> 7 | m << 25)) + k + O + ((e >>> 19 | e << 13) ^ e >>> 10 ^ (e >>> 17 | e << 15)) | 0; - k = ((o >>> 18 | o << 14) ^ o >>> 3 ^ (o >>> 7 | o << 25)) + m + P + ((g >>> 19 | g << 13) ^ g >>> 10 ^ (g >>> 17 | g << 15)) | 0; - m = ((q >>> 18 | q << 14) ^ q >>> 3 ^ (q >>> 7 | q << 25)) + o + Q + ((i >>> 19 | i << 13) ^ i >>> 10 ^ (i >>> 17 | i << 15)) | 0; - o = ((s >>> 18 | s << 14) ^ s >>> 3 ^ (s >>> 7 | s << 25)) + q + R + ((k >>> 19 | k << 13) ^ k >>> 10 ^ (k >>> 17 | k << 15)) | 0; - q = ((b >>> 18 | b << 14) ^ b >>> 3 ^ (b >>> 7 | b << 25)) + s + S + ((m >>> 19 | m << 13) ^ m >>> 10 ^ (m >>> 17 | m << 15)) | 0; - s = ((c >>> 18 | c << 14) ^ c >>> 3 ^ (c >>> 7 | c << 25)) + b + e + ((o >>> 19 | o << 13) ^ o >>> 10 ^ (o >>> 17 | o << 15)) | 0; - b = ((d >>> 18 | d << 14) ^ d >>> 3 ^ (d >>> 7 | d << 25)) + c + g + ((q >>> 19 | q << 13) ^ q >>> 10 ^ (q >>> 17 | q << 15)) | 0; - c = ((t >>> 18 | t << 14) ^ t >>> 3 ^ (t >>> 7 | t << 25)) + d + i + ((s >>> 19 | s << 13) ^ s >>> 10 ^ (s >>> 17 | s << 15)) | 0; - d = ((O >>> 18 | O << 14) ^ O >>> 3 ^ (O >>> 7 | O << 25)) + t + k + ((b >>> 19 | b << 13) ^ b >>> 10 ^ (b >>> 17 | b << 15)) | 0; - t = ((P >>> 18 | P << 14) ^ P >>> 3 ^ (P >>> 7 | P << 25)) + O + m + ((c >>> 19 | c << 13) ^ c >>> 10 ^ (c >>> 17 | c << 15)) | 0; - O = ((Q >>> 18 | Q << 14) ^ Q >>> 3 ^ (Q >>> 7 | Q << 25)) + P + o + ((d >>> 19 | d << 13) ^ d >>> 10 ^ (d >>> 17 | d << 15)) | 0; - P = ((R >>> 18 | R << 14) ^ R >>> 3 ^ (R >>> 7 | R << 25)) + Q + q + ((t >>> 19 | t << 13) ^ t >>> 10 ^ (t >>> 17 | t << 15)) | 0; - Q = R + 666307205 + T + (X & U ^ W & ~X) + ((X >>> 6 | X << 26) ^ (X >>> 11 | X << 21) ^ (X >>> 25 | X << 7)) | 0; - T = aa & _; - Z = Q + V | 0; - V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ $ ^ T) + Q | 0; - Q = S + 773529912 + W + (Z & X ^ U & ~Z) + ((Z >>> 6 | Z << 26) ^ (Z >>> 11 | Z << 21) ^ (Z >>> 25 | Z << 7)) | 0; - W = V & aa; - $ = Q + Y | 0; - Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ T ^ W) + Q | 0; - Q = e + 1294757372 + U + ($ & Z ^ X & ~$) + (($ >>> 6 | $ << 26) ^ ($ >>> 11 | $ << 21) ^ ($ >>> 25 | $ << 7)) | 0; - U = Y & V; - T = Q + _ | 0; - _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ W ^ U) + Q | 0; - Q = g + 1396182291 + X + (T & $ ^ Z & ~T) + ((T >>> 6 | T << 26) ^ (T >>> 11 | T << 21) ^ (T >>> 25 | T << 7)) | 0; - X = _ & Y; - W = Q + aa | 0; - aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ U ^ X) + Q | 0; - Q = i + 1695183700 + Z + (W & T ^ $ & ~W) + ((W >>> 6 | W << 26) ^ (W >>> 11 | W << 21) ^ (W >>> 25 | W << 7)) | 0; - Z = aa & _; - U = Q + V | 0; - V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ X ^ Z) + Q | 0; - Q = k + 1986661051 + $ + (U & W ^ T & ~U) + ((U >>> 6 | U << 26) ^ (U >>> 11 | U << 21) ^ (U >>> 25 | U << 7)) | 0; - $ = V & aa; - X = Q + Y | 0; - Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ Z ^ $) + Q | 0; - Q = m - 2117940946 + T + (X & U ^ W & ~X) + ((X >>> 6 | X << 26) ^ (X >>> 11 | X << 21) ^ (X >>> 25 | X << 7)) | 0; - T = Y & V; - Z = Q + _ | 0; - _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ $ ^ T) + Q | 0; - Q = o - 1838011259 + W + (Z & X ^ U & ~Z) + ((Z >>> 6 | Z << 26) ^ (Z >>> 11 | Z << 21) ^ (Z >>> 25 | Z << 7)) | 0; - W = _ & Y; - $ = Q + aa | 0; - aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ T ^ W) + Q | 0; - Q = q - 1564481375 + U + ($ & Z ^ X & ~$) + (($ >>> 6 | $ << 26) ^ ($ >>> 11 | $ << 21) ^ ($ >>> 25 | $ << 7)) | 0; - U = aa & _; - T = Q + V | 0; - V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ W ^ U) + Q | 0; - Q = s - 1474664885 + X + (T & $ ^ Z & ~T) + ((T >>> 6 | T << 26) ^ (T >>> 11 | T << 21) ^ (T >>> 25 | T << 7)) | 0; - X = V & aa; - W = Q + Y | 0; - Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ U ^ X) + Q | 0; - Q = b - 1035236496 + Z + (W & T ^ $ & ~W) + ((W >>> 6 | W << 26) ^ (W >>> 11 | W << 21) ^ (W >>> 25 | W << 7)) | 0; - Z = Y & V; - U = Q + _ | 0; - _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ X ^ Z) + Q | 0; - Q = c - 949202525 + $ + (U & W ^ T & ~U) + ((U >>> 6 | U << 26) ^ (U >>> 11 | U << 21) ^ (U >>> 25 | U << 7)) | 0; - $ = _ & Y; - X = Q + aa | 0; - aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ Z ^ $) + Q | 0; - Q = d - 778901479 + T + (X & U ^ W & ~X) + ((X >>> 6 | X << 26) ^ (X >>> 11 | X << 21) ^ (X >>> 25 | X << 7)) | 0; - T = aa & _; - Z = Q + V | 0; - V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ $ ^ T) + Q | 0; - Q = t - 694614492 + W + (Z & X ^ U & ~Z) + ((Z >>> 6 | Z << 26) ^ (Z >>> 11 | Z << 21) ^ (Z >>> 25 | Z << 7)) | 0; - W = V & aa; - $ = Q + Y | 0; - Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ T ^ W) + Q | 0; - Q = O - 200395387 + U + ($ & Z ^ X & ~$) + (($ >>> 6 | $ << 26) ^ ($ >>> 11 | $ << 21) ^ ($ >>> 25 | $ << 7)) | 0; - U = Y & V; - T = Q + _ | 0; - _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ W ^ U) + Q | 0; - Q = P + 275423344 + X + (T & $ ^ Z & ~T) + ((T >>> 6 | T << 26) ^ (T >>> 11 | T << 21) ^ (T >>> 25 | T << 7)) | 0; - X = _ & Y; - W = Q + aa | 0; - aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ U ^ X) + Q | 0; - Q = ((S >>> 18 | S << 14) ^ S >>> 3 ^ (S >>> 7 | S << 25)) + R + s + ((O >>> 19 | O << 13) ^ O >>> 10 ^ (O >>> 17 | O << 15)) | 0; - R = ((e >>> 18 | e << 14) ^ e >>> 3 ^ (e >>> 7 | e << 25)) + S + b + ((P >>> 19 | P << 13) ^ P >>> 10 ^ (P >>> 17 | P << 15)) | 0; - S = ((g >>> 18 | g << 14) ^ g >>> 3 ^ (g >>> 7 | g << 25)) + e + c + ((Q >>> 19 | Q << 13) ^ Q >>> 10 ^ (Q >>> 17 | Q << 15)) | 0; - e = ((i >>> 18 | i << 14) ^ i >>> 3 ^ (i >>> 7 | i << 25)) + g + d + ((R >>> 19 | R << 13) ^ R >>> 10 ^ (R >>> 17 | R << 15)) | 0; - g = ((k >>> 18 | k << 14) ^ k >>> 3 ^ (k >>> 7 | k << 25)) + i + t + ((S >>> 19 | S << 13) ^ S >>> 10 ^ (S >>> 17 | S << 15)) | 0; - i = ((m >>> 18 | m << 14) ^ m >>> 3 ^ (m >>> 7 | m << 25)) + k + O + ((e >>> 19 | e << 13) ^ e >>> 10 ^ (e >>> 17 | e << 15)) | 0; - k = ((o >>> 18 | o << 14) ^ o >>> 3 ^ (o >>> 7 | o << 25)) + m + P + ((g >>> 19 | g << 13) ^ g >>> 10 ^ (g >>> 17 | g << 15)) | 0; - m = ((q >>> 18 | q << 14) ^ q >>> 3 ^ (q >>> 7 | q << 25)) + o + Q + ((i >>> 19 | i << 13) ^ i >>> 10 ^ (i >>> 17 | i << 15)) | 0; - o = ((s >>> 18 | s << 14) ^ s >>> 3 ^ (s >>> 7 | s << 25)) + q + R + ((k >>> 19 | k << 13) ^ k >>> 10 ^ (k >>> 17 | k << 15)) | 0; - q = ((b >>> 18 | b << 14) ^ b >>> 3 ^ (b >>> 7 | b << 25)) + s + S + ((m >>> 19 | m << 13) ^ m >>> 10 ^ (m >>> 17 | m << 15)) | 0; - s = ((c >>> 18 | c << 14) ^ c >>> 3 ^ (c >>> 7 | c << 25)) + b + e + ((o >>> 19 | o << 13) ^ o >>> 10 ^ (o >>> 17 | o << 15)) | 0; - b = ((d >>> 18 | d << 14) ^ d >>> 3 ^ (d >>> 7 | d << 25)) + c + g + ((q >>> 19 | q << 13) ^ q >>> 10 ^ (q >>> 17 | q << 15)) | 0; - c = ((t >>> 18 | t << 14) ^ t >>> 3 ^ (t >>> 7 | t << 25)) + d + i + ((s >>> 19 | s << 13) ^ s >>> 10 ^ (s >>> 17 | s << 15)) | 0; - d = ((O >>> 18 | O << 14) ^ O >>> 3 ^ (O >>> 7 | O << 25)) + t + k + ((b >>> 19 | b << 13) ^ b >>> 10 ^ (b >>> 17 | b << 15)) | 0; - t = Q + 430227734 + Z + (W & T ^ $ & ~W) + ((W >>> 6 | W << 26) ^ (W >>> 11 | W << 21) ^ (W >>> 25 | W << 7)) | 0; - Z = aa & _; - U = t + V | 0; - V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ X ^ Z) + t | 0; - t = R + 506948616 + $ + (U & W ^ T & ~U) + ((U >>> 6 | U << 26) ^ (U >>> 11 | U << 21) ^ (U >>> 25 | U << 7)) | 0; - $ = V & aa; - R = t + Y | 0; - Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ Z ^ $) + t | 0; - t = S + 659060556 + T + (R & U ^ W & ~R) + ((R >>> 6 | R << 26) ^ (R >>> 11 | R << 21) ^ (R >>> 25 | R << 7)) | 0; - T = Y & V; - S = t + _ | 0; - _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ $ ^ T) + t | 0; - t = e + 883997877 + W + (S & R ^ U & ~S) + ((S >>> 6 | S << 26) ^ (S >>> 11 | S << 21) ^ (S >>> 25 | S << 7)) | 0; - W = _ & Y; - e = t + aa | 0; - aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ T ^ W) + t | 0; - t = g + 958139571 + U + (e & S ^ R & ~e) + ((e >>> 6 | e << 26) ^ (e >>> 11 | e << 21) ^ (e >>> 25 | e << 7)) | 0; - U = aa & _; - g = t + V | 0; - V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ W ^ U) + t | 0; - t = i + 1322822218 + R + (g & e ^ S & ~g) + ((g >>> 6 | g << 26) ^ (g >>> 11 | g << 21) ^ (g >>> 25 | g << 7)) | 0; - R = V & aa; - i = t + Y | 0; - Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ U ^ R) + t | 0; - t = k + 1537002063 + S + (i & g ^ e & ~i) + ((i >>> 6 | i << 26) ^ (i >>> 11 | i << 21) ^ (i >>> 25 | i << 7)) | 0; - S = Y & V; - k = t + _ | 0; - _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ R ^ S) + t | 0; - t = m + 1747873779 + e + (k & i ^ g & ~k) + ((k >>> 6 | k << 26) ^ (k >>> 11 | k << 21) ^ (k >>> 25 | k << 7)) | 0; - e = _ & Y; - R = t + aa | 0; - aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ S ^ e) + t | 0; - t = o + 1955562222 + g + (R & k ^ i & ~R) + ((R >>> 6 | R << 26) ^ (R >>> 11 | R << 21) ^ (R >>> 25 | R << 7)) | 0; - g = aa & _; - S = t + V | 0; - V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ e ^ g) + t | 0; - t = q + 2024104815 + i + (S & R ^ k & ~S) + ((S >>> 6 | S << 26) ^ (S >>> 11 | S << 21) ^ (S >>> 25 | S << 7)) | 0; - i = V & aa; - q = t + Y | 0; - Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ g ^ i) + t | 0; - t = s - 2067236844 + k + (q & S ^ R & ~q) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) | 0; - k = Y & V; - s = t + _ | 0; - _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ i ^ k) + t | 0; - t = b - 1933114872 + R + (s & q ^ S & ~s) + ((s >>> 6 | s << 26) ^ (s >>> 11 | s << 21) ^ (s >>> 25 | s << 7)) | 0; - R = _ & Y; - b = t + aa | 0; - aa = ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + (_ & V ^ k ^ R) + t | 0; - t = c - 1866530822 + S + (b & s ^ q & ~b) + ((b >>> 6 | b << 26) ^ (b >>> 11 | b << 21) ^ (b >>> 25 | b << 7)) | 0; - S = aa & _; - k = t + V | 0; - V = ((aa >>> 2 | aa << 30) ^ (aa >>> 13 | aa << 19) ^ (aa >>> 22 | aa << 10)) + (aa & Y ^ R ^ S) + t | 0; - t = d - 1538233109 + q + (k & b ^ s & ~k) + ((k >>> 6 | k << 26) ^ (k >>> 11 | k << 21) ^ (k >>> 25 | k << 7)) | 0; - q = V & aa; - R = t + Y | 0; - Y = ((V >>> 2 | V << 30) ^ (V >>> 13 | V << 19) ^ (V >>> 22 | V << 10)) + (V & _ ^ S ^ q) + t | 0; - t = O - 1090935817 + ((P >>> 18 | P << 14) ^ P >>> 3 ^ (P >>> 7 | P << 25)) + m + ((c >>> 19 | c << 13) ^ c >>> 10 ^ (c >>> 17 | c << 15)) + s + (R & k ^ b & ~R) + ((R >>> 6 | R << 26) ^ (R >>> 11 | R << 21) ^ (R >>> 25 | R << 7)) | 0; - s = Y & V; - c = t + _ | 0; - _ = ((Y >>> 2 | Y << 30) ^ (Y >>> 13 | Y << 19) ^ (Y >>> 22 | Y << 10)) + (Y & aa ^ q ^ s) + t | 0; - t = P - 965641998 + ((Q >>> 18 | Q << 14) ^ Q >>> 3 ^ (Q >>> 7 | Q << 25)) + o + ((d >>> 19 | d << 13) ^ d >>> 10 ^ (d >>> 17 | d << 15)) + b + (c & R ^ k & ~c) + ((c >>> 6 | c << 26) ^ (c >>> 11 | c << 21) ^ (c >>> 25 | c << 7)) | 0; - b = (_ & (Y ^ V) ^ s) + B + ((_ >>> 2 | _ << 30) ^ (_ >>> 13 | _ << 19) ^ (_ >>> 22 | _ << 10)) + t | 0; - s = _ + A | 0; - _ = Y + z | 0; - Y = V + y | 0; - V = aa + x + t | 0; - t = c + w | 0; - c = R + v | 0; - R = k + u | 0; - k = fp(D, C, -64, -1) | 0; - aa = H; - d = 0; - if (aa >>> 0 > d >>> 0 | aa >>> 0 == d >>> 0 & k >>> 0 > 63 >>> 0) { - u = R; - v = c; - w = t; - x = V; - y = Y; - z = _; - A = s; - B = b; - C = aa; - D = k; - E = E + 64 | 0; - } else { - F = R; - G = c; - I = t; - J = V; - K = Y; - L = _; - M = s; - N = b; - break; - } - } - bU(a, N); - bU(f, M); - bU(h, L); - bU(j, K); - bU(l, J); - bU(n, I); - bU(p, G); - bU(r, F); - return 0; -} -function bT(a) { - a = a | 0; - return (d[a + 2 | 0] | 0) << 8 | (d[a + 3 | 0] | 0) | (d[a + 1 | 0] | 0) << 16 | (d[a] | 0) << 24 | 0; -} -function bU(b, c) { - b = b | 0; - c = c | 0; - a[b + 3 | 0] = c & 255; - a[b + 2 | 0] = c >>> 8 & 255; - a[b + 1 | 0] = c >>> 16 & 255; - a[b] = c >>> 24 & 255; - return; -} -function bV(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, aa = 0, ab = 0, ac = 0, ad = 0, ae = 0, af = 0, ag = 0, ah = 0, ai = 0, aj = 0, ak = 0, al = 0, am = 0, an = 0, ao = 0, ap = 0, aq = 0, ar = 0, as = 0, at = 0, au = 0, av = 0, aw = 0, ax = 0, ay = 0, az = 0, aA = 0, aB = 0, aC = 0, aD = 0, aE = 0, aF = 0, aG = 0, aH = 0, aI = 0, aJ = 0, aK = 0, aL = 0, aM = 0, aN = 0, aO = 0, aP = 0, aQ = 0; - e = bW(a) | 0; - f = H; - g = a + 8 | 0; - h = bW(g) | 0; - i = H; - j = a + 16 | 0; - k = bW(j) | 0; - l = H; - m = a + 24 | 0; - n = bW(m) | 0; - o = H; - p = a + 32 | 0; - q = bW(p) | 0; - r = H; - s = a + 40 | 0; - t = bW(s) | 0; - u = H; - v = a + 48 | 0; - w = bW(v) | 0; - x = H; - y = a + 56 | 0; - z = bW(y) | 0; - A = H; - B = 0; - if (d >>> 0 > B >>> 0 | d >>> 0 == B >>> 0 & c >>> 0 > 127 >>> 0) { - C = A; - D = z; - E = x; - F = w; - G = u; - I = t; - J = r; - K = q; - L = o; - M = n; - N = l; - O = k; - P = i; - Q = h; - R = f; - S = e; - T = d; - U = c; - V = b; - } else { - W = A; - X = z; - Y = x; - Z = w; - _ = u; - $ = t; - aa = r; - ab = q; - ac = o; - ad = n; - ae = l; - af = k; - ag = i; - ah = h; - ai = f; - aj = e; - bX(a, aj, ai); - bX(g, ah, ag); - bX(j, af, ae); - bX(m, ad, ac); - bX(p, ab, aa); - bX(s, $, _); - bX(v, Z, Y); - bX(y, X, W); - return 0; - } - while (1) { - e = bW(V) | 0; - f = H; - h = bW(V + 8 | 0) | 0; - i = H; - k = bW(V + 16 | 0) | 0; - l = H; - n = bW(V + 24 | 0) | 0; - o = H; - q = bW(V + 32 | 0) | 0; - r = H; - t = bW(V + 40 | 0) | 0; - u = H; - w = bW(V + 48 | 0) | 0; - x = H; - z = bW(V + 56 | 0) | 0; - A = H; - b = bW(V + 64 | 0) | 0; - c = H; - d = bW(V + 72 | 0) | 0; - B = H; - ak = bW(V + 80 | 0) | 0; - al = H; - am = bW(V + 88 | 0) | 0; - an = H; - ao = bW(V + 96 | 0) | 0; - ap = H; - aq = bW(V + 104 | 0) | 0; - ar = H; - as = bW(V + 112 | 0) | 0; - at = H; - au = bW(V + 120 | 0) | 0; - av = H; - aw = fp(D, C, -685199838, 1116352408) | 0; - ax = fp(aw, H, K & I ^ F & ~K, J & G ^ E & ~J) | 0; - aw = fp(ax, H, (K >>> 14 | J << 18 | (0 << 18 | 0 >>> 14)) ^ (K >>> 18 | J << 14 | (0 << 14 | 0 >>> 18)) ^ (J >>> 9 | 0 << 23 | (K << 23 | 0 >>> 9)), (J >>> 14 | 0 << 18 | (K << 18 | 0 >>> 14)) ^ (J >>> 18 | 0 << 14 | (K << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (J << 23 | K >>> 9))) | 0; - ax = fp(aw, H, e, f) | 0; - aw = H; - ay = S & Q; - az = R & P; - aA = fp((S >>> 28 | R << 4 | (0 << 4 | 0 >>> 28)) ^ (R >>> 2 | 0 << 30 | (S << 30 | 0 >>> 2)) ^ (R >>> 7 | 0 << 25 | (S << 25 | 0 >>> 7)), (R >>> 28 | 0 << 4 | (S << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (R << 30 | S >>> 2)) ^ (0 >>> 7 | 0 << 25 | (R << 25 | S >>> 7)), (S ^ Q) & O ^ ay, (R ^ P) & N ^ az) | 0; - aB = H; - aC = fp(ax, aw, M, L) | 0; - aD = H; - aE = fp(aA, aB, ax, aw) | 0; - aw = H; - ax = fp(F, E, 602891725, 1899447441) | 0; - aB = fp(ax, H, h, i) | 0; - ax = fp(aB, H, aC & K ^ I & ~aC, aD & J ^ G & ~aD) | 0; - aB = fp(ax, H, (aC >>> 14 | aD << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aD << 14 | (0 << 14 | 0 >>> 18)) ^ (aD >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aD >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aD >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aD << 23 | aC >>> 9))) | 0; - ax = H; - aA = aE & S; - aF = aw & R; - aG = fp((aE >>> 28 | aw << 4 | (0 << 4 | 0 >>> 28)) ^ (aw >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aw >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aw >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aw << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aw << 25 | aE >>> 7)), aE & Q ^ ay ^ aA, aw & P ^ az ^ aF) | 0; - az = H; - ay = fp(aB, ax, O, N) | 0; - aH = H; - aI = fp(aG, az, aB, ax) | 0; - ax = H; - aB = fp(I, G, -330482897, -1245643825) | 0; - az = fp(aB, H, k, l) | 0; - aB = fp(az, H, ay & aC ^ K & ~ay, aH & aD ^ J & ~aH) | 0; - az = fp(aB, H, (ay >>> 14 | aH << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aH << 14 | (0 << 14 | 0 >>> 18)) ^ (aH >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aH >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aH >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aH << 23 | ay >>> 9))) | 0; - aB = H; - aG = aI & aE; - aJ = ax & aw; - aK = fp((aI >>> 28 | ax << 4 | (0 << 4 | 0 >>> 28)) ^ (ax >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (ax >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (ax >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (ax << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (ax << 25 | aI >>> 7)), aI & S ^ aA ^ aG, ax & R ^ aF ^ aJ) | 0; - aF = H; - aA = fp(az, aB, Q, P) | 0; - aL = H; - aM = fp(aK, aF, az, aB) | 0; - aB = H; - az = fp(K, J, -2121671748, -373957723) | 0; - aF = fp(az, H, n, o) | 0; - az = fp(aF, H, aA & ay ^ aC & ~aA, aL & aH ^ aD & ~aL) | 0; - aF = fp(az, H, (aA >>> 14 | aL << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aL << 14 | (0 << 14 | 0 >>> 18)) ^ (aL >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aL >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aL >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aL << 23 | aA >>> 9))) | 0; - az = H; - aK = aM & aI; - aN = aB & ax; - aO = fp((aM >>> 28 | aB << 4 | (0 << 4 | 0 >>> 28)) ^ (aB >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aB >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aB >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aB << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aB << 25 | aM >>> 7)), aM & aE ^ aG ^ aK, aB & aw ^ aJ ^ aN) | 0; - aJ = H; - aG = fp(aF, az, S, R) | 0; - aP = H; - aQ = fp(aO, aJ, aF, az) | 0; - az = H; - aF = fp(aC, aD, -213338824, 961987163) | 0; - aD = fp(aF, H, q, r) | 0; - aF = fp(aD, H, aG & aA ^ ay & ~aG, aP & aL ^ aH & ~aP) | 0; - aD = fp(aF, H, (aG >>> 14 | aP << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aP << 14 | (0 << 14 | 0 >>> 18)) ^ (aP >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aP >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aP >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aP << 23 | aG >>> 9))) | 0; - aF = H; - aC = aQ & aM; - aJ = az & aB; - aO = fp((aQ >>> 28 | az << 4 | (0 << 4 | 0 >>> 28)) ^ (az >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (az >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (az >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (az << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (az << 25 | aQ >>> 7)), aQ & aI ^ aK ^ aC, az & ax ^ aN ^ aJ) | 0; - aN = H; - aK = fp(aD, aF, aE, aw) | 0; - aw = H; - aE = fp(aO, aN, aD, aF) | 0; - aF = H; - aD = fp(t, u, -1241133031, 1508970993) | 0; - aN = fp(aD, H, ay, aH) | 0; - aH = fp(aN, H, aK & aG ^ aA & ~aK, aw & aP ^ aL & ~aw) | 0; - aN = fp(aH, H, (aK >>> 14 | aw << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aw << 14 | (0 << 14 | 0 >>> 18)) ^ (aw >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aw >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aw >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aw << 23 | aK >>> 9))) | 0; - aH = H; - ay = aE & aQ; - aD = aF & az; - aO = fp((aE >>> 28 | aF << 4 | (0 << 4 | 0 >>> 28)) ^ (aF >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aF >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aF >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aF << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aF << 25 | aE >>> 7)), aE & aM ^ aC ^ ay, aF & aB ^ aJ ^ aD) | 0; - aJ = H; - aC = fp(aN, aH, aI, ax) | 0; - ax = H; - aI = fp(aO, aJ, aN, aH) | 0; - aH = H; - aN = fp(w, x, -1357295717, -1841331548) | 0; - aJ = fp(aN, H, aA, aL) | 0; - aL = fp(aJ, H, aC & aK ^ aG & ~aC, ax & aw ^ aP & ~ax) | 0; - aJ = fp(aL, H, (aC >>> 14 | ax << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | ax << 14 | (0 << 14 | 0 >>> 18)) ^ (ax >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (ax >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (ax >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (ax << 23 | aC >>> 9))) | 0; - aL = H; - aA = aI & aE; - aN = aH & aF; - aO = fp((aI >>> 28 | aH << 4 | (0 << 4 | 0 >>> 28)) ^ (aH >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (aH >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (aH >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aH << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aH << 25 | aI >>> 7)), aI & aQ ^ ay ^ aA, aH & az ^ aD ^ aN) | 0; - aD = H; - ay = fp(aJ, aL, aM, aB) | 0; - aB = H; - aM = fp(aO, aD, aJ, aL) | 0; - aL = H; - aJ = fp(z, A, -630357736, -1424204075) | 0; - aD = fp(aJ, H, aG, aP) | 0; - aP = fp(aD, H, ay & aC ^ aK & ~ay, aB & ax ^ aw & ~aB) | 0; - aD = fp(aP, H, (ay >>> 14 | aB << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aB << 14 | (0 << 14 | 0 >>> 18)) ^ (aB >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aB >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aB >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aB << 23 | ay >>> 9))) | 0; - aP = H; - aG = aM & aI; - aJ = aL & aH; - aO = fp((aM >>> 28 | aL << 4 | (0 << 4 | 0 >>> 28)) ^ (aL >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aL >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aL >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aL << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aL << 25 | aM >>> 7)), aM & aE ^ aA ^ aG, aL & aF ^ aN ^ aJ) | 0; - aN = H; - aA = fp(aD, aP, aQ, az) | 0; - az = H; - aQ = fp(aO, aN, aD, aP) | 0; - aP = H; - aD = fp(b, c, -1560083902, -670586216) | 0; - aN = fp(aD, H, aK, aw) | 0; - aw = fp(aN, H, aA & ay ^ aC & ~aA, az & aB ^ ax & ~az) | 0; - aN = fp(aw, H, (aA >>> 14 | az << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | az << 14 | (0 << 14 | 0 >>> 18)) ^ (az >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (az >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (az >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (az << 23 | aA >>> 9))) | 0; - aw = H; - aK = aQ & aM; - aD = aP & aL; - aO = fp((aQ >>> 28 | aP << 4 | (0 << 4 | 0 >>> 28)) ^ (aP >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (aP >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (aP >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aP << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aP << 25 | aQ >>> 7)), aQ & aI ^ aG ^ aK, aP & aH ^ aJ ^ aD) | 0; - aJ = H; - aG = fp(aN, aw, aE, aF) | 0; - aF = H; - aE = fp(aO, aJ, aN, aw) | 0; - aw = H; - aN = fp(d, B, 1164996542, 310598401) | 0; - aJ = fp(aN, H, aC, ax) | 0; - ax = fp(aJ, H, aG & aA ^ ay & ~aG, aF & az ^ aB & ~aF) | 0; - aJ = fp(ax, H, (aG >>> 14 | aF << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aF << 14 | (0 << 14 | 0 >>> 18)) ^ (aF >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aF >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aF >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aF << 23 | aG >>> 9))) | 0; - ax = H; - aC = aE & aQ; - aN = aw & aP; - aO = fp((aE >>> 28 | aw << 4 | (0 << 4 | 0 >>> 28)) ^ (aw >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aw >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aw >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aw << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aw << 25 | aE >>> 7)), aE & aM ^ aK ^ aC, aw & aL ^ aD ^ aN) | 0; - aD = H; - aK = fp(aJ, ax, aI, aH) | 0; - aH = H; - aI = fp(aO, aD, aJ, ax) | 0; - ax = H; - aJ = fp(ak, al, 1323610764, 607225278) | 0; - aD = fp(aJ, H, ay, aB) | 0; - aB = fp(aD, H, aK & aG ^ aA & ~aK, aH & aF ^ az & ~aH) | 0; - aD = fp(aB, H, (aK >>> 14 | aH << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aH << 14 | (0 << 14 | 0 >>> 18)) ^ (aH >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aH >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aH >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aH << 23 | aK >>> 9))) | 0; - aB = H; - ay = aI & aE; - aJ = ax & aw; - aO = fp((aI >>> 28 | ax << 4 | (0 << 4 | 0 >>> 28)) ^ (ax >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (ax >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (ax >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (ax << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (ax << 25 | aI >>> 7)), aI & aQ ^ aC ^ ay, ax & aP ^ aN ^ aJ) | 0; - aN = H; - aC = fp(aD, aB, aM, aL) | 0; - aL = H; - aM = fp(aO, aN, aD, aB) | 0; - aB = H; - aD = fp(am, an, -704662302, 1426881987) | 0; - aN = fp(aD, H, aA, az) | 0; - az = fp(aN, H, aC & aK ^ aG & ~aC, aL & aH ^ aF & ~aL) | 0; - aN = fp(az, H, (aC >>> 14 | aL << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aL << 14 | (0 << 14 | 0 >>> 18)) ^ (aL >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aL >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aL >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aL << 23 | aC >>> 9))) | 0; - az = H; - aA = aM & aI; - aD = aB & ax; - aO = fp((aM >>> 28 | aB << 4 | (0 << 4 | 0 >>> 28)) ^ (aB >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aB >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aB >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aB << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aB << 25 | aM >>> 7)), aM & aE ^ ay ^ aA, aB & aw ^ aJ ^ aD) | 0; - aJ = H; - ay = fp(aN, az, aQ, aP) | 0; - aP = H; - aQ = fp(aO, aJ, aN, az) | 0; - az = H; - aN = fp(ao, ap, -226784913, 1925078388) | 0; - aJ = fp(aN, H, aG, aF) | 0; - aF = fp(aJ, H, ay & aC ^ aK & ~ay, aP & aL ^ aH & ~aP) | 0; - aJ = fp(aF, H, (ay >>> 14 | aP << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aP << 14 | (0 << 14 | 0 >>> 18)) ^ (aP >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aP >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aP >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aP << 23 | ay >>> 9))) | 0; - aF = H; - aG = aQ & aM; - aN = az & aB; - aO = fp((aQ >>> 28 | az << 4 | (0 << 4 | 0 >>> 28)) ^ (az >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (az >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (az >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (az << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (az << 25 | aQ >>> 7)), aQ & aI ^ aA ^ aG, az & ax ^ aD ^ aN) | 0; - aD = H; - aA = fp(aJ, aF, aE, aw) | 0; - aw = H; - aE = fp(aO, aD, aJ, aF) | 0; - aF = H; - aJ = fp(aq, ar, 991336113, -2132889090) | 0; - aD = fp(aJ, H, aK, aH) | 0; - aH = fp(aD, H, aA & ay ^ aC & ~aA, aw & aP ^ aL & ~aw) | 0; - aD = fp(aH, H, (aA >>> 14 | aw << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aw << 14 | (0 << 14 | 0 >>> 18)) ^ (aw >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aw >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aw >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aw << 23 | aA >>> 9))) | 0; - aH = H; - aK = aE & aQ; - aJ = aF & az; - aO = fp((aE >>> 28 | aF << 4 | (0 << 4 | 0 >>> 28)) ^ (aF >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aF >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aF >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aF << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aF << 25 | aE >>> 7)), aE & aM ^ aG ^ aK, aF & aB ^ aN ^ aJ) | 0; - aN = H; - aG = fp(aD, aH, aI, ax) | 0; - ax = H; - aI = fp(aO, aN, aD, aH) | 0; - aH = H; - aD = fp(as, at, 633803317, -1680079193) | 0; - aN = fp(aD, H, aC, aL) | 0; - aL = fp(aN, H, aG & aA ^ ay & ~aG, ax & aw ^ aP & ~ax) | 0; - aN = fp(aL, H, (aG >>> 14 | ax << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | ax << 14 | (0 << 14 | 0 >>> 18)) ^ (ax >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (ax >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (ax >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (ax << 23 | aG >>> 9))) | 0; - aL = H; - aC = aI & aE; - aD = aH & aF; - aO = fp((aI >>> 28 | aH << 4 | (0 << 4 | 0 >>> 28)) ^ (aH >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (aH >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (aH >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aH << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aH << 25 | aI >>> 7)), aI & aQ ^ aK ^ aC, aH & az ^ aJ ^ aD) | 0; - aJ = H; - aK = fp(aN, aL, aM, aB) | 0; - aB = H; - aM = fp(aO, aJ, aN, aL) | 0; - aL = H; - aN = fp(au, av, -815192428, -1046744716) | 0; - aJ = fp(aN, H, ay, aP) | 0; - aP = fp(aJ, H, aK & aG ^ aA & ~aK, aB & ax ^ aw & ~aB) | 0; - aJ = fp(aP, H, (aK >>> 14 | aB << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aB << 14 | (0 << 14 | 0 >>> 18)) ^ (aB >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aB >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aB >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aB << 23 | aK >>> 9))) | 0; - aP = H; - ay = aM & aI; - aN = aL & aH; - aO = fp((aM >>> 28 | aL << 4 | (0 << 4 | 0 >>> 28)) ^ (aL >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aL >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aL >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aL << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aL << 25 | aM >>> 7)), aM & aE ^ aC ^ ay, aL & aF ^ aD ^ aN) | 0; - aD = H; - aC = fp(aJ, aP, aQ, az) | 0; - az = H; - aQ = fp(aO, aD, aJ, aP) | 0; - aP = H; - aJ = fp((h >>> 8 | i << 24 | (0 << 24 | 0 >>> 8)) ^ (h >>> 7 | i << 25) ^ (h >>> 1 | i << 31 | (0 << 31 | 0 >>> 1)), (i >>> 8 | 0 << 24 | (h << 24 | 0 >>> 8)) ^ (i >>> 7 | 0 << 25) ^ (i >>> 1 | 0 << 31 | (h << 31 | 0 >>> 1)), e, f) | 0; - f = fp(aJ, H, d, B) | 0; - aJ = fp(f, H, (at >>> 29 | 0 << 3 | (as << 3 | 0 >>> 29)) ^ (as >>> 6 | at << 26) ^ (as >>> 19 | at << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (at << 3 | as >>> 29)) ^ (at >>> 6 | 0 << 26) ^ (at >>> 19 | 0 << 13 | (as << 13 | 0 >>> 19))) | 0; - f = H; - e = fp((k >>> 8 | l << 24 | (0 << 24 | 0 >>> 8)) ^ (k >>> 7 | l << 25) ^ (k >>> 1 | l << 31 | (0 << 31 | 0 >>> 1)), (l >>> 8 | 0 << 24 | (k << 24 | 0 >>> 8)) ^ (l >>> 7 | 0 << 25) ^ (l >>> 1 | 0 << 31 | (k << 31 | 0 >>> 1)), h, i) | 0; - i = fp(e, H, ak, al) | 0; - e = fp(i, H, (av >>> 29 | 0 << 3 | (au << 3 | 0 >>> 29)) ^ (au >>> 6 | av << 26) ^ (au >>> 19 | av << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (av << 3 | au >>> 29)) ^ (av >>> 6 | 0 << 26) ^ (av >>> 19 | 0 << 13 | (au << 13 | 0 >>> 19))) | 0; - i = H; - h = fp((n >>> 8 | o << 24 | (0 << 24 | 0 >>> 8)) ^ (n >>> 7 | o << 25) ^ (n >>> 1 | o << 31 | (0 << 31 | 0 >>> 1)), (o >>> 8 | 0 << 24 | (n << 24 | 0 >>> 8)) ^ (o >>> 7 | 0 << 25) ^ (o >>> 1 | 0 << 31 | (n << 31 | 0 >>> 1)), k, l) | 0; - l = fp(h, H, am, an) | 0; - h = fp(l, H, (f >>> 29 | 0 << 3 | (aJ << 3 | 0 >>> 29)) ^ (aJ >>> 6 | f << 26) ^ (aJ >>> 19 | f << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (f << 3 | aJ >>> 29)) ^ (f >>> 6 | 0 << 26) ^ (f >>> 19 | 0 << 13 | (aJ << 13 | 0 >>> 19))) | 0; - l = H; - k = fp((q >>> 8 | r << 24 | (0 << 24 | 0 >>> 8)) ^ (q >>> 7 | r << 25) ^ (q >>> 1 | r << 31 | (0 << 31 | 0 >>> 1)), (r >>> 8 | 0 << 24 | (q << 24 | 0 >>> 8)) ^ (r >>> 7 | 0 << 25) ^ (r >>> 1 | 0 << 31 | (q << 31 | 0 >>> 1)), n, o) | 0; - o = fp(k, H, ao, ap) | 0; - k = fp(o, H, (i >>> 29 | 0 << 3 | (e << 3 | 0 >>> 29)) ^ (e >>> 6 | i << 26) ^ (e >>> 19 | i << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (i << 3 | e >>> 29)) ^ (i >>> 6 | 0 << 26) ^ (i >>> 19 | 0 << 13 | (e << 13 | 0 >>> 19))) | 0; - o = H; - n = fp((t >>> 8 | u << 24 | (0 << 24 | 0 >>> 8)) ^ (t >>> 7 | u << 25) ^ (t >>> 1 | u << 31 | (0 << 31 | 0 >>> 1)), (u >>> 8 | 0 << 24 | (t << 24 | 0 >>> 8)) ^ (u >>> 7 | 0 << 25) ^ (u >>> 1 | 0 << 31 | (t << 31 | 0 >>> 1)), q, r) | 0; - r = fp(n, H, aq, ar) | 0; - n = fp(r, H, (l >>> 29 | 0 << 3 | (h << 3 | 0 >>> 29)) ^ (h >>> 6 | l << 26) ^ (h >>> 19 | l << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (l << 3 | h >>> 29)) ^ (l >>> 6 | 0 << 26) ^ (l >>> 19 | 0 << 13 | (h << 13 | 0 >>> 19))) | 0; - r = H; - q = fp((w >>> 8 | x << 24 | (0 << 24 | 0 >>> 8)) ^ (w >>> 7 | x << 25) ^ (w >>> 1 | x << 31 | (0 << 31 | 0 >>> 1)), (x >>> 8 | 0 << 24 | (w << 24 | 0 >>> 8)) ^ (x >>> 7 | 0 << 25) ^ (x >>> 1 | 0 << 31 | (w << 31 | 0 >>> 1)), t, u) | 0; - u = fp(q, H, as, at) | 0; - q = fp(u, H, (o >>> 29 | 0 << 3 | (k << 3 | 0 >>> 29)) ^ (k >>> 6 | o << 26) ^ (k >>> 19 | o << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (o << 3 | k >>> 29)) ^ (o >>> 6 | 0 << 26) ^ (o >>> 19 | 0 << 13 | (k << 13 | 0 >>> 19))) | 0; - u = H; - t = fp((z >>> 8 | A << 24 | (0 << 24 | 0 >>> 8)) ^ (z >>> 7 | A << 25) ^ (z >>> 1 | A << 31 | (0 << 31 | 0 >>> 1)), (A >>> 8 | 0 << 24 | (z << 24 | 0 >>> 8)) ^ (A >>> 7 | 0 << 25) ^ (A >>> 1 | 0 << 31 | (z << 31 | 0 >>> 1)), w, x) | 0; - x = fp(t, H, au, av) | 0; - t = fp(x, H, (r >>> 29 | 0 << 3 | (n << 3 | 0 >>> 29)) ^ (n >>> 6 | r << 26) ^ (n >>> 19 | r << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (r << 3 | n >>> 29)) ^ (r >>> 6 | 0 << 26) ^ (r >>> 19 | 0 << 13 | (n << 13 | 0 >>> 19))) | 0; - x = H; - w = fp((b >>> 8 | c << 24 | (0 << 24 | 0 >>> 8)) ^ (b >>> 7 | c << 25) ^ (b >>> 1 | c << 31 | (0 << 31 | 0 >>> 1)), (c >>> 8 | 0 << 24 | (b << 24 | 0 >>> 8)) ^ (c >>> 7 | 0 << 25) ^ (c >>> 1 | 0 << 31 | (b << 31 | 0 >>> 1)), z, A) | 0; - A = fp(w, H, aJ, f) | 0; - w = fp(A, H, (u >>> 29 | 0 << 3 | (q << 3 | 0 >>> 29)) ^ (q >>> 6 | u << 26) ^ (q >>> 19 | u << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (u << 3 | q >>> 29)) ^ (u >>> 6 | 0 << 26) ^ (u >>> 19 | 0 << 13 | (q << 13 | 0 >>> 19))) | 0; - A = H; - z = fp((d >>> 8 | B << 24 | (0 << 24 | 0 >>> 8)) ^ (d >>> 7 | B << 25) ^ (d >>> 1 | B << 31 | (0 << 31 | 0 >>> 1)), (B >>> 8 | 0 << 24 | (d << 24 | 0 >>> 8)) ^ (B >>> 7 | 0 << 25) ^ (B >>> 1 | 0 << 31 | (d << 31 | 0 >>> 1)), b, c) | 0; - c = fp(z, H, e, i) | 0; - z = fp(c, H, (x >>> 29 | 0 << 3 | (t << 3 | 0 >>> 29)) ^ (t >>> 6 | x << 26) ^ (t >>> 19 | x << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (x << 3 | t >>> 29)) ^ (x >>> 6 | 0 << 26) ^ (x >>> 19 | 0 << 13 | (t << 13 | 0 >>> 19))) | 0; - c = H; - b = fp((ak >>> 8 | al << 24 | (0 << 24 | 0 >>> 8)) ^ (ak >>> 7 | al << 25) ^ (ak >>> 1 | al << 31 | (0 << 31 | 0 >>> 1)), (al >>> 8 | 0 << 24 | (ak << 24 | 0 >>> 8)) ^ (al >>> 7 | 0 << 25) ^ (al >>> 1 | 0 << 31 | (ak << 31 | 0 >>> 1)), d, B) | 0; - B = fp(b, H, h, l) | 0; - b = fp(B, H, (A >>> 29 | 0 << 3 | (w << 3 | 0 >>> 29)) ^ (w >>> 6 | A << 26) ^ (w >>> 19 | A << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (A << 3 | w >>> 29)) ^ (A >>> 6 | 0 << 26) ^ (A >>> 19 | 0 << 13 | (w << 13 | 0 >>> 19))) | 0; - B = H; - d = fp((am >>> 8 | an << 24 | (0 << 24 | 0 >>> 8)) ^ (am >>> 7 | an << 25) ^ (am >>> 1 | an << 31 | (0 << 31 | 0 >>> 1)), (an >>> 8 | 0 << 24 | (am << 24 | 0 >>> 8)) ^ (an >>> 7 | 0 << 25) ^ (an >>> 1 | 0 << 31 | (am << 31 | 0 >>> 1)), ak, al) | 0; - al = fp(d, H, k, o) | 0; - d = fp(al, H, (c >>> 29 | 0 << 3 | (z << 3 | 0 >>> 29)) ^ (z >>> 6 | c << 26) ^ (z >>> 19 | c << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (c << 3 | z >>> 29)) ^ (c >>> 6 | 0 << 26) ^ (c >>> 19 | 0 << 13 | (z << 13 | 0 >>> 19))) | 0; - al = H; - ak = fp((ao >>> 8 | ap << 24 | (0 << 24 | 0 >>> 8)) ^ (ao >>> 7 | ap << 25) ^ (ao >>> 1 | ap << 31 | (0 << 31 | 0 >>> 1)), (ap >>> 8 | 0 << 24 | (ao << 24 | 0 >>> 8)) ^ (ap >>> 7 | 0 << 25) ^ (ap >>> 1 | 0 << 31 | (ao << 31 | 0 >>> 1)), am, an) | 0; - an = fp(ak, H, n, r) | 0; - ak = fp(an, H, (B >>> 29 | 0 << 3 | (b << 3 | 0 >>> 29)) ^ (b >>> 6 | B << 26) ^ (b >>> 19 | B << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (B << 3 | b >>> 29)) ^ (B >>> 6 | 0 << 26) ^ (B >>> 19 | 0 << 13 | (b << 13 | 0 >>> 19))) | 0; - an = H; - am = fp((aq >>> 8 | ar << 24 | (0 << 24 | 0 >>> 8)) ^ (aq >>> 7 | ar << 25) ^ (aq >>> 1 | ar << 31 | (0 << 31 | 0 >>> 1)), (ar >>> 8 | 0 << 24 | (aq << 24 | 0 >>> 8)) ^ (ar >>> 7 | 0 << 25) ^ (ar >>> 1 | 0 << 31 | (aq << 31 | 0 >>> 1)), ao, ap) | 0; - ap = fp(am, H, q, u) | 0; - am = fp(ap, H, (al >>> 29 | 0 << 3 | (d << 3 | 0 >>> 29)) ^ (d >>> 6 | al << 26) ^ (d >>> 19 | al << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (al << 3 | d >>> 29)) ^ (al >>> 6 | 0 << 26) ^ (al >>> 19 | 0 << 13 | (d << 13 | 0 >>> 19))) | 0; - ap = H; - ao = fp((as >>> 8 | at << 24 | (0 << 24 | 0 >>> 8)) ^ (as >>> 7 | at << 25) ^ (as >>> 1 | at << 31 | (0 << 31 | 0 >>> 1)), (at >>> 8 | 0 << 24 | (as << 24 | 0 >>> 8)) ^ (at >>> 7 | 0 << 25) ^ (at >>> 1 | 0 << 31 | (as << 31 | 0 >>> 1)), aq, ar) | 0; - ar = fp(ao, H, t, x) | 0; - ao = fp(ar, H, (an >>> 29 | 0 << 3 | (ak << 3 | 0 >>> 29)) ^ (ak >>> 6 | an << 26) ^ (ak >>> 19 | an << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (an << 3 | ak >>> 29)) ^ (an >>> 6 | 0 << 26) ^ (an >>> 19 | 0 << 13 | (ak << 13 | 0 >>> 19))) | 0; - ar = H; - aq = fp((au >>> 8 | av << 24 | (0 << 24 | 0 >>> 8)) ^ (au >>> 7 | av << 25) ^ (au >>> 1 | av << 31 | (0 << 31 | 0 >>> 1)), (av >>> 8 | 0 << 24 | (au << 24 | 0 >>> 8)) ^ (av >>> 7 | 0 << 25) ^ (av >>> 1 | 0 << 31 | (au << 31 | 0 >>> 1)), as, at) | 0; - at = fp(aq, H, w, A) | 0; - aq = fp(at, H, (ap >>> 29 | 0 << 3 | (am << 3 | 0 >>> 29)) ^ (am >>> 6 | ap << 26) ^ (am >>> 19 | ap << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (ap << 3 | am >>> 29)) ^ (ap >>> 6 | 0 << 26) ^ (ap >>> 19 | 0 << 13 | (am << 13 | 0 >>> 19))) | 0; - at = H; - as = fp((aJ >>> 8 | f << 24 | (0 << 24 | 0 >>> 8)) ^ (aJ >>> 7 | f << 25) ^ (aJ >>> 1 | f << 31 | (0 << 31 | 0 >>> 1)), (f >>> 8 | 0 << 24 | (aJ << 24 | 0 >>> 8)) ^ (f >>> 7 | 0 << 25) ^ (f >>> 1 | 0 << 31 | (aJ << 31 | 0 >>> 1)), au, av) | 0; - av = fp(as, H, z, c) | 0; - as = fp(av, H, (ar >>> 29 | 0 << 3 | (ao << 3 | 0 >>> 29)) ^ (ao >>> 6 | ar << 26) ^ (ao >>> 19 | ar << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (ar << 3 | ao >>> 29)) ^ (ar >>> 6 | 0 << 26) ^ (ar >>> 19 | 0 << 13 | (ao << 13 | 0 >>> 19))) | 0; - av = H; - au = fp(aJ, f, -1628353838, -459576895) | 0; - aD = fp(au, H, aA, aw) | 0; - aw = fp(aD, H, aC & aK ^ aG & ~aC, az & aB ^ ax & ~az) | 0; - aD = fp(aw, H, (aC >>> 14 | az << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | az << 14 | (0 << 14 | 0 >>> 18)) ^ (az >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (az >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (az >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (az << 23 | aC >>> 9))) | 0; - aw = H; - aA = aQ & aM; - au = aP & aL; - aO = fp((aQ >>> 28 | aP << 4 | (0 << 4 | 0 >>> 28)) ^ (aP >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (aP >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (aP >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aP << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aP << 25 | aQ >>> 7)), aQ & aI ^ ay ^ aA, aP & aH ^ aN ^ au) | 0; - aN = H; - ay = fp(aD, aw, aE, aF) | 0; - aF = H; - aE = fp(aO, aN, aD, aw) | 0; - aw = H; - aD = fp(e, i, 944711139, -272742522) | 0; - aN = fp(aD, H, aG, ax) | 0; - ax = fp(aN, H, ay & aC ^ aK & ~ay, aF & az ^ aB & ~aF) | 0; - aN = fp(ax, H, (ay >>> 14 | aF << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aF << 14 | (0 << 14 | 0 >>> 18)) ^ (aF >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aF >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aF >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aF << 23 | ay >>> 9))) | 0; - ax = H; - aG = aE & aQ; - aD = aw & aP; - aO = fp((aE >>> 28 | aw << 4 | (0 << 4 | 0 >>> 28)) ^ (aw >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aw >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aw >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aw << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aw << 25 | aE >>> 7)), aE & aM ^ aA ^ aG, aw & aL ^ au ^ aD) | 0; - au = H; - aA = fp(aN, ax, aI, aH) | 0; - aH = H; - aI = fp(aO, au, aN, ax) | 0; - ax = H; - aN = fp(h, l, -1953704523, 264347078) | 0; - au = fp(aN, H, aK, aB) | 0; - aB = fp(au, H, aA & ay ^ aC & ~aA, aH & aF ^ az & ~aH) | 0; - au = fp(aB, H, (aA >>> 14 | aH << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aH << 14 | (0 << 14 | 0 >>> 18)) ^ (aH >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aH >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aH >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aH << 23 | aA >>> 9))) | 0; - aB = H; - aK = aI & aE; - aN = ax & aw; - aO = fp((aI >>> 28 | ax << 4 | (0 << 4 | 0 >>> 28)) ^ (ax >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (ax >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (ax >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (ax << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (ax << 25 | aI >>> 7)), aI & aQ ^ aG ^ aK, ax & aP ^ aD ^ aN) | 0; - aD = H; - aG = fp(au, aB, aM, aL) | 0; - aL = H; - aM = fp(aO, aD, au, aB) | 0; - aB = H; - au = fp(k, o, 2007800933, 604807628) | 0; - aD = fp(au, H, aC, az) | 0; - az = fp(aD, H, aG & aA ^ ay & ~aG, aL & aH ^ aF & ~aL) | 0; - aD = fp(az, H, (aG >>> 14 | aL << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aL << 14 | (0 << 14 | 0 >>> 18)) ^ (aL >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aL >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aL >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aL << 23 | aG >>> 9))) | 0; - az = H; - aC = aM & aI; - au = aB & ax; - aO = fp((aM >>> 28 | aB << 4 | (0 << 4 | 0 >>> 28)) ^ (aB >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aB >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aB >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aB << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aB << 25 | aM >>> 7)), aM & aE ^ aK ^ aC, aB & aw ^ aN ^ au) | 0; - aN = H; - aK = fp(aD, az, aQ, aP) | 0; - aP = H; - aQ = fp(aO, aN, aD, az) | 0; - az = H; - aD = fp(n, r, 1495990901, 770255983) | 0; - aN = fp(aD, H, ay, aF) | 0; - aF = fp(aN, H, aK & aG ^ aA & ~aK, aP & aL ^ aH & ~aP) | 0; - aN = fp(aF, H, (aK >>> 14 | aP << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aP << 14 | (0 << 14 | 0 >>> 18)) ^ (aP >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aP >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aP >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aP << 23 | aK >>> 9))) | 0; - aF = H; - ay = aQ & aM; - aD = az & aB; - aO = fp((aQ >>> 28 | az << 4 | (0 << 4 | 0 >>> 28)) ^ (az >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (az >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (az >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (az << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (az << 25 | aQ >>> 7)), aQ & aI ^ aC ^ ay, az & ax ^ au ^ aD) | 0; - au = H; - aC = fp(aN, aF, aE, aw) | 0; - aw = H; - aE = fp(aO, au, aN, aF) | 0; - aF = H; - aN = fp(q, u, 1856431235, 1249150122) | 0; - au = fp(aN, H, aA, aH) | 0; - aH = fp(au, H, aC & aK ^ aG & ~aC, aw & aP ^ aL & ~aw) | 0; - au = fp(aH, H, (aC >>> 14 | aw << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aw << 14 | (0 << 14 | 0 >>> 18)) ^ (aw >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aw >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aw >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aw << 23 | aC >>> 9))) | 0; - aH = H; - aA = aE & aQ; - aN = aF & az; - aO = fp((aE >>> 28 | aF << 4 | (0 << 4 | 0 >>> 28)) ^ (aF >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aF >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aF >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aF << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aF << 25 | aE >>> 7)), aE & aM ^ ay ^ aA, aF & aB ^ aD ^ aN) | 0; - aD = H; - ay = fp(au, aH, aI, ax) | 0; - ax = H; - aI = fp(aO, aD, au, aH) | 0; - aH = H; - au = fp(t, x, -1119749164, 1555081692) | 0; - aD = fp(au, H, aG, aL) | 0; - aL = fp(aD, H, ay & aC ^ aK & ~ay, ax & aw ^ aP & ~ax) | 0; - aD = fp(aL, H, (ay >>> 14 | ax << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | ax << 14 | (0 << 14 | 0 >>> 18)) ^ (ax >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (ax >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (ax >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (ax << 23 | ay >>> 9))) | 0; - aL = H; - aG = aI & aE; - au = aH & aF; - aO = fp((aI >>> 28 | aH << 4 | (0 << 4 | 0 >>> 28)) ^ (aH >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (aH >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (aH >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aH << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aH << 25 | aI >>> 7)), aI & aQ ^ aA ^ aG, aH & az ^ aN ^ au) | 0; - aN = H; - aA = fp(aD, aL, aM, aB) | 0; - aB = H; - aM = fp(aO, aN, aD, aL) | 0; - aL = H; - aD = fp(w, A, -2096016459, 1996064986) | 0; - aN = fp(aD, H, aK, aP) | 0; - aP = fp(aN, H, aA & ay ^ aC & ~aA, aB & ax ^ aw & ~aB) | 0; - aN = fp(aP, H, (aA >>> 14 | aB << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aB << 14 | (0 << 14 | 0 >>> 18)) ^ (aB >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aB >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aB >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aB << 23 | aA >>> 9))) | 0; - aP = H; - aK = aM & aI; - aD = aL & aH; - aO = fp((aM >>> 28 | aL << 4 | (0 << 4 | 0 >>> 28)) ^ (aL >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aL >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aL >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aL << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aL << 25 | aM >>> 7)), aM & aE ^ aG ^ aK, aL & aF ^ au ^ aD) | 0; - au = H; - aG = fp(aN, aP, aQ, az) | 0; - az = H; - aQ = fp(aO, au, aN, aP) | 0; - aP = H; - aN = fp(z, c, -295247957, -1740746414) | 0; - au = fp(aN, H, aC, aw) | 0; - aw = fp(au, H, aG & aA ^ ay & ~aG, az & aB ^ ax & ~az) | 0; - au = fp(aw, H, (aG >>> 14 | az << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | az << 14 | (0 << 14 | 0 >>> 18)) ^ (az >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (az >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (az >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (az << 23 | aG >>> 9))) | 0; - aw = H; - aC = aQ & aM; - aN = aP & aL; - aO = fp((aQ >>> 28 | aP << 4 | (0 << 4 | 0 >>> 28)) ^ (aP >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (aP >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (aP >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aP << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aP << 25 | aQ >>> 7)), aQ & aI ^ aK ^ aC, aP & aH ^ aD ^ aN) | 0; - aD = H; - aK = fp(au, aw, aE, aF) | 0; - aF = H; - aE = fp(aO, aD, au, aw) | 0; - aw = H; - au = fp(b, B, 766784016, -1473132947) | 0; - aD = fp(au, H, ay, ax) | 0; - ax = fp(aD, H, aK & aG ^ aA & ~aK, aF & az ^ aB & ~aF) | 0; - aD = fp(ax, H, (aK >>> 14 | aF << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aF << 14 | (0 << 14 | 0 >>> 18)) ^ (aF >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aF >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aF >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aF << 23 | aK >>> 9))) | 0; - ax = H; - ay = aE & aQ; - au = aw & aP; - aO = fp((aE >>> 28 | aw << 4 | (0 << 4 | 0 >>> 28)) ^ (aw >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aw >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aw >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aw << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aw << 25 | aE >>> 7)), aE & aM ^ aC ^ ay, aw & aL ^ aN ^ au) | 0; - aN = H; - aC = fp(aD, ax, aI, aH) | 0; - aH = H; - aI = fp(aO, aN, aD, ax) | 0; - ax = H; - aD = fp(d, al, -1728372417, -1341970488) | 0; - aN = fp(aD, H, aA, aB) | 0; - aB = fp(aN, H, aC & aK ^ aG & ~aC, aH & aF ^ az & ~aH) | 0; - aN = fp(aB, H, (aC >>> 14 | aH << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aH << 14 | (0 << 14 | 0 >>> 18)) ^ (aH >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aH >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aH >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aH << 23 | aC >>> 9))) | 0; - aB = H; - aA = aI & aE; - aD = ax & aw; - aO = fp((aI >>> 28 | ax << 4 | (0 << 4 | 0 >>> 28)) ^ (ax >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (ax >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (ax >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (ax << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (ax << 25 | aI >>> 7)), aI & aQ ^ ay ^ aA, ax & aP ^ au ^ aD) | 0; - au = H; - ay = fp(aN, aB, aM, aL) | 0; - aL = H; - aM = fp(aO, au, aN, aB) | 0; - aB = H; - aN = fp(ak, an, -1091629340, -1084653625) | 0; - au = fp(aN, H, aG, az) | 0; - az = fp(au, H, ay & aC ^ aK & ~ay, aL & aH ^ aF & ~aL) | 0; - au = fp(az, H, (ay >>> 14 | aL << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aL << 14 | (0 << 14 | 0 >>> 18)) ^ (aL >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aL >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aL >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aL << 23 | ay >>> 9))) | 0; - az = H; - aG = aM & aI; - aN = aB & ax; - aO = fp((aM >>> 28 | aB << 4 | (0 << 4 | 0 >>> 28)) ^ (aB >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aB >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aB >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aB << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aB << 25 | aM >>> 7)), aM & aE ^ aA ^ aG, aB & aw ^ aD ^ aN) | 0; - aD = H; - aA = fp(au, az, aQ, aP) | 0; - aP = H; - aQ = fp(aO, aD, au, az) | 0; - az = H; - au = fp(am, ap, 1034457026, -958395405) | 0; - aD = fp(au, H, aK, aF) | 0; - aF = fp(aD, H, aA & ay ^ aC & ~aA, aP & aL ^ aH & ~aP) | 0; - aD = fp(aF, H, (aA >>> 14 | aP << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aP << 14 | (0 << 14 | 0 >>> 18)) ^ (aP >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aP >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aP >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aP << 23 | aA >>> 9))) | 0; - aF = H; - aK = aQ & aM; - au = az & aB; - aO = fp((aQ >>> 28 | az << 4 | (0 << 4 | 0 >>> 28)) ^ (az >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (az >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (az >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (az << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (az << 25 | aQ >>> 7)), aQ & aI ^ aG ^ aK, az & ax ^ aN ^ au) | 0; - aN = H; - aG = fp(aD, aF, aE, aw) | 0; - aw = H; - aE = fp(aO, aN, aD, aF) | 0; - aF = H; - aD = fp(ao, ar, -1828018395, -710438585) | 0; - aN = fp(aD, H, aC, aH) | 0; - aH = fp(aN, H, aG & aA ^ ay & ~aG, aw & aP ^ aL & ~aw) | 0; - aN = fp(aH, H, (aG >>> 14 | aw << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aw << 14 | (0 << 14 | 0 >>> 18)) ^ (aw >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aw >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aw >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aw << 23 | aG >>> 9))) | 0; - aH = H; - aC = aE & aQ; - aD = aF & az; - aO = fp((aE >>> 28 | aF << 4 | (0 << 4 | 0 >>> 28)) ^ (aF >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aF >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aF >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aF << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aF << 25 | aE >>> 7)), aE & aM ^ aK ^ aC, aF & aB ^ au ^ aD) | 0; - au = H; - aK = fp(aN, aH, aI, ax) | 0; - ax = H; - aI = fp(aO, au, aN, aH) | 0; - aH = H; - aN = fp(aq, at, -536640913, 113926993) | 0; - au = fp(aN, H, ay, aL) | 0; - aL = fp(au, H, aK & aG ^ aA & ~aK, ax & aw ^ aP & ~ax) | 0; - au = fp(aL, H, (aK >>> 14 | ax << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | ax << 14 | (0 << 14 | 0 >>> 18)) ^ (ax >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (ax >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (ax >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (ax << 23 | aK >>> 9))) | 0; - aL = H; - ay = aI & aE; - aN = aH & aF; - aO = fp((aI >>> 28 | aH << 4 | (0 << 4 | 0 >>> 28)) ^ (aH >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (aH >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (aH >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aH << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aH << 25 | aI >>> 7)), aI & aQ ^ aC ^ ay, aH & az ^ aD ^ aN) | 0; - aD = H; - aC = fp(au, aL, aM, aB) | 0; - aB = H; - aM = fp(aO, aD, au, aL) | 0; - aL = H; - au = fp(as, av, 168717936, 338241895) | 0; - aD = fp(au, H, aA, aP) | 0; - aP = fp(aD, H, aC & aK ^ aG & ~aC, aB & ax ^ aw & ~aB) | 0; - aD = fp(aP, H, (aC >>> 14 | aB << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aB << 14 | (0 << 14 | 0 >>> 18)) ^ (aB >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aB >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aB >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aB << 23 | aC >>> 9))) | 0; - aP = H; - aA = aM & aI; - au = aL & aH; - aO = fp((aM >>> 28 | aL << 4 | (0 << 4 | 0 >>> 28)) ^ (aL >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aL >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aL >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aL << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aL << 25 | aM >>> 7)), aM & aE ^ ay ^ aA, aL & aF ^ aN ^ au) | 0; - aN = H; - ay = fp(aD, aP, aQ, az) | 0; - az = H; - aQ = fp(aO, aN, aD, aP) | 0; - aP = H; - aD = fp((e >>> 8 | i << 24 | (0 << 24 | 0 >>> 8)) ^ (e >>> 7 | i << 25) ^ (e >>> 1 | i << 31 | (0 << 31 | 0 >>> 1)), (i >>> 8 | 0 << 24 | (e << 24 | 0 >>> 8)) ^ (i >>> 7 | 0 << 25) ^ (i >>> 1 | 0 << 31 | (e << 31 | 0 >>> 1)), aJ, f) | 0; - f = fp(aD, H, b, B) | 0; - aD = fp(f, H, (at >>> 29 | 0 << 3 | (aq << 3 | 0 >>> 29)) ^ (aq >>> 6 | at << 26) ^ (aq >>> 19 | at << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (at << 3 | aq >>> 29)) ^ (at >>> 6 | 0 << 26) ^ (at >>> 19 | 0 << 13 | (aq << 13 | 0 >>> 19))) | 0; - f = H; - aJ = fp((h >>> 8 | l << 24 | (0 << 24 | 0 >>> 8)) ^ (h >>> 7 | l << 25) ^ (h >>> 1 | l << 31 | (0 << 31 | 0 >>> 1)), (l >>> 8 | 0 << 24 | (h << 24 | 0 >>> 8)) ^ (l >>> 7 | 0 << 25) ^ (l >>> 1 | 0 << 31 | (h << 31 | 0 >>> 1)), e, i) | 0; - i = fp(aJ, H, d, al) | 0; - aJ = fp(i, H, (av >>> 29 | 0 << 3 | (as << 3 | 0 >>> 29)) ^ (as >>> 6 | av << 26) ^ (as >>> 19 | av << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (av << 3 | as >>> 29)) ^ (av >>> 6 | 0 << 26) ^ (av >>> 19 | 0 << 13 | (as << 13 | 0 >>> 19))) | 0; - i = H; - e = fp((k >>> 8 | o << 24 | (0 << 24 | 0 >>> 8)) ^ (k >>> 7 | o << 25) ^ (k >>> 1 | o << 31 | (0 << 31 | 0 >>> 1)), (o >>> 8 | 0 << 24 | (k << 24 | 0 >>> 8)) ^ (o >>> 7 | 0 << 25) ^ (o >>> 1 | 0 << 31 | (k << 31 | 0 >>> 1)), h, l) | 0; - l = fp(e, H, ak, an) | 0; - e = fp(l, H, (f >>> 29 | 0 << 3 | (aD << 3 | 0 >>> 29)) ^ (aD >>> 6 | f << 26) ^ (aD >>> 19 | f << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (f << 3 | aD >>> 29)) ^ (f >>> 6 | 0 << 26) ^ (f >>> 19 | 0 << 13 | (aD << 13 | 0 >>> 19))) | 0; - l = H; - h = fp((n >>> 8 | r << 24 | (0 << 24 | 0 >>> 8)) ^ (n >>> 7 | r << 25) ^ (n >>> 1 | r << 31 | (0 << 31 | 0 >>> 1)), (r >>> 8 | 0 << 24 | (n << 24 | 0 >>> 8)) ^ (r >>> 7 | 0 << 25) ^ (r >>> 1 | 0 << 31 | (n << 31 | 0 >>> 1)), k, o) | 0; - o = fp(h, H, am, ap) | 0; - h = fp(o, H, (i >>> 29 | 0 << 3 | (aJ << 3 | 0 >>> 29)) ^ (aJ >>> 6 | i << 26) ^ (aJ >>> 19 | i << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (i << 3 | aJ >>> 29)) ^ (i >>> 6 | 0 << 26) ^ (i >>> 19 | 0 << 13 | (aJ << 13 | 0 >>> 19))) | 0; - o = H; - k = fp((q >>> 8 | u << 24 | (0 << 24 | 0 >>> 8)) ^ (q >>> 7 | u << 25) ^ (q >>> 1 | u << 31 | (0 << 31 | 0 >>> 1)), (u >>> 8 | 0 << 24 | (q << 24 | 0 >>> 8)) ^ (u >>> 7 | 0 << 25) ^ (u >>> 1 | 0 << 31 | (q << 31 | 0 >>> 1)), n, r) | 0; - r = fp(k, H, ao, ar) | 0; - k = fp(r, H, (l >>> 29 | 0 << 3 | (e << 3 | 0 >>> 29)) ^ (e >>> 6 | l << 26) ^ (e >>> 19 | l << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (l << 3 | e >>> 29)) ^ (l >>> 6 | 0 << 26) ^ (l >>> 19 | 0 << 13 | (e << 13 | 0 >>> 19))) | 0; - r = H; - n = fp((t >>> 8 | x << 24 | (0 << 24 | 0 >>> 8)) ^ (t >>> 7 | x << 25) ^ (t >>> 1 | x << 31 | (0 << 31 | 0 >>> 1)), (x >>> 8 | 0 << 24 | (t << 24 | 0 >>> 8)) ^ (x >>> 7 | 0 << 25) ^ (x >>> 1 | 0 << 31 | (t << 31 | 0 >>> 1)), q, u) | 0; - u = fp(n, H, aq, at) | 0; - n = fp(u, H, (o >>> 29 | 0 << 3 | (h << 3 | 0 >>> 29)) ^ (h >>> 6 | o << 26) ^ (h >>> 19 | o << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (o << 3 | h >>> 29)) ^ (o >>> 6 | 0 << 26) ^ (o >>> 19 | 0 << 13 | (h << 13 | 0 >>> 19))) | 0; - u = H; - q = fp((w >>> 8 | A << 24 | (0 << 24 | 0 >>> 8)) ^ (w >>> 7 | A << 25) ^ (w >>> 1 | A << 31 | (0 << 31 | 0 >>> 1)), (A >>> 8 | 0 << 24 | (w << 24 | 0 >>> 8)) ^ (A >>> 7 | 0 << 25) ^ (A >>> 1 | 0 << 31 | (w << 31 | 0 >>> 1)), t, x) | 0; - x = fp(q, H, as, av) | 0; - q = fp(x, H, (r >>> 29 | 0 << 3 | (k << 3 | 0 >>> 29)) ^ (k >>> 6 | r << 26) ^ (k >>> 19 | r << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (r << 3 | k >>> 29)) ^ (r >>> 6 | 0 << 26) ^ (r >>> 19 | 0 << 13 | (k << 13 | 0 >>> 19))) | 0; - x = H; - t = fp((z >>> 8 | c << 24 | (0 << 24 | 0 >>> 8)) ^ (z >>> 7 | c << 25) ^ (z >>> 1 | c << 31 | (0 << 31 | 0 >>> 1)), (c >>> 8 | 0 << 24 | (z << 24 | 0 >>> 8)) ^ (c >>> 7 | 0 << 25) ^ (c >>> 1 | 0 << 31 | (z << 31 | 0 >>> 1)), w, A) | 0; - A = fp(t, H, aD, f) | 0; - t = fp(A, H, (u >>> 29 | 0 << 3 | (n << 3 | 0 >>> 29)) ^ (n >>> 6 | u << 26) ^ (n >>> 19 | u << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (u << 3 | n >>> 29)) ^ (u >>> 6 | 0 << 26) ^ (u >>> 19 | 0 << 13 | (n << 13 | 0 >>> 19))) | 0; - A = H; - w = fp((b >>> 8 | B << 24 | (0 << 24 | 0 >>> 8)) ^ (b >>> 7 | B << 25) ^ (b >>> 1 | B << 31 | (0 << 31 | 0 >>> 1)), (B >>> 8 | 0 << 24 | (b << 24 | 0 >>> 8)) ^ (B >>> 7 | 0 << 25) ^ (B >>> 1 | 0 << 31 | (b << 31 | 0 >>> 1)), z, c) | 0; - c = fp(w, H, aJ, i) | 0; - w = fp(c, H, (x >>> 29 | 0 << 3 | (q << 3 | 0 >>> 29)) ^ (q >>> 6 | x << 26) ^ (q >>> 19 | x << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (x << 3 | q >>> 29)) ^ (x >>> 6 | 0 << 26) ^ (x >>> 19 | 0 << 13 | (q << 13 | 0 >>> 19))) | 0; - c = H; - z = fp((d >>> 8 | al << 24 | (0 << 24 | 0 >>> 8)) ^ (d >>> 7 | al << 25) ^ (d >>> 1 | al << 31 | (0 << 31 | 0 >>> 1)), (al >>> 8 | 0 << 24 | (d << 24 | 0 >>> 8)) ^ (al >>> 7 | 0 << 25) ^ (al >>> 1 | 0 << 31 | (d << 31 | 0 >>> 1)), b, B) | 0; - B = fp(z, H, e, l) | 0; - z = fp(B, H, (A >>> 29 | 0 << 3 | (t << 3 | 0 >>> 29)) ^ (t >>> 6 | A << 26) ^ (t >>> 19 | A << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (A << 3 | t >>> 29)) ^ (A >>> 6 | 0 << 26) ^ (A >>> 19 | 0 << 13 | (t << 13 | 0 >>> 19))) | 0; - B = H; - b = fp((ak >>> 8 | an << 24 | (0 << 24 | 0 >>> 8)) ^ (ak >>> 7 | an << 25) ^ (ak >>> 1 | an << 31 | (0 << 31 | 0 >>> 1)), (an >>> 8 | 0 << 24 | (ak << 24 | 0 >>> 8)) ^ (an >>> 7 | 0 << 25) ^ (an >>> 1 | 0 << 31 | (ak << 31 | 0 >>> 1)), d, al) | 0; - al = fp(b, H, h, o) | 0; - b = fp(al, H, (c >>> 29 | 0 << 3 | (w << 3 | 0 >>> 29)) ^ (w >>> 6 | c << 26) ^ (w >>> 19 | c << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (c << 3 | w >>> 29)) ^ (c >>> 6 | 0 << 26) ^ (c >>> 19 | 0 << 13 | (w << 13 | 0 >>> 19))) | 0; - al = H; - d = fp((am >>> 8 | ap << 24 | (0 << 24 | 0 >>> 8)) ^ (am >>> 7 | ap << 25) ^ (am >>> 1 | ap << 31 | (0 << 31 | 0 >>> 1)), (ap >>> 8 | 0 << 24 | (am << 24 | 0 >>> 8)) ^ (ap >>> 7 | 0 << 25) ^ (ap >>> 1 | 0 << 31 | (am << 31 | 0 >>> 1)), ak, an) | 0; - an = fp(d, H, k, r) | 0; - d = fp(an, H, (B >>> 29 | 0 << 3 | (z << 3 | 0 >>> 29)) ^ (z >>> 6 | B << 26) ^ (z >>> 19 | B << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (B << 3 | z >>> 29)) ^ (B >>> 6 | 0 << 26) ^ (B >>> 19 | 0 << 13 | (z << 13 | 0 >>> 19))) | 0; - an = H; - ak = fp((ao >>> 8 | ar << 24 | (0 << 24 | 0 >>> 8)) ^ (ao >>> 7 | ar << 25) ^ (ao >>> 1 | ar << 31 | (0 << 31 | 0 >>> 1)), (ar >>> 8 | 0 << 24 | (ao << 24 | 0 >>> 8)) ^ (ar >>> 7 | 0 << 25) ^ (ar >>> 1 | 0 << 31 | (ao << 31 | 0 >>> 1)), am, ap) | 0; - ap = fp(ak, H, n, u) | 0; - ak = fp(ap, H, (al >>> 29 | 0 << 3 | (b << 3 | 0 >>> 29)) ^ (b >>> 6 | al << 26) ^ (b >>> 19 | al << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (al << 3 | b >>> 29)) ^ (al >>> 6 | 0 << 26) ^ (al >>> 19 | 0 << 13 | (b << 13 | 0 >>> 19))) | 0; - ap = H; - am = fp((aq >>> 8 | at << 24 | (0 << 24 | 0 >>> 8)) ^ (aq >>> 7 | at << 25) ^ (aq >>> 1 | at << 31 | (0 << 31 | 0 >>> 1)), (at >>> 8 | 0 << 24 | (aq << 24 | 0 >>> 8)) ^ (at >>> 7 | 0 << 25) ^ (at >>> 1 | 0 << 31 | (aq << 31 | 0 >>> 1)), ao, ar) | 0; - ar = fp(am, H, q, x) | 0; - am = fp(ar, H, (an >>> 29 | 0 << 3 | (d << 3 | 0 >>> 29)) ^ (d >>> 6 | an << 26) ^ (d >>> 19 | an << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (an << 3 | d >>> 29)) ^ (an >>> 6 | 0 << 26) ^ (an >>> 19 | 0 << 13 | (d << 13 | 0 >>> 19))) | 0; - ar = H; - ao = fp((as >>> 8 | av << 24 | (0 << 24 | 0 >>> 8)) ^ (as >>> 7 | av << 25) ^ (as >>> 1 | av << 31 | (0 << 31 | 0 >>> 1)), (av >>> 8 | 0 << 24 | (as << 24 | 0 >>> 8)) ^ (av >>> 7 | 0 << 25) ^ (av >>> 1 | 0 << 31 | (as << 31 | 0 >>> 1)), aq, at) | 0; - at = fp(ao, H, t, A) | 0; - ao = fp(at, H, (ap >>> 29 | 0 << 3 | (ak << 3 | 0 >>> 29)) ^ (ak >>> 6 | ap << 26) ^ (ak >>> 19 | ap << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (ap << 3 | ak >>> 29)) ^ (ap >>> 6 | 0 << 26) ^ (ap >>> 19 | 0 << 13 | (ak << 13 | 0 >>> 19))) | 0; - at = H; - aq = fp((aD >>> 8 | f << 24 | (0 << 24 | 0 >>> 8)) ^ (aD >>> 7 | f << 25) ^ (aD >>> 1 | f << 31 | (0 << 31 | 0 >>> 1)), (f >>> 8 | 0 << 24 | (aD << 24 | 0 >>> 8)) ^ (f >>> 7 | 0 << 25) ^ (f >>> 1 | 0 << 31 | (aD << 31 | 0 >>> 1)), as, av) | 0; - av = fp(aq, H, w, c) | 0; - aq = fp(av, H, (ar >>> 29 | 0 << 3 | (am << 3 | 0 >>> 29)) ^ (am >>> 6 | ar << 26) ^ (am >>> 19 | ar << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (ar << 3 | am >>> 29)) ^ (ar >>> 6 | 0 << 26) ^ (ar >>> 19 | 0 << 13 | (am << 13 | 0 >>> 19))) | 0; - av = H; - as = fp(aD, f, 1188179964, 666307205) | 0; - aN = fp(as, H, aG, aw) | 0; - aw = fp(aN, H, ay & aC ^ aK & ~ay, az & aB ^ ax & ~az) | 0; - aN = fp(aw, H, (ay >>> 14 | az << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | az << 14 | (0 << 14 | 0 >>> 18)) ^ (az >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (az >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (az >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (az << 23 | ay >>> 9))) | 0; - aw = H; - aG = aQ & aM; - as = aP & aL; - aO = fp((aQ >>> 28 | aP << 4 | (0 << 4 | 0 >>> 28)) ^ (aP >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (aP >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (aP >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aP << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aP << 25 | aQ >>> 7)), aQ & aI ^ aA ^ aG, aP & aH ^ au ^ as) | 0; - au = H; - aA = fp(aN, aw, aE, aF) | 0; - aF = H; - aE = fp(aO, au, aN, aw) | 0; - aw = H; - aN = fp(aJ, i, 1546045734, 773529912) | 0; - au = fp(aN, H, aK, ax) | 0; - ax = fp(au, H, aA & ay ^ aC & ~aA, aF & az ^ aB & ~aF) | 0; - au = fp(ax, H, (aA >>> 14 | aF << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aF << 14 | (0 << 14 | 0 >>> 18)) ^ (aF >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aF >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aF >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aF << 23 | aA >>> 9))) | 0; - ax = H; - aK = aE & aQ; - aN = aw & aP; - aO = fp((aE >>> 28 | aw << 4 | (0 << 4 | 0 >>> 28)) ^ (aw >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aw >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aw >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aw << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aw << 25 | aE >>> 7)), aE & aM ^ aG ^ aK, aw & aL ^ as ^ aN) | 0; - as = H; - aG = fp(au, ax, aI, aH) | 0; - aH = H; - aI = fp(aO, as, au, ax) | 0; - ax = H; - au = fp(e, l, 1522805485, 1294757372) | 0; - as = fp(au, H, aC, aB) | 0; - aB = fp(as, H, aG & aA ^ ay & ~aG, aH & aF ^ az & ~aH) | 0; - as = fp(aB, H, (aG >>> 14 | aH << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aH << 14 | (0 << 14 | 0 >>> 18)) ^ (aH >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aH >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aH >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aH << 23 | aG >>> 9))) | 0; - aB = H; - aC = aI & aE; - au = ax & aw; - aO = fp((aI >>> 28 | ax << 4 | (0 << 4 | 0 >>> 28)) ^ (ax >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (ax >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (ax >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (ax << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (ax << 25 | aI >>> 7)), aI & aQ ^ aK ^ aC, ax & aP ^ aN ^ au) | 0; - aN = H; - aK = fp(as, aB, aM, aL) | 0; - aL = H; - aM = fp(aO, aN, as, aB) | 0; - aB = H; - as = fp(h, o, -1651133473, 1396182291) | 0; - aN = fp(as, H, ay, az) | 0; - az = fp(aN, H, aK & aG ^ aA & ~aK, aL & aH ^ aF & ~aL) | 0; - aN = fp(az, H, (aK >>> 14 | aL << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aL << 14 | (0 << 14 | 0 >>> 18)) ^ (aL >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aL >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aL >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aL << 23 | aK >>> 9))) | 0; - az = H; - ay = aM & aI; - as = aB & ax; - aO = fp((aM >>> 28 | aB << 4 | (0 << 4 | 0 >>> 28)) ^ (aB >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aB >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aB >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aB << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aB << 25 | aM >>> 7)), aM & aE ^ aC ^ ay, aB & aw ^ au ^ as) | 0; - au = H; - aC = fp(aN, az, aQ, aP) | 0; - aP = H; - aQ = fp(aO, au, aN, az) | 0; - az = H; - aN = fp(k, r, -1951439906, 1695183700) | 0; - au = fp(aN, H, aA, aF) | 0; - aF = fp(au, H, aC & aK ^ aG & ~aC, aP & aL ^ aH & ~aP) | 0; - au = fp(aF, H, (aC >>> 14 | aP << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aP << 14 | (0 << 14 | 0 >>> 18)) ^ (aP >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aP >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aP >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aP << 23 | aC >>> 9))) | 0; - aF = H; - aA = aQ & aM; - aN = az & aB; - aO = fp((aQ >>> 28 | az << 4 | (0 << 4 | 0 >>> 28)) ^ (az >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (az >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (az >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (az << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (az << 25 | aQ >>> 7)), aQ & aI ^ ay ^ aA, az & ax ^ as ^ aN) | 0; - as = H; - ay = fp(au, aF, aE, aw) | 0; - aw = H; - aE = fp(aO, as, au, aF) | 0; - aF = H; - au = fp(n, u, 1014477480, 1986661051) | 0; - as = fp(au, H, aG, aH) | 0; - aH = fp(as, H, ay & aC ^ aK & ~ay, aw & aP ^ aL & ~aw) | 0; - as = fp(aH, H, (ay >>> 14 | aw << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aw << 14 | (0 << 14 | 0 >>> 18)) ^ (aw >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aw >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aw >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aw << 23 | ay >>> 9))) | 0; - aH = H; - aG = aE & aQ; - au = aF & az; - aO = fp((aE >>> 28 | aF << 4 | (0 << 4 | 0 >>> 28)) ^ (aF >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aF >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aF >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aF << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aF << 25 | aE >>> 7)), aE & aM ^ aA ^ aG, aF & aB ^ aN ^ au) | 0; - aN = H; - aA = fp(as, aH, aI, ax) | 0; - ax = H; - aI = fp(aO, aN, as, aH) | 0; - aH = H; - as = fp(q, x, 1206759142, -2117940946) | 0; - aN = fp(as, H, aK, aL) | 0; - aL = fp(aN, H, aA & ay ^ aC & ~aA, ax & aw ^ aP & ~ax) | 0; - aN = fp(aL, H, (aA >>> 14 | ax << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | ax << 14 | (0 << 14 | 0 >>> 18)) ^ (ax >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (ax >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (ax >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (ax << 23 | aA >>> 9))) | 0; - aL = H; - aK = aI & aE; - as = aH & aF; - aO = fp((aI >>> 28 | aH << 4 | (0 << 4 | 0 >>> 28)) ^ (aH >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (aH >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (aH >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aH << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aH << 25 | aI >>> 7)), aI & aQ ^ aG ^ aK, aH & az ^ au ^ as) | 0; - au = H; - aG = fp(aN, aL, aM, aB) | 0; - aB = H; - aM = fp(aO, au, aN, aL) | 0; - aL = H; - aN = fp(t, A, 344077627, -1838011259) | 0; - au = fp(aN, H, aC, aP) | 0; - aP = fp(au, H, aG & aA ^ ay & ~aG, aB & ax ^ aw & ~aB) | 0; - au = fp(aP, H, (aG >>> 14 | aB << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aB << 14 | (0 << 14 | 0 >>> 18)) ^ (aB >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aB >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aB >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aB << 23 | aG >>> 9))) | 0; - aP = H; - aC = aM & aI; - aN = aL & aH; - aO = fp((aM >>> 28 | aL << 4 | (0 << 4 | 0 >>> 28)) ^ (aL >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aL >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aL >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aL << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aL << 25 | aM >>> 7)), aM & aE ^ aK ^ aC, aL & aF ^ as ^ aN) | 0; - as = H; - aK = fp(au, aP, aQ, az) | 0; - az = H; - aQ = fp(aO, as, au, aP) | 0; - aP = H; - au = fp(w, c, 1290863460, -1564481375) | 0; - as = fp(au, H, ay, aw) | 0; - aw = fp(as, H, aK & aG ^ aA & ~aK, az & aB ^ ax & ~az) | 0; - as = fp(aw, H, (aK >>> 14 | az << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | az << 14 | (0 << 14 | 0 >>> 18)) ^ (az >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (az >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (az >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (az << 23 | aK >>> 9))) | 0; - aw = H; - ay = aQ & aM; - au = aP & aL; - aO = fp((aQ >>> 28 | aP << 4 | (0 << 4 | 0 >>> 28)) ^ (aP >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (aP >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (aP >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aP << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aP << 25 | aQ >>> 7)), aQ & aI ^ aC ^ ay, aP & aH ^ aN ^ au) | 0; - aN = H; - aC = fp(as, aw, aE, aF) | 0; - aF = H; - aE = fp(aO, aN, as, aw) | 0; - aw = H; - as = fp(z, B, -1136513023, -1474664885) | 0; - aN = fp(as, H, aA, ax) | 0; - ax = fp(aN, H, aC & aK ^ aG & ~aC, aF & az ^ aB & ~aF) | 0; - aN = fp(ax, H, (aC >>> 14 | aF << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aF << 14 | (0 << 14 | 0 >>> 18)) ^ (aF >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aF >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aF >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aF << 23 | aC >>> 9))) | 0; - ax = H; - aA = aE & aQ; - as = aw & aP; - aO = fp((aE >>> 28 | aw << 4 | (0 << 4 | 0 >>> 28)) ^ (aw >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aw >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aw >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aw << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aw << 25 | aE >>> 7)), aE & aM ^ ay ^ aA, aw & aL ^ au ^ as) | 0; - au = H; - ay = fp(aN, ax, aI, aH) | 0; - aH = H; - aI = fp(aO, au, aN, ax) | 0; - ax = H; - aN = fp(b, al, -789014639, -1035236496) | 0; - au = fp(aN, H, aG, aB) | 0; - aB = fp(au, H, ay & aC ^ aK & ~ay, aH & aF ^ az & ~aH) | 0; - au = fp(aB, H, (ay >>> 14 | aH << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aH << 14 | (0 << 14 | 0 >>> 18)) ^ (aH >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aH >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aH >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aH << 23 | ay >>> 9))) | 0; - aB = H; - aG = aI & aE; - aN = ax & aw; - aO = fp((aI >>> 28 | ax << 4 | (0 << 4 | 0 >>> 28)) ^ (ax >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (ax >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (ax >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (ax << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (ax << 25 | aI >>> 7)), aI & aQ ^ aA ^ aG, ax & aP ^ as ^ aN) | 0; - as = H; - aA = fp(au, aB, aM, aL) | 0; - aL = H; - aM = fp(aO, as, au, aB) | 0; - aB = H; - au = fp(d, an, 106217008, -949202525) | 0; - as = fp(au, H, aK, az) | 0; - az = fp(as, H, aA & ay ^ aC & ~aA, aL & aH ^ aF & ~aL) | 0; - as = fp(az, H, (aA >>> 14 | aL << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aL << 14 | (0 << 14 | 0 >>> 18)) ^ (aL >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aL >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aL >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aL << 23 | aA >>> 9))) | 0; - az = H; - aK = aM & aI; - au = aB & ax; - aO = fp((aM >>> 28 | aB << 4 | (0 << 4 | 0 >>> 28)) ^ (aB >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aB >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aB >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aB << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aB << 25 | aM >>> 7)), aM & aE ^ aG ^ aK, aB & aw ^ aN ^ au) | 0; - aN = H; - aG = fp(as, az, aQ, aP) | 0; - aP = H; - aQ = fp(aO, aN, as, az) | 0; - az = H; - as = fp(ak, ap, -688958952, -778901479) | 0; - aN = fp(as, H, aC, aF) | 0; - aF = fp(aN, H, aG & aA ^ ay & ~aG, aP & aL ^ aH & ~aP) | 0; - aN = fp(aF, H, (aG >>> 14 | aP << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aP << 14 | (0 << 14 | 0 >>> 18)) ^ (aP >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aP >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aP >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aP << 23 | aG >>> 9))) | 0; - aF = H; - aC = aQ & aM; - as = az & aB; - aO = fp((aQ >>> 28 | az << 4 | (0 << 4 | 0 >>> 28)) ^ (az >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (az >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (az >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (az << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (az << 25 | aQ >>> 7)), aQ & aI ^ aK ^ aC, az & ax ^ au ^ as) | 0; - au = H; - aK = fp(aN, aF, aE, aw) | 0; - aw = H; - aE = fp(aO, au, aN, aF) | 0; - aF = H; - aN = fp(am, ar, 1432725776, -694614492) | 0; - au = fp(aN, H, ay, aH) | 0; - aH = fp(au, H, aK & aG ^ aA & ~aK, aw & aP ^ aL & ~aw) | 0; - au = fp(aH, H, (aK >>> 14 | aw << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aw << 14 | (0 << 14 | 0 >>> 18)) ^ (aw >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aw >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aw >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aw << 23 | aK >>> 9))) | 0; - aH = H; - ay = aE & aQ; - aN = aF & az; - aO = fp((aE >>> 28 | aF << 4 | (0 << 4 | 0 >>> 28)) ^ (aF >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aF >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aF >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aF << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aF << 25 | aE >>> 7)), aE & aM ^ aC ^ ay, aF & aB ^ as ^ aN) | 0; - as = H; - aC = fp(au, aH, aI, ax) | 0; - ax = H; - aI = fp(aO, as, au, aH) | 0; - aH = H; - au = fp(ao, at, 1467031594, -200395387) | 0; - as = fp(au, H, aA, aL) | 0; - aL = fp(as, H, aC & aK ^ aG & ~aC, ax & aw ^ aP & ~ax) | 0; - as = fp(aL, H, (aC >>> 14 | ax << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | ax << 14 | (0 << 14 | 0 >>> 18)) ^ (ax >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (ax >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (ax >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (ax << 23 | aC >>> 9))) | 0; - aL = H; - aA = aI & aE; - au = aH & aF; - aO = fp((aI >>> 28 | aH << 4 | (0 << 4 | 0 >>> 28)) ^ (aH >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (aH >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (aH >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aH << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aH << 25 | aI >>> 7)), aI & aQ ^ ay ^ aA, aH & az ^ aN ^ au) | 0; - aN = H; - ay = fp(as, aL, aM, aB) | 0; - aB = H; - aM = fp(aO, aN, as, aL) | 0; - aL = H; - as = fp(aq, av, 851169720, 275423344) | 0; - aN = fp(as, H, aG, aP) | 0; - aP = fp(aN, H, ay & aC ^ aK & ~ay, aB & ax ^ aw & ~aB) | 0; - aN = fp(aP, H, (ay >>> 14 | aB << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aB << 14 | (0 << 14 | 0 >>> 18)) ^ (aB >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aB >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aB >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aB << 23 | ay >>> 9))) | 0; - aP = H; - aG = aM & aI; - as = aL & aH; - aO = fp((aM >>> 28 | aL << 4 | (0 << 4 | 0 >>> 28)) ^ (aL >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aL >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aL >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aL << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aL << 25 | aM >>> 7)), aM & aE ^ aA ^ aG, aL & aF ^ au ^ as) | 0; - au = H; - aA = fp(aN, aP, aQ, az) | 0; - az = H; - aQ = fp(aO, au, aN, aP) | 0; - aP = H; - aN = fp((aJ >>> 8 | i << 24 | (0 << 24 | 0 >>> 8)) ^ (aJ >>> 7 | i << 25) ^ (aJ >>> 1 | i << 31 | (0 << 31 | 0 >>> 1)), (i >>> 8 | 0 << 24 | (aJ << 24 | 0 >>> 8)) ^ (i >>> 7 | 0 << 25) ^ (i >>> 1 | 0 << 31 | (aJ << 31 | 0 >>> 1)), aD, f) | 0; - f = fp(aN, H, z, B) | 0; - aN = fp(f, H, (at >>> 29 | 0 << 3 | (ao << 3 | 0 >>> 29)) ^ (ao >>> 6 | at << 26) ^ (ao >>> 19 | at << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (at << 3 | ao >>> 29)) ^ (at >>> 6 | 0 << 26) ^ (at >>> 19 | 0 << 13 | (ao << 13 | 0 >>> 19))) | 0; - f = H; - aD = fp((e >>> 8 | l << 24 | (0 << 24 | 0 >>> 8)) ^ (e >>> 7 | l << 25) ^ (e >>> 1 | l << 31 | (0 << 31 | 0 >>> 1)), (l >>> 8 | 0 << 24 | (e << 24 | 0 >>> 8)) ^ (l >>> 7 | 0 << 25) ^ (l >>> 1 | 0 << 31 | (e << 31 | 0 >>> 1)), aJ, i) | 0; - i = fp(aD, H, b, al) | 0; - aD = fp(i, H, (av >>> 29 | 0 << 3 | (aq << 3 | 0 >>> 29)) ^ (aq >>> 6 | av << 26) ^ (aq >>> 19 | av << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (av << 3 | aq >>> 29)) ^ (av >>> 6 | 0 << 26) ^ (av >>> 19 | 0 << 13 | (aq << 13 | 0 >>> 19))) | 0; - i = H; - aJ = fp((h >>> 8 | o << 24 | (0 << 24 | 0 >>> 8)) ^ (h >>> 7 | o << 25) ^ (h >>> 1 | o << 31 | (0 << 31 | 0 >>> 1)), (o >>> 8 | 0 << 24 | (h << 24 | 0 >>> 8)) ^ (o >>> 7 | 0 << 25) ^ (o >>> 1 | 0 << 31 | (h << 31 | 0 >>> 1)), e, l) | 0; - l = fp(aJ, H, d, an) | 0; - aJ = fp(l, H, (f >>> 29 | 0 << 3 | (aN << 3 | 0 >>> 29)) ^ (aN >>> 6 | f << 26) ^ (aN >>> 19 | f << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (f << 3 | aN >>> 29)) ^ (f >>> 6 | 0 << 26) ^ (f >>> 19 | 0 << 13 | (aN << 13 | 0 >>> 19))) | 0; - l = H; - e = fp((k >>> 8 | r << 24 | (0 << 24 | 0 >>> 8)) ^ (k >>> 7 | r << 25) ^ (k >>> 1 | r << 31 | (0 << 31 | 0 >>> 1)), (r >>> 8 | 0 << 24 | (k << 24 | 0 >>> 8)) ^ (r >>> 7 | 0 << 25) ^ (r >>> 1 | 0 << 31 | (k << 31 | 0 >>> 1)), h, o) | 0; - o = fp(e, H, ak, ap) | 0; - e = fp(o, H, (i >>> 29 | 0 << 3 | (aD << 3 | 0 >>> 29)) ^ (aD >>> 6 | i << 26) ^ (aD >>> 19 | i << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (i << 3 | aD >>> 29)) ^ (i >>> 6 | 0 << 26) ^ (i >>> 19 | 0 << 13 | (aD << 13 | 0 >>> 19))) | 0; - o = H; - h = fp((n >>> 8 | u << 24 | (0 << 24 | 0 >>> 8)) ^ (n >>> 7 | u << 25) ^ (n >>> 1 | u << 31 | (0 << 31 | 0 >>> 1)), (u >>> 8 | 0 << 24 | (n << 24 | 0 >>> 8)) ^ (u >>> 7 | 0 << 25) ^ (u >>> 1 | 0 << 31 | (n << 31 | 0 >>> 1)), k, r) | 0; - r = fp(h, H, am, ar) | 0; - h = fp(r, H, (l >>> 29 | 0 << 3 | (aJ << 3 | 0 >>> 29)) ^ (aJ >>> 6 | l << 26) ^ (aJ >>> 19 | l << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (l << 3 | aJ >>> 29)) ^ (l >>> 6 | 0 << 26) ^ (l >>> 19 | 0 << 13 | (aJ << 13 | 0 >>> 19))) | 0; - r = H; - k = fp((q >>> 8 | x << 24 | (0 << 24 | 0 >>> 8)) ^ (q >>> 7 | x << 25) ^ (q >>> 1 | x << 31 | (0 << 31 | 0 >>> 1)), (x >>> 8 | 0 << 24 | (q << 24 | 0 >>> 8)) ^ (x >>> 7 | 0 << 25) ^ (x >>> 1 | 0 << 31 | (q << 31 | 0 >>> 1)), n, u) | 0; - u = fp(k, H, ao, at) | 0; - k = fp(u, H, (o >>> 29 | 0 << 3 | (e << 3 | 0 >>> 29)) ^ (e >>> 6 | o << 26) ^ (e >>> 19 | o << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (o << 3 | e >>> 29)) ^ (o >>> 6 | 0 << 26) ^ (o >>> 19 | 0 << 13 | (e << 13 | 0 >>> 19))) | 0; - u = H; - n = fp((t >>> 8 | A << 24 | (0 << 24 | 0 >>> 8)) ^ (t >>> 7 | A << 25) ^ (t >>> 1 | A << 31 | (0 << 31 | 0 >>> 1)), (A >>> 8 | 0 << 24 | (t << 24 | 0 >>> 8)) ^ (A >>> 7 | 0 << 25) ^ (A >>> 1 | 0 << 31 | (t << 31 | 0 >>> 1)), q, x) | 0; - x = fp(n, H, aq, av) | 0; - n = fp(x, H, (r >>> 29 | 0 << 3 | (h << 3 | 0 >>> 29)) ^ (h >>> 6 | r << 26) ^ (h >>> 19 | r << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (r << 3 | h >>> 29)) ^ (r >>> 6 | 0 << 26) ^ (r >>> 19 | 0 << 13 | (h << 13 | 0 >>> 19))) | 0; - x = H; - q = fp((w >>> 8 | c << 24 | (0 << 24 | 0 >>> 8)) ^ (w >>> 7 | c << 25) ^ (w >>> 1 | c << 31 | (0 << 31 | 0 >>> 1)), (c >>> 8 | 0 << 24 | (w << 24 | 0 >>> 8)) ^ (c >>> 7 | 0 << 25) ^ (c >>> 1 | 0 << 31 | (w << 31 | 0 >>> 1)), t, A) | 0; - A = fp(q, H, aN, f) | 0; - q = fp(A, H, (u >>> 29 | 0 << 3 | (k << 3 | 0 >>> 29)) ^ (k >>> 6 | u << 26) ^ (k >>> 19 | u << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (u << 3 | k >>> 29)) ^ (u >>> 6 | 0 << 26) ^ (u >>> 19 | 0 << 13 | (k << 13 | 0 >>> 19))) | 0; - A = H; - t = fp((z >>> 8 | B << 24 | (0 << 24 | 0 >>> 8)) ^ (z >>> 7 | B << 25) ^ (z >>> 1 | B << 31 | (0 << 31 | 0 >>> 1)), (B >>> 8 | 0 << 24 | (z << 24 | 0 >>> 8)) ^ (B >>> 7 | 0 << 25) ^ (B >>> 1 | 0 << 31 | (z << 31 | 0 >>> 1)), w, c) | 0; - c = fp(t, H, aD, i) | 0; - t = fp(c, H, (x >>> 29 | 0 << 3 | (n << 3 | 0 >>> 29)) ^ (n >>> 6 | x << 26) ^ (n >>> 19 | x << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (x << 3 | n >>> 29)) ^ (x >>> 6 | 0 << 26) ^ (x >>> 19 | 0 << 13 | (n << 13 | 0 >>> 19))) | 0; - c = H; - w = fp((b >>> 8 | al << 24 | (0 << 24 | 0 >>> 8)) ^ (b >>> 7 | al << 25) ^ (b >>> 1 | al << 31 | (0 << 31 | 0 >>> 1)), (al >>> 8 | 0 << 24 | (b << 24 | 0 >>> 8)) ^ (al >>> 7 | 0 << 25) ^ (al >>> 1 | 0 << 31 | (b << 31 | 0 >>> 1)), z, B) | 0; - B = fp(w, H, aJ, l) | 0; - w = fp(B, H, (A >>> 29 | 0 << 3 | (q << 3 | 0 >>> 29)) ^ (q >>> 6 | A << 26) ^ (q >>> 19 | A << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (A << 3 | q >>> 29)) ^ (A >>> 6 | 0 << 26) ^ (A >>> 19 | 0 << 13 | (q << 13 | 0 >>> 19))) | 0; - B = H; - z = fp((d >>> 8 | an << 24 | (0 << 24 | 0 >>> 8)) ^ (d >>> 7 | an << 25) ^ (d >>> 1 | an << 31 | (0 << 31 | 0 >>> 1)), (an >>> 8 | 0 << 24 | (d << 24 | 0 >>> 8)) ^ (an >>> 7 | 0 << 25) ^ (an >>> 1 | 0 << 31 | (d << 31 | 0 >>> 1)), b, al) | 0; - al = fp(z, H, e, o) | 0; - z = fp(al, H, (c >>> 29 | 0 << 3 | (t << 3 | 0 >>> 29)) ^ (t >>> 6 | c << 26) ^ (t >>> 19 | c << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (c << 3 | t >>> 29)) ^ (c >>> 6 | 0 << 26) ^ (c >>> 19 | 0 << 13 | (t << 13 | 0 >>> 19))) | 0; - al = H; - b = fp((ak >>> 8 | ap << 24 | (0 << 24 | 0 >>> 8)) ^ (ak >>> 7 | ap << 25) ^ (ak >>> 1 | ap << 31 | (0 << 31 | 0 >>> 1)), (ap >>> 8 | 0 << 24 | (ak << 24 | 0 >>> 8)) ^ (ap >>> 7 | 0 << 25) ^ (ap >>> 1 | 0 << 31 | (ak << 31 | 0 >>> 1)), d, an) | 0; - an = fp(b, H, h, r) | 0; - b = fp(an, H, (B >>> 29 | 0 << 3 | (w << 3 | 0 >>> 29)) ^ (w >>> 6 | B << 26) ^ (w >>> 19 | B << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (B << 3 | w >>> 29)) ^ (B >>> 6 | 0 << 26) ^ (B >>> 19 | 0 << 13 | (w << 13 | 0 >>> 19))) | 0; - an = H; - d = fp((am >>> 8 | ar << 24 | (0 << 24 | 0 >>> 8)) ^ (am >>> 7 | ar << 25) ^ (am >>> 1 | ar << 31 | (0 << 31 | 0 >>> 1)), (ar >>> 8 | 0 << 24 | (am << 24 | 0 >>> 8)) ^ (ar >>> 7 | 0 << 25) ^ (ar >>> 1 | 0 << 31 | (am << 31 | 0 >>> 1)), ak, ap) | 0; - ap = fp(d, H, k, u) | 0; - d = fp(ap, H, (al >>> 29 | 0 << 3 | (z << 3 | 0 >>> 29)) ^ (z >>> 6 | al << 26) ^ (z >>> 19 | al << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (al << 3 | z >>> 29)) ^ (al >>> 6 | 0 << 26) ^ (al >>> 19 | 0 << 13 | (z << 13 | 0 >>> 19))) | 0; - ap = H; - ak = fp((ao >>> 8 | at << 24 | (0 << 24 | 0 >>> 8)) ^ (ao >>> 7 | at << 25) ^ (ao >>> 1 | at << 31 | (0 << 31 | 0 >>> 1)), (at >>> 8 | 0 << 24 | (ao << 24 | 0 >>> 8)) ^ (at >>> 7 | 0 << 25) ^ (at >>> 1 | 0 << 31 | (ao << 31 | 0 >>> 1)), am, ar) | 0; - ar = fp(ak, H, n, x) | 0; - ak = fp(ar, H, (an >>> 29 | 0 << 3 | (b << 3 | 0 >>> 29)) ^ (b >>> 6 | an << 26) ^ (b >>> 19 | an << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (an << 3 | b >>> 29)) ^ (an >>> 6 | 0 << 26) ^ (an >>> 19 | 0 << 13 | (b << 13 | 0 >>> 19))) | 0; - ar = H; - am = fp((aq >>> 8 | av << 24 | (0 << 24 | 0 >>> 8)) ^ (aq >>> 7 | av << 25) ^ (aq >>> 1 | av << 31 | (0 << 31 | 0 >>> 1)), (av >>> 8 | 0 << 24 | (aq << 24 | 0 >>> 8)) ^ (av >>> 7 | 0 << 25) ^ (av >>> 1 | 0 << 31 | (aq << 31 | 0 >>> 1)), ao, at) | 0; - at = fp(am, H, q, A) | 0; - am = fp(at, H, (ap >>> 29 | 0 << 3 | (d << 3 | 0 >>> 29)) ^ (d >>> 6 | ap << 26) ^ (d >>> 19 | ap << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (ap << 3 | d >>> 29)) ^ (ap >>> 6 | 0 << 26) ^ (ap >>> 19 | 0 << 13 | (d << 13 | 0 >>> 19))) | 0; - at = H; - ao = fp((aN >>> 8 | f << 24 | (0 << 24 | 0 >>> 8)) ^ (aN >>> 7 | f << 25) ^ (aN >>> 1 | f << 31 | (0 << 31 | 0 >>> 1)), (f >>> 8 | 0 << 24 | (aN << 24 | 0 >>> 8)) ^ (f >>> 7 | 0 << 25) ^ (f >>> 1 | 0 << 31 | (aN << 31 | 0 >>> 1)), aq, av) | 0; - av = fp(ao, H, t, c) | 0; - ao = fp(av, H, (ar >>> 29 | 0 << 3 | (ak << 3 | 0 >>> 29)) ^ (ak >>> 6 | ar << 26) ^ (ak >>> 19 | ar << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (ar << 3 | ak >>> 29)) ^ (ar >>> 6 | 0 << 26) ^ (ar >>> 19 | 0 << 13 | (ak << 13 | 0 >>> 19))) | 0; - av = H; - aq = fp(aN, f, -1194143544, 430227734) | 0; - au = fp(aq, H, aK, aw) | 0; - aw = fp(au, H, aA & ay ^ aC & ~aA, az & aB ^ ax & ~az) | 0; - au = fp(aw, H, (aA >>> 14 | az << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | az << 14 | (0 << 14 | 0 >>> 18)) ^ (az >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (az >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (az >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (az << 23 | aA >>> 9))) | 0; - aw = H; - aK = aQ & aM; - aq = aP & aL; - aO = fp((aQ >>> 28 | aP << 4 | (0 << 4 | 0 >>> 28)) ^ (aP >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (aP >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (aP >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aP << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aP << 25 | aQ >>> 7)), aQ & aI ^ aG ^ aK, aP & aH ^ as ^ aq) | 0; - as = H; - aG = fp(au, aw, aE, aF) | 0; - aF = H; - aE = fp(aO, as, au, aw) | 0; - aw = H; - au = fp(aD, i, 1363258195, 506948616) | 0; - as = fp(au, H, aC, ax) | 0; - ax = fp(as, H, aG & aA ^ ay & ~aG, aF & az ^ aB & ~aF) | 0; - as = fp(ax, H, (aG >>> 14 | aF << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aF << 14 | (0 << 14 | 0 >>> 18)) ^ (aF >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aF >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aF >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aF << 23 | aG >>> 9))) | 0; - ax = H; - aC = aE & aQ; - au = aw & aP; - aO = fp((aE >>> 28 | aw << 4 | (0 << 4 | 0 >>> 28)) ^ (aw >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aw >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aw >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aw << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aw << 25 | aE >>> 7)), aE & aM ^ aK ^ aC, aw & aL ^ aq ^ au) | 0; - aq = H; - aK = fp(as, ax, aI, aH) | 0; - aH = H; - aI = fp(aO, aq, as, ax) | 0; - ax = H; - as = fp(aJ, l, -544281703, 659060556) | 0; - aq = fp(as, H, ay, aB) | 0; - aB = fp(aq, H, aK & aG ^ aA & ~aK, aH & aF ^ az & ~aH) | 0; - aq = fp(aB, H, (aK >>> 14 | aH << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aH << 14 | (0 << 14 | 0 >>> 18)) ^ (aH >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aH >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aH >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aH << 23 | aK >>> 9))) | 0; - aB = H; - ay = aI & aE; - as = ax & aw; - aO = fp((aI >>> 28 | ax << 4 | (0 << 4 | 0 >>> 28)) ^ (ax >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (ax >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (ax >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (ax << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (ax << 25 | aI >>> 7)), aI & aQ ^ aC ^ ay, ax & aP ^ au ^ as) | 0; - au = H; - aC = fp(aq, aB, aM, aL) | 0; - aL = H; - aM = fp(aO, au, aq, aB) | 0; - aB = H; - aq = fp(e, o, -509917016, 883997877) | 0; - au = fp(aq, H, aA, az) | 0; - az = fp(au, H, aC & aK ^ aG & ~aC, aL & aH ^ aF & ~aL) | 0; - au = fp(az, H, (aC >>> 14 | aL << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aL << 14 | (0 << 14 | 0 >>> 18)) ^ (aL >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aL >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aL >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aL << 23 | aC >>> 9))) | 0; - az = H; - aA = aM & aI; - aq = aB & ax; - aO = fp((aM >>> 28 | aB << 4 | (0 << 4 | 0 >>> 28)) ^ (aB >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aB >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aB >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aB << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aB << 25 | aM >>> 7)), aM & aE ^ ay ^ aA, aB & aw ^ as ^ aq) | 0; - as = H; - ay = fp(au, az, aQ, aP) | 0; - aP = H; - aQ = fp(aO, as, au, az) | 0; - az = H; - au = fp(h, r, -976659869, 958139571) | 0; - as = fp(au, H, aG, aF) | 0; - aF = fp(as, H, ay & aC ^ aK & ~ay, aP & aL ^ aH & ~aP) | 0; - as = fp(aF, H, (ay >>> 14 | aP << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aP << 14 | (0 << 14 | 0 >>> 18)) ^ (aP >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aP >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aP >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aP << 23 | ay >>> 9))) | 0; - aF = H; - aG = aQ & aM; - au = az & aB; - aO = fp((aQ >>> 28 | az << 4 | (0 << 4 | 0 >>> 28)) ^ (az >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (az >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (az >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (az << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (az << 25 | aQ >>> 7)), aQ & aI ^ aA ^ aG, az & ax ^ aq ^ au) | 0; - aq = H; - aA = fp(as, aF, aE, aw) | 0; - aw = H; - aE = fp(aO, aq, as, aF) | 0; - aF = H; - as = fp(k, u, -482243893, 1322822218) | 0; - aq = fp(as, H, aK, aH) | 0; - aH = fp(aq, H, aA & ay ^ aC & ~aA, aw & aP ^ aL & ~aw) | 0; - aq = fp(aH, H, (aA >>> 14 | aw << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aw << 14 | (0 << 14 | 0 >>> 18)) ^ (aw >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aw >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aw >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aw << 23 | aA >>> 9))) | 0; - aH = H; - aK = aE & aQ; - as = aF & az; - aO = fp((aE >>> 28 | aF << 4 | (0 << 4 | 0 >>> 28)) ^ (aF >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aF >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aF >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aF << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aF << 25 | aE >>> 7)), aE & aM ^ aG ^ aK, aF & aB ^ au ^ as) | 0; - au = H; - aG = fp(aq, aH, aI, ax) | 0; - ax = H; - aI = fp(aO, au, aq, aH) | 0; - aH = H; - aq = fp(n, x, 2003034995, 1537002063) | 0; - au = fp(aq, H, aC, aL) | 0; - aL = fp(au, H, aG & aA ^ ay & ~aG, ax & aw ^ aP & ~ax) | 0; - au = fp(aL, H, (aG >>> 14 | ax << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | ax << 14 | (0 << 14 | 0 >>> 18)) ^ (ax >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (ax >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (ax >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (ax << 23 | aG >>> 9))) | 0; - aL = H; - aC = aI & aE; - aq = aH & aF; - aO = fp((aI >>> 28 | aH << 4 | (0 << 4 | 0 >>> 28)) ^ (aH >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (aH >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (aH >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aH << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aH << 25 | aI >>> 7)), aI & aQ ^ aK ^ aC, aH & az ^ as ^ aq) | 0; - as = H; - aK = fp(au, aL, aM, aB) | 0; - aB = H; - aM = fp(aO, as, au, aL) | 0; - aL = H; - au = fp(q, A, -692930397, 1747873779) | 0; - as = fp(au, H, ay, aP) | 0; - aP = fp(as, H, aK & aG ^ aA & ~aK, aB & ax ^ aw & ~aB) | 0; - as = fp(aP, H, (aK >>> 14 | aB << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aB << 14 | (0 << 14 | 0 >>> 18)) ^ (aB >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aB >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aB >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aB << 23 | aK >>> 9))) | 0; - aP = H; - ay = aM & aI; - au = aL & aH; - aO = fp((aM >>> 28 | aL << 4 | (0 << 4 | 0 >>> 28)) ^ (aL >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aL >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aL >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aL << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aL << 25 | aM >>> 7)), aM & aE ^ aC ^ ay, aL & aF ^ aq ^ au) | 0; - aq = H; - aC = fp(as, aP, aQ, az) | 0; - az = H; - aQ = fp(aO, aq, as, aP) | 0; - aP = H; - as = fp(t, c, 1575990012, 1955562222) | 0; - aq = fp(as, H, aA, aw) | 0; - aw = fp(aq, H, aC & aK ^ aG & ~aC, az & aB ^ ax & ~az) | 0; - aq = fp(aw, H, (aC >>> 14 | az << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | az << 14 | (0 << 14 | 0 >>> 18)) ^ (az >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (az >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (az >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (az << 23 | aC >>> 9))) | 0; - aw = H; - aA = aQ & aM; - as = aP & aL; - aO = fp((aQ >>> 28 | aP << 4 | (0 << 4 | 0 >>> 28)) ^ (aP >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (aP >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (aP >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aP << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aP << 25 | aQ >>> 7)), aQ & aI ^ ay ^ aA, aP & aH ^ au ^ as) | 0; - au = H; - ay = fp(aq, aw, aE, aF) | 0; - aF = H; - aE = fp(aO, au, aq, aw) | 0; - aw = H; - aq = fp(w, B, 1125592928, 2024104815) | 0; - au = fp(aq, H, aG, ax) | 0; - ax = fp(au, H, ay & aC ^ aK & ~ay, aF & az ^ aB & ~aF) | 0; - au = fp(ax, H, (ay >>> 14 | aF << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aF << 14 | (0 << 14 | 0 >>> 18)) ^ (aF >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aF >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aF >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aF << 23 | ay >>> 9))) | 0; - ax = H; - aG = aE & aQ; - aq = aw & aP; - aO = fp((aE >>> 28 | aw << 4 | (0 << 4 | 0 >>> 28)) ^ (aw >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aw >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aw >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aw << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aw << 25 | aE >>> 7)), aE & aM ^ aA ^ aG, aw & aL ^ as ^ aq) | 0; - as = H; - aA = fp(au, ax, aI, aH) | 0; - aH = H; - aI = fp(aO, as, au, ax) | 0; - ax = H; - au = fp(z, al, -1578062990, -2067236844) | 0; - as = fp(au, H, aK, aB) | 0; - aB = fp(as, H, aA & ay ^ aC & ~aA, aH & aF ^ az & ~aH) | 0; - as = fp(aB, H, (aA >>> 14 | aH << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aH << 14 | (0 << 14 | 0 >>> 18)) ^ (aH >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aH >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aH >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aH << 23 | aA >>> 9))) | 0; - aB = H; - aK = aI & aE; - au = ax & aw; - aO = fp((aI >>> 28 | ax << 4 | (0 << 4 | 0 >>> 28)) ^ (ax >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (ax >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (ax >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (ax << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (ax << 25 | aI >>> 7)), aI & aQ ^ aG ^ aK, ax & aP ^ aq ^ au) | 0; - aq = H; - aG = fp(as, aB, aM, aL) | 0; - aL = H; - aM = fp(aO, aq, as, aB) | 0; - aB = H; - as = fp(b, an, 442776044, -1933114872) | 0; - aq = fp(as, H, aC, az) | 0; - az = fp(aq, H, aG & aA ^ ay & ~aG, aL & aH ^ aF & ~aL) | 0; - aq = fp(az, H, (aG >>> 14 | aL << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aL << 14 | (0 << 14 | 0 >>> 18)) ^ (aL >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aL >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aL >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aL << 23 | aG >>> 9))) | 0; - az = H; - aC = aM & aI; - as = aB & ax; - aO = fp((aM >>> 28 | aB << 4 | (0 << 4 | 0 >>> 28)) ^ (aB >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aB >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aB >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aB << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aB << 25 | aM >>> 7)), aM & aE ^ aK ^ aC, aB & aw ^ au ^ as) | 0; - au = H; - aK = fp(aq, az, aQ, aP) | 0; - aP = H; - aQ = fp(aO, au, aq, az) | 0; - az = H; - aq = fp(d, ap, 593698344, -1866530822) | 0; - au = fp(aq, H, ay, aF) | 0; - aF = fp(au, H, aK & aG ^ aA & ~aK, aP & aL ^ aH & ~aP) | 0; - au = fp(aF, H, (aK >>> 14 | aP << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aP << 14 | (0 << 14 | 0 >>> 18)) ^ (aP >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aP >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aP >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aP << 23 | aK >>> 9))) | 0; - aF = H; - ay = aQ & aM; - aq = az & aB; - aO = fp((aQ >>> 28 | az << 4 | (0 << 4 | 0 >>> 28)) ^ (az >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (az >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (az >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (az << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (az << 25 | aQ >>> 7)), aQ & aI ^ aC ^ ay, az & ax ^ as ^ aq) | 0; - as = H; - aC = fp(au, aF, aE, aw) | 0; - aw = H; - aE = fp(aO, as, au, aF) | 0; - aF = H; - au = fp(ak, ar, -561857047, -1538233109) | 0; - as = fp(au, H, aA, aH) | 0; - aH = fp(as, H, aC & aK ^ aG & ~aC, aw & aP ^ aL & ~aw) | 0; - as = fp(aH, H, (aC >>> 14 | aw << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aw << 14 | (0 << 14 | 0 >>> 18)) ^ (aw >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aw >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aw >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aw << 23 | aC >>> 9))) | 0; - aH = H; - aA = aE & aQ; - au = aF & az; - aO = fp((aE >>> 28 | aF << 4 | (0 << 4 | 0 >>> 28)) ^ (aF >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aF >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aF >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aF << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aF << 25 | aE >>> 7)), aE & aM ^ ay ^ aA, aF & aB ^ aq ^ au) | 0; - aq = H; - ay = fp(as, aH, aI, ax) | 0; - ax = H; - aI = fp(aO, aq, as, aH) | 0; - aH = H; - as = fp(am, at, -1295615723, -1090935817) | 0; - aq = fp(as, H, aG, aL) | 0; - aL = fp(aq, H, ay & aC ^ aK & ~ay, ax & aw ^ aP & ~ax) | 0; - aq = fp(aL, H, (ay >>> 14 | ax << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | ax << 14 | (0 << 14 | 0 >>> 18)) ^ (ax >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (ax >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (ax >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (ax << 23 | ay >>> 9))) | 0; - aL = H; - aG = aI & aE; - as = aH & aF; - aO = fp((aI >>> 28 | aH << 4 | (0 << 4 | 0 >>> 28)) ^ (aH >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (aH >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (aH >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aH << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aH << 25 | aI >>> 7)), aI & aQ ^ aA ^ aG, aH & az ^ au ^ as) | 0; - au = H; - aA = fp(aq, aL, aM, aB) | 0; - aB = H; - aM = fp(aO, au, aq, aL) | 0; - aL = H; - aq = fp(ao, av, -479046869, -965641998) | 0; - au = fp(aq, H, aK, aP) | 0; - aP = fp(au, H, aA & ay ^ aC & ~aA, aB & ax ^ aw & ~aB) | 0; - au = fp(aP, H, (aA >>> 14 | aB << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aB << 14 | (0 << 14 | 0 >>> 18)) ^ (aB >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aB >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aB >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aB << 23 | aA >>> 9))) | 0; - aP = H; - aK = aM & aI; - aq = aL & aH; - aO = fp((aM >>> 28 | aL << 4 | (0 << 4 | 0 >>> 28)) ^ (aL >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aL >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aL >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aL << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aL << 25 | aM >>> 7)), aM & aE ^ aG ^ aK, aL & aF ^ as ^ aq) | 0; - as = H; - aG = fp(au, aP, aQ, az) | 0; - az = H; - aQ = fp(aO, as, au, aP) | 0; - aP = H; - au = fp((aD >>> 8 | i << 24 | (0 << 24 | 0 >>> 8)) ^ (aD >>> 7 | i << 25) ^ (aD >>> 1 | i << 31 | (0 << 31 | 0 >>> 1)), (i >>> 8 | 0 << 24 | (aD << 24 | 0 >>> 8)) ^ (i >>> 7 | 0 << 25) ^ (i >>> 1 | 0 << 31 | (aD << 31 | 0 >>> 1)), aN, f) | 0; - f = fp(au, H, w, B) | 0; - au = fp(f, H, (at >>> 29 | 0 << 3 | (am << 3 | 0 >>> 29)) ^ (am >>> 6 | at << 26) ^ (am >>> 19 | at << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (at << 3 | am >>> 29)) ^ (at >>> 6 | 0 << 26) ^ (at >>> 19 | 0 << 13 | (am << 13 | 0 >>> 19))) | 0; - f = H; - aN = fp((aJ >>> 8 | l << 24 | (0 << 24 | 0 >>> 8)) ^ (aJ >>> 7 | l << 25) ^ (aJ >>> 1 | l << 31 | (0 << 31 | 0 >>> 1)), (l >>> 8 | 0 << 24 | (aJ << 24 | 0 >>> 8)) ^ (l >>> 7 | 0 << 25) ^ (l >>> 1 | 0 << 31 | (aJ << 31 | 0 >>> 1)), aD, i) | 0; - i = fp(aN, H, z, al) | 0; - aN = fp(i, H, (av >>> 29 | 0 << 3 | (ao << 3 | 0 >>> 29)) ^ (ao >>> 6 | av << 26) ^ (ao >>> 19 | av << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (av << 3 | ao >>> 29)) ^ (av >>> 6 | 0 << 26) ^ (av >>> 19 | 0 << 13 | (ao << 13 | 0 >>> 19))) | 0; - i = H; - aD = fp((e >>> 8 | o << 24 | (0 << 24 | 0 >>> 8)) ^ (e >>> 7 | o << 25) ^ (e >>> 1 | o << 31 | (0 << 31 | 0 >>> 1)), (o >>> 8 | 0 << 24 | (e << 24 | 0 >>> 8)) ^ (o >>> 7 | 0 << 25) ^ (o >>> 1 | 0 << 31 | (e << 31 | 0 >>> 1)), aJ, l) | 0; - l = fp(aD, H, b, an) | 0; - aD = fp(l, H, (f >>> 29 | 0 << 3 | (au << 3 | 0 >>> 29)) ^ (au >>> 6 | f << 26) ^ (au >>> 19 | f << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (f << 3 | au >>> 29)) ^ (f >>> 6 | 0 << 26) ^ (f >>> 19 | 0 << 13 | (au << 13 | 0 >>> 19))) | 0; - l = H; - aJ = fp((h >>> 8 | r << 24 | (0 << 24 | 0 >>> 8)) ^ (h >>> 7 | r << 25) ^ (h >>> 1 | r << 31 | (0 << 31 | 0 >>> 1)), (r >>> 8 | 0 << 24 | (h << 24 | 0 >>> 8)) ^ (r >>> 7 | 0 << 25) ^ (r >>> 1 | 0 << 31 | (h << 31 | 0 >>> 1)), e, o) | 0; - o = fp(aJ, H, d, ap) | 0; - aJ = fp(o, H, (i >>> 29 | 0 << 3 | (aN << 3 | 0 >>> 29)) ^ (aN >>> 6 | i << 26) ^ (aN >>> 19 | i << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (i << 3 | aN >>> 29)) ^ (i >>> 6 | 0 << 26) ^ (i >>> 19 | 0 << 13 | (aN << 13 | 0 >>> 19))) | 0; - o = H; - e = fp((k >>> 8 | u << 24 | (0 << 24 | 0 >>> 8)) ^ (k >>> 7 | u << 25) ^ (k >>> 1 | u << 31 | (0 << 31 | 0 >>> 1)), (u >>> 8 | 0 << 24 | (k << 24 | 0 >>> 8)) ^ (u >>> 7 | 0 << 25) ^ (u >>> 1 | 0 << 31 | (k << 31 | 0 >>> 1)), h, r) | 0; - r = fp(e, H, ak, ar) | 0; - e = fp(r, H, (l >>> 29 | 0 << 3 | (aD << 3 | 0 >>> 29)) ^ (aD >>> 6 | l << 26) ^ (aD >>> 19 | l << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (l << 3 | aD >>> 29)) ^ (l >>> 6 | 0 << 26) ^ (l >>> 19 | 0 << 13 | (aD << 13 | 0 >>> 19))) | 0; - r = H; - h = fp((n >>> 8 | x << 24 | (0 << 24 | 0 >>> 8)) ^ (n >>> 7 | x << 25) ^ (n >>> 1 | x << 31 | (0 << 31 | 0 >>> 1)), (x >>> 8 | 0 << 24 | (n << 24 | 0 >>> 8)) ^ (x >>> 7 | 0 << 25) ^ (x >>> 1 | 0 << 31 | (n << 31 | 0 >>> 1)), k, u) | 0; - u = fp(h, H, am, at) | 0; - h = fp(u, H, (o >>> 29 | 0 << 3 | (aJ << 3 | 0 >>> 29)) ^ (aJ >>> 6 | o << 26) ^ (aJ >>> 19 | o << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (o << 3 | aJ >>> 29)) ^ (o >>> 6 | 0 << 26) ^ (o >>> 19 | 0 << 13 | (aJ << 13 | 0 >>> 19))) | 0; - u = H; - k = fp((q >>> 8 | A << 24 | (0 << 24 | 0 >>> 8)) ^ (q >>> 7 | A << 25) ^ (q >>> 1 | A << 31 | (0 << 31 | 0 >>> 1)), (A >>> 8 | 0 << 24 | (q << 24 | 0 >>> 8)) ^ (A >>> 7 | 0 << 25) ^ (A >>> 1 | 0 << 31 | (q << 31 | 0 >>> 1)), n, x) | 0; - x = fp(k, H, ao, av) | 0; - k = fp(x, H, (r >>> 29 | 0 << 3 | (e << 3 | 0 >>> 29)) ^ (e >>> 6 | r << 26) ^ (e >>> 19 | r << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (r << 3 | e >>> 29)) ^ (r >>> 6 | 0 << 26) ^ (r >>> 19 | 0 << 13 | (e << 13 | 0 >>> 19))) | 0; - x = H; - n = fp((t >>> 8 | c << 24 | (0 << 24 | 0 >>> 8)) ^ (t >>> 7 | c << 25) ^ (t >>> 1 | c << 31 | (0 << 31 | 0 >>> 1)), (c >>> 8 | 0 << 24 | (t << 24 | 0 >>> 8)) ^ (c >>> 7 | 0 << 25) ^ (c >>> 1 | 0 << 31 | (t << 31 | 0 >>> 1)), q, A) | 0; - A = fp(n, H, au, f) | 0; - n = fp(A, H, (u >>> 29 | 0 << 3 | (h << 3 | 0 >>> 29)) ^ (h >>> 6 | u << 26) ^ (h >>> 19 | u << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (u << 3 | h >>> 29)) ^ (u >>> 6 | 0 << 26) ^ (u >>> 19 | 0 << 13 | (h << 13 | 0 >>> 19))) | 0; - A = H; - q = fp((w >>> 8 | B << 24 | (0 << 24 | 0 >>> 8)) ^ (w >>> 7 | B << 25) ^ (w >>> 1 | B << 31 | (0 << 31 | 0 >>> 1)), (B >>> 8 | 0 << 24 | (w << 24 | 0 >>> 8)) ^ (B >>> 7 | 0 << 25) ^ (B >>> 1 | 0 << 31 | (w << 31 | 0 >>> 1)), t, c) | 0; - c = fp(q, H, aN, i) | 0; - q = fp(c, H, (x >>> 29 | 0 << 3 | (k << 3 | 0 >>> 29)) ^ (k >>> 6 | x << 26) ^ (k >>> 19 | x << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (x << 3 | k >>> 29)) ^ (x >>> 6 | 0 << 26) ^ (x >>> 19 | 0 << 13 | (k << 13 | 0 >>> 19))) | 0; - c = H; - t = fp((z >>> 8 | al << 24 | (0 << 24 | 0 >>> 8)) ^ (z >>> 7 | al << 25) ^ (z >>> 1 | al << 31 | (0 << 31 | 0 >>> 1)), (al >>> 8 | 0 << 24 | (z << 24 | 0 >>> 8)) ^ (al >>> 7 | 0 << 25) ^ (al >>> 1 | 0 << 31 | (z << 31 | 0 >>> 1)), w, B) | 0; - B = fp(t, H, aD, l) | 0; - t = fp(B, H, (A >>> 29 | 0 << 3 | (n << 3 | 0 >>> 29)) ^ (n >>> 6 | A << 26) ^ (n >>> 19 | A << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (A << 3 | n >>> 29)) ^ (A >>> 6 | 0 << 26) ^ (A >>> 19 | 0 << 13 | (n << 13 | 0 >>> 19))) | 0; - B = H; - w = fp((b >>> 8 | an << 24 | (0 << 24 | 0 >>> 8)) ^ (b >>> 7 | an << 25) ^ (b >>> 1 | an << 31 | (0 << 31 | 0 >>> 1)), (an >>> 8 | 0 << 24 | (b << 24 | 0 >>> 8)) ^ (an >>> 7 | 0 << 25) ^ (an >>> 1 | 0 << 31 | (b << 31 | 0 >>> 1)), z, al) | 0; - al = fp(w, H, aJ, o) | 0; - w = fp(al, H, (c >>> 29 | 0 << 3 | (q << 3 | 0 >>> 29)) ^ (q >>> 6 | c << 26) ^ (q >>> 19 | c << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (c << 3 | q >>> 29)) ^ (c >>> 6 | 0 << 26) ^ (c >>> 19 | 0 << 13 | (q << 13 | 0 >>> 19))) | 0; - al = H; - z = fp((d >>> 8 | ap << 24 | (0 << 24 | 0 >>> 8)) ^ (d >>> 7 | ap << 25) ^ (d >>> 1 | ap << 31 | (0 << 31 | 0 >>> 1)), (ap >>> 8 | 0 << 24 | (d << 24 | 0 >>> 8)) ^ (ap >>> 7 | 0 << 25) ^ (ap >>> 1 | 0 << 31 | (d << 31 | 0 >>> 1)), b, an) | 0; - an = fp(z, H, e, r) | 0; - z = fp(an, H, (B >>> 29 | 0 << 3 | (t << 3 | 0 >>> 29)) ^ (t >>> 6 | B << 26) ^ (t >>> 19 | B << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (B << 3 | t >>> 29)) ^ (B >>> 6 | 0 << 26) ^ (B >>> 19 | 0 << 13 | (t << 13 | 0 >>> 19))) | 0; - an = H; - b = fp((ak >>> 8 | ar << 24 | (0 << 24 | 0 >>> 8)) ^ (ak >>> 7 | ar << 25) ^ (ak >>> 1 | ar << 31 | (0 << 31 | 0 >>> 1)), (ar >>> 8 | 0 << 24 | (ak << 24 | 0 >>> 8)) ^ (ar >>> 7 | 0 << 25) ^ (ar >>> 1 | 0 << 31 | (ak << 31 | 0 >>> 1)), d, ap) | 0; - ap = fp(b, H, h, u) | 0; - b = fp(ap, H, (al >>> 29 | 0 << 3 | (w << 3 | 0 >>> 29)) ^ (w >>> 6 | al << 26) ^ (w >>> 19 | al << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (al << 3 | w >>> 29)) ^ (al >>> 6 | 0 << 26) ^ (al >>> 19 | 0 << 13 | (w << 13 | 0 >>> 19))) | 0; - ap = H; - d = fp((am >>> 8 | at << 24 | (0 << 24 | 0 >>> 8)) ^ (am >>> 7 | at << 25) ^ (am >>> 1 | at << 31 | (0 << 31 | 0 >>> 1)), (at >>> 8 | 0 << 24 | (am << 24 | 0 >>> 8)) ^ (at >>> 7 | 0 << 25) ^ (at >>> 1 | 0 << 31 | (am << 31 | 0 >>> 1)), ak, ar) | 0; - ar = fp(d, H, k, x) | 0; - d = fp(ar, H, (an >>> 29 | 0 << 3 | (z << 3 | 0 >>> 29)) ^ (z >>> 6 | an << 26) ^ (z >>> 19 | an << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (an << 3 | z >>> 29)) ^ (an >>> 6 | 0 << 26) ^ (an >>> 19 | 0 << 13 | (z << 13 | 0 >>> 19))) | 0; - ar = H; - ak = fp(au, f, -366583396, -903397682) | 0; - as = fp(ak, H, aC, aw) | 0; - aw = fp(as, H, aG & aA ^ ay & ~aG, az & aB ^ ax & ~az) | 0; - as = fp(aw, H, (aG >>> 14 | az << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | az << 14 | (0 << 14 | 0 >>> 18)) ^ (az >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (az >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (az >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (az << 23 | aG >>> 9))) | 0; - aw = H; - aC = aQ & aM; - ak = aP & aL; - aO = fp((aQ >>> 28 | aP << 4 | (0 << 4 | 0 >>> 28)) ^ (aP >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (aP >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (aP >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aP << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aP << 25 | aQ >>> 7)), aQ & aI ^ aK ^ aC, aP & aH ^ aq ^ ak) | 0; - aq = H; - aK = fp(as, aw, aE, aF) | 0; - aF = H; - aE = fp(aO, aq, as, aw) | 0; - aw = H; - as = fp(aN, i, 566280711, -779700025) | 0; - i = fp(as, H, ay, ax) | 0; - ax = fp(i, H, aK & aG ^ aA & ~aK, aF & az ^ aB & ~aF) | 0; - i = fp(ax, H, (aK >>> 14 | aF << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aF << 14 | (0 << 14 | 0 >>> 18)) ^ (aF >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aF >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aF >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aF << 23 | aK >>> 9))) | 0; - ax = H; - ay = aE & aQ; - as = aw & aP; - aN = fp((aE >>> 28 | aw << 4 | (0 << 4 | 0 >>> 28)) ^ (aw >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aw >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aw >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aw << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aw << 25 | aE >>> 7)), aE & aM ^ aC ^ ay, aw & aL ^ ak ^ as) | 0; - ak = H; - aC = fp(i, ax, aI, aH) | 0; - aH = H; - aI = fp(aN, ak, i, ax) | 0; - ax = H; - i = fp(aD, l, -840897762, -354779690) | 0; - l = fp(i, H, aA, aB) | 0; - aB = fp(l, H, aC & aK ^ aG & ~aC, aH & aF ^ az & ~aH) | 0; - l = fp(aB, H, (aC >>> 14 | aH << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aH << 14 | (0 << 14 | 0 >>> 18)) ^ (aH >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aH >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aH >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aH << 23 | aC >>> 9))) | 0; - aB = H; - aA = aI & aE; - i = ax & aw; - aD = fp((aI >>> 28 | ax << 4 | (0 << 4 | 0 >>> 28)) ^ (ax >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (ax >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (ax >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (ax << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (ax << 25 | aI >>> 7)), aI & aQ ^ ay ^ aA, ax & aP ^ as ^ i) | 0; - as = H; - ay = fp(l, aB, aM, aL) | 0; - aL = H; - aM = fp(aD, as, l, aB) | 0; - aB = H; - l = fp(aJ, o, -294727304, -176337025) | 0; - o = fp(l, H, aG, az) | 0; - az = fp(o, H, ay & aC ^ aK & ~ay, aL & aH ^ aF & ~aL) | 0; - o = fp(az, H, (ay >>> 14 | aL << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aL << 14 | (0 << 14 | 0 >>> 18)) ^ (aL >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aL >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aL >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aL << 23 | ay >>> 9))) | 0; - az = H; - aG = aM & aI; - l = aB & ax; - aJ = fp((aM >>> 28 | aB << 4 | (0 << 4 | 0 >>> 28)) ^ (aB >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aB >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aB >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aB << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aB << 25 | aM >>> 7)), aM & aE ^ aA ^ aG, aB & aw ^ i ^ l) | 0; - i = H; - aA = fp(o, az, aQ, aP) | 0; - aP = H; - aQ = fp(aJ, i, o, az) | 0; - az = H; - o = fp(e, r, 1914138554, 116418474) | 0; - r = fp(o, H, aK, aF) | 0; - aF = fp(r, H, aA & ay ^ aC & ~aA, aP & aL ^ aH & ~aP) | 0; - r = fp(aF, H, (aA >>> 14 | aP << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aP << 14 | (0 << 14 | 0 >>> 18)) ^ (aP >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aP >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aP >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aP << 23 | aA >>> 9))) | 0; - aF = H; - aK = aQ & aM; - o = az & aB; - e = fp((aQ >>> 28 | az << 4 | (0 << 4 | 0 >>> 28)) ^ (az >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (az >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (az >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (az << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (az << 25 | aQ >>> 7)), aQ & aI ^ aG ^ aK, az & ax ^ l ^ o) | 0; - l = H; - aG = fp(r, aF, aE, aw) | 0; - aw = H; - aE = fp(e, l, r, aF) | 0; - aF = H; - r = fp(h, u, -1563912026, 174292421) | 0; - u = fp(r, H, aC, aH) | 0; - aH = fp(u, H, aG & aA ^ ay & ~aG, aw & aP ^ aL & ~aw) | 0; - u = fp(aH, H, (aG >>> 14 | aw << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aw << 14 | (0 << 14 | 0 >>> 18)) ^ (aw >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aw >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aw >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aw << 23 | aG >>> 9))) | 0; - aH = H; - aC = aE & aQ; - r = aF & az; - h = fp((aE >>> 28 | aF << 4 | (0 << 4 | 0 >>> 28)) ^ (aF >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aF >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aF >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aF << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aF << 25 | aE >>> 7)), aE & aM ^ aK ^ aC, aF & aB ^ o ^ r) | 0; - o = H; - aK = fp(u, aH, aI, ax) | 0; - ax = H; - aI = fp(h, o, u, aH) | 0; - aH = H; - u = fp(k, x, -1090974290, 289380356) | 0; - x = fp(u, H, ay, aL) | 0; - aL = fp(x, H, aK & aG ^ aA & ~aK, ax & aw ^ aP & ~ax) | 0; - x = fp(aL, H, (aK >>> 14 | ax << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | ax << 14 | (0 << 14 | 0 >>> 18)) ^ (ax >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (ax >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (ax >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (ax << 23 | aK >>> 9))) | 0; - aL = H; - ay = aI & aE; - u = aH & aF; - k = fp((aI >>> 28 | aH << 4 | (0 << 4 | 0 >>> 28)) ^ (aH >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (aH >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (aH >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aH << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aH << 25 | aI >>> 7)), aI & aQ ^ aC ^ ay, aH & az ^ r ^ u) | 0; - r = H; - aC = fp(x, aL, aM, aB) | 0; - aB = H; - aM = fp(k, r, x, aL) | 0; - aL = H; - x = fp(n, A, 320620315, 460393269) | 0; - r = fp(x, H, aA, aP) | 0; - aP = fp(r, H, aC & aK ^ aG & ~aC, aB & ax ^ aw & ~aB) | 0; - r = fp(aP, H, (aC >>> 14 | aB << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aB << 14 | (0 << 14 | 0 >>> 18)) ^ (aB >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aB >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aB >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aB << 23 | aC >>> 9))) | 0; - aP = H; - aA = aM & aI; - x = aL & aH; - k = fp((aM >>> 28 | aL << 4 | (0 << 4 | 0 >>> 28)) ^ (aL >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aL >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aL >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aL << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aL << 25 | aM >>> 7)), aM & aE ^ ay ^ aA, aL & aF ^ u ^ x) | 0; - u = H; - ay = fp(r, aP, aQ, az) | 0; - az = H; - aQ = fp(k, u, r, aP) | 0; - aP = H; - r = fp(q, c, 587496836, 685471733) | 0; - u = fp(r, H, aG, aw) | 0; - aw = fp(u, H, ay & aC ^ aK & ~ay, az & aB ^ ax & ~az) | 0; - u = fp(aw, H, (ay >>> 14 | az << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | az << 14 | (0 << 14 | 0 >>> 18)) ^ (az >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (az >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (az >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (az << 23 | ay >>> 9))) | 0; - aw = H; - aG = aQ & aM; - r = aP & aL; - k = fp((aQ >>> 28 | aP << 4 | (0 << 4 | 0 >>> 28)) ^ (aP >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (aP >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (aP >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aP << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aP << 25 | aQ >>> 7)), aQ & aI ^ aA ^ aG, aP & aH ^ x ^ r) | 0; - x = H; - aA = fp(u, aw, aE, aF) | 0; - aF = H; - aE = fp(k, x, u, aw) | 0; - aw = H; - u = fp(t, B, 1086792851, 852142971) | 0; - B = fp(u, H, aK, ax) | 0; - ax = fp(B, H, aA & ay ^ aC & ~aA, aF & az ^ aB & ~aF) | 0; - B = fp(ax, H, (aA >>> 14 | aF << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | aF << 14 | (0 << 14 | 0 >>> 18)) ^ (aF >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (aF >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (aF >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aF << 23 | aA >>> 9))) | 0; - ax = H; - aK = aE & aQ; - u = aw & aP; - t = fp((aE >>> 28 | aw << 4 | (0 << 4 | 0 >>> 28)) ^ (aw >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aw >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aw >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aw << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aw << 25 | aE >>> 7)), aE & aM ^ aG ^ aK, aw & aL ^ r ^ u) | 0; - r = H; - aG = fp(B, ax, aI, aH) | 0; - aH = H; - aI = fp(t, r, B, ax) | 0; - ax = H; - B = fp(w, al, 365543100, 1017036298) | 0; - al = fp(B, H, aC, aB) | 0; - aB = fp(al, H, aG & aA ^ ay & ~aG, aH & aF ^ az & ~aH) | 0; - al = fp(aB, H, (aG >>> 14 | aH << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aH << 14 | (0 << 14 | 0 >>> 18)) ^ (aH >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aH >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aH >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aH << 23 | aG >>> 9))) | 0; - aB = H; - aC = aI & aE; - B = ax & aw; - w = fp((aI >>> 28 | ax << 4 | (0 << 4 | 0 >>> 28)) ^ (ax >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (ax >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (ax >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (ax << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (ax << 25 | aI >>> 7)), aI & aQ ^ aK ^ aC, ax & aP ^ u ^ B) | 0; - u = H; - aK = fp(al, aB, aM, aL) | 0; - aL = H; - aM = fp(w, u, al, aB) | 0; - aB = H; - al = fp(z, an, -1676669620, 1126000580) | 0; - an = fp(al, H, ay, az) | 0; - az = fp(an, H, aK & aG ^ aA & ~aK, aL & aH ^ aF & ~aL) | 0; - an = fp(az, H, (aK >>> 14 | aL << 18 | (0 << 18 | 0 >>> 14)) ^ (aK >>> 18 | aL << 14 | (0 << 14 | 0 >>> 18)) ^ (aL >>> 9 | 0 << 23 | (aK << 23 | 0 >>> 9)), (aL >>> 14 | 0 << 18 | (aK << 18 | 0 >>> 14)) ^ (aL >>> 18 | 0 << 14 | (aK << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aL << 23 | aK >>> 9))) | 0; - az = H; - ay = aM & aI; - al = aB & ax; - z = fp((aM >>> 28 | aB << 4 | (0 << 4 | 0 >>> 28)) ^ (aB >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aB >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aB >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aB << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aB << 25 | aM >>> 7)), aM & aE ^ aC ^ ay, aB & aw ^ B ^ al) | 0; - B = H; - aC = fp(an, az, aQ, aP) | 0; - aP = H; - aQ = fp(z, B, an, az) | 0; - az = H; - an = fp(b, ap, -885112138, 1288033470) | 0; - B = fp(an, H, aA, aF) | 0; - aF = fp(B, H, aC & aK ^ aG & ~aC, aP & aL ^ aH & ~aP) | 0; - B = fp(aF, H, (aC >>> 14 | aP << 18 | (0 << 18 | 0 >>> 14)) ^ (aC >>> 18 | aP << 14 | (0 << 14 | 0 >>> 18)) ^ (aP >>> 9 | 0 << 23 | (aC << 23 | 0 >>> 9)), (aP >>> 14 | 0 << 18 | (aC << 18 | 0 >>> 14)) ^ (aP >>> 18 | 0 << 14 | (aC << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aP << 23 | aC >>> 9))) | 0; - aF = H; - aA = aQ & aM; - an = az & aB; - z = fp((aQ >>> 28 | az << 4 | (0 << 4 | 0 >>> 28)) ^ (az >>> 2 | 0 << 30 | (aQ << 30 | 0 >>> 2)) ^ (az >>> 7 | 0 << 25 | (aQ << 25 | 0 >>> 7)), (az >>> 28 | 0 << 4 | (aQ << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (az << 30 | aQ >>> 2)) ^ (0 >>> 7 | 0 << 25 | (az << 25 | aQ >>> 7)), aQ & aI ^ ay ^ aA, az & ax ^ al ^ an) | 0; - al = H; - ay = fp(B, aF, aE, aw) | 0; - aw = H; - aE = fp(z, al, B, aF) | 0; - aF = H; - B = fp(d, ar, -60457430, 1501505948) | 0; - al = fp(B, H, aG, aH) | 0; - aH = fp(al, H, ay & aC ^ aK & ~ay, aw & aP ^ aL & ~aw) | 0; - al = fp(aH, H, (ay >>> 14 | aw << 18 | (0 << 18 | 0 >>> 14)) ^ (ay >>> 18 | aw << 14 | (0 << 14 | 0 >>> 18)) ^ (aw >>> 9 | 0 << 23 | (ay << 23 | 0 >>> 9)), (aw >>> 14 | 0 << 18 | (ay << 18 | 0 >>> 14)) ^ (aw >>> 18 | 0 << 14 | (ay << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aw << 23 | ay >>> 9))) | 0; - aH = H; - aG = aE & aQ; - B = aF & az; - z = fp((aE >>> 28 | aF << 4 | (0 << 4 | 0 >>> 28)) ^ (aF >>> 2 | 0 << 30 | (aE << 30 | 0 >>> 2)) ^ (aF >>> 7 | 0 << 25 | (aE << 25 | 0 >>> 7)), (aF >>> 28 | 0 << 4 | (aE << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aF << 30 | aE >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aF << 25 | aE >>> 7)), aE & aM ^ aA ^ aG, aF & aB ^ an ^ B) | 0; - an = H; - aA = fp(al, aH, aI, ax) | 0; - ax = H; - aI = fp(z, an, al, aH) | 0; - aH = H; - al = fp(am, at, 987167468, 1607167915) | 0; - at = fp(al, H, (ao >>> 8 | av << 24 | (0 << 24 | 0 >>> 8)) ^ (ao >>> 7 | av << 25) ^ (ao >>> 1 | av << 31 | (0 << 31 | 0 >>> 1)), (av >>> 8 | 0 << 24 | (ao << 24 | 0 >>> 8)) ^ (av >>> 7 | 0 << 25) ^ (av >>> 1 | 0 << 31 | (ao << 31 | 0 >>> 1))) | 0; - al = fp(at, H, n, A) | 0; - A = fp(al, H, (ap >>> 29 | 0 << 3 | (b << 3 | 0 >>> 29)) ^ (b >>> 6 | ap << 26) ^ (b >>> 19 | ap << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (ap << 3 | b >>> 29)) ^ (ap >>> 6 | 0 << 26) ^ (ap >>> 19 | 0 << 13 | (b << 13 | 0 >>> 19))) | 0; - b = fp(A, H, aK, aL) | 0; - aL = fp(b, H, aA & ay ^ aC & ~aA, ax & aw ^ aP & ~ax) | 0; - b = fp(aL, H, (aA >>> 14 | ax << 18 | (0 << 18 | 0 >>> 14)) ^ (aA >>> 18 | ax << 14 | (0 << 14 | 0 >>> 18)) ^ (ax >>> 9 | 0 << 23 | (aA << 23 | 0 >>> 9)), (ax >>> 14 | 0 << 18 | (aA << 18 | 0 >>> 14)) ^ (ax >>> 18 | 0 << 14 | (aA << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (ax << 23 | aA >>> 9))) | 0; - aL = H; - aK = aI & aE; - A = aH & aF; - ap = fp((aI >>> 28 | aH << 4 | (0 << 4 | 0 >>> 28)) ^ (aH >>> 2 | 0 << 30 | (aI << 30 | 0 >>> 2)) ^ (aH >>> 7 | 0 << 25 | (aI << 25 | 0 >>> 7)), (aH >>> 28 | 0 << 4 | (aI << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aH << 30 | aI >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aH << 25 | aI >>> 7)), aI & aQ ^ aG ^ aK, aH & az ^ B ^ A) | 0; - B = H; - aG = fp(b, aL, aM, aB) | 0; - aB = H; - aM = fp(ap, B, b, aL) | 0; - aL = H; - b = fp(ao, av, 1246189591, 1816402316) | 0; - av = fp(b, H, (au >>> 8 | f << 24 | (0 << 24 | 0 >>> 8)) ^ (au >>> 7 | f << 25) ^ (au >>> 1 | f << 31 | (0 << 31 | 0 >>> 1)), (f >>> 8 | 0 << 24 | (au << 24 | 0 >>> 8)) ^ (f >>> 7 | 0 << 25) ^ (f >>> 1 | 0 << 31 | (au << 31 | 0 >>> 1))) | 0; - au = fp(av, H, q, c) | 0; - c = fp(au, H, (ar >>> 29 | 0 << 3 | (d << 3 | 0 >>> 29)) ^ (d >>> 6 | ar << 26) ^ (d >>> 19 | ar << 13 | (0 << 13 | 0 >>> 19)), (0 >>> 29 | 0 << 3 | (ar << 3 | d >>> 29)) ^ (ar >>> 6 | 0 << 26) ^ (ar >>> 19 | 0 << 13 | (d << 13 | 0 >>> 19))) | 0; - d = fp(c, H, aC, aP) | 0; - aP = fp(d, H, aG & aA ^ ay & ~aG, aB & ax ^ aw & ~aB) | 0; - d = fp(aP, H, (aG >>> 14 | aB << 18 | (0 << 18 | 0 >>> 14)) ^ (aG >>> 18 | aB << 14 | (0 << 14 | 0 >>> 18)) ^ (aB >>> 9 | 0 << 23 | (aG << 23 | 0 >>> 9)), (aB >>> 14 | 0 << 18 | (aG << 18 | 0 >>> 14)) ^ (aB >>> 18 | 0 << 14 | (aG << 14 | 0 >>> 18)) ^ (0 >>> 9 | 0 << 23 | (aB << 23 | aG >>> 9))) | 0; - aP = H; - aC = fp(aM & (aI ^ aE) ^ aK, aL & (aH ^ aF) ^ A, S, R) | 0; - A = fp(aC, H, (aM >>> 28 | aL << 4 | (0 << 4 | 0 >>> 28)) ^ (aL >>> 2 | 0 << 30 | (aM << 30 | 0 >>> 2)) ^ (aL >>> 7 | 0 << 25 | (aM << 25 | 0 >>> 7)), (aL >>> 28 | 0 << 4 | (aM << 4 | 0 >>> 28)) ^ (0 >>> 2 | 0 << 30 | (aL << 30 | aM >>> 2)) ^ (0 >>> 7 | 0 << 25 | (aL << 25 | aM >>> 7))) | 0; - aC = fp(A, H, d, aP) | 0; - A = H; - aK = fp(aM, aL, Q, P) | 0; - aL = H; - aM = fp(aI, aH, O, N) | 0; - aH = H; - aI = fp(aE, aF, M, L) | 0; - aF = H; - aE = fp(aQ, az, K, J) | 0; - az = fp(aE, H, d, aP) | 0; - aP = H; - d = fp(aG, aB, I, G) | 0; - aB = H; - aG = fp(aA, ax, F, E) | 0; - ax = H; - aA = fp(ay, aw, D, C) | 0; - aw = H; - ay = fp(U, T, -128, -1) | 0; - aE = H; - aQ = 0; - if (aE >>> 0 > aQ >>> 0 | aE >>> 0 == aQ >>> 0 & ay >>> 0 > 127 >>> 0) { - C = aw; - D = aA; - E = ax; - F = aG; - G = aB; - I = d; - J = aP; - K = az; - L = aF; - M = aI; - N = aH; - O = aM; - P = aL; - Q = aK; - R = A; - S = aC; - T = aE; - U = ay; - V = V + 128 | 0; - } else { - W = aw; - X = aA; - Y = ax; - Z = aG; - _ = aB; - $ = d; - aa = aP; - ab = az; - ac = aF; - ad = aI; - ae = aH; - af = aM; - ag = aL; - ah = aK; - ai = A; - aj = aC; - break; - } - } - bX(a, aj, ai); - bX(g, ah, ag); - bX(j, af, ae); - bX(m, ad, ac); - bX(p, ab, aa); - bX(s, $, _); - bX(v, Z, Y); - bX(y, X, W); - return 0; -} -function bW(a) { - a = a | 0; - var b = 0, c = 0, e = 0; - b = d[a + 6 | 0] | 0; - c = d[a + 5 | 0] | 0; - e = d[a + 4 | 0] | 0; - return (H = 0 << 8 | b >>> 24 | (0 << 16 | c >>> 16) | (0 << 24 | e >>> 8) | (d[a + 3 | 0] | 0) | ((d[a + 2 | 0] | 0) << 8 | 0 >>> 24) | ((d[a + 1 | 0] | 0) << 16 | 0 >>> 16) | ((d[a] | 0) << 24 | 0 >>> 8), b << 8 | 0 >>> 24 | (d[a + 7 | 0] | 0) | (c << 16 | 0 >>> 16) | (e << 24 | 0 >>> 8) | (0 << 8 | 0 >>> 24) | (0 << 16 | 0 >>> 16) | (0 << 24 | 0 >>> 8)) | 0; -} -function bX(b, c, d) { - b = b | 0; - c = c | 0; - d = d | 0; - a[b + 7 | 0] = c & 255; - a[b + 6 | 0] = (c >>> 8 | d << 24) & 255; - a[b + 5 | 0] = (c >>> 16 | d << 16) & 255; - a[b + 4 | 0] = (c >>> 24 | d << 8) & 255; - a[b + 3 | 0] = d & 255; - a[b + 2 | 0] = (d >>> 8 | 0 << 24) & 255; - a[b + 1 | 0] = (d >>> 16 | 0 << 16) & 255; - a[b] = (d >>> 24 | 0 << 8) & 255; - return; -} -function bY(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0; - d = 0; - e = 0; - while (1) { - f = a + (d << 2) | 0; - g = (c[f >> 2] | 0) + e + (c[b + (d << 2) >> 2] | 0) | 0; - c[f >> 2] = g & 255; - f = d + 1 | 0; - if (f >>> 0 < 17) { - d = f; - e = g >>> 8; - } else { - break; - } - } - return; -} -function bZ(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0; - b = c[a >> 2] | 0; - c[a >> 2] = b & 255; - d = a + 4 | 0; - e = (c[d >> 2] | 0) + (b >>> 8) | 0; - c[d >> 2] = e & 255; - d = a + 8 | 0; - b = (c[d >> 2] | 0) + (e >>> 8) | 0; - c[d >> 2] = b & 255; - d = a + 12 | 0; - e = (c[d >> 2] | 0) + (b >>> 8) | 0; - c[d >> 2] = e & 255; - d = a + 16 | 0; - b = (c[d >> 2] | 0) + (e >>> 8) | 0; - c[d >> 2] = b & 255; - d = a + 20 | 0; - e = (c[d >> 2] | 0) + (b >>> 8) | 0; - c[d >> 2] = e & 255; - d = a + 24 | 0; - b = (c[d >> 2] | 0) + (e >>> 8) | 0; - c[d >> 2] = b & 255; - d = a + 28 | 0; - e = (c[d >> 2] | 0) + (b >>> 8) | 0; - c[d >> 2] = e & 255; - d = a + 32 | 0; - b = (c[d >> 2] | 0) + (e >>> 8) | 0; - c[d >> 2] = b & 255; - d = a + 36 | 0; - e = (c[d >> 2] | 0) + (b >>> 8) | 0; - c[d >> 2] = e & 255; - d = a + 40 | 0; - b = (c[d >> 2] | 0) + (e >>> 8) | 0; - c[d >> 2] = b & 255; - d = a + 44 | 0; - e = (c[d >> 2] | 0) + (b >>> 8) | 0; - c[d >> 2] = e & 255; - d = a + 48 | 0; - b = (c[d >> 2] | 0) + (e >>> 8) | 0; - c[d >> 2] = b & 255; - d = a + 52 | 0; - e = (c[d >> 2] | 0) + (b >>> 8) | 0; - c[d >> 2] = e & 255; - d = a + 56 | 0; - b = (c[d >> 2] | 0) + (e >>> 8) | 0; - c[d >> 2] = b & 255; - d = a + 60 | 0; - e = (c[d >> 2] | 0) + (b >>> 8) | 0; - c[d >> 2] = e & 255; - d = a + 64 | 0; - b = (c[d >> 2] | 0) + (e >>> 8) | 0; - c[d >> 2] = b & 3; - e = (c[a >> 2] | 0) + ((b >>> 2) * 5 | 0) | 0; - c[a >> 2] = e & 255; - b = a + 4 | 0; - f = (c[b >> 2] | 0) + (e >>> 8) | 0; - c[b >> 2] = f & 255; - b = a + 8 | 0; - e = (c[b >> 2] | 0) + (f >>> 8) | 0; - c[b >> 2] = e & 255; - b = a + 12 | 0; - f = (c[b >> 2] | 0) + (e >>> 8) | 0; - c[b >> 2] = f & 255; - b = a + 16 | 0; - e = (c[b >> 2] | 0) + (f >>> 8) | 0; - c[b >> 2] = e & 255; - b = a + 20 | 0; - f = (c[b >> 2] | 0) + (e >>> 8) | 0; - c[b >> 2] = f & 255; - b = a + 24 | 0; - e = (c[b >> 2] | 0) + (f >>> 8) | 0; - c[b >> 2] = e & 255; - b = a + 28 | 0; - f = (c[b >> 2] | 0) + (e >>> 8) | 0; - c[b >> 2] = f & 255; - b = a + 32 | 0; - e = (c[b >> 2] | 0) + (f >>> 8) | 0; - c[b >> 2] = e & 255; - b = a + 36 | 0; - f = (c[b >> 2] | 0) + (e >>> 8) | 0; - c[b >> 2] = f & 255; - b = a + 40 | 0; - e = (c[b >> 2] | 0) + (f >>> 8) | 0; - c[b >> 2] = e & 255; - b = a + 44 | 0; - f = (c[b >> 2] | 0) + (e >>> 8) | 0; - c[b >> 2] = f & 255; - b = a + 48 | 0; - e = (c[b >> 2] | 0) + (f >>> 8) | 0; - c[b >> 2] = e & 255; - b = a + 52 | 0; - f = (c[b >> 2] | 0) + (e >>> 8) | 0; - c[b >> 2] = f & 255; - b = a + 56 | 0; - e = (c[b >> 2] | 0) + (f >>> 8) | 0; - c[b >> 2] = e & 255; - b = a + 60 | 0; - a = (c[b >> 2] | 0) + (e >>> 8) | 0; - c[b >> 2] = a & 255; - c[d >> 2] = (c[d >> 2] | 0) + (a >>> 8); - return; -} -function b_(b, e, f, g, h) { - b = b | 0; - e = e | 0; - f = f | 0; - g = g | 0; - h = h | 0; - var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0; - j = i; - i = i + 144 | 0; - k = j | 0; - l = j + 72 | 0; - m = i; - i = i + 68 | 0; - i = i + 7 >> 3 << 3; - n = k | 0; - c[n >> 2] = d[h] | 0; - c[k + 4 >> 2] = d[h + 1 | 0] | 0; - c[k + 8 >> 2] = d[h + 2 | 0] | 0; - c[k + 12 >> 2] = a[h + 3 | 0] & 15; - c[k + 16 >> 2] = a[h + 4 | 0] & 252; - c[k + 20 >> 2] = d[h + 5 | 0] | 0; - c[k + 24 >> 2] = d[h + 6 | 0] | 0; - c[k + 28 >> 2] = a[h + 7 | 0] & 15; - c[k + 32 >> 2] = a[h + 8 | 0] & 252; - c[k + 36 >> 2] = d[h + 9 | 0] | 0; - c[k + 40 >> 2] = d[h + 10 | 0] | 0; - c[k + 44 >> 2] = a[h + 11 | 0] & 15; - c[k + 48 >> 2] = a[h + 12 | 0] & 252; - c[k + 52 >> 2] = d[h + 13 | 0] | 0; - c[k + 56 >> 2] = d[h + 14 | 0] | 0; - c[k + 60 >> 2] = a[h + 15 | 0] & 15; - c[k + 64 >> 2] = 0; - fm(l | 0, 0, 68); - k = m; - if (!((f | 0) == 0 & (g | 0) == 0)) { - o = l | 0; - p = m | 0; - q = g; - g = f; - f = e; - while (1) { - fm(k | 0, 0, 68); - if ((g | 0) == 0 & (q | 0) == 0) { - r = 0; - s = 0; - t = 0; - } else { - e = 0; - while (1) { - c[m + (e << 2) >> 2] = d[f + e | 0] | 0; - u = e + 1 | 0; - v = u; - w = 0; - if (u >>> 0 < 16 & (w >>> 0 < q >>> 0 | w >>> 0 == q >>> 0 & v >>> 0 < g >>> 0)) { - e = u; - } else { - r = u; - s = w; - t = v; - break; - } - } - } - c[m + (r << 2) >> 2] = 1; - e = fq(g, q, t, s) | 0; - v = H; - bY(o, p); - b$(o, n); - if ((g | 0) == (t | 0) & (q | 0) == (s | 0)) { - break; - } else { - q = v; - g = e; - f = f + r | 0; - } - } - } - r = l | 0; - b0(r); - c[m >> 2] = d[h + 16 | 0] | 0; - c[m + 4 >> 2] = d[h + 17 | 0] | 0; - c[m + 8 >> 2] = d[h + 18 | 0] | 0; - c[m + 12 >> 2] = d[h + 19 | 0] | 0; - c[m + 16 >> 2] = d[h + 20 | 0] | 0; - c[m + 20 >> 2] = d[h + 21 | 0] | 0; - c[m + 24 >> 2] = d[h + 22 | 0] | 0; - c[m + 28 >> 2] = d[h + 23 | 0] | 0; - c[m + 32 >> 2] = d[h + 24 | 0] | 0; - c[m + 36 >> 2] = d[h + 25 | 0] | 0; - c[m + 40 >> 2] = d[h + 26 | 0] | 0; - c[m + 44 >> 2] = d[h + 27 | 0] | 0; - c[m + 48 >> 2] = d[h + 28 | 0] | 0; - c[m + 52 >> 2] = d[h + 29 | 0] | 0; - c[m + 56 >> 2] = d[h + 30 | 0] | 0; - c[m + 60 >> 2] = d[h + 31 | 0] | 0; - c[m + 64 >> 2] = 0; - bY(r, m | 0); - a[b] = c[l >> 2] & 255; - a[b + 1 | 0] = c[l + 4 >> 2] & 255; - a[b + 2 | 0] = c[l + 8 >> 2] & 255; - a[b + 3 | 0] = c[l + 12 >> 2] & 255; - a[b + 4 | 0] = c[l + 16 >> 2] & 255; - a[b + 5 | 0] = c[l + 20 >> 2] & 255; - a[b + 6 | 0] = c[l + 24 >> 2] & 255; - a[b + 7 | 0] = c[l + 28 >> 2] & 255; - a[b + 8 | 0] = c[l + 32 >> 2] & 255; - a[b + 9 | 0] = c[l + 36 >> 2] & 255; - a[b + 10 | 0] = c[l + 40 >> 2] & 255; - a[b + 11 | 0] = c[l + 44 >> 2] & 255; - a[b + 12 | 0] = c[l + 48 >> 2] & 255; - a[b + 13 | 0] = c[l + 52 >> 2] & 255; - a[b + 14 | 0] = c[l + 56 >> 2] & 255; - a[b + 15 | 0] = c[l + 60 >> 2] & 255; - i = j; - return 0; -} -function b$(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; - d = i; - i = i + 72 | 0; - e = d | 0; - f = 0; - while (1) { - g = 0; - h = 0; - do { - h = (ad(c[b + (f - g << 2) >> 2] | 0, c[a + (g << 2) >> 2] | 0) | 0) + h | 0; - g = g + 1 | 0; - } while (g >>> 0 <= f >>> 0); - g = f + 1 | 0; - if (g >>> 0 >= 17) { - break; - } - j = f + 17 | 0; - k = g; - l = h; - do { - l = (ad((c[a + (k << 2) >> 2] | 0) * 320 | 0, c[b + (j - k << 2) >> 2] | 0) | 0) + l | 0; - k = k + 1 | 0; - } while (k >>> 0 < 17); - c[e + (f << 2) >> 2] = l; - if (g >>> 0 < 17) { - f = g; - } else { - m = 124; - break; - } - } - if ((m | 0) == 124) { - n = a; - o = e; - fn(n | 0, o | 0, 68) | 0; - bZ(a); - i = d; - return; - } - c[e + (f << 2) >> 2] = h; - n = a; - o = e; - fn(n | 0, o | 0, 68) | 0; - bZ(a); - i = d; - return; -} -function b0(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0; - b = i; - d = a; - e = i; - i = i + 68 | 0; - i = i + 7 >> 3 << 3; - f = e; - fn(f | 0, d | 0, 68) | 0; - bY(a, 792); - d = -((c[a + 64 >> 2] | 0) >>> 7) | 0; - f = 0; - do { - g = a + (f << 2) | 0; - h = c[g >> 2] | 0; - c[g >> 2] = (h ^ c[e + (f << 2) >> 2]) & d ^ h; - f = f + 1 | 0; - } while (f >>> 0 < 17); - i = b; - return; -} -function b1(a, b, c, d, e) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - var f = 0, g = 0; - f = i; - i = i + 16 | 0; - g = f | 0; - b_(g, b, c, d, e) | 0; - e = ed(a, g) | 0; - i = f; - return e | 0; -} -function b2(a, b) { - a = a | 0; - b = b | 0; - return b3(a, b, 111576) | 0; -} -function b3(b, e, f) { - b = b | 0; - e = e | 0; - f = f | 0; - var g = 0, h = 0, j = 0, k = 0; - g = i; - i = i + 416 | 0; - h = g | 0; - j = g + 384 | 0; - k = j | 0; - fn(k | 0, e | 0, 32) | 0; - e = j | 0; - a[e] = a[e] & -8; - k = j + 31 | 0; - a[k] = a[k] & 63 | 64; - k = 0; - do { - c[h + (k << 2) >> 2] = d[f + k | 0] | 0; - k = k + 1 | 0; - } while (k >>> 0 < 32); - k = h | 0; - b4(k, e); - e = h + 128 | 0; - b5(e, e); - f = h + 256 | 0; - cf(f, k, e); - cg(f); - f = 0; - do { - a[b + f | 0] = c[h + (f + 64 << 2) >> 2] & 255; - f = f + 1 | 0; - } while (f >>> 0 < 32); - i = g; - return 0; -} -function b4(a, b) { - a = a | 0; - b = b | 0; - var e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0; - e = i; - f = a; - g = i; - i = i + 256 | 0; - h = g; - j = i; - i = i + 256 | 0; - k = i; - i = i + 256 | 0; - l = i; - i = i + 256 | 0; - m = i; - i = i + 256 | 0; - n = i; - i = i + 256 | 0; - o = i; - i = i + 256 | 0; - p = i; - i = i + 256 | 0; - q = i; - i = i + 256 | 0; - r = i; - i = i + 256 | 0; - s = i; - i = i + 256 | 0; - t = i; - i = i + 128 | 0; - u = i; - i = i + 128 | 0; - v = i; - i = i + 128 | 0; - w = i; - i = i + 128 | 0; - fn(h | 0, f | 0, 128) | 0; - h = j; - c[g + 128 >> 2] = 1; - fm(g + 132 | 0, 0, 124); - x = j | 0; - c[x >> 2] = 1; - fm(j + 4 | 0, 0, 252); - j = k | 0; - y = l | 0; - z = g | 0; - g = o | 0; - A = k + 128 | 0; - k = o + 128 | 0; - o = p | 0; - B = l + 128 | 0; - l = p + 128 | 0; - p = q | 0; - C = q + 128 | 0; - q = r | 0; - D = r + 128 | 0; - r = s | 0; - E = s + 128 | 0; - s = t | 0; - t = u | 0; - u = v | 0; - v = w | 0; - w = m | 0; - F = m + 128 | 0; - m = n | 0; - G = n + 128 | 0; - n = 254; - while (1) { - H = (d[b + ((n | 0) / 8 | 0) | 0] | 0) >>> ((n & 7) >>> 0) & 1; - ca(j, y, x, z, H); - b8(g, j, A); - cb(k, j, A); - b8(o, y, B); - cb(l, y, B); - ch(p, g); - ch(C, k); - cf(q, o, k); - cf(D, l, g); - b8(r, q, D); - cb(E, q, D); - ch(s, E); - cb(t, p, C); - cc(u, t); - b8(v, u, p); - cf(w, p, C); - cf(F, t, v); - ch(m, r); - cf(G, s, a); - ca(x, z, w, m, H); - if ((n | 0) > 0) { - n = n - 1 | 0; - } else { - break; - } - } - fn(f | 0, h | 0, 256) | 0; - i = e; - return; -} -function b5(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0; - c = i; - i = i + 1280 | 0; - d = c + 896 | 0; - e = c | 0; - ch(e, b); - f = c + 1152 | 0; - ch(f, e); - g = c + 1024 | 0; - ch(g, f); - h = c + 128 | 0; - cf(h, g, b); - b = c + 256 | 0; - cf(b, h, e); - ch(g, b); - e = c + 384 | 0; - cf(e, g, h); - ch(g, e); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - h = c + 512 | 0; - cf(h, g, e); - ch(g, h); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - ch(f, g); - e = c + 640 | 0; - cf(e, f, h); - ch(g, e); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - ch(f, g); - cf(g, f, e); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - e = c + 768 | 0; - cf(e, g, h); - ch(g, e); - ch(f, g); - h = 2; - do { - ch(g, f); - ch(f, g); - h = h + 2 | 0; - } while ((h | 0) < 50); - h = d | 0; - cf(h, f, e); - ch(f, h); - ch(g, f); - d = 2; - do { - ch(f, g); - ch(g, f); - d = d + 2 | 0; - } while ((d | 0) < 100); - cf(f, g, h); - ch(g, f); - ch(f, g); - h = 2; - do { - ch(g, f); - ch(f, g); - h = h + 2 | 0; - } while ((h | 0) < 50); - cf(g, f, e); - ch(f, g); - ch(g, f); - ch(f, g); - ch(g, f); - ch(f, g); - cf(a, f, b); - i = c; - return; -} -function b6(a, b) { - a = a | 0; - b = b | 0; - return ((b ^ a) - 1 | 0) >>> 31 | 0; -} -function b7(a) { - a = a | 0; - return (a - 237 | 0) >>> 31 ^ 1 | 0; -} -function b8(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0; - e = 0; - f = 0; - do { - g = (c[b + (e << 2) >> 2] | 0) + f + (c[d + (e << 2) >> 2] | 0) | 0; - c[a + (e << 2) >> 2] = g & 255; - f = g >>> 8; - e = e + 1 | 0; - } while (e >>> 0 < 31); - c[a + 124 >> 2] = (c[b + 124 >> 2] | 0) + f + (c[d + 124 >> 2] | 0); - return; -} -function b9(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0; - b = 0; - d = 0; - do { - e = a + (b << 2) | 0; - f = (c[e >> 2] | 0) + d | 0; - c[e >> 2] = f & 255; - d = f >>> 8; - b = b + 1 | 0; - } while (b >>> 0 < 31); - b = a + 124 | 0; - f = (c[b >> 2] | 0) + d | 0; - c[b >> 2] = f & 127; - d = 0; - e = (f >>> 7) * 19 | 0; - do { - f = a + (d << 2) | 0; - g = (c[f >> 2] | 0) + e | 0; - c[f >> 2] = g & 255; - e = g >>> 8; - d = d + 1 | 0; - } while (d >>> 0 < 31); - c[b >> 2] = (c[b >> 2] | 0) + e; - return; -} -function ca(a, b, d, e, f) { - a = a | 0; - b = b | 0; - d = d | 0; - e = e | 0; - f = f | 0; - var g = 0, h = 0, i = 0, j = 0; - g = f - 1 | 0; - f = 0; - do { - h = d + (f << 2) | 0; - i = c[e + (f << 2) >> 2] | 0; - j = (i ^ c[h >> 2]) & g; - c[a + (f << 2) >> 2] = j ^ i; - c[b + (f << 2) >> 2] = j ^ c[h >> 2]; - f = f + 1 | 0; - } while (f >>> 0 < 64); - return; -} -function cb(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0; - e = 0; - f = 218; - do { - g = f + 65280 + (c[b + (e << 2) >> 2] | 0) - (c[d + (e << 2) >> 2] | 0) | 0; - c[a + (e << 2) >> 2] = g & 255; - f = g >>> 8; - e = e + 1 | 0; - } while (e >>> 0 < 31); - c[a + 124 >> 2] = (c[b + 124 >> 2] | 0) + f - (c[d + 124 >> 2] | 0); - return; -} -function cc(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0; - d = 0; - e = 0; - do { - f = ((c[b + (d << 2) >> 2] | 0) * 121665 | 0) + e | 0; - c[a + (d << 2) >> 2] = f & 255; - e = f >>> 8; - d = d + 1 | 0; - } while (d >>> 0 < 31); - d = ((c[b + 124 >> 2] | 0) * 121665 | 0) + e | 0; - c[a + 124 >> 2] = d & 127; - e = 0; - b = a; - f = (c[a >> 2] | 0) + ((d >>> 7) * 19 | 0) | 0; - do { - c[b >> 2] = f & 255; - e = e + 1 | 0; - b = a + (e << 2) | 0; - f = (c[b >> 2] | 0) + (f >>> 8) | 0; - } while (e >>> 0 < 31); - c[a + 124 >> 2] = f; - return; -} -function cd(a, b) { - a = a | 0; - b = b | 0; - var e = 0; - e = 0; - do { - c[a + (e << 2) >> 2] = d[b + e | 0] | 0; - e = e + 1 | 0; - } while ((e | 0) < 32); - e = a + 124 | 0; - c[e >> 2] = c[e >> 2] & 127; - return; -} -function ce(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0; - e = -(d & 255) | 0; - d = 0; - do { - f = a + (d << 2) | 0; - g = c[f >> 2] | 0; - c[f >> 2] = (g ^ c[b + (d << 2) >> 2]) & e ^ g; - d = d + 1 | 0; - } while ((d | 0) < 32); - return; -} -function cf(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; - e = 0; - while (1) { - f = 0; - g = 0; - do { - g = (ad(c[d + (e - f << 2) >> 2] | 0, c[b + (f << 2) >> 2] | 0) | 0) + g | 0; - f = f + 1 | 0; - } while (f >>> 0 <= e >>> 0); - f = e + 1 | 0; - if (f >>> 0 >= 32) { - break; - } - h = e + 32 | 0; - i = f; - j = g; - do { - j = (ad((c[b + (i << 2) >> 2] | 0) * 38 | 0, c[d + (h - i << 2) >> 2] | 0) | 0) + j | 0; - i = i + 1 | 0; - } while (i >>> 0 < 32); - c[a + (e << 2) >> 2] = j; - if (f >>> 0 < 32) { - e = f; - } else { - k = 182; - break; - } - } - if ((k | 0) == 182) { - b9(a); - return; - } - c[a + (e << 2) >> 2] = g; - b9(a); - return; -} -function cg(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0; - b = i; - d = a; - e = i; - i = i + 128 | 0; - f = e; - fn(f | 0, d | 0, 128) | 0; - b8(a, a, 664); - d = -((c[a + 124 >> 2] | 0) >>> 7 & 1) | 0; - f = 0; - do { - g = a + (f << 2) | 0; - h = c[g >> 2] | 0; - c[g >> 2] = (h ^ c[e + (f << 2) >> 2]) & d ^ h; - f = f + 1 | 0; - } while (f >>> 0 < 32); - i = b; - return; -} -function ch(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0; - d = 0; - while (1) { - if ((d | 0) == 0) { - e = 0; - f = 1; - g = 32; - h = 190; - } else { - i = 0; - j = 0; - k = d; - do { - j = (ad(c[b + (k << 2) >> 2] | 0, c[b + (i << 2) >> 2] | 0) | 0) + j | 0; - i = i + 1 | 0; - k = d - i | 0; - } while (i >>> 0 < k >>> 0); - k = d + 1 | 0; - if (k >>> 0 < 31) { - e = j; - f = k; - g = d + 32 | 0; - h = 190; - } else { - l = j; - m = k; - } - } - if ((h | 0) == 190) { - h = 0; - k = f; - i = e; - n = 31; - while (1) { - o = (ad((c[b + (k << 2) >> 2] | 0) * 38 | 0, c[b + (n << 2) >> 2] | 0) | 0) + i | 0; - p = k + 1 | 0; - q = g + ~k | 0; - if (p >>> 0 < q >>> 0) { - k = p; - i = o; - n = q; - } else { - l = o; - m = f; - break; - } - } - } - n = l << 1; - if ((d & 1 | 0) == 0) { - i = d >>> 1; - k = c[b + (i << 2) >> 2] | 0; - j = (ad(k, k) | 0) + n | 0; - k = c[b + (i + 16 << 2) >> 2] | 0; - r = j + (ad(k * 38 | 0, k) | 0) | 0; - } else { - r = n; - } - c[a + (d << 2) >> 2] = r; - if (m >>> 0 < 32) { - d = m; - } else { - break; - } - } - b9(a); - return; -} -function ci(a, b, c, d, e, f) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - f = f | 0; - var g = 0, h = 0; - g = 0; - if (d >>> 0 < g >>> 0 | d >>> 0 == g >>> 0 & c >>> 0 < 32 >>> 0) { - h = -1; - return h | 0; - } - el(a, b, c, d, e, f) | 0; - f = fp(c, d, -32, -1) | 0; - b_(a + 16 | 0, a + 32 | 0, f, H, a) | 0; - fm(a | 0, 0, 16); - h = 0; - return h | 0; -} -function cj(a, b, c, d, e, f) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - f = f | 0; - var g = 0, h = 0, j = 0, k = 0; - g = i; - i = i + 32 | 0; - h = 0; - if (d >>> 0 < h >>> 0 | d >>> 0 == h >>> 0 & c >>> 0 < 32 >>> 0) { - j = -1; - i = g; - return j | 0; - } - h = g | 0; - ek(h, 32, 0, e, f) | 0; - k = fp(c, d, -32, -1) | 0; - if ((b1(b + 16 | 0, b + 32 | 0, k, H, h) | 0) != 0) { - j = -1; - i = g; - return j | 0; - } - el(a, b, c, d, e, f) | 0; - fm(a | 0, 0, 32); - j = 0; - i = g; - return j | 0; -} -function ck(b, c) { - b = b | 0; - c = c | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, j = 0; - d = i; - i = i + 704 | 0; - e = d | 0; - f = d + 128 | 0; - g = d + 640 | 0; - at(c | 0, 32, 0); - h = g | 0; - bR(h, c, 32, 0) | 0; - a[h] = a[h] & -8; - j = g + 31 | 0; - a[j] = a[j] & 63 | 64; - cV(e, h); - cR(f, e); - cJ(b, f); - f = 0; - do { - a[c + (f + 32) | 0] = a[b + f | 0] | 0; - f = f + 1 | 0; - } while ((f | 0) < 32); - i = d; - return 0; -} -function cl(b, d, e, f, g, h) { - b = b | 0; - d = d | 0; - e = e | 0; - f = f | 0; - g = g | 0; - h = h | 0; - var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0; - j = i; - i = i + 928 | 0; - k = j | 0; - l = j + 128 | 0; - m = j + 256 | 0; - n = j + 384 | 0; - o = j + 896 | 0; - p = o | 0; - q = i; - i = i + 32 | 0; - r = q | 0; - s = i; - i = i + 64 | 0; - t = i; - i = i + 64 | 0; - u = i; - i = i + 64 | 0; - v = s | 0; - bR(v, h, 32, 0) | 0; - a[v] = a[v] & -8; - w = s + 31 | 0; - a[w] = a[w] & 63 | 64; - w = fp(f, g, 64, 0) | 0; - x = H; - c[d >> 2] = w; - c[d + 4 >> 2] = x; - if (!((f | 0) == 0 & (g | 0) == 0)) { - d = 0; - y = 0; - do { - z = a[e + y | 0] | 0; - A = fp(y, d, 64, 0) | 0; - a[b + A | 0] = z; - y = fp(y, d, 1, 0) | 0; - d = H; - } while (d >>> 0 < g >>> 0 | d >>> 0 == g >>> 0 & y >>> 0 < f >>> 0); - } - y = b + 32 | 0; - d = s + 32 | 0; - fn(y | 0, d | 0, 32) | 0; - d = t | 0; - t = fp(f, g, 32, 0) | 0; - bR(d, b + 32 | 0, t, H) | 0; - c7(k, d); - cR(n, k); - cJ(o | 0, n); - fn(b | 0, p | 0, 32) | 0; - p = u | 0; - cm(p, b, h + 32 | 0, b, w, x); - c7(l, p); - cV(m, v); - db(l, l, m); - c9(l, l, k); - cY(q | 0, l); - l = b + 32 | 0; - fn(l | 0, r | 0, 32) | 0; - i = j; - return 0; -} -function cm(b, c, d, e, f, g) { - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - f = f | 0; - g = g | 0; - var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0; - h = 0; - i = 0; - while (1) { - j = i; - a[e + j | 0] = a[c + j | 0] | 0; - j = fp(i, h, 1, 0) | 0; - k = H; - l = 0; - if (k >>> 0 < l >>> 0 | k >>> 0 == l >>> 0 & j >>> 0 < 32 >>> 0) { - h = k; - i = j; - } else { - m = 0; - n = 32; - break; - } - } - do { - i = fp(n, m, -32, 0) | 0; - a[e + n | 0] = a[d + i | 0] | 0; - n = fp(n, m, 1, 0) | 0; - m = H; - i = 0; - } while (m >>> 0 < i >>> 0 | m >>> 0 == i >>> 0 & n >>> 0 < 64 >>> 0); - n = 0; - if (g >>> 0 > n >>> 0 | g >>> 0 == n >>> 0 & f >>> 0 > 64 >>> 0) { - o = 0; - p = 64; - } else { - q = bR(b, e, f, g) | 0; - return; - } - do { - n = p; - a[e + n | 0] = a[c + n | 0] | 0; - p = fp(p, o, 1, 0) | 0; - o = H; - } while (o >>> 0 < g >>> 0 | o >>> 0 == g >>> 0 & p >>> 0 < f >>> 0); - q = bR(b, e, f, g) | 0; - return; -} -function cn(b, d, e, f, g, h) { - b = b | 0; - d = d | 0; - e = e | 0; - f = f | 0; - g = g | 0; - h = h | 0; - var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0; - j = i; - i = i + 1376 | 0; - k = j + 32 | 0; - l = j + 544 | 0; - m = j + 1056 | 0; - n = j + 1184 | 0; - c[d >> 2] = -1; - c[d + 4 >> 2] = -1; - o = 0; - if (g >>> 0 < o >>> 0 | g >>> 0 == o >>> 0 & f >>> 0 < 64 >>> 0) { - p = -1; - i = j; - return p | 0; - } - if ((cI(k, h) | 0) != 0) { - p = -1; - i = j; - return p | 0; - } - o = j + 1312 | 0; - cm(o, e, h, b, f, g); - c7(m, o); - cV(n, e + 32 | 0); - cL(l, k, m, 111064, n); - n = j | 0; - cJ(n, l); - l = em(e, n) | 0; - if ((l | 0) == 0) { - n = fp(f, g, -64, -1) | 0; - m = H; - if (!((n | 0) == 0 & (m | 0) == 0)) { - k = 0; - do { - a[b + k | 0] = a[e + (k + 64) | 0] | 0; - k = k + 1 | 0; - o = (k | 0) < 0 ? -1 : 0; - } while (o >>> 0 < m >>> 0 | o >>> 0 == m >>> 0 & k >>> 0 < n >>> 0); - } - c[d >> 2] = n; - c[d + 4 >> 2] = m; - p = l; - i = j; - return p | 0; - } else { - if ((f | 0) == 64 & (g | 0) == 0) { - p = l; - i = j; - return p | 0; - } - m = fp(f, g, -65, 0) | 0; - fm(b | 0, 0, m + 1 | 0); - p = l; - i = j; - return p | 0; - } - return 0; -} -function co(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0; - b = a + 124 | 0; - d = 30; - e = b6(c[b >> 2] | 0, 127) | 0; - do { - e = (b6(c[a + (d << 2) >> 2] | 0, 255) | 0) & e; - d = d - 1 | 0; - } while ((d | 0) > 0); - d = a | 0; - f = -((b7(c[d >> 2] | 0) | 0) & e) | 0; - c[b >> 2] = (c[b >> 2] | 0) - (f & 127); - b = f & 255; - e = 30; - do { - g = a + (e << 2) | 0; - c[g >> 2] = (c[g >> 2] | 0) - b; - e = e - 1 | 0; - } while ((e | 0) > 0); - c[d >> 2] = (c[d >> 2] | 0) - (f & 237); - return; -} -function cp(b, d) { - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0; - e = i; - i = i + 128 | 0; - f = e | 0; - g = f; - h = d; - fn(g | 0, h | 0, 128) | 0; - co(f); - h = 0; - do { - a[b + h | 0] = c[f + (h << 2) >> 2] & 255; - h = h + 1 | 0; - } while ((h | 0) < 32); - i = e; - return; -} -function cq(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0; - b = i; - i = i + 128 | 0; - d = b | 0; - e = d; - f = a; - fn(e | 0, f | 0, 128) | 0; - co(d); - f = 1; - e = b6(c[d >> 2] | 0, 0) | 0; - do { - e = (b6(c[d + (f << 2) >> 2] | 0, 0) | 0) & e; - f = f + 1 | 0; - } while ((f | 0) < 32); - i = b; - return e | 0; -} -function cr(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0; - d = i; - i = i + 256 | 0; - e = d | 0; - f = d + 128 | 0; - g = e; - h = a; - fn(g | 0, h | 0, 128) | 0; - h = f; - g = b; - fn(h | 0, g | 0, 128) | 0; - co(e); - co(f); - g = 0; - while (1) { - if ((g | 0) >= 32) { - j = 1; - k = 252; - break; - } - if ((c[e + (g << 2) >> 2] | 0) == (c[f + (g << 2) >> 2] | 0)) { - g = g + 1 | 0; - } else { - j = 0; - k = 251; - break; - } - } - if ((k | 0) == 251) { - i = d; - return j | 0; - } else if ((k | 0) == 252) { - i = d; - return j | 0; - } - return 0; -} -function cs(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0; - b = i; - i = i + 128 | 0; - d = b | 0; - e = d; - f = a; - fn(e | 0, f | 0, 128) | 0; - co(d); - i = b; - return c[d >> 2] & 1 | 0; -} -function ct(a) { - a = a | 0; - c[a >> 2] = 1; - fm(a + 4 | 0, 0, 124); - return; -} -function cu(a) { - a = a | 0; - fm(a | 0, 0, 128); - return; -} -function cv(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0, e = 0; - c = i; - d = b; - b = i; - i = i + 128 | 0; - e = b; - fn(e | 0, d | 0, 128) | 0; - cu(a); - cw(a, a, b); - i = c; - return; -} -function cw(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, j = 0; - e = i; - i = i + 128 | 0; - f = e | 0; - c[f >> 2] = (c[b >> 2] | 0) + 474; - c[f + 124 >> 2] = (c[b + 124 >> 2] | 0) + 254; - g = 1; - while (1) { - c[f + (g << 2) >> 2] = (c[b + (g << 2) >> 2] | 0) + 510; - h = g + 1 | 0; - if ((h | 0) < 31) { - g = h; - } else { - j = 0; - break; - } - } - do { - c[a + (j << 2) >> 2] = (c[f + (j << 2) >> 2] | 0) - (c[d + (j << 2) >> 2] | 0); - j = j + 1 | 0; - } while ((j | 0) < 32); - cC(a); - i = e; - return; -} -function cx(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0; - e = 0; - do { - c[a + (e << 2) >> 2] = (c[d + (e << 2) >> 2] | 0) + (c[b + (e << 2) >> 2] | 0); - e = e + 1 | 0; - } while ((e | 0) < 32); - cC(a); - return; -} -function cy(a) { - a = a | 0; - return a * 38 | 0 | 0; -} -function cz(a) { - a = a | 0; - return a * 19 | 0 | 0; -} -function cA(a, b) { - a = a | 0; - b = b | 0; - return (((b ^ a) & 255) - 1 | 0) >>> 31 & 255 | 0; -} -function cB(a) { - a = a | 0; - return ((a << 24 >> 24 < 0 ? -1 : 0) >>> 31 | 0 << 1) & 255 | 0; -} -function cC(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0; - b = a + 124 | 0; - d = a | 0; - e = c[b >> 2] | 0; - c[b >> 2] = e & 127; - f = cz(e >>> 7) | 0; - c[d >> 2] = (c[d >> 2] | 0) + f; - f = 0; - do { - e = a + (f << 2) | 0; - f = f + 1 | 0; - g = a + (f << 2) | 0; - c[g >> 2] = (c[g >> 2] | 0) + ((c[e >> 2] | 0) >>> 8); - c[e >> 2] = c[e >> 2] & 255; - } while ((f | 0) < 31); - f = c[b >> 2] | 0; - c[b >> 2] = f & 127; - e = cz(f >>> 7) | 0; - c[d >> 2] = (c[d >> 2] | 0) + e; - e = 0; - do { - f = a + (e << 2) | 0; - e = e + 1 | 0; - g = a + (e << 2) | 0; - c[g >> 2] = (c[g >> 2] | 0) + ((c[f >> 2] | 0) >>> 8); - c[f >> 2] = c[f >> 2] & 255; - } while ((e | 0) < 31); - e = c[b >> 2] | 0; - c[b >> 2] = e & 127; - f = cz(e >>> 7) | 0; - c[d >> 2] = (c[d >> 2] | 0) + f; - f = 0; - do { - e = a + (f << 2) | 0; - f = f + 1 | 0; - g = a + (f << 2) | 0; - c[g >> 2] = (c[g >> 2] | 0) + ((c[e >> 2] | 0) >>> 8); - c[e >> 2] = c[e >> 2] & 255; - } while ((f | 0) < 31); - f = c[b >> 2] | 0; - c[b >> 2] = f & 127; - b = cz(f >>> 7) | 0; - c[d >> 2] = (c[d >> 2] | 0) + b; - b = 0; - do { - d = a + (b << 2) | 0; - b = b + 1 | 0; - f = a + (b << 2) | 0; - c[f >> 2] = (c[f >> 2] | 0) + ((c[d >> 2] | 0) >>> 8); - c[d >> 2] = c[d >> 2] & 255; - } while ((b | 0) < 31); - return; -} -function cD(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0; - e = i; - i = i + 256 | 0; - f = e | 0; - fm(f | 0, 0, 252); - g = 0; - while (1) { - h = c[b + (g << 2) >> 2] | 0; - j = 0; - do { - k = ad(c[d + (j << 2) >> 2] | 0, h) | 0; - l = f + (j + g << 2) | 0; - c[l >> 2] = (c[l >> 2] | 0) + k; - j = j + 1 | 0; - } while ((j | 0) < 32); - j = g + 1 | 0; - if ((j | 0) < 32) { - g = j; - } else { - m = 32; - break; - } - } - do { - g = m - 32 | 0; - d = c[f + (g << 2) >> 2] | 0; - c[a + (g << 2) >> 2] = (cy(c[f + (m << 2) >> 2] | 0) | 0) + d; - m = m + 1 | 0; - } while ((m | 0) < 63); - c[a + 124 >> 2] = c[f + 124 >> 2]; - cE(a); - i = e; - return; -} -function cE(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0; - b = a + 124 | 0; - d = a | 0; - e = c[b >> 2] | 0; - c[b >> 2] = e & 127; - f = cz(e >>> 7) | 0; - c[d >> 2] = (c[d >> 2] | 0) + f; - f = 0; - do { - e = a + (f << 2) | 0; - f = f + 1 | 0; - g = a + (f << 2) | 0; - c[g >> 2] = (c[g >> 2] | 0) + ((c[e >> 2] | 0) >>> 8); - c[e >> 2] = c[e >> 2] & 255; - } while ((f | 0) < 31); - f = c[b >> 2] | 0; - c[b >> 2] = f & 127; - b = cz(f >>> 7) | 0; - c[d >> 2] = (c[d >> 2] | 0) + b; - b = 0; - do { - d = a + (b << 2) | 0; - b = b + 1 | 0; - f = a + (b << 2) | 0; - c[f >> 2] = (c[f >> 2] | 0) + ((c[d >> 2] | 0) >>> 8); - c[d >> 2] = c[d >> 2] & 255; - } while ((b | 0) < 31); - return; -} -function cF(a, b) { - a = a | 0; - b = b | 0; - cD(a, b, b); - return; -} -function cG(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0; - c = i; - i = i + 1280 | 0; - d = c | 0; - e = c + 128 | 0; - f = c + 256 | 0; - g = c + 384 | 0; - h = c + 512 | 0; - j = c + 640 | 0; - k = c + 768 | 0; - l = c + 896 | 0; - m = c + 1024 | 0; - n = c + 1152 | 0; - cF(d, b); - cF(n, d); - cF(m, n); - cD(e, m, b); - cD(f, e, d); - cF(m, f); - cD(g, m, e); - cF(m, g); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cD(h, m, g); - cF(m, h); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cF(n, m); - cD(j, n, h); - cF(m, j); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cF(n, m); - cD(m, n, j); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cD(k, m, h); - cF(m, k); - cF(n, m); - h = 2; - do { - cF(m, n); - cF(n, m); - h = h + 2 | 0; - } while ((h | 0) < 50); - cD(l, n, k); - cF(n, l); - cF(m, n); - h = 2; - do { - cF(n, m); - cF(m, n); - h = h + 2 | 0; - } while ((h | 0) < 100); - cD(n, m, l); - cF(m, n); - cF(n, m); - l = 2; - do { - cF(m, n); - cF(n, m); - l = l + 2 | 0; - } while ((l | 0) < 50); - cD(m, n, k); - cF(n, m); - cF(m, n); - cF(n, m); - cF(m, n); - cF(n, m); - cD(a, n, f); - i = c; - return; -} -function cH(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0; - c = i; - i = i + 1152 | 0; - d = c | 0; - e = c + 128 | 0; - f = c + 256 | 0; - g = c + 384 | 0; - h = c + 512 | 0; - j = c + 640 | 0; - k = c + 768 | 0; - l = c + 896 | 0; - m = c + 1024 | 0; - cF(d, b); - cF(m, d); - cF(m, m); - cD(e, m, b); - cD(f, e, d); - cF(m, f); - cD(g, m, e); - cF(m, g); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cD(h, m, g); - cF(m, h); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cD(j, m, h); - cF(m, j); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cD(m, m, j); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cF(m, m); - cD(k, m, h); - cF(m, k); - h = 1; - do { - cF(m, m); - h = h + 1 | 0; - } while ((h | 0) < 50); - cD(l, m, k); - cF(m, l); - h = 1; - do { - cF(m, m); - h = h + 1 | 0; - } while ((h | 0) < 100); - cD(m, m, l); - cF(m, m); - l = 1; - do { - cF(m, m); - l = l + 1 | 0; - } while ((l | 0) < 50); - cD(m, m, k); - cF(m, m); - cF(m, m); - cD(a, m, b); - i = c; - return; -} -function cI(a, b) { - a = a | 0; - b = b | 0; - var c = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0; - c = i; - i = i + 896 | 0; - e = c | 0; - f = c + 128 | 0; - g = c + 256 | 0; - h = c + 384 | 0; - j = c + 512 | 0; - k = c + 640 | 0; - l = c + 768 | 0; - m = a + 256 | 0; - ct(m); - n = (d[b + 31 | 0] | 0) >>> 7; - o = a + 128 | 0; - cd(o, b); - cF(g, o); - cD(h, g, 1592); - cw(g, g, m); - cx(h, m, h); - cF(j, h); - cF(k, j); - cD(l, k, j); - cD(e, l, g); - cD(e, e, h); - cH(e, e); - cD(e, e, g); - cD(e, e, h); - cD(e, e, h); - l = a | 0; - cD(l, e, h); - cF(f, l); - cD(f, f, h); - if ((cr(f, g) | 0) == 0) { - cD(l, l, 1400); - } - cF(f, l); - cD(f, f, h); - if ((cr(f, g) | 0) == 0) { - p = -1; - i = c; - return p | 0; - } - if (((cs(l) | 0) & 255 | 0) != (n & 255 ^ 1 | 0)) { - cv(l, l); - } - cD(a + 384 | 0, l, o); - p = 0; - i = c; - return p | 0; -} -function cJ(b, c) { - b = b | 0; - c = c | 0; - var d = 0, e = 0, f = 0, g = 0; - d = i; - i = i + 384 | 0; - e = d | 0; - f = d + 128 | 0; - g = d + 256 | 0; - cG(g, c + 256 | 0); - cD(e, c | 0, g); - cD(f, c + 128 | 0, g); - cp(b, f); - f = (cs(e) | 0) << 7; - e = b + 31 | 0; - a[e] = a[e] ^ f; - i = d; - return; -} -function cK(a) { - a = a | 0; - var b = 0; - b = (cq(a | 0) | 0) != 0 | 0; - return ((cr(a + 128 | 0, a + 256 | 0) | 0) == 0 ? 0 : b) | 0; -} -function cL(b, c, e, f, g) { - b = b | 0; - c = c | 0; - e = e | 0; - f = f | 0; - g = g | 0; - var h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0; - h = i; - i = i + 8832 | 0; - j = h | 0; - k = h + 512 | 0; - l = h + 8704 | 0; - cM(k | 0); - m = k + 512 | 0; - n = m; - o = c; - fn(n | 0, o | 0, 512) | 0; - cN(j, c); - c = k + 1024 | 0; - cO(c, j); - cP(j, m, c); - o = k + 1536 | 0; - cO(o, j); - n = k + 2048 | 0; - p = n; - q = f; - fn(p | 0, q | 0, 512) | 0; - cP(j, m, n); - q = k + 2560 | 0; - cO(q, j); - cP(j, c, n); - cO(k + 3072 | 0, j); - cP(j, o, n); - cO(k + 3584 | 0, j); - cN(j, f); - f = k + 4096 | 0; - cO(f, j); - cP(j, m, f); - cO(k + 4608 | 0, j); - cN(j, q); - cO(k + 5120 | 0, j); - cP(j, o, f); - cO(k + 5632 | 0, j); - cP(j, n, f); - f = k + 6144 | 0; - cO(f, j); - cP(j, m, f); - cO(k + 6656 | 0, j); - cP(j, c, f); - cO(k + 7168 | 0, j); - cP(j, o, f); - cO(k + 7680 | 0, j); - c3(l | 0, e, g); - g = b; - e = k + (d[l + 126 | 0] << 9) | 0; - fn(g | 0, e | 0, 512) | 0; - e = b; - g = 125; - while (1) { - cN(j, e); - cQ(e, j); - cN(j, e); - f = l + g | 0; - if ((a[f] | 0) != 0) { - cO(b, j); - cP(j, b, k + (d[f] << 9) | 0); - } - if ((g | 0) == 0) { - break; - } - cQ(e, j); - if ((g | 0) > 0) { - g = g - 1 | 0; - } else { - r = 322; - break; - } - } - if ((r | 0) == 322) { - i = h; - return; - } - cO(b, j); - i = h; - return; -} -function cM(a) { - a = a | 0; - cu(a | 0); - ct(a + 128 | 0); - ct(a + 256 | 0); - cu(a + 384 | 0); - return; -} -function cN(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, j = 0; - c = i; - i = i + 512 | 0; - d = c | 0; - e = c + 128 | 0; - f = c + 256 | 0; - g = c + 384 | 0; - h = b | 0; - cF(d, h); - j = b + 128 | 0; - cF(e, j); - cF(f, b + 256 | 0); - cx(f, f, f); - cv(g, d); - b = a | 0; - cx(b, h, j); - cF(b, b); - cw(b, b, d); - cw(b, b, e); - b = a + 128 | 0; - cx(b, g, e); - cw(a + 384 | 0, b, f); - cw(a + 256 | 0, g, e); - i = c; - return; -} -function cO(a, b) { - a = a | 0; - b = b | 0; - cQ(a, b); - cD(a + 384 | 0, b | 0, b + 256 | 0); - return; -} -function cP(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0; - d = i; - i = i + 640 | 0; - e = d | 0; - f = d + 128 | 0; - g = d + 256 | 0; - h = d + 384 | 0; - j = d + 512 | 0; - k = b + 128 | 0; - l = b | 0; - cw(e, k, l); - m = c + 128 | 0; - n = c | 0; - cw(j, m, n); - cD(e, e, j); - cx(f, l, k); - cx(j, n, m); - cD(f, f, j); - cD(g, b + 384 | 0, c + 384 | 0); - cD(g, g, 1720); - cD(h, b + 256 | 0, c + 256 | 0); - cx(h, h, h); - cw(a | 0, f, e); - cw(a + 384 | 0, h, g); - cx(a + 128 | 0, h, g); - cx(a + 256 | 0, f, e); - i = d; - return; -} -function cQ(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0; - c = b + 384 | 0; - cD(a | 0, b | 0, c); - d = b + 128 | 0; - cD(a + 128 | 0, b + 256 | 0, d); - cD(a + 256 | 0, d, c); - return; -} -function cR(b, c) { - b = b | 0; - c = c | 0; - var d = 0, e = 0, f = 0, g = 0; - d = i; - i = i + 344 | 0; - e = d | 0; - f = d + 88 | 0; - g = e | 0; - c1(g, c); - cS(b, 0, 0, a[g] | 0); - ct(b + 256 | 0); - cD(b + 384 | 0, b | 0, b + 128 | 0); - g = 1; - do { - cS(f, g, (g | 0) < 0 ? -1 : 0, a[e + g | 0] | 0); - cT(b, f); - g = g + 1 | 0; - } while ((g | 0) < 85); - i = d; - return; -} -function cS(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0; - e = i; - i = i + 128 | 0; - f = e | 0; - g = fz(b, c, 5, 0) | 0; - c = H; - b = a; - h = 1976 + (g << 8) | 0; - fn(b | 0, h | 0, 256) | 0; - h = fp(g, c, 1, 0) | 0; - b = cA(d, 1) | 0; - cU(a, 1976 + (h << 8) | 0, cA(d, -1) | 0 | b); - b = fp(g, c, 2, 0) | 0; - h = cA(d, 2) | 0; - cU(a, 1976 + (b << 8) | 0, cA(d, -2) | 0 | h); - h = fp(g, c, 3, 0) | 0; - b = cA(d, 3) | 0; - cU(a, 1976 + (h << 8) | 0, cA(d, -3) | 0 | b); - b = fp(g, c, 4, 0) | 0; - cU(a, 1976 + (b << 8) | 0, cA(d, -4) | 0); - b = a | 0; - cv(f, b); - ce(b, f, cB(d) | 0); - i = e; - return; -} -function cT(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0; - c = i; - i = i + 1408 | 0; - d = c | 0; - e = c + 128 | 0; - f = c + 256 | 0; - g = c + 384 | 0; - h = c + 512 | 0; - j = c + 640 | 0; - k = c + 768 | 0; - l = c + 896 | 0; - m = c + 1024 | 0; - n = c + 1152 | 0; - o = c + 1280 | 0; - p = b | 0; - q = b + 128 | 0; - cD(o, p, q); - b = a + 128 | 0; - r = a | 0; - cw(d, b, r); - cx(e, b, r); - cw(f, q, p); - cx(g, q, p); - cD(d, d, f); - cD(e, e, g); - cw(k, e, d); - cx(n, e, d); - d = a + 384 | 0; - cD(h, d, o); - cD(h, h, 1720); - o = a + 256 | 0; - cx(j, o, o); - cw(l, j, h); - cx(m, j, h); - cD(r, k, l); - cD(b, n, m); - cD(o, m, l); - cD(d, k, n); - i = c; - return; -} -function cU(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - ce(a | 0, b | 0, c); - ce(a + 128 | 0, b + 128 | 0, c); - return; -} -function cV(a, b) { - a = a | 0; - b = b | 0; - var e = 0, f = 0, g = 0; - e = i; - i = i + 256 | 0; - f = e | 0; - g = 0; - do { - c[f + (g << 2) >> 2] = d[b + g | 0] | 0; - g = g + 1 | 0; - } while ((g | 0) < 32); - fm(f + 128 | 0, 0, 128); - c6(a, f | 0); - i = e; - return; -} -function cW(a, b) { - a = a | 0; - b = b | 0; - return (a - b | 0) >>> 31 | 0; -} -function cX(a, b) { - a = a | 0; - b = b | 0; - c[a >> 2] = d[b] | 0; - c[a + 4 >> 2] = d[b + 1 | 0] | 0; - c[a + 8 >> 2] = d[b + 2 | 0] | 0; - c[a + 12 >> 2] = d[b + 3 | 0] | 0; - c[a + 16 >> 2] = d[b + 4 | 0] | 0; - c[a + 20 >> 2] = d[b + 5 | 0] | 0; - c[a + 24 >> 2] = d[b + 6 | 0] | 0; - c[a + 28 >> 2] = d[b + 7 | 0] | 0; - c[a + 32 >> 2] = d[b + 8 | 0] | 0; - c[a + 36 >> 2] = d[b + 9 | 0] | 0; - c[a + 40 >> 2] = d[b + 10 | 0] | 0; - c[a + 44 >> 2] = d[b + 11 | 0] | 0; - c[a + 48 >> 2] = d[b + 12 | 0] | 0; - c[a + 52 >> 2] = d[b + 13 | 0] | 0; - c[a + 56 >> 2] = d[b + 14 | 0] | 0; - c[a + 60 >> 2] = d[b + 15 | 0] | 0; - return; -} -function cY(b, d) { - b = b | 0; - d = d | 0; - var e = 0; - e = 0; - do { - a[b + e | 0] = c[d + (e << 2) >> 2] & 255; - e = e + 1 | 0; - } while ((e | 0) < 32); - return; -} -function cZ(a) { - a = a | 0; - var b = 0, d = 0, e = 0; - b = 0; - while (1) { - if ((b | 0) >= 32) { - d = 1; - e = 347; - break; - } - if ((c[a + (b << 2) >> 2] | 0) == 0) { - b = b + 1 | 0; - } else { - d = 0; - e = 346; - break; - } - } - if ((e | 0) == 346) { - return d | 0; - } else if ((e | 0) == 347) { - return d | 0; - } - return 0; -} -function c_(a) { - a = a | 0; - var b = 0, d = 0, e = 0; - b = 31; - while (1) { - if ((b | 0) <= 15) { - d = 1; - e = 353; - break; - } - if ((c[a + (b << 2) >> 2] | 0) == 0) { - b = b - 1 | 0; - } else { - d = 0; - e = 352; - break; - } - } - if ((e | 0) == 352) { - return d | 0; - } else if ((e | 0) == 353) { - return d | 0; - } - return 0; -} -function c$(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0; - d = 31; - while (1) { - if ((d | 0) <= -1) { - e = 0; - f = 359; - break; - } - g = c[a + (d << 2) >> 2] | 0; - h = c[b + (d << 2) >> 2] | 0; - if (g >>> 0 < h >>> 0) { - e = 1; - f = 361; - break; - } - if (g >>> 0 > h >>> 0) { - e = 0; - f = 360; - break; - } else { - d = d - 1 | 0; - } - } - if ((f | 0) == 360) { - return e | 0; - } else if ((f | 0) == 359) { - return e | 0; - } else if ((f | 0) == 361) { - return e | 0; - } - return 0; -} -function c0(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0; - e = 0; - f = 0; - while (1) { - g = (c[b + (f << 2) >> 2] | 0) - (c[d + (f << 2) >> 2] | 0) - e | 0; - c[a + (f << 2) >> 2] = g & 255; - h = f + 1 | 0; - if ((h | 0) < 32) { - e = g >>> 8 & 1; - f = h; - } else { - break; - } - } - return; -} -function c1(b, e) { - b = b | 0; - e = e | 0; - var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0; - f = 0; - while (1) { - g = f * 3 | 0; - h = e + (g << 2) | 0; - i = f << 3; - a[b + i | 0] = c[h >> 2] & 7; - a[b + (i | 1) | 0] = (c[h >> 2] | 0) >>> 3 & 7; - j = (c[h >> 2] | 0) >>> 6 & 7; - h = b + (i | 2) | 0; - a[h] = j; - k = e + (g + 1 << 2) | 0; - a[h] = (j & 255 ^ c[k >> 2] << 2 & 4) & 255; - a[b + (i | 3) | 0] = (c[k >> 2] | 0) >>> 1 & 7; - a[b + (i | 4) | 0] = (c[k >> 2] | 0) >>> 4 & 7; - if ((f | 0) >= 10) { - l = 0; - m = 0; - break; - } - j = (c[k >> 2] | 0) >>> 7 & 7; - k = b + (i | 5) | 0; - a[k] = j; - h = e + (g + 2 << 2) | 0; - a[k] = (j & 255 ^ c[h >> 2] << 1 & 6) & 255; - a[b + (i | 6) | 0] = (c[h >> 2] | 0) >>> 2 & 7; - a[b + (i | 7) | 0] = (c[h >> 2] | 0) >>> 5 & 7; - f = f + 1 | 0; - } - do { - f = b + m | 0; - e = (d[f] | 0) + l & 255; - a[f] = e; - m = m + 1 | 0; - h = b + m | 0; - a[h] = (e << 24 >> 24 >>> 3) + (d[h] | 0) & 255; - h = a[f] & 7; - l = h >>> 2; - a[f] = h - (l << 3) & 255; - } while ((m | 0) < 84); - m = b + 84 | 0; - a[m] = (d[m] | 0) + l & 255; - return; -} -function c2(b, e) { - b = b | 0; - e = e | 0; - var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0; - f = 0; - while (1) { - g = f * 5 | 0; - h = e + (g << 2) | 0; - i = f << 3; - a[b + i | 0] = c[h >> 2] & 31; - j = (c[h >> 2] | 0) >>> 5 & 31; - h = b + (i | 1) | 0; - a[h] = j; - k = e + (g + 1 << 2) | 0; - a[h] = (j & 255 ^ c[k >> 2] << 3 & 24) & 255; - a[b + (i | 2) | 0] = (c[k >> 2] | 0) >>> 2 & 31; - if ((f | 0) >= 6) { - l = 0; - m = 0; - break; - } - j = (c[k >> 2] | 0) >>> 7 & 31; - k = b + (i | 3) | 0; - a[k] = j; - h = e + (g + 2 << 2) | 0; - a[k] = (j & 255 ^ c[h >> 2] << 1 & 30) & 255; - j = (c[h >> 2] | 0) >>> 4 & 31; - h = b + (i | 4) | 0; - a[h] = j; - k = e + (g + 3 << 2) | 0; - a[h] = (j & 255 ^ c[k >> 2] << 4 & 16) & 255; - a[b + (i | 5) | 0] = (c[k >> 2] | 0) >>> 1 & 31; - j = (c[k >> 2] | 0) >>> 6 & 31; - k = b + (i | 6) | 0; - a[k] = j; - h = e + (g + 4 << 2) | 0; - a[k] = (j & 255 ^ c[h >> 2] << 2 & 28) & 255; - a[b + (i | 7) | 0] = (c[h >> 2] | 0) >>> 3 & 31; - f = f + 1 | 0; - } - do { - f = b + m | 0; - e = (d[f] | 0) + l & 255; - a[f] = e; - m = m + 1 | 0; - h = b + m | 0; - a[h] = (e << 24 >> 24 >>> 5) + (d[h] | 0) & 255; - h = a[f] & 31; - l = h >>> 4; - a[f] = h - (l << 5) & 255; - } while ((m | 0) < 50); - m = b + 50 | 0; - a[m] = (d[m] | 0) + l & 255; - return; -} -function c3(b, d, e) { - b = b | 0; - d = d | 0; - e = e | 0; - var f = 0, g = 0, h = 0, i = 0; - f = 0; - do { - g = d + (f << 2) | 0; - h = e + (f << 2) | 0; - i = f << 2; - a[b + i | 0] = (c[h >> 2] << 2 & 12 | c[g >> 2] & 3) & 255; - a[b + (i | 1) | 0] = ((c[g >> 2] | 0) >>> 2 & 3 | c[h >> 2] & 12) & 255; - a[b + (i | 2) | 0] = ((c[h >> 2] | 0) >>> 4 << 2 & 12 | (c[g >> 2] | 0) >>> 4 & 3) & 255; - a[b + (i | 3) | 0] = ((c[h >> 2] | 0) >>> 6 << 2 & 12 | (c[g >> 2] | 0) >>> 6 & 3) & 255; - f = f + 1 | 0; - } while ((f | 0) < 31); - f = d + 124 | 0; - d = e + 124 | 0; - a[b + 124 | 0] = (c[d >> 2] << 2 & 12 | c[f >> 2] & 3) & 255; - a[b + 125 | 0] = ((c[f >> 2] | 0) >>> 2 & 3 | c[d >> 2] & 12) & 255; - a[b + 126 | 0] = ((c[d >> 2] | 0) >>> 4 << 2 & 12 | (c[f >> 2] | 0) >>> 4 & 3) & 255; - return; -} -function c4(a, b) { - a = a | 0; - b = b | 0; - var e = 0; - e = 0; - do { - c[a + (e << 2) >> 2] = d[b + e | 0] | 0; - e = e + 1 | 0; - } while ((e | 0) < 32); - e = a + 124 | 0; - c[e >> 2] = c[e >> 2] & 127; - return; -} -function c5(b, e) { - b = b | 0; - e = e | 0; - var f = 0, g = 0, h = 0; - f = 0; - do { - a[b + f | 0] = c[e + (f << 2) >> 2] & 255; - f = f + 1 | 0; - } while ((f | 0) < 32); - f = b + 31 | 0; - e = 30; - g = (a[f] | 0) == 127 | 0; - do { - g = g & -((a[b + e | 0] | 0) == -1 | 0); - e = e - 1 | 0; - } while ((e | 0) > 1); - e = g & -((d[b] | 0) > 236 | 0); - a[f] = (e * -127 | 0) + (d[f] | 0) & 255; - f = e * -255 | 0; - g = 30; - do { - h = b + g | 0; - a[h] = (d[h] | 0) + f & 255; - g = g - 1 | 0; - } while ((g | 0) > 0); - a[b] = (d[b] | 0) + (e * -237 | 0) & 255; - return; -} -function c6(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0; - d = i; - i = i + 264 | 0; - e = d | 0; - f = i; - i = i + 132 | 0; - i = i + 7 >> 3 << 3; - g = i; - i = i + 132 | 0; - i = i + 7 >> 3 << 3; - fm(e | 0, 0, 264); - h = b; - j = f; - fm(g | 0, 0, 132); - k = 0; - do { - l = 528 + (k << 2) | 0; - m = 0; - do { - n = m + k | 0; - if ((n | 0) > 30) { - o = ad(c[b + (m + 31 << 2) >> 2] | 0, c[l >> 2] | 0) | 0; - p = e + (n << 2) | 0; - c[p >> 2] = (c[p >> 2] | 0) + o; - } - m = m + 1 | 0; - } while ((m | 0) < 33); - k = k + 1 | 0; - } while ((k | 0) < 33); - k = e + 128 | 0; - b = (c[k >> 2] | 0) + ((c[e + 124 >> 2] | 0) >>> 8) | 0; - c[k >> 2] = b; - k = e + 132 | 0; - c[k >> 2] = (b >>> 8) + (c[k >> 2] | 0); - fn(j | 0, h | 0, 132) | 0; - h = 0; - while (1) { - j = 992 + (h << 2) | 0; - k = 0; - do { - b = k + h | 0; - if ((b | 0) < 33) { - m = ad(c[e + (k + 33 << 2) >> 2] | 0, c[j >> 2] | 0) | 0; - l = g + (b << 2) | 0; - c[l >> 2] = (c[l >> 2] | 0) + m; - } - k = k + 1 | 0; - } while ((k | 0) < 33); - k = h + 1 | 0; - if ((k | 0) < 32) { - h = k; - } else { - q = 0; - break; - } - } - while (1) { - h = g + (q << 2) | 0; - e = q + 1 | 0; - k = g + (e << 2) | 0; - c[k >> 2] = (c[k >> 2] | 0) + ((c[h >> 2] | 0) >>> 8); - c[h >> 2] = c[h >> 2] & 255; - if ((e | 0) < 32) { - q = e; - } else { - r = 0; - s = 0; - break; - } - } - do { - q = (c[g + (s << 2) >> 2] | 0) + r | 0; - e = c[f + (s << 2) >> 2] | 0; - r = cW(e, q) | 0; - c[a + (s << 2) >> 2] = e - q + (r << 8); - s = s + 1 | 0; - } while ((s | 0) < 32); - da(a); - da(a); - i = d; - return; -} -function c7(a, b) { - a = a | 0; - b = b | 0; - var e = 0, f = 0, g = 0; - e = i; - i = i + 256 | 0; - f = e | 0; - g = 0; - do { - c[f + (g << 2) >> 2] = d[b + g | 0] | 0; - g = g + 1 | 0; - } while ((g | 0) < 64); - c6(a, f | 0); - i = e; - return; -} -function c8(a, b) { - a = a | 0; - b = b | 0; - c[a >> 2] = c[b >> 2]; - c[a + 4 >> 2] = c[b + 4 >> 2]; - c[a + 8 >> 2] = c[b + 8 >> 2]; - c[a + 12 >> 2] = c[b + 12 >> 2]; - c[a + 16 >> 2] = c[b + 16 >> 2]; - c[a + 20 >> 2] = c[b + 20 >> 2]; - c[a + 24 >> 2] = c[b + 24 >> 2]; - c[a + 28 >> 2] = c[b + 28 >> 2]; - c[a + 32 >> 2] = c[b + 32 >> 2]; - c[a + 36 >> 2] = c[b + 36 >> 2]; - c[a + 40 >> 2] = c[b + 40 >> 2]; - c[a + 44 >> 2] = c[b + 44 >> 2]; - c[a + 48 >> 2] = c[b + 48 >> 2]; - c[a + 52 >> 2] = c[b + 52 >> 2]; - c[a + 56 >> 2] = c[b + 56 >> 2]; - c[a + 60 >> 2] = c[b + 60 >> 2]; - fm(a + 64 | 0, 0, 64); - return; -} -function c9(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0; - e = 0; - while (1) { - c[a + (e << 2) >> 2] = (c[d + (e << 2) >> 2] | 0) + (c[b + (e << 2) >> 2] | 0); - f = e + 1 | 0; - if ((f | 0) < 32) { - e = f; - } else { - g = 0; - break; - } - } - do { - e = a + (g << 2) | 0; - g = g + 1 | 0; - b = a + (g << 2) | 0; - c[b >> 2] = (c[b >> 2] | 0) + ((c[e >> 2] | 0) >>> 8); - c[e >> 2] = c[e >> 2] & 255; - } while ((g | 0) < 31); - da(a); - return; -} -function da(b) { - b = b | 0; - var e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0; - e = i; - i = i + 32 | 0; - f = e | 0; - g = 0; - h = 0; - while (1) { - j = (c[992 + (h << 2) >> 2] | 0) + g | 0; - k = c[b + (h << 2) >> 2] | 0; - l = cW(k, j) | 0; - a[f + h | 0] = k - j & 255; - j = h + 1 | 0; - m = l - 1 | 0; - if ((j | 0) < 32) { - g = l; - h = j; - } else { - n = 0; - break; - } - } - do { - h = b + (n << 2) | 0; - g = c[h >> 2] | 0; - c[h >> 2] = ((d[f + n | 0] | 0) ^ g) & m ^ g; - n = n + 1 | 0; - } while ((n | 0) < 32); - i = e; - return; -} -function db(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0; - e = i; - i = i + 256 | 0; - f = e | 0; - fm(f | 0, 0, 256); - g = 0; - while (1) { - h = c[b + (g << 2) >> 2] | 0; - j = 0; - do { - k = ad(c[d + (j << 2) >> 2] | 0, h) | 0; - l = f + (j + g << 2) | 0; - c[l >> 2] = (c[l >> 2] | 0) + k; - j = j + 1 | 0; - } while ((j | 0) < 32); - j = g + 1 | 0; - if ((j | 0) < 32) { - g = j; - } else { - m = 0; - break; - } - } - do { - g = f + (m << 2) | 0; - m = m + 1 | 0; - d = f + (m << 2) | 0; - c[d >> 2] = (c[d >> 2] | 0) + ((c[g >> 2] | 0) >>> 8); - c[g >> 2] = c[g >> 2] & 255; - } while ((m | 0) < 63); - c6(a, f | 0); - i = e; - return; -} -function dc(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - var d = 0, e = 0; - d = i; - i = i + 128 | 0; - e = d | 0; - c8(e, c); - db(a, b, e); - i = d; - return; -} -function dd(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0; - e = d & 255; - f = 1 - d & 255; - d = 0; - do { - g = a + (d << 2) | 0; - h = ad(c[g >> 2] | 0, f) | 0; - c[g >> 2] = (ad(c[b + (d << 2) >> 2] | 0, e) | 0) + h; - d = d + 1 | 0; - } while ((d | 0) < 32); - return; -} -function de(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0; - b = a + 124 | 0; - d = 30; - e = (c[b >> 2] | 0) == 127 | 0; - do { - e = e & -((c[a + (d << 2) >> 2] | 0) == 255 | 0); - d = d - 1 | 0; - } while ((d | 0) > 1); - d = a | 0; - f = e & -((c[d >> 2] | 0) >>> 0 > 236 | 0); - c[b >> 2] = (f * -127 | 0) + (c[b >> 2] | 0); - b = f * -255 | 0; - e = 30; - do { - g = a + (e << 2) | 0; - c[g >> 2] = (c[g >> 2] | 0) + b; - e = e - 1 | 0; - } while ((e | 0) > 0); - c[d >> 2] = (c[d >> 2] | 0) + (f * -237 | 0); - return; -} -function df(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0; - b = a + 124 | 0; - d = a | 0; - e = c[b >> 2] | 0; - c[b >> 2] = e & 127; - c[d >> 2] = ((e >>> 7) * 19 | 0) + (c[d >> 2] | 0); - e = 0; - do { - f = a + (e << 2) | 0; - e = e + 1 | 0; - g = a + (e << 2) | 0; - c[g >> 2] = (c[g >> 2] | 0) + ((c[f >> 2] | 0) >>> 8); - c[f >> 2] = c[f >> 2] & 255; - } while ((e | 0) < 31); - e = c[b >> 2] | 0; - c[b >> 2] = e & 127; - c[d >> 2] = ((e >>> 7) * 19 | 0) + (c[d >> 2] | 0); - e = 0; - do { - f = a + (e << 2) | 0; - e = e + 1 | 0; - g = a + (e << 2) | 0; - c[g >> 2] = (c[g >> 2] | 0) + ((c[f >> 2] | 0) >>> 8); - c[f >> 2] = c[f >> 2] & 255; - } while ((e | 0) < 31); - e = c[b >> 2] | 0; - c[b >> 2] = e & 127; - c[d >> 2] = ((e >>> 7) * 19 | 0) + (c[d >> 2] | 0); - e = 0; - do { - f = a + (e << 2) | 0; - e = e + 1 | 0; - g = a + (e << 2) | 0; - c[g >> 2] = (c[g >> 2] | 0) + ((c[f >> 2] | 0) >>> 8); - c[f >> 2] = c[f >> 2] & 255; - } while ((e | 0) < 31); - e = c[b >> 2] | 0; - c[b >> 2] = e & 127; - c[d >> 2] = ((e >>> 7) * 19 | 0) + (c[d >> 2] | 0); - d = 0; - do { - e = a + (d << 2) | 0; - d = d + 1 | 0; - b = a + (d << 2) | 0; - c[b >> 2] = (c[b >> 2] | 0) + ((c[e >> 2] | 0) >>> 8); - c[e >> 2] = c[e >> 2] & 255; - } while ((d | 0) < 31); - return; -} -function dg(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0; - b = a + 124 | 0; - d = a | 0; - e = c[b >> 2] | 0; - c[b >> 2] = e & 127; - c[d >> 2] = ((e >>> 7) * 19 | 0) + (c[d >> 2] | 0); - e = 0; - do { - f = a + (e << 2) | 0; - e = e + 1 | 0; - g = a + (e << 2) | 0; - c[g >> 2] = (c[g >> 2] | 0) + ((c[f >> 2] | 0) >>> 8); - c[f >> 2] = c[f >> 2] & 255; - } while ((e | 0) < 31); - e = c[b >> 2] | 0; - c[b >> 2] = e & 127; - c[d >> 2] = ((e >>> 7) * 19 | 0) + (c[d >> 2] | 0); - d = 0; - do { - e = a + (d << 2) | 0; - d = d + 1 | 0; - b = a + (d << 2) | 0; - c[b >> 2] = (c[b >> 2] | 0) + ((c[e >> 2] | 0) >>> 8); - c[e >> 2] = c[e >> 2] & 255; - } while ((d | 0) < 31); - return; -} -function dh(a) { - a = a | 0; - var b = 0, d = 0; - b = 1; - d = (c[a >> 2] | 0) == 1 | 0; - do { - d = d & -((c[a + (b << 2) >> 2] | 0) == 0 | 0); - b = b + 1 | 0; - } while ((b | 0) < 32); - return d | 0; -} -function di(a) { - a = a | 0; - var b = 0, d = 0; - b = 1; - d = (c[a >> 2] | 0) == 0 | 0; - do { - d = d & -((c[a + (b << 2) >> 2] | 0) == 0 | 0); - b = b + 1 | 0; - } while ((b | 0) < 32); - return d | 0; -} -function dj(a) { - a = a | 0; - var b = 0, d = 0, e = 0; - b = i; - d = a; - a = i; - i = i + 128 | 0; - e = a; - fn(e | 0, d | 0, 128) | 0; - de(a); - i = b; - return c[a >> 2] & 1 | 0; -} -function dk(a) { - a = a | 0; - c[a >> 2] = 1; - fm(a + 4 | 0, 0, 124); - return; -} -function dl(a) { - a = a | 0; - fm(a | 0, 0, 128); - return; -} -function dm(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0, e = 0; - c = i; - d = b; - b = i; - i = i + 128 | 0; - e = b; - fn(e | 0, d | 0, 128) | 0; - dl(a); - dn(a, a, b); - i = c; - return; -} -function dn(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, j = 0; - e = i; - i = i + 128 | 0; - f = e | 0; - c[f >> 2] = (c[b >> 2] | 0) + 474; - c[f + 124 >> 2] = (c[b + 124 >> 2] | 0) + 254; - g = 1; - while (1) { - c[f + (g << 2) >> 2] = (c[b + (g << 2) >> 2] | 0) + 510; - h = g + 1 | 0; - if ((h | 0) < 31) { - g = h; - } else { - j = 0; - break; - } - } - do { - c[a + (j << 2) >> 2] = (c[f + (j << 2) >> 2] | 0) - (c[d + (j << 2) >> 2] | 0); - j = j + 1 | 0; - } while ((j | 0) < 32); - df(a); - i = e; - return; -} -function dp(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0; - e = 0; - do { - c[a + (e << 2) >> 2] = (c[d + (e << 2) >> 2] | 0) + (c[b + (e << 2) >> 2] | 0); - e = e + 1 | 0; - } while ((e | 0) < 32); - df(a); - return; -} -function dq(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0; - e = i; - i = i + 256 | 0; - f = e | 0; - fm(f | 0, 0, 252); - g = 0; - while (1) { - h = c[b + (g << 2) >> 2] | 0; - j = 0; - do { - k = ad(c[d + (j << 2) >> 2] | 0, h) | 0; - l = f + (j + g << 2) | 0; - c[l >> 2] = (c[l >> 2] | 0) + k; - j = j + 1 | 0; - } while ((j | 0) < 32); - j = g + 1 | 0; - if ((j | 0) < 32) { - g = j; - } else { - m = 32; - break; - } - } - do { - g = m - 32 | 0; - c[a + (g << 2) >> 2] = ((c[f + (m << 2) >> 2] | 0) * 38 | 0) + (c[f + (g << 2) >> 2] | 0); - m = m + 1 | 0; - } while ((m | 0) < 63); - c[a + 124 >> 2] = c[f + 124 >> 2]; - dg(a); - i = e; - return; -} -function dr(a, b) { - a = a | 0; - b = b | 0; - dq(a, b, b); - return; -} -function ds(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - var e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0; - e = i; - i = i + 2304 | 0; - f = e | 0; - g = e + 128 | 0; - h = e + 2176 | 0; - dk(f); - dk(g | 0); - j = g + 128 | 0; - k = j; - l = b; - fn(k | 0, l | 0, 128) | 0; - l = g + 256 | 0; - dr(l, g + 128 | 0); - dq(g + 384 | 0, l, j); - l = g + 512 | 0; - dr(l, g + 256 | 0); - dq(g + 640 | 0, l, j); - l = g + 768 | 0; - dr(l, g + 384 | 0); - dq(g + 896 | 0, l, j); - l = g + 1024 | 0; - dr(l, g + 512 | 0); - dq(g + 1152 | 0, l, j); - l = g + 1280 | 0; - dr(l, g + 640 | 0); - dq(g + 1408 | 0, l, j); - l = g + 1536 | 0; - dr(l, g + 768 | 0); - dq(g + 1664 | 0, l, j); - l = g + 1792 | 0; - dr(l, g + 896 | 0); - dq(g + 1920 | 0, l, j); - j = h; - l = g; - k = 32; - do { - b = c + (k - 1) | 0; - m = g + 128 | 0; - n = 4; - do { - dr(f, f); - dr(f, f); - dr(f, f); - dr(f, f); - o = (d[b] | 0) >>> (n >>> 0); - fn(j | 0, l | 0, 128) | 0; - p = o & 15; - dd(h, m, (p | 0) == 1 | 0); - dd(h, g + 256 | 0, (p | 0) == 2 | 0); - dd(h, g + 384 | 0, (p | 0) == 3 | 0); - dd(h, g + 512 | 0, (p | 0) == 4 | 0); - dd(h, g + 640 | 0, (p | 0) == 5 | 0); - dd(h, g + 768 | 0, (p | 0) == 6 | 0); - dd(h, g + 896 | 0, (p | 0) == 7 | 0); - dd(h, g + 1024 | 0, (p | 0) == 8 | 0); - dd(h, g + 1152 | 0, (p | 0) == 9 | 0); - dd(h, g + 1280 | 0, (p | 0) == 10 | 0); - dd(h, g + 1408 | 0, (p | 0) == 11 | 0); - dd(h, g + 1536 | 0, (p | 0) == 12 | 0); - dd(h, g + 1664 | 0, (p | 0) == 13 | 0); - dd(h, g + 1792 | 0, (p | 0) == 14 | 0); - dd(h, g + 1920 | 0, (p | 0) == 15 | 0); - dq(f, f, h); - n = n - 4 | 0; - } while ((n | 0) > -1); - k = k - 1 | 0; - } while ((k | 0) > 0); - k = a; - a = f; - fn(k | 0, a | 0, 128) | 0; - i = e; - return; -} -function dt(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0; - e = i; - i = i + 352 | 0; - f = e + 32 | 0; - g = e + 64 | 0; - h = e + 96 | 0; - j = e + 224 | 0; - if ((du(b) | 0) == 0) { - k = -1; - i = e; - return k | 0; - } - l = e | 0; - fn(l | 0, 111032, 32) | 0; - m = f | 0; - fn(m | 0, 111e3, 32) | 0; - f = g | 0; - fn(f | 0, 110968, 32) | 0; - fm(h | 0, 0, 128); - ds(j, b, l); - de(j); - if ((dh(j) | 0) == 0) { - l = 0; - do { - c[j + (l << 2) >> 2] = c[b + (l << 2) >> 2] << 2; - l = l + 1 | 0; - } while ((l | 0) < 32); - ds(j, j, f); - f = 0; - do { - c[a + (f << 2) >> 2] = c[b + (f << 2) >> 2] << 1; - f = f + 1 | 0; - } while ((f | 0) < 32); - dq(a, a, j); - } else { - ds(a, b, m); - } - de(a); - if (((c[a >> 2] ^ d & 255) & 1 | 0) == 0) { - k = 0; - i = e; - return k | 0; - } - dn(a, h, a); - k = 0; - i = e; - return k | 0; -} -function du(a) { - a = a | 0; - var b = 0, c = 0, d = 0, e = 0; - b = i; - i = i + 160 | 0; - c = b + 32 | 0; - d = b | 0; - fn(d | 0, 1312, 32) | 0; - ds(c, a, d); - de(c); - if ((dh(c) | 0) != 0) { - e = 1; - i = b; - return e | 0; - } - e = (di(c) | 0) != 0 | 0; - i = b; - return e | 0; -} -function dv(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0; - c = i; - i = i + 1280 | 0; - d = c | 0; - e = c + 128 | 0; - f = c + 256 | 0; - g = c + 384 | 0; - h = c + 512 | 0; - j = c + 640 | 0; - k = c + 768 | 0; - l = c + 896 | 0; - m = c + 1024 | 0; - n = c + 1152 | 0; - dr(d, b); - dr(n, d); - dr(m, n); - dq(e, m, b); - dq(f, e, d); - dr(m, f); - dq(g, m, e); - dr(m, g); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dq(h, m, g); - dr(m, h); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dr(n, m); - dq(j, n, h); - dr(m, j); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dr(n, m); - dq(m, n, j); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dq(k, m, h); - dr(m, k); - dr(n, m); - h = 2; - do { - dr(m, n); - dr(n, m); - h = h + 2 | 0; - } while ((h | 0) < 50); - dq(l, n, k); - dr(n, l); - dr(m, n); - h = 2; - do { - dr(n, m); - dr(m, n); - h = h + 2 | 0; - } while ((h | 0) < 100); - dq(n, m, l); - dr(m, n); - dr(n, m); - l = 2; - do { - dr(m, n); - dr(n, m); - l = l + 2 | 0; - } while ((l | 0) < 50); - dq(m, n, k); - dr(n, m); - dr(m, n); - dr(n, m); - dr(m, n); - dr(n, m); - dq(a, n, f); - i = c; - return; -} -function dw(a, b) { - a = a | 0; - b = b | 0; - var c = 0, e = 0, f = 0, g = 0, h = 0, j = 0; - c = i; - i = i + 256 | 0; - e = c | 0; - f = c + 128 | 0; - g = a + 256 | 0; - dk(g); - c4(f, 110776); - h = (d[b + 31 | 0] | 0) >>> 7; - j = a + 128 | 0; - c4(j, b); - b = a | 0; - dr(b, j); - dq(e, b, f); - dn(b, b, g); - dp(e, g, e); - dv(e, e); - dq(b, b, e); - e = dt(b, b, h) | 0; - dq(a + 384 | 0, b, j); - i = c; - return e | 0; -} -function dx(b, c) { - b = b | 0; - c = c | 0; - var d = 0, e = 0, f = 0, g = 0; - d = i; - i = i + 384 | 0; - e = d | 0; - f = d + 128 | 0; - g = d + 256 | 0; - dv(g, c + 256 | 0); - dq(e, c | 0, g); - dq(f, c + 128 | 0, g); - c5(b, f); - f = (dj(e) | 0) << 7; - e = b + 31 | 0; - a[e] = a[e] ^ f; - i = d; - return; -} -function dy(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - var d = 0, e = 0; - d = i; - i = i + 512 | 0; - e = d | 0; - dz(e, b, c); - dA(a, e); - i = d; - return; -} -function dz(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; - d = i; - i = i + 768 | 0; - e = d | 0; - f = d + 128 | 0; - g = d + 256 | 0; - h = d + 384 | 0; - j = d + 512 | 0; - k = d + 640 | 0; - c4(k, 110776); - l = b + 128 | 0; - m = b | 0; - dn(e, l, m); - n = c + 128 | 0; - o = c | 0; - dn(j, n, o); - dq(e, e, j); - dp(f, m, l); - dp(j, o, n); - dq(f, f, j); - dq(g, b + 384 | 0, c + 384 | 0); - dq(g, g, k); - dp(g, g, g); - dq(h, b + 256 | 0, c + 256 | 0); - dp(h, h, h); - dn(a | 0, f, e); - dn(a + 384 | 0, h, g); - dp(a + 128 | 0, h, g); - dp(a + 256 | 0, f, e); - i = d; - return; -} -function dA(a, b) { - a = a | 0; - b = b | 0; - dG(a, b); - dq(a + 384 | 0, b | 0, b + 256 | 0); - return; -} -function dB(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0; - c = i; - i = i + 512 | 0; - d = c | 0; - dC(d, b); - dA(a, d); - i = c; - return; -} -function dC(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, j = 0; - c = i; - i = i + 512 | 0; - d = c | 0; - e = c + 128 | 0; - f = c + 256 | 0; - g = c + 384 | 0; - h = b | 0; - dr(d, h); - j = b + 128 | 0; - dr(e, j); - dr(f, b + 256 | 0); - dp(f, f, f); - dm(g, d); - b = a | 0; - dp(b, h, j); - dr(b, b); - dn(b, b, d); - dn(b, b, e); - b = a + 128 | 0; - dp(b, g, e); - dn(a + 384 | 0, b, f); - dn(a + 256 | 0, g, e); - i = c; - return; -} -function dD(b, d) { - b = b | 0; - d = d | 0; - var e = 0; - e = 0; - do { - a[b + e | 0] = c[d + (e << 2) >> 2] & 255; - e = e + 1 | 0; - } while ((e | 0) < 32); - return; -} -function dE(b) { - b = b | 0; - var e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0; - e = i; - i = i + 32 | 0; - f = e | 0; - g = 0; - h = 0; - while (1) { - j = c[b + (h << 2) >> 2] | 0; - k = c[864 + (h << 2) >> 2] | 0; - l = j >>> 0 < (k + g | 0) >>> 0 | 0; - a[f + h | 0] = j - g - k & 255; - k = h + 1 | 0; - if ((k | 0) < 32) { - g = l; - h = k; - } else { - break; - } - } - h = l ^ 1; - g = 0; - do { - k = b + (g << 2) | 0; - c[k >> 2] = ((d[f + g | 0] | 0) & -h) + (c[k >> 2] & -l); - g = g + 1 | 0; - } while ((g | 0) < 32); - i = e; - return; -} -function dF(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - var e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0; - e = i; - i = i + 3616 | 0; - f = e | 0; - g = e + 512 | 0; - h = e + 2560 | 0; - j = e + 3072 | 0; - k = e + 3584 | 0; - c4(f | 0, 112080); - l = f + 128 | 0; - c4(l, 1560); - m = f + 256 | 0; - c4(m, 1528); - n = f + 384 | 0; - c4(n, 112112); - dD(k | 0, c); - c = g; - o = f; - fn(c | 0, o | 0, 512) | 0; - p = g + 512 | 0; - q = p; - r = b; - fn(q | 0, r | 0, 512) | 0; - dC(j, g + 512 | 0); - r = g + 1024 | 0; - dA(r, j); - dz(j, r, p); - dA(g + 1536 | 0, j); - p = f; - r = h; - q = 32; - do { - b = k + (q - 1) | 0; - s = 6; - do { - dC(j, p); - dG(p, j); - dC(j, p); - dA(f, j); - t = (d[b] | 0) >>> (s >>> 0); - fn(r | 0, c | 0, 512) | 0; - u = t & 3; - t = 1; - do { - dH(h, g + (t << 9) | 0, (t | 0) == (u | 0) | 0); - t = t + 1 | 0; - } while ((t | 0) < 4); - dz(j, f, h); - if ((s | 0) == 0) { - v = 518; - break; - } - dG(p, j); - s = s - 2 | 0; - } while ((s | 0) > -1); - if ((v | 0) == 518) { - v = 0; - dA(f, j); - } - q = q - 1 | 0; - } while ((q | 0) > 0); - q = a; - fn(q | 0, o | 0, 128) | 0; - o = a + 128 | 0; - q = l; - fn(o | 0, q | 0, 128) | 0; - q = a + 256 | 0; - o = m; - fn(q | 0, o | 0, 128) | 0; - o = a + 384 | 0; - a = n; - fn(o | 0, a | 0, 128) | 0; - i = e; - return; -} -function dG(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0; - c = b + 384 | 0; - dq(a | 0, b | 0, c); - d = b + 128 | 0; - dq(a + 128 | 0, b + 256 | 0, d); - dq(a + 256 | 0, d, c); - return; -} -function dH(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - dd(a | 0, b | 0, c); - dd(a + 128 | 0, b + 128 | 0, c); - dd(a + 256 | 0, b + 256 | 0, c); - dd(a + 384 | 0, b + 384 | 0, c); - return; -} -function dI(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0; - c = i; - i = i + 512 | 0; - d = c | 0; - c4(d | 0, 1912); - c4(d + 128 | 0, 1880); - c4(d + 256 | 0, 1848); - c4(d + 384 | 0, 1944); - dF(a, d, b); - i = c; - return; -} -function dJ(a, b) { - a = a | 0; - b = b | 0; - var e = 0, f = 0, g = 0; - e = i; - i = i + 256 | 0; - f = e | 0; - fm(f | 0, 0, 256); - g = 0; - do { - c[f + (g << 2) >> 2] = d[b + g | 0] | 0; - g = g + 1 | 0; - } while ((g | 0) < 32); - dK(a, f | 0); - i = e; - return; -} -function dK(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0; - d = i; - i = i + 536 | 0; - e = d | 0; - f = d + 264 | 0; - g = d + 400 | 0; - fm(e | 0, 0, 264); - fm(g | 0, 0, 132); - h = 0; - do { - j = 392 + (h << 2) | 0; - k = 0; - do { - l = k + h | 0; - if ((l | 0) > 30) { - m = ad(c[b + (k + 31 << 2) >> 2] | 0, c[j >> 2] | 0) | 0; - n = e + (l << 2) | 0; - c[n >> 2] = (c[n >> 2] | 0) + m; - } - k = k + 1 | 0; - } while ((k | 0) < 33); - h = h + 1 | 0; - } while ((h | 0) < 33); - h = b; - b = f; - k = e + 128 | 0; - j = (c[k >> 2] | 0) + ((c[e + 124 >> 2] | 0) >>> 8) | 0; - c[k >> 2] = j; - k = e + 132 | 0; - c[k >> 2] = (j >>> 8) + (c[k >> 2] | 0); - fn(b | 0, h | 0, 132) | 0; - h = 0; - while (1) { - b = 864 + (h << 2) | 0; - k = 0; - do { - j = k + h | 0; - if ((j | 0) < 33) { - m = ad(c[e + (k + 33 << 2) >> 2] | 0, c[b >> 2] | 0) | 0; - n = g + (j << 2) | 0; - c[n >> 2] = (c[n >> 2] | 0) + m; - } - k = k + 1 | 0; - } while ((k | 0) < 33); - k = h + 1 | 0; - if ((k | 0) < 32) { - h = k; - } else { - o = 0; - break; - } - } - while (1) { - h = g + (o << 2) | 0; - e = o + 1 | 0; - k = g + (e << 2) | 0; - c[k >> 2] = (c[k >> 2] | 0) + ((c[h >> 2] | 0) >>> 8); - c[h >> 2] = c[h >> 2] & 255; - if ((e | 0) < 32) { - o = e; - } else { - p = 0; - q = 0; - break; - } - } - while (1) { - o = c[f + (p << 2) >> 2] | 0; - e = c[g + (p << 2) >> 2] | 0; - h = o >>> 0 < (e + q | 0) >>> 0 | 0; - c[a + (p << 2) >> 2] = o - q - e + (h << 8); - e = p + 1 | 0; - if ((e | 0) < 32) { - p = e; - q = h; - } else { - break; - } - } - dE(a); - dE(a); - i = d; - return; -} -function dL(a, b) { - a = a | 0; - b = b | 0; - var e = 0, f = 0, g = 0; - e = i; - i = i + 256 | 0; - f = e | 0; - fm(f | 0, 0, 256); - g = 0; - do { - c[f + (g << 2) >> 2] = d[b + g | 0] | 0; - g = g + 1 | 0; - } while ((g | 0) < 64); - dK(a, f | 0); - i = e; - return; -} -function dM(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0; - e = 0; - while (1) { - c[a + (e << 2) >> 2] = (c[d + (e << 2) >> 2] | 0) + (c[b + (e << 2) >> 2] | 0); - f = e + 1 | 0; - if ((f | 0) < 32) { - e = f; - } else { - g = 0; - break; - } - } - do { - e = a + (g << 2) | 0; - g = g + 1 | 0; - b = a + (g << 2) | 0; - c[b >> 2] = (c[b >> 2] | 0) + ((c[e >> 2] | 0) >>> 8); - c[e >> 2] = c[e >> 2] & 255; - } while ((g | 0) < 31); - dE(a); - return; -} -function dN(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0; - e = i; - i = i + 256 | 0; - f = e | 0; - fm(f | 0, 0, 256); - g = 0; - while (1) { - h = c[b + (g << 2) >> 2] | 0; - j = 0; - do { - k = ad(c[d + (j << 2) >> 2] | 0, h) | 0; - l = f + (j + g << 2) | 0; - c[l >> 2] = (c[l >> 2] | 0) + k; - j = j + 1 | 0; - } while ((j | 0) < 32); - j = g + 1 | 0; - if ((j | 0) < 32) { - g = j; - } else { - m = 0; - break; - } - } - do { - g = f + (m << 2) | 0; - m = m + 1 | 0; - d = f + (m << 2) | 0; - c[d >> 2] = (c[d >> 2] | 0) + ((c[g >> 2] | 0) >>> 8); - c[g >> 2] = c[g >> 2] & 255; - } while ((m | 0) < 63); - dK(a, f | 0); - i = e; - return; -} -function dO(a, b) { - a = a | 0; - b = b | 0; - dN(a, b, b); - return; -} -function dP(b, c) { - b = b | 0; - c = c | 0; - var d = 0, e = 0, f = 0, g = 0; - d = i; - i = i + 640 | 0; - e = d | 0; - f = d + 128 | 0; - at(c | 0, 32, 0); - bR(c, c, 32, 0) | 0; - a[c] = a[c] & -8; - g = c + 31 | 0; - a[g] = a[g] & 63 | 64; - dJ(e, c); - dI(f, e); - dx(b, f); - i = d; - return 0; -} -function dQ(b, d, e, f, g, h) { - b = b | 0; - d = d | 0; - e = e | 0; - f = f | 0; - g = g | 0; - h = h | 0; - var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0; - j = i; - i = i + 928 | 0; - k = j | 0; - l = j + 128 | 0; - m = j + 256 | 0; - n = j + 384 | 0; - o = j + 896 | 0; - p = o | 0; - q = i; - i = i + 32 | 0; - r = q | 0; - s = i; - i = i + 64 | 0; - t = i; - i = i + 64 | 0; - u = fp(f, g, 64, 0) | 0; - c[d >> 2] = u; - c[d + 4 >> 2] = H; - if ((f | 0) == 0 & (g | 0) == 0) { - v = 0; - w = 0; - } else { - d = 0; - u = 0; - while (1) { - x = a[e + u | 0] | 0; - y = fp(u, d, 32, 0) | 0; - a[b + y | 0] = x; - x = fp(u, d, 1, 0) | 0; - y = H; - if (y >>> 0 < g >>> 0 | y >>> 0 == g >>> 0 & x >>> 0 < f >>> 0) { - d = y; - u = x; - } else { - v = 0; - w = 0; - break; - } - } - } - do { - u = fp(w, v, 32, 0) | 0; - a[b + w | 0] = a[h + u | 0] | 0; - w = fp(w, v, 1, 0) | 0; - v = H; - u = 0; - } while (v >>> 0 < u >>> 0 | v >>> 0 == u >>> 0 & w >>> 0 < 32 >>> 0); - w = s | 0; - s = fp(f, g, 32, 0) | 0; - v = H; - bR(w, b, s, v) | 0; - dL(k, w); - dI(n, k); - dx(o | 0, n); - fn(b | 0, p | 0, 32) | 0; - p = t | 0; - bR(p, b, s, v) | 0; - dL(l, p); - dN(l, l, k); - dJ(m, h); - dM(l, l, m); - dD(q | 0, l); - l = fp(f, g, 32, 0) | 0; - g = b + l | 0; - fn(g | 0, r | 0, 32) | 0; - i = j; - return 0; -} -function dR(b, d, e, f, g, h) { - b = b | 0; - d = d | 0; - e = e | 0; - f = f | 0; - g = g | 0; - h = h | 0; - var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0; - j = i; - i = i + 1920 | 0; - k = j + 64 | 0; - l = j + 576 | 0; - m = j + 1088 | 0; - n = j + 1600 | 0; - o = j + 1728 | 0; - if ((dw(k, e) | 0) != 0) { - p = -1; - i = j; - return p | 0; - } - if ((dw(m, h) | 0) != 0) { - p = -1; - i = j; - return p | 0; - } - h = j + 1856 | 0; - q = fp(f, g, -32, -1) | 0; - bR(h, e, q, H) | 0; - dL(n, h); - dF(k, k, n); - dy(k, k, m); - m = j | 0; - dx(m, k); - dJ(o, e + q | 0); - dI(l, o); - o = j + 32 | 0; - dx(o, l); - l = fp(f, g, -64, -1) | 0; - g = H; - if (!((l | 0) == 0 & (g | 0) == 0)) { - f = 0; - do { - a[b + f | 0] = a[e + (f + 32) | 0] | 0; - f = f + 1 | 0; - q = (f | 0) < 0 ? -1 : 0; - } while (q >>> 0 < g >>> 0 | q >>> 0 == g >>> 0 & f >>> 0 < l >>> 0); - } - c[d >> 2] = l; - c[d + 4 >> 2] = g; - p = em(m, o) | 0; - i = j; - return p | 0; -} -function dS(b, d, e, f, g) { - b = b | 0; - d = d | 0; - e = e | 0; - f = f | 0; - g = g | 0; - var h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, aa = 0, ab = 0, ac = 0, ad = 0, ae = 0, af = 0, ag = 0, ah = 0, ai = 0, aj = 0, ak = 0, al = 0, am = 0, an = 0, ao = 0, ap = 0, aq = 0, ar = 0, as = 0, at = 0, au = 0, av = 0, aw = 0, ax = 0, ay = 0, az = 0, aA = 0, aB = 0, aC = 0, aD = 0, aE = 0, aF = 0, aG = 0, aH = 0, aI = 0, aJ = 0, aK = 0, aL = 0, aM = 0, aN = 0, aO = 0, aP = 0, aQ = 0, aR = 0, aS = 0, aT = 0, aU = 0, aV = 0, aW = 0, aX = 0, aY = 0, aZ = 0, a_ = 0, a$ = 0, a0 = 0, a1 = 0, a2 = 0, a3 = 0, a4 = 0, a5 = 0, a6 = 0, a7 = 0, a8 = 0, a9 = 0, ba = 0, bb = 0, bc = 0, bd = 0, be = 0, bf = 0, bg = 0, bh = 0, bi = 0, bj = 0, bk = 0, bl = 0; - h = i; - i = i + 400 | 0; - j = h | 0; - k = h + 16 | 0; - l = h + 32 | 0; - m = h + 48 | 0; - n = h + 64 | 0; - o = h + 80 | 0; - p = h + 96 | 0; - q = h + 112 | 0; - r = h + 128 | 0; - s = h + 144 | 0; - t = h + 160 | 0; - u = h + 176 | 0; - v = h + 192 | 0; - w = h + 208 | 0; - x = h + 224 | 0; - y = h + 240 | 0; - z = h + 256 | 0; - A = h + 272 | 0; - d1(z, f); - f = z; - z = j; - B = g; - C = g + 16 | 0; - D = g + 32 | 0; - E = g + 48 | 0; - F = g + 64 | 0; - G = g + 80 | 0; - I = g + 96 | 0; - J = g + 112 | 0; - K = g + 128 | 0; - L = g + 144 | 0; - M = g + 160 | 0; - N = g + 176 | 0; - O = g + 192 | 0; - P = g + 208 | 0; - Q = g + 224 | 0; - R = g + 240 | 0; - S = g + 256 | 0; - T = g + 272 | 0; - U = g + 288 | 0; - V = g + 304 | 0; - W = g + 320 | 0; - X = g + 336 | 0; - Y = g + 352 | 0; - Z = g + 368 | 0; - _ = g + 384 | 0; - $ = g + 400 | 0; - aa = g + 416 | 0; - ab = g + 432 | 0; - ac = g + 448 | 0; - ad = g + 464 | 0; - ae = g + 480 | 0; - af = g + 496 | 0; - ag = g + 512 | 0; - ah = g + 528 | 0; - ai = g + 544 | 0; - aj = g + 560 | 0; - ak = g + 576 | 0; - al = g + 592 | 0; - am = g + 608 | 0; - an = g + 624 | 0; - ao = g + 640 | 0; - ap = g + 656 | 0; - aq = g + 672 | 0; - ar = g + 688 | 0; - as = g + 704 | 0; - at = g + 720 | 0; - au = g + 736 | 0; - av = g + 752 | 0; - aw = g + 768 | 0; - ax = g + 784 | 0; - ay = g + 800 | 0; - az = g + 816 | 0; - aA = g + 832 | 0; - aB = g + 848 | 0; - aC = g + 864 | 0; - aD = g + 880 | 0; - aE = g + 896 | 0; - aF = g + 912 | 0; - aG = g + 928 | 0; - aH = g + 944 | 0; - aI = g + 960 | 0; - aJ = g + 976 | 0; - aK = g + 992 | 0; - aL = g + 1008 | 0; - aM = g + 1024 | 0; - aN = g + 1040 | 0; - aO = g + 1056 | 0; - aP = g + 1072 | 0; - aQ = g + 1088 | 0; - aR = g + 1104 | 0; - aS = g + 1120 | 0; - aT = g + 1136 | 0; - aU = g + 1152 | 0; - aV = g + 1168 | 0; - aW = g + 1184 | 0; - aX = g + 1200 | 0; - aY = g + 1216 | 0; - aZ = g + 1232 | 0; - a_ = g + 1248 | 0; - a$ = g + 1264 | 0; - a0 = g + 1280 | 0; - a1 = g + 1296 | 0; - a2 = g + 1312 | 0; - a3 = g + 1328 | 0; - a4 = g + 1344 | 0; - a5 = g + 1360 | 0; - a6 = g + 1376 | 0; - a7 = g + 1392 | 0; - g = f + 12 | 0; - a8 = r; - a9 = s; - ba = v; - bb = x; - bc = u; - bd = y; - be = t; - bf = w; - bg = b; - b = e; - e = d; - while (1) { - c[z >> 2] = c[f >> 2]; - c[z + 4 >> 2] = c[f + 4 >> 2]; - c[z + 8 >> 2] = c[f + 8 >> 2]; - c[z + 12 >> 2] = c[f + 12 >> 2]; - d1(k, j); - d3(k, 110808); - d1(l, k); - d1(m, k); - d1(n, k); - d1(o, k); - d1(p, k); - d1(q, k); - d9(k, 1); - d9(l, 2); - d9(m, 3); - d9(n, 4); - d9(o, 5); - d9(p, 6); - d9(q, 7); - d3(j, 110888); - d3(k, 110872); - d3(l, 110872); - d3(m, 110872); - d3(n, 110872); - d3(o, 110872); - d3(p, 110872); - d3(q, 110872); - d1(r, p); - d6(r, 1); - d_(r, q); - d$(r, 110952); - d_(q, r); - d7(r, 1); - d_(p, r); - d1(r, n); - d6(r, 1); - d_(r, o); - d$(r, 110952); - d_(o, r); - d7(r, 1); - d_(n, r); - d1(r, l); - d6(r, 1); - d_(r, m); - d$(r, 110952); - d_(m, r); - d7(r, 1); - d_(l, r); - d1(r, j); - d6(r, 1); - d_(r, k); - d$(r, 110952); - d_(k, r); - d7(r, 1); - d_(j, r); - d1(r, o); - d6(r, 2); - d_(r, q); - d$(r, 110936); - d_(q, r); - d7(r, 2); - d_(o, r); - d1(r, n); - d6(r, 2); - d_(r, p); - d$(r, 110936); - d_(p, r); - d7(r, 2); - d_(n, r); - d1(r, k); - d6(r, 2); - d_(r, m); - d$(r, 110936); - d_(m, r); - d7(r, 2); - d_(k, r); - d1(r, j); - d6(r, 2); - d_(r, l); - d$(r, 110936); - d_(l, r); - d7(r, 2); - d_(j, r); - d1(r, m); - d6(r, 4); - d_(r, q); - d$(r, 110920); - d_(q, r); - d7(r, 4); - d_(m, r); - d1(r, l); - d6(r, 4); - d_(r, p); - d$(r, 110920); - d_(p, r); - d7(r, 4); - d_(l, r); - d1(r, k); - d6(r, 4); - d_(r, o); - d$(r, 110920); - d_(o, r); - d7(r, 4); - d_(k, r); - d1(r, j); - d6(r, 4); - d_(r, n); - d$(r, 110920); - d_(n, r); - d7(r, 4); - d_(j, r); - d_(j, B); - d3(j, 110840); - d_(k, C); - d3(k, 110840); - d_(l, D); - d3(l, 110840); - d_(m, E); - d3(m, 110840); - d_(n, F); - d3(n, 110840); - d_(o, G); - d3(o, 110840); - d_(p, I); - d3(p, 110840); - d_(q, J); - d3(q, 110840); - d_(o, p); - d_(l, k); - d_(o, j); - d_(p, l); - d_(m, j); - d_(p, m); - d_(m, q); - d_(m, n); - d_(q, o); - d_(m, k); - d_(n, o); - d_(l, q); - d_(k, o); - d1(u, q); - d1(t, k); - d1(s, o); - d1(w, l); - d1(v, p); - d_(u, n); - d_(t, l); - d_(s, m); - d_(w, n); - d_(v, j); - d1(x, u); - d1(r, t); - d1(y, u); - d0(t, s); - d0(u, v); - d_(y, r); - d$(x, v); - d$(r, s); - d_(v, s); - d$(y, v); - d1(v, m); - d_(v, j); - d$(w, v); - d_(u, w); - d_(t, w); - d1(w, q); - d_(w, k); - d1(v, o); - d1(s, w); - d_(v, p); - d0(s, v); - d$(w, v); - d_(r, w); - d_(u, y); - d_(t, x); - d_(s, y); - d_(r, x); - d_(s, x); - d1(v, l); - d1(w, n); - d1(x, k); - d1(y, q); - d$(v, m); - d$(w, j); - d$(x, o); - d0(y, p); - d_(u, v); - d_(t, w); - d_(s, x); - d_(r, y); - d1(v, u); - d_(v, t); - d$(u, s); - d1(x, r); - d_(x, u); - d1(y, v); - d$(y, x); - d_(y, t); - d1(w, s); - d_(w, r); - d_(u, t); - d$(w, u); - d_(w, r); - d_(s, w); - d1(t, x); - d_(t, w); - d$(t, r); - d_(s, t); - d_(x, t); - d$(x, y); - d_(x, v); - d1(v, p); - d1(r, o); - d1(t, y); - d_(t, x); - d$(t, p); - d_(p, o); - d$(p, x); - d$(o, y); - d_(p, o); - d_(o, t); - d_(v, j); - d_(r, m); - d_(y, w); - d_(x, s); - d1(u, y); - d_(u, x); - d$(u, v); - d_(v, r); - d$(v, x); - d$(r, y); - d_(r, v); - d_(v, u); - d1(t, w); - d_(t, s); - d$(t, j); - d_(j, m); - d$(j, s); - d$(m, w); - d_(j, m); - d_(m, t); - d_(p, v); - d_(j, v); - d_(o, r); - d_(m, r); - d1(v, q); - d1(r, k); - d_(v, n); - d_(r, l); - d1(u, y); - d_(u, x); - d$(u, v); - d_(v, r); - d$(v, x); - d$(r, y); - d_(r, v); - d_(v, u); - d1(t, w); - d_(t, s); - d$(t, n); - d_(n, l); - d$(n, s); - d$(l, w); - d_(n, l); - d_(l, t); - d_(y, w); - d_(x, s); - d1(u, y); - d_(u, x); - d$(u, q); - d_(q, k); - d$(q, x); - d$(k, y); - d_(q, k); - d_(k, u); - d_(q, v); - d_(n, v); - d_(k, r); - d_(l, r); - d_(q, j); - d_(k, p); - d_(n, q); - d_(p, j); - d_(j, k); - d_(k, o); - d_(o, l); - d_(n, o); - d_(l, m); - d_(m, o); - d_(p, m); - d4(r, j, 147); - d4(s, k, 147); - d4(t, n, 147); - d4(u, p, 147); - d4(v, m, 147); - d4(w, q, 147); - d4(x, l, 147); - d4(y, o, 147); - d_(j, r); - d_(k, s); - d_(n, t); - d_(p, u); - d_(m, v); - d_(q, w); - d_(l, x); - d_(o, y); - d_(r, o); - d_(s, j); - d_(t, k); - d_(s, o); - d_(u, n); - d_(v, p); - d_(w, m); - d_(u, o); - d_(x, q); - d_(y, l); - d_(v, o); - d4(j, j, 78); - d4(k, k, 78); - d4(n, n, 78); - d4(p, p, 78); - d4(m, m, 78); - d4(q, q, 78); - d4(l, l, 78); - d4(o, o, 78); - d_(r, j); - d_(s, k); - d_(t, n); - d_(u, p); - d_(v, m); - d_(w, q); - d_(x, l); - d_(y, o); - d_(r, K); - d3(r, 110840); - d_(s, L); - d3(s, 110840); - d_(t, M); - d3(t, 110840); - d_(u, N); - d3(u, 110840); - d_(v, O); - d3(v, 110840); - d_(w, P); - d3(w, 110840); - d_(x, Q); - d3(x, 110840); - d_(y, R); - d3(y, 110840); - d_(w, x); - d_(t, s); - d_(w, r); - d_(x, t); - d_(u, r); - d_(x, u); - d_(u, y); - d_(u, v); - d_(y, w); - d_(u, s); - d_(v, w); - d_(t, y); - d_(s, w); - d1(m, y); - d1(l, s); - d1(k, w); - d1(o, t); - d1(n, x); - d_(m, v); - d_(l, t); - d_(k, u); - d_(o, v); - d_(n, r); - d1(p, m); - d1(j, l); - d1(q, m); - d0(l, k); - d0(m, n); - d_(q, j); - d$(p, n); - d$(j, k); - d_(n, k); - d$(q, n); - d1(n, u); - d_(n, r); - d$(o, n); - d_(m, o); - d_(l, o); - d1(o, y); - d_(o, s); - d1(n, w); - d1(k, o); - d_(n, x); - d0(k, n); - d$(o, n); - d_(j, o); - d_(m, q); - d_(l, p); - d_(k, q); - d_(j, p); - d_(k, p); - d1(n, t); - d1(o, v); - d1(p, s); - d1(q, y); - d$(n, u); - d$(o, r); - d$(p, w); - d0(q, x); - d_(m, n); - d_(l, o); - d_(k, p); - d_(j, q); - d1(n, m); - d_(n, l); - d$(m, k); - d1(p, j); - d_(p, m); - d1(q, n); - d$(q, p); - d_(q, l); - d1(o, k); - d_(o, j); - d_(m, l); - d$(o, m); - d_(o, j); - d_(k, o); - d1(l, p); - d_(l, o); - d$(l, j); - d_(k, l); - d_(p, l); - d$(p, q); - d_(p, n); - d1(n, x); - d1(j, w); - d1(l, q); - d_(l, p); - d$(l, x); - d_(x, w); - d$(x, p); - d$(w, q); - d_(x, w); - d_(w, l); - d_(n, r); - d_(j, u); - d_(q, o); - d_(p, k); - d1(m, q); - d_(m, p); - d$(m, n); - d_(n, j); - d$(n, p); - d$(j, q); - d_(j, n); - d_(n, m); - d1(l, o); - d_(l, k); - d$(l, r); - d_(r, u); - d$(r, k); - d$(u, o); - d_(r, u); - d_(u, l); - d_(x, n); - d_(r, n); - d_(w, j); - d_(u, j); - d1(n, y); - d1(j, s); - d_(n, v); - d_(j, t); - d1(m, q); - d_(m, p); - d$(m, n); - d_(n, j); - d$(n, p); - d$(j, q); - d_(j, n); - d_(n, m); - d1(l, o); - d_(l, k); - d$(l, v); - d_(v, t); - d$(v, k); - d$(t, o); - d_(v, t); - d_(t, l); - d_(q, o); - d_(p, k); - d1(m, q); - d_(m, p); - d$(m, y); - d_(y, s); - d$(y, p); - d$(s, q); - d_(y, s); - d_(s, m); - d_(y, n); - d_(v, n); - d_(s, j); - d_(t, j); - d_(y, r); - d_(s, x); - d_(v, y); - d_(x, r); - d_(r, s); - d_(s, w); - d_(w, t); - d_(v, w); - d_(t, u); - d_(u, w); - d_(x, u); - d4(j, r, 147); - d4(k, s, 147); - d4(l, v, 147); - d4(m, x, 147); - d4(n, u, 147); - d4(o, y, 147); - d4(p, t, 147); - d4(q, w, 147); - d_(r, j); - d_(s, k); - d_(v, l); - d_(x, m); - d_(u, n); - d_(y, o); - d_(t, p); - d_(w, q); - d_(j, w); - d_(k, r); - d_(l, s); - d_(k, w); - d_(m, v); - d_(n, x); - d_(o, u); - d_(m, w); - d_(p, y); - d_(q, t); - d_(n, w); - d4(r, r, 78); - d4(s, s, 78); - d4(v, v, 78); - d4(x, x, 78); - d4(u, u, 78); - d4(y, y, 78); - d4(t, t, 78); - d4(w, w, 78); - d_(j, r); - d_(k, s); - d_(l, v); - d_(m, x); - d_(n, u); - d_(o, y); - d_(p, t); - d_(q, w); - d_(j, S); - d3(j, 110840); - d_(k, T); - d3(k, 110840); - d_(l, U); - d3(l, 110840); - d_(m, V); - d3(m, 110840); - d_(n, W); - d3(n, 110840); - d_(o, X); - d3(o, 110840); - d_(p, Y); - d3(p, 110840); - d_(q, Z); - d3(q, 110840); - d_(o, p); - d_(l, k); - d_(o, j); - d_(p, l); - d_(m, j); - d_(p, m); - d_(m, q); - d_(m, n); - d_(q, o); - d_(m, k); - d_(n, o); - d_(l, q); - d_(k, o); - d1(u, q); - d1(t, k); - d1(s, o); - d1(w, l); - d1(v, p); - d_(u, n); - d_(t, l); - d_(s, m); - d_(w, n); - d_(v, j); - d1(x, u); - d1(r, t); - d1(y, u); - d0(t, s); - d0(u, v); - d_(y, r); - d$(x, v); - d$(r, s); - d_(v, s); - d$(y, v); - d1(v, m); - d_(v, j); - d$(w, v); - d_(u, w); - d_(t, w); - d1(w, q); - d_(w, k); - d1(v, o); - d1(s, w); - d_(v, p); - d0(s, v); - d$(w, v); - d_(r, w); - d_(u, y); - d_(t, x); - d_(s, y); - d_(r, x); - d_(s, x); - d1(v, l); - d1(w, n); - d1(x, k); - d1(y, q); - d$(v, m); - d$(w, j); - d$(x, o); - d0(y, p); - d_(u, v); - d_(t, w); - d_(s, x); - d_(r, y); - d1(v, u); - d_(v, t); - d$(u, s); - d1(x, r); - d_(x, u); - d1(y, v); - d$(y, x); - d_(y, t); - d1(w, s); - d_(w, r); - d_(u, t); - d$(w, u); - d_(w, r); - d_(s, w); - d1(t, x); - d_(t, w); - d$(t, r); - d_(s, t); - d_(x, t); - d$(x, y); - d_(x, v); - d1(v, p); - d1(r, o); - d1(t, y); - d_(t, x); - d$(t, p); - d_(p, o); - d$(p, x); - d$(o, y); - d_(p, o); - d_(o, t); - d_(v, j); - d_(r, m); - d_(y, w); - d_(x, s); - d1(u, y); - d_(u, x); - d$(u, v); - d_(v, r); - d$(v, x); - d$(r, y); - d_(r, v); - d_(v, u); - d1(t, w); - d_(t, s); - d$(t, j); - d_(j, m); - d$(j, s); - d$(m, w); - d_(j, m); - d_(m, t); - d_(p, v); - d_(j, v); - d_(o, r); - d_(m, r); - d1(v, q); - d1(r, k); - d_(v, n); - d_(r, l); - d1(u, y); - d_(u, x); - d$(u, v); - d_(v, r); - d$(v, x); - d$(r, y); - d_(r, v); - d_(v, u); - d1(t, w); - d_(t, s); - d$(t, n); - d_(n, l); - d$(n, s); - d$(l, w); - d_(n, l); - d_(l, t); - d_(y, w); - d_(x, s); - d1(u, y); - d_(u, x); - d$(u, q); - d_(q, k); - d$(q, x); - d$(k, y); - d_(q, k); - d_(k, u); - d_(q, v); - d_(n, v); - d_(k, r); - d_(l, r); - d_(q, j); - d_(k, p); - d_(n, q); - d_(p, j); - d_(j, k); - d_(k, o); - d_(o, l); - d_(n, o); - d_(l, m); - d_(m, o); - d_(p, m); - d4(r, j, 147); - d4(s, k, 147); - d4(t, n, 147); - d4(u, p, 147); - d4(v, m, 147); - d4(w, q, 147); - d4(x, l, 147); - d4(y, o, 147); - d_(j, r); - d_(k, s); - d_(n, t); - d_(p, u); - d_(m, v); - d_(q, w); - d_(l, x); - d_(o, y); - d_(r, o); - d_(s, j); - d_(t, k); - d_(s, o); - d_(u, n); - d_(v, p); - d_(w, m); - d_(u, o); - d_(x, q); - d_(y, l); - d_(v, o); - d4(j, j, 78); - d4(k, k, 78); - d4(n, n, 78); - d4(p, p, 78); - d4(m, m, 78); - d4(q, q, 78); - d4(l, l, 78); - d4(o, o, 78); - d_(r, j); - d_(s, k); - d_(t, n); - d_(u, p); - d_(v, m); - d_(w, q); - d_(x, l); - d_(y, o); - d_(r, _); - d3(r, 110840); - d_(s, $); - d3(s, 110840); - d_(t, aa); - d3(t, 110840); - d_(u, ab); - d3(u, 110840); - d_(v, ac); - d3(v, 110840); - d_(w, ad); - d3(w, 110840); - d_(x, ae); - d3(x, 110840); - d_(y, af); - d3(y, 110840); - d_(w, x); - d_(t, s); - d_(w, r); - d_(x, t); - d_(u, r); - d_(x, u); - d_(u, y); - d_(u, v); - d_(y, w); - d_(u, s); - d_(v, w); - d_(t, y); - d_(s, w); - d1(m, y); - d1(l, s); - d1(k, w); - d1(o, t); - d1(n, x); - d_(m, v); - d_(l, t); - d_(k, u); - d_(o, v); - d_(n, r); - d1(p, m); - d1(j, l); - d1(q, m); - d0(l, k); - d0(m, n); - d_(q, j); - d$(p, n); - d$(j, k); - d_(n, k); - d$(q, n); - d1(n, u); - d_(n, r); - d$(o, n); - d_(m, o); - d_(l, o); - d1(o, y); - d_(o, s); - d1(n, w); - d1(k, o); - d_(n, x); - d0(k, n); - d$(o, n); - d_(j, o); - d_(m, q); - d_(l, p); - d_(k, q); - d_(j, p); - d_(k, p); - d1(n, t); - d1(o, v); - d1(p, s); - d1(q, y); - d$(n, u); - d$(o, r); - d$(p, w); - d0(q, x); - d_(m, n); - d_(l, o); - d_(k, p); - d_(j, q); - d1(n, m); - d_(n, l); - d$(m, k); - d1(p, j); - d_(p, m); - d1(q, n); - d$(q, p); - d_(q, l); - d1(o, k); - d_(o, j); - d_(m, l); - d$(o, m); - d_(o, j); - d_(k, o); - d1(l, p); - d_(l, o); - d$(l, j); - d_(k, l); - d_(p, l); - d$(p, q); - d_(p, n); - d1(n, x); - d1(j, w); - d1(l, q); - d_(l, p); - d$(l, x); - d_(x, w); - d$(x, p); - d$(w, q); - d_(x, w); - d_(w, l); - d_(n, r); - d_(j, u); - d_(q, o); - d_(p, k); - d1(m, q); - d_(m, p); - d$(m, n); - d_(n, j); - d$(n, p); - d$(j, q); - d_(j, n); - d_(n, m); - d1(l, o); - d_(l, k); - d$(l, r); - d_(r, u); - d$(r, k); - d$(u, o); - d_(r, u); - d_(u, l); - d_(x, n); - d_(r, n); - d_(w, j); - d_(u, j); - d1(n, y); - d1(j, s); - d_(n, v); - d_(j, t); - d1(m, q); - d_(m, p); - d$(m, n); - d_(n, j); - d$(n, p); - d$(j, q); - d_(j, n); - d_(n, m); - d1(l, o); - d_(l, k); - d$(l, v); - d_(v, t); - d$(v, k); - d$(t, o); - d_(v, t); - d_(t, l); - d_(q, o); - d_(p, k); - d1(m, q); - d_(m, p); - d$(m, y); - d_(y, s); - d$(y, p); - d$(s, q); - d_(y, s); - d_(s, m); - d_(y, n); - d_(v, n); - d_(s, j); - d_(t, j); - d_(y, r); - d_(s, x); - d_(v, y); - d_(x, r); - d_(r, s); - d_(s, w); - d_(w, t); - d_(v, w); - d_(t, u); - d_(u, w); - d_(x, u); - d4(j, r, 147); - d4(k, s, 147); - d4(l, v, 147); - d4(m, x, 147); - d4(n, u, 147); - d4(o, y, 147); - d4(p, t, 147); - d4(q, w, 147); - d_(r, j); - d_(s, k); - d_(v, l); - d_(x, m); - d_(u, n); - d_(y, o); - d_(t, p); - d_(w, q); - d_(j, w); - d_(k, r); - d_(l, s); - d_(k, w); - d_(m, v); - d_(n, x); - d_(o, u); - d_(m, w); - d_(p, y); - d_(q, t); - d_(n, w); - d4(r, r, 78); - d4(s, s, 78); - d4(v, v, 78); - d4(x, x, 78); - d4(u, u, 78); - d4(y, y, 78); - d4(t, t, 78); - d4(w, w, 78); - d_(j, r); - d_(k, s); - d_(l, v); - d_(m, x); - d_(n, u); - d_(o, y); - d_(p, t); - d_(q, w); - d_(j, ag); - d3(j, 110840); - d_(k, ah); - d3(k, 110840); - d_(l, ai); - d3(l, 110840); - d_(m, aj); - d3(m, 110840); - d_(n, ak); - d3(n, 110840); - d_(o, al); - d3(o, 110840); - d_(p, am); - d3(p, 110840); - d_(q, an); - d3(q, 110840); - d_(o, p); - d_(l, k); - d_(o, j); - d_(p, l); - d_(m, j); - d_(p, m); - d_(m, q); - d_(m, n); - d_(q, o); - d_(m, k); - d_(n, o); - d_(l, q); - d_(k, o); - d1(u, q); - d1(t, k); - d1(s, o); - d1(w, l); - d1(v, p); - d_(u, n); - d_(t, l); - d_(s, m); - d_(w, n); - d_(v, j); - d1(x, u); - d1(r, t); - d1(y, u); - d0(t, s); - d0(u, v); - d_(y, r); - d$(x, v); - d$(r, s); - d_(v, s); - d$(y, v); - d1(v, m); - d_(v, j); - d$(w, v); - d_(u, w); - d_(t, w); - d1(w, q); - d_(w, k); - d1(v, o); - d1(s, w); - d_(v, p); - d0(s, v); - d$(w, v); - d_(r, w); - d_(u, y); - d_(t, x); - d_(s, y); - d_(r, x); - d_(s, x); - d1(v, l); - d1(w, n); - d1(x, k); - d1(y, q); - d$(v, m); - d$(w, j); - d$(x, o); - d0(y, p); - d_(u, v); - d_(t, w); - d_(s, x); - d_(r, y); - d1(v, u); - d_(v, t); - d$(u, s); - d1(x, r); - d_(x, u); - d1(y, v); - d$(y, x); - d_(y, t); - d1(w, s); - d_(w, r); - d_(u, t); - d$(w, u); - d_(w, r); - d_(s, w); - d1(t, x); - d_(t, w); - d$(t, r); - d_(s, t); - d_(x, t); - d$(x, y); - d_(x, v); - d1(v, p); - d1(r, o); - d1(t, y); - d_(t, x); - d$(t, p); - d_(p, o); - d$(p, x); - d$(o, y); - d_(p, o); - d_(o, t); - d_(v, j); - d_(r, m); - d_(y, w); - d_(x, s); - d1(u, y); - d_(u, x); - d$(u, v); - d_(v, r); - d$(v, x); - d$(r, y); - d_(r, v); - d_(v, u); - d1(t, w); - d_(t, s); - d$(t, j); - d_(j, m); - d$(j, s); - d$(m, w); - d_(j, m); - d_(m, t); - d_(p, v); - d_(j, v); - d_(o, r); - d_(m, r); - d1(v, q); - d1(r, k); - d_(v, n); - d_(r, l); - d1(u, y); - d_(u, x); - d$(u, v); - d_(v, r); - d$(v, x); - d$(r, y); - d_(r, v); - d_(v, u); - d1(t, w); - d_(t, s); - d$(t, n); - d_(n, l); - d$(n, s); - d$(l, w); - d_(n, l); - d_(l, t); - d_(y, w); - d_(x, s); - d1(u, y); - d_(u, x); - d$(u, q); - d_(q, k); - d$(q, x); - d$(k, y); - d_(q, k); - d_(k, u); - d_(q, v); - d_(n, v); - d_(k, r); - d_(l, r); - d_(q, j); - d_(k, p); - d_(n, q); - d_(p, j); - d_(j, k); - d_(k, o); - d_(o, l); - d_(n, o); - d_(l, m); - d_(m, o); - d_(p, m); - d4(r, j, 147); - d4(s, k, 147); - d4(t, n, 147); - d4(u, p, 147); - d4(v, m, 147); - d4(w, q, 147); - d4(x, l, 147); - d4(y, o, 147); - d_(j, r); - d_(k, s); - d_(n, t); - d_(p, u); - d_(m, v); - d_(q, w); - d_(l, x); - d_(o, y); - d_(r, o); - d_(s, j); - d_(t, k); - d_(s, o); - d_(u, n); - d_(v, p); - d_(w, m); - d_(u, o); - d_(x, q); - d_(y, l); - d_(v, o); - d4(j, j, 78); - d4(k, k, 78); - d4(n, n, 78); - d4(p, p, 78); - d4(m, m, 78); - d4(q, q, 78); - d4(l, l, 78); - d4(o, o, 78); - d_(r, j); - d_(s, k); - d_(t, n); - d_(u, p); - d_(v, m); - d_(w, q); - d_(x, l); - d_(y, o); - d_(r, ao); - d3(r, 110840); - d_(s, ap); - d3(s, 110840); - d_(t, aq); - d3(t, 110840); - d_(u, ar); - d3(u, 110840); - d_(v, as); - d3(v, 110840); - d_(w, at); - d3(w, 110840); - d_(x, au); - d3(x, 110840); - d_(y, av); - d3(y, 110840); - d_(w, x); - d_(t, s); - d_(w, r); - d_(x, t); - d_(u, r); - d_(x, u); - d_(u, y); - d_(u, v); - d_(y, w); - d_(u, s); - d_(v, w); - d_(t, y); - d_(s, w); - d1(m, y); - d1(l, s); - d1(k, w); - d1(o, t); - d1(n, x); - d_(m, v); - d_(l, t); - d_(k, u); - d_(o, v); - d_(n, r); - d1(p, m); - d1(j, l); - d1(q, m); - d0(l, k); - d0(m, n); - d_(q, j); - d$(p, n); - d$(j, k); - d_(n, k); - d$(q, n); - d1(n, u); - d_(n, r); - d$(o, n); - d_(m, o); - d_(l, o); - d1(o, y); - d_(o, s); - d1(n, w); - d1(k, o); - d_(n, x); - d0(k, n); - d$(o, n); - d_(j, o); - d_(m, q); - d_(l, p); - d_(k, q); - d_(j, p); - d_(k, p); - d1(n, t); - d1(o, v); - d1(p, s); - d1(q, y); - d$(n, u); - d$(o, r); - d$(p, w); - d0(q, x); - d_(m, n); - d_(l, o); - d_(k, p); - d_(j, q); - d1(n, m); - d_(n, l); - d$(m, k); - d1(p, j); - d_(p, m); - d1(q, n); - d$(q, p); - d_(q, l); - d1(o, k); - d_(o, j); - d_(m, l); - d$(o, m); - d_(o, j); - d_(k, o); - d1(l, p); - d_(l, o); - d$(l, j); - d_(k, l); - d_(p, l); - d$(p, q); - d_(p, n); - d1(n, x); - d1(j, w); - d1(l, q); - d_(l, p); - d$(l, x); - d_(x, w); - d$(x, p); - d$(w, q); - d_(x, w); - d_(w, l); - d_(n, r); - d_(j, u); - d_(q, o); - d_(p, k); - d1(m, q); - d_(m, p); - d$(m, n); - d_(n, j); - d$(n, p); - d$(j, q); - d_(j, n); - d_(n, m); - d1(l, o); - d_(l, k); - d$(l, r); - d_(r, u); - d$(r, k); - d$(u, o); - d_(r, u); - d_(u, l); - d_(x, n); - d_(r, n); - d_(w, j); - d_(u, j); - d1(n, y); - d1(j, s); - d_(n, v); - d_(j, t); - d1(m, q); - d_(m, p); - d$(m, n); - d_(n, j); - d$(n, p); - d$(j, q); - d_(j, n); - d_(n, m); - d1(l, o); - d_(l, k); - d$(l, v); - d_(v, t); - d$(v, k); - d$(t, o); - d_(v, t); - d_(t, l); - d_(q, o); - d_(p, k); - d1(m, q); - d_(m, p); - d$(m, y); - d_(y, s); - d$(y, p); - d$(s, q); - d_(y, s); - d_(s, m); - d_(y, n); - d_(v, n); - d_(s, j); - d_(t, j); - d_(y, r); - d_(s, x); - d_(v, y); - d_(x, r); - d_(r, s); - d_(s, w); - d_(w, t); - d_(v, w); - d_(t, u); - d_(u, w); - d_(x, u); - d4(j, r, 147); - d4(k, s, 147); - d4(l, v, 147); - d4(m, x, 147); - d4(n, u, 147); - d4(o, y, 147); - d4(p, t, 147); - d4(q, w, 147); - d_(r, j); - d_(s, k); - d_(v, l); - d_(x, m); - d_(u, n); - d_(y, o); - d_(t, p); - d_(w, q); - d_(j, w); - d_(k, r); - d_(l, s); - d_(k, w); - d_(m, v); - d_(n, x); - d_(o, u); - d_(m, w); - d_(p, y); - d_(q, t); - d_(n, w); - d4(r, r, 78); - d4(s, s, 78); - d4(v, v, 78); - d4(x, x, 78); - d4(u, u, 78); - d4(y, y, 78); - d4(t, t, 78); - d4(w, w, 78); - d_(j, r); - d_(k, s); - d_(l, v); - d_(m, x); - d_(n, u); - d_(o, y); - d_(p, t); - d_(q, w); - d_(j, aw); - d3(j, 110840); - d_(k, ax); - d3(k, 110840); - d_(l, ay); - d3(l, 110840); - d_(m, az); - d3(m, 110840); - d_(n, aA); - d3(n, 110840); - d_(o, aB); - d3(o, 110840); - d_(p, aC); - d3(p, 110840); - d_(q, aD); - d3(q, 110840); - d_(o, p); - d_(l, k); - d_(o, j); - d_(p, l); - d_(m, j); - d_(p, m); - d_(m, q); - d_(m, n); - d_(q, o); - d_(m, k); - d_(n, o); - d_(l, q); - d_(k, o); - d1(u, q); - d1(t, k); - d1(s, o); - d1(w, l); - d1(v, p); - d_(u, n); - d_(t, l); - d_(s, m); - d_(w, n); - d_(v, j); - d1(x, u); - d1(r, t); - d1(y, u); - d0(t, s); - d0(u, v); - d_(y, r); - d$(x, v); - d$(r, s); - d_(v, s); - d$(y, v); - d1(v, m); - d_(v, j); - d$(w, v); - d_(u, w); - d_(t, w); - d1(w, q); - d_(w, k); - d1(v, o); - d1(s, w); - d_(v, p); - d0(s, v); - d$(w, v); - d_(r, w); - d_(u, y); - d_(t, x); - d_(s, y); - d_(r, x); - d_(s, x); - d1(v, l); - d1(w, n); - d1(x, k); - d1(y, q); - d$(v, m); - d$(w, j); - d$(x, o); - d0(y, p); - d_(u, v); - d_(t, w); - d_(s, x); - d_(r, y); - d1(v, u); - d_(v, t); - d$(u, s); - d1(x, r); - d_(x, u); - d1(y, v); - d$(y, x); - d_(y, t); - d1(w, s); - d_(w, r); - d_(u, t); - d$(w, u); - d_(w, r); - d_(s, w); - d1(t, x); - d_(t, w); - d$(t, r); - d_(s, t); - d_(x, t); - d$(x, y); - d_(x, v); - d1(v, p); - d1(r, o); - d1(t, y); - d_(t, x); - d$(t, p); - d_(p, o); - d$(p, x); - d$(o, y); - d_(p, o); - d_(o, t); - d_(v, j); - d_(r, m); - d_(y, w); - d_(x, s); - d1(u, y); - d_(u, x); - d$(u, v); - d_(v, r); - d$(v, x); - d$(r, y); - d_(r, v); - d_(v, u); - d1(t, w); - d_(t, s); - d$(t, j); - d_(j, m); - d$(j, s); - d$(m, w); - d_(j, m); - d_(m, t); - d_(p, v); - d_(j, v); - d_(o, r); - d_(m, r); - d1(v, q); - d1(r, k); - d_(v, n); - d_(r, l); - d1(u, y); - d_(u, x); - d$(u, v); - d_(v, r); - d$(v, x); - d$(r, y); - d_(r, v); - d_(v, u); - d1(t, w); - d_(t, s); - d$(t, n); - d_(n, l); - d$(n, s); - d$(l, w); - d_(n, l); - d_(l, t); - d_(y, w); - d_(x, s); - d1(u, y); - d_(u, x); - d$(u, q); - d_(q, k); - d$(q, x); - d$(k, y); - d_(q, k); - d_(k, u); - d_(q, v); - d_(n, v); - d_(k, r); - d_(l, r); - d_(q, j); - d_(k, p); - d_(n, q); - d_(p, j); - d_(j, k); - d_(k, o); - d_(o, l); - d_(n, o); - d_(l, m); - d_(m, o); - d_(p, m); - d4(r, j, 147); - d4(s, k, 147); - d4(t, n, 147); - d4(u, p, 147); - d4(v, m, 147); - d4(w, q, 147); - d4(x, l, 147); - d4(y, o, 147); - d_(j, r); - d_(k, s); - d_(n, t); - d_(p, u); - d_(m, v); - d_(q, w); - d_(l, x); - d_(o, y); - d_(r, o); - d_(s, j); - d_(t, k); - d_(s, o); - d_(u, n); - d_(v, p); - d_(w, m); - d_(u, o); - d_(x, q); - d_(y, l); - d_(v, o); - d4(j, j, 78); - d4(k, k, 78); - d4(n, n, 78); - d4(p, p, 78); - d4(m, m, 78); - d4(q, q, 78); - d4(l, l, 78); - d4(o, o, 78); - d_(r, j); - d_(s, k); - d_(t, n); - d_(u, p); - d_(v, m); - d_(w, q); - d_(x, l); - d_(y, o); - d_(r, aE); - d3(r, 110840); - d_(s, aF); - d3(s, 110840); - d_(t, aG); - d3(t, 110840); - d_(u, aH); - d3(u, 110840); - d_(v, aI); - d3(v, 110840); - d_(w, aJ); - d3(w, 110840); - d_(x, aK); - d3(x, 110840); - d_(y, aL); - d3(y, 110840); - d_(w, x); - d_(t, s); - d_(w, r); - d_(x, t); - d_(u, r); - d_(x, u); - d_(u, y); - d_(u, v); - d_(y, w); - d_(u, s); - d_(v, w); - d_(t, y); - d_(s, w); - d1(m, y); - d1(l, s); - d1(k, w); - d1(o, t); - d1(n, x); - d_(m, v); - d_(l, t); - d_(k, u); - d_(o, v); - d_(n, r); - d1(p, m); - d1(j, l); - d1(q, m); - d0(l, k); - d0(m, n); - d_(q, j); - d$(p, n); - d$(j, k); - d_(n, k); - d$(q, n); - d1(n, u); - d_(n, r); - d$(o, n); - d_(m, o); - d_(l, o); - d1(o, y); - d_(o, s); - d1(n, w); - d1(k, o); - d_(n, x); - d0(k, n); - d$(o, n); - d_(j, o); - d_(m, q); - d_(l, p); - d_(k, q); - d_(j, p); - d_(k, p); - d1(n, t); - d1(o, v); - d1(p, s); - d1(q, y); - d$(n, u); - d$(o, r); - d$(p, w); - d0(q, x); - d_(m, n); - d_(l, o); - d_(k, p); - d_(j, q); - d1(n, m); - d_(n, l); - d$(m, k); - d1(p, j); - d_(p, m); - d1(q, n); - d$(q, p); - d_(q, l); - d1(o, k); - d_(o, j); - d_(m, l); - d$(o, m); - d_(o, j); - d_(k, o); - d1(l, p); - d_(l, o); - d$(l, j); - d_(k, l); - d_(p, l); - d$(p, q); - d_(p, n); - d1(n, x); - d1(j, w); - d1(l, q); - d_(l, p); - d$(l, x); - d_(x, w); - d$(x, p); - d$(w, q); - d_(x, w); - d_(w, l); - d_(n, r); - d_(j, u); - d_(q, o); - d_(p, k); - d1(m, q); - d_(m, p); - d$(m, n); - d_(n, j); - d$(n, p); - d$(j, q); - d_(j, n); - d_(n, m); - d1(l, o); - d_(l, k); - d$(l, r); - d_(r, u); - d$(r, k); - d$(u, o); - d_(r, u); - d_(u, l); - d_(x, n); - d_(r, n); - d_(w, j); - d_(u, j); - d1(n, y); - d1(j, s); - d_(n, v); - d_(j, t); - d1(m, q); - d_(m, p); - d$(m, n); - d_(n, j); - d$(n, p); - d$(j, q); - d_(j, n); - d_(n, m); - d1(l, o); - d_(l, k); - d$(l, v); - d_(v, t); - d$(v, k); - d$(t, o); - d_(v, t); - d_(t, l); - d_(q, o); - d_(p, k); - d1(m, q); - d_(m, p); - d$(m, y); - d_(y, s); - d$(y, p); - d$(s, q); - d_(y, s); - d_(s, m); - d_(y, n); - d_(v, n); - d_(s, j); - d_(t, j); - d_(y, r); - d_(s, x); - d_(v, y); - d_(x, r); - d_(r, s); - d_(s, w); - d_(w, t); - d_(v, w); - d_(t, u); - d_(u, w); - d_(x, u); - d4(j, r, 147); - d4(k, s, 147); - d4(l, v, 147); - d4(m, x, 147); - d4(n, u, 147); - d4(o, y, 147); - d4(p, t, 147); - d4(q, w, 147); - d_(r, j); - d_(s, k); - d_(v, l); - d_(x, m); - d_(u, n); - d_(y, o); - d_(t, p); - d_(w, q); - d_(j, w); - d_(k, r); - d_(l, s); - d_(k, w); - d_(m, v); - d_(n, x); - d_(o, u); - d_(m, w); - d_(p, y); - d_(q, t); - d_(n, w); - d4(r, r, 78); - d4(s, s, 78); - d4(v, v, 78); - d4(x, x, 78); - d4(u, u, 78); - d4(y, y, 78); - d4(t, t, 78); - d4(w, w, 78); - d_(j, r); - d_(k, s); - d_(l, v); - d_(m, x); - d_(n, u); - d_(o, y); - d_(p, t); - d_(q, w); - d_(j, aM); - d3(j, 110840); - d_(k, aN); - d3(k, 110840); - d_(l, aO); - d3(l, 110840); - d_(m, aP); - d3(m, 110840); - d_(n, aQ); - d3(n, 110840); - d_(o, aR); - d3(o, 110840); - d_(p, aS); - d3(p, 110840); - d_(q, aT); - d3(q, 110840); - d_(o, p); - d_(l, k); - d_(o, j); - d_(p, l); - d_(m, j); - d_(p, m); - d_(m, q); - d_(m, n); - d_(q, o); - d_(m, k); - d_(n, o); - d_(l, q); - d_(k, o); - d1(u, q); - d1(t, k); - d1(s, o); - d1(w, l); - d1(v, p); - d_(u, n); - d_(t, l); - d_(s, m); - d_(w, n); - d_(v, j); - d1(x, u); - d1(r, t); - d1(y, u); - d0(t, s); - d0(u, v); - d_(y, r); - d$(x, v); - d$(r, s); - d_(v, s); - d$(y, v); - d1(v, m); - d_(v, j); - d$(w, v); - d_(u, w); - d_(t, w); - d1(w, q); - d_(w, k); - d1(v, o); - d1(s, w); - d_(v, p); - d0(s, v); - d$(w, v); - d_(r, w); - d_(u, y); - d_(t, x); - d_(s, y); - d_(r, x); - d_(s, x); - d1(v, l); - d1(w, n); - d1(x, k); - d1(y, q); - d$(v, m); - d$(w, j); - d$(x, o); - d0(y, p); - d_(u, v); - d_(t, w); - d_(s, x); - d_(r, y); - d1(v, u); - d_(v, t); - d$(u, s); - d1(x, r); - d_(x, u); - d1(y, v); - d$(y, x); - d_(y, t); - d1(w, s); - d_(w, r); - d_(u, t); - d$(w, u); - d_(w, r); - d_(s, w); - d1(t, x); - d_(t, w); - d$(t, r); - d_(s, t); - d_(x, t); - d$(x, y); - d_(x, v); - d1(v, p); - d1(r, o); - d1(t, y); - d_(t, x); - d$(t, p); - d_(p, o); - d$(p, x); - d$(o, y); - d_(p, o); - d_(o, t); - d_(v, j); - d_(r, m); - d_(y, w); - d_(x, s); - d1(u, y); - d_(u, x); - d$(u, v); - d_(v, r); - d$(v, x); - d$(r, y); - d_(r, v); - d_(v, u); - d1(t, w); - d_(t, s); - d$(t, j); - d_(j, m); - d$(j, s); - d$(m, w); - d_(j, m); - d_(m, t); - d_(p, v); - d_(j, v); - d_(o, r); - d_(m, r); - d1(v, q); - d1(r, k); - d_(v, n); - d_(r, l); - d1(u, y); - d_(u, x); - d$(u, v); - d_(v, r); - d$(v, x); - d$(r, y); - d_(r, v); - d_(v, u); - d1(t, w); - d_(t, s); - d$(t, n); - d_(n, l); - d$(n, s); - d$(l, w); - d_(n, l); - d_(l, t); - d_(y, w); - d_(x, s); - d1(u, y); - d_(u, x); - d$(u, q); - d_(q, k); - d$(q, x); - d$(k, y); - d_(q, k); - d_(k, u); - d_(q, v); - d_(n, v); - d_(k, r); - d_(l, r); - d_(q, j); - d_(k, p); - d_(n, q); - d_(p, j); - d_(j, k); - d_(k, o); - d_(o, l); - d_(n, o); - d_(l, m); - d_(m, o); - d_(p, m); - d4(r, j, 147); - d4(s, k, 147); - d4(t, n, 147); - d4(u, p, 147); - d4(v, m, 147); - d4(w, q, 147); - d4(x, l, 147); - d4(y, o, 147); - d_(j, r); - d_(k, s); - d_(n, t); - d_(p, u); - d_(m, v); - d_(q, w); - d_(l, x); - d_(o, y); - d_(r, o); - d_(s, j); - d_(t, k); - d_(s, o); - d_(u, n); - d_(v, p); - d_(w, m); - d_(u, o); - d_(x, q); - d_(y, l); - d_(v, o); - d4(j, j, 78); - d4(k, k, 78); - d4(n, n, 78); - d4(p, p, 78); - d4(m, m, 78); - d4(q, q, 78); - d4(l, l, 78); - d4(o, o, 78); - d_(r, j); - d_(s, k); - d_(t, n); - d_(u, p); - d_(v, m); - d_(w, q); - d_(x, l); - d_(y, o); - d_(r, aU); - d3(r, 110824); - d_(s, aV); - d3(s, 110824); - d_(t, aW); - d3(t, 110824); - d_(u, aX); - d3(u, 110824); - d_(v, aY); - d3(v, 110824); - d_(w, aZ); - d3(w, 110824); - d_(x, a_); - d3(x, 110824); - d_(y, a$); - d3(y, 110824); - d_(w, x); - d_(t, s); - d_(w, r); - d_(x, t); - d_(u, r); - d_(x, u); - d_(u, y); - d_(u, v); - d_(y, w); - d_(u, s); - d_(v, w); - d_(t, y); - d_(s, w); - d1(m, y); - d1(l, s); - d1(k, w); - d1(o, t); - d1(n, x); - d_(m, v); - d_(l, t); - d_(k, u); - d_(o, v); - d_(n, r); - d1(p, m); - d1(j, l); - d1(q, m); - d0(l, k); - d0(m, n); - d_(q, j); - d$(p, n); - d$(j, k); - d_(n, k); - d$(q, n); - d1(n, u); - d_(n, r); - d$(o, n); - d_(m, o); - d_(l, o); - d1(o, y); - d_(o, s); - d1(n, w); - d1(k, o); - d_(n, x); - d0(k, n); - d$(o, n); - d_(j, o); - d_(m, q); - d_(l, p); - d_(k, q); - d_(j, p); - d_(k, p); - d1(n, t); - d1(o, v); - d1(p, s); - d1(q, y); - d$(n, u); - d$(o, r); - d$(p, w); - d0(q, x); - d_(m, n); - d_(l, o); - d_(k, p); - d_(j, q); - d1(n, m); - d_(n, l); - d$(m, k); - d1(p, j); - d_(p, m); - d1(q, n); - d$(q, p); - d_(q, l); - d1(o, k); - d_(o, j); - d_(m, l); - d$(o, m); - d_(o, j); - d_(k, o); - d1(l, p); - d_(l, o); - d$(l, j); - d_(k, l); - d_(p, l); - d$(p, q); - d_(p, n); - d1(n, x); - d1(j, w); - d1(l, q); - d_(l, p); - d$(l, x); - d_(x, w); - d$(x, p); - d$(w, q); - d_(x, w); - d_(w, l); - d_(n, r); - d_(j, u); - d_(q, o); - d_(p, k); - d1(m, q); - d_(m, p); - d$(m, n); - d_(n, j); - d$(n, p); - d$(j, q); - d_(j, n); - d_(n, m); - d1(l, o); - d_(l, k); - d$(l, r); - d_(r, u); - d$(r, k); - d$(u, o); - d_(r, u); - d_(u, l); - d_(x, n); - d_(r, n); - d_(w, j); - d_(u, j); - d1(n, y); - d1(j, s); - d_(n, v); - d_(j, t); - d1(m, q); - d_(m, p); - d$(m, n); - d_(n, j); - d$(n, p); - d$(j, q); - d_(j, n); - d_(n, m); - d1(l, o); - d_(l, k); - d$(l, v); - d_(v, t); - d$(v, k); - d$(t, o); - d_(v, t); - d_(t, l); - d_(q, o); - d_(p, k); - d1(m, q); - d_(m, p); - d$(m, y); - d_(y, s); - d$(y, p); - d$(s, q); - d_(y, s); - d_(s, m); - d_(y, n); - d_(v, n); - d_(s, j); - d_(t, j); - d_(y, r); - d_(s, x); - d_(v, y); - d_(x, r); - d_(r, s); - d_(s, w); - d_(w, t); - d_(v, w); - d_(t, u); - d_(u, w); - d_(x, u); - d_(r, a0); - d_(s, a1); - d_(v, a2); - d_(x, a3); - d_(u, a4); - d_(y, a5); - d_(t, a6); - d_(w, a7); - d1(j, t); - d6(j, 1); - d_(j, w); - d$(j, 110952); - d_(w, j); - d7(j, 1); - d_(t, j); - d1(j, u); - d6(j, 1); - d_(j, y); - d$(j, 110952); - d_(y, j); - d7(j, 1); - d_(u, j); - d1(j, v); - d6(j, 1); - d_(j, x); - d$(j, 110952); - d_(x, j); - d7(j, 1); - d_(v, j); - d1(j, r); - d6(j, 1); - d_(j, s); - d$(j, 110952); - d_(s, j); - d7(j, 1); - d_(r, j); - d1(j, y); - d6(j, 2); - d_(j, w); - d$(j, 110936); - d_(w, j); - d7(j, 2); - d_(y, j); - d1(j, u); - d6(j, 2); - d_(j, t); - d$(j, 110936); - d_(t, j); - d7(j, 2); - d_(u, j); - d1(j, s); - d6(j, 2); - d_(j, x); - d$(j, 110936); - d_(x, j); - d7(j, 2); - d_(s, j); - d1(j, r); - d6(j, 2); - d_(j, v); - d$(j, 110936); - d_(v, j); - d7(j, 2); - d_(r, j); - d1(j, x); - d6(j, 4); - d_(j, w); - d$(j, 110920); - d_(w, j); - d7(j, 4); - d_(x, j); - d1(j, v); - d6(j, 4); - d_(j, t); - d$(j, 110920); - d_(t, j); - d7(j, 4); - d_(v, j); - d1(j, s); - d6(j, 4); - d_(j, y); - d$(j, 110920); - d_(y, j); - d7(j, 4); - d_(s, j); - d1(j, r); - d6(j, 4); - d_(j, u); - d$(j, 110920); - d_(u, j); - d7(j, 4); - d_(r, j); - d = 0; - if (b >>> 0 < d >>> 0 | b >>> 0 == d >>> 0 & e >>> 0 < 128 >>> 0) { - break; - } - dV(g, (dU(g) | 0) + 8 | 0); - c[bg >> 2] = c[a8 >> 2]; - c[bg + 4 >> 2] = c[a8 + 4 >> 2]; - c[bg + 8 >> 2] = c[a8 + 8 >> 2]; - c[bg + 12 >> 2] = c[a8 + 12 >> 2]; - d = bg + 16 | 0; - c[d >> 2] = c[a9 >> 2]; - c[d + 4 >> 2] = c[a9 + 4 >> 2]; - c[d + 8 >> 2] = c[a9 + 8 >> 2]; - c[d + 12 >> 2] = c[a9 + 12 >> 2]; - d = bg + 32 | 0; - c[d >> 2] = c[ba >> 2]; - c[d + 4 >> 2] = c[ba + 4 >> 2]; - c[d + 8 >> 2] = c[ba + 8 >> 2]; - c[d + 12 >> 2] = c[ba + 12 >> 2]; - d = bg + 48 | 0; - c[d >> 2] = c[bb >> 2]; - c[d + 4 >> 2] = c[bb + 4 >> 2]; - c[d + 8 >> 2] = c[bb + 8 >> 2]; - c[d + 12 >> 2] = c[bb + 12 >> 2]; - d = bg + 64 | 0; - c[d >> 2] = c[bc >> 2]; - c[d + 4 >> 2] = c[bc + 4 >> 2]; - c[d + 8 >> 2] = c[bc + 8 >> 2]; - c[d + 12 >> 2] = c[bc + 12 >> 2]; - d = bg + 80 | 0; - c[d >> 2] = c[bd >> 2]; - c[d + 4 >> 2] = c[bd + 4 >> 2]; - c[d + 8 >> 2] = c[bd + 8 >> 2]; - c[d + 12 >> 2] = c[bd + 12 >> 2]; - d = bg + 96 | 0; - c[d >> 2] = c[be >> 2]; - c[d + 4 >> 2] = c[be + 4 >> 2]; - c[d + 8 >> 2] = c[be + 8 >> 2]; - c[d + 12 >> 2] = c[be + 12 >> 2]; - d = bg + 112 | 0; - c[d >> 2] = c[bf >> 2]; - c[d + 4 >> 2] = c[bf + 4 >> 2]; - c[d + 8 >> 2] = c[bf + 8 >> 2]; - c[d + 12 >> 2] = c[bf + 12 >> 2]; - if ((e | 0) == 128 & (b | 0) == 0) { - bh = 578; - break; - } - d = fp(e, b, -128, -1) | 0; - bg = bg + 128 | 0; - b = H; - e = d; - } - if ((bh | 0) == 578) { - i = h; - return 0; - } - bh = f + 12 | 0; - f = fp(dU(bh) | 0, 0, e >>> 4 | b << 28, b >>> 4 | 0 << 28) | 0; - dV(bh, f); - f = A; - bh = r; - c[f >> 2] = c[bh >> 2]; - c[f + 4 >> 2] = c[bh + 4 >> 2]; - c[f + 8 >> 2] = c[bh + 8 >> 2]; - c[f + 12 >> 2] = c[bh + 12 >> 2]; - bh = A + 16 | 0; - r = s; - c[bh >> 2] = c[r >> 2]; - c[bh + 4 >> 2] = c[r + 4 >> 2]; - c[bh + 8 >> 2] = c[r + 8 >> 2]; - c[bh + 12 >> 2] = c[r + 12 >> 2]; - r = A + 32 | 0; - bh = v; - c[r >> 2] = c[bh >> 2]; - c[r + 4 >> 2] = c[bh + 4 >> 2]; - c[r + 8 >> 2] = c[bh + 8 >> 2]; - c[r + 12 >> 2] = c[bh + 12 >> 2]; - bh = A + 48 | 0; - r = x; - c[bh >> 2] = c[r >> 2]; - c[bh + 4 >> 2] = c[r + 4 >> 2]; - c[bh + 8 >> 2] = c[r + 8 >> 2]; - c[bh + 12 >> 2] = c[r + 12 >> 2]; - r = A + 64 | 0; - bh = u; - c[r >> 2] = c[bh >> 2]; - c[r + 4 >> 2] = c[bh + 4 >> 2]; - c[r + 8 >> 2] = c[bh + 8 >> 2]; - c[r + 12 >> 2] = c[bh + 12 >> 2]; - bh = A + 80 | 0; - r = y; - c[bh >> 2] = c[r >> 2]; - c[bh + 4 >> 2] = c[r + 4 >> 2]; - c[bh + 8 >> 2] = c[r + 8 >> 2]; - c[bh + 12 >> 2] = c[r + 12 >> 2]; - r = A + 96 | 0; - bh = t; - c[r >> 2] = c[bh >> 2]; - c[r + 4 >> 2] = c[bh + 4 >> 2]; - c[r + 8 >> 2] = c[bh + 8 >> 2]; - c[r + 12 >> 2] = c[bh + 12 >> 2]; - bh = A + 112 | 0; - A = w; - c[bh >> 2] = c[A >> 2]; - c[bh + 4 >> 2] = c[A + 4 >> 2]; - c[bh + 8 >> 2] = c[A + 8 >> 2]; - c[bh + 12 >> 2] = c[A + 12 >> 2]; - if ((e | 0) == 0 & (b | 0) == 0) { - i = h; - return 0; - } else { - bi = b; - bj = e; - bk = f; - bl = bg; - } - while (1) { - a[bl] = a[bk] | 0; - bg = fp(bj, bi, -1, -1) | 0; - f = H; - if ((bg | 0) == 0 & (f | 0) == 0) { - break; - } else { - bi = f; - bj = bg; - bk = bk + 1 | 0; - bl = bl + 1 | 0; - } - } - i = h; - return 0; -} -function dT(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0; - d = i; - i = i + 272 | 0; - e = d | 0; - f = d + 16 | 0; - g = d + 32 | 0; - h = d + 48 | 0; - j = d + 64 | 0; - k = d + 80 | 0; - l = d + 96 | 0; - m = d + 112 | 0; - n = d + 128 | 0; - o = d + 144 | 0; - p = d + 160 | 0; - q = d + 176 | 0; - r = d + 192 | 0; - s = d + 208 | 0; - t = d + 224 | 0; - u = d + 240 | 0; - v = d + 256 | 0; - w = e; - c[w >> 2] = c[b >> 2]; - c[w + 4 >> 2] = c[b + 4 >> 2]; - c[w + 8 >> 2] = c[b + 8 >> 2]; - c[w + 12 >> 2] = c[b + 12 >> 2]; - d3(e, 110888); - d1(f, e); - d1(g, e); - d1(h, e); - d1(j, e); - d1(k, e); - d1(l, e); - d1(m, e); - d1(v, l); - d6(v, 1); - d_(v, m); - d$(v, 110952); - d_(m, v); - d7(v, 1); - d_(l, v); - d1(v, j); - d6(v, 1); - d_(v, k); - d$(v, 110952); - d_(k, v); - d7(v, 1); - d_(j, v); - d1(v, g); - d6(v, 1); - d_(v, h); - d$(v, 110952); - d_(h, v); - d7(v, 1); - d_(g, v); - d1(v, e); - d6(v, 1); - d_(v, f); - d$(v, 110952); - d_(f, v); - d7(v, 1); - d_(e, v); - d1(v, k); - d6(v, 2); - d_(v, m); - d$(v, 110936); - d_(m, v); - d7(v, 2); - d_(k, v); - d1(v, j); - d6(v, 2); - d_(v, l); - d$(v, 110936); - d_(l, v); - d7(v, 2); - d_(j, v); - d1(v, f); - d6(v, 2); - d_(v, h); - d$(v, 110936); - d_(h, v); - d7(v, 2); - d_(f, v); - d1(v, e); - d6(v, 2); - d_(v, g); - d$(v, 110936); - d_(g, v); - d7(v, 2); - d_(e, v); - d1(v, h); - d6(v, 4); - d_(v, m); - d$(v, 110920); - d_(m, v); - d7(v, 4); - d_(h, v); - d1(v, g); - d6(v, 4); - d_(v, l); - d$(v, 110920); - d_(l, v); - d7(v, 4); - d_(g, v); - d1(v, f); - d6(v, 4); - d_(v, k); - d$(v, 110920); - d_(k, v); - d7(v, 4); - d_(f, v); - d1(v, e); - d6(v, 4); - d_(v, j); - d$(v, 110920); - d_(j, v); - d7(v, 4); - d_(e, v); - c[a >> 2] = c[w >> 2]; - c[a + 4 >> 2] = c[w + 4 >> 2]; - c[a + 8 >> 2] = c[w + 8 >> 2]; - c[a + 12 >> 2] = c[w + 12 >> 2]; - v = a + 16 | 0; - b = f; - c[v >> 2] = c[b >> 2]; - c[v + 4 >> 2] = c[b + 4 >> 2]; - c[v + 8 >> 2] = c[b + 8 >> 2]; - c[v + 12 >> 2] = c[b + 12 >> 2]; - x = a + 32 | 0; - y = g; - c[x >> 2] = c[y >> 2]; - c[x + 4 >> 2] = c[y + 4 >> 2]; - c[x + 8 >> 2] = c[y + 8 >> 2]; - c[x + 12 >> 2] = c[y + 12 >> 2]; - z = a + 48 | 0; - A = h; - c[z >> 2] = c[A >> 2]; - c[z + 4 >> 2] = c[A + 4 >> 2]; - c[z + 8 >> 2] = c[A + 8 >> 2]; - c[z + 12 >> 2] = c[A + 12 >> 2]; - B = a + 64 | 0; - C = j; - c[B >> 2] = c[C >> 2]; - c[B + 4 >> 2] = c[C + 4 >> 2]; - c[B + 8 >> 2] = c[C + 8 >> 2]; - c[B + 12 >> 2] = c[C + 12 >> 2]; - D = a + 80 | 0; - E = k; - c[D >> 2] = c[E >> 2]; - c[D + 4 >> 2] = c[E + 4 >> 2]; - c[D + 8 >> 2] = c[E + 8 >> 2]; - c[D + 12 >> 2] = c[E + 12 >> 2]; - F = a + 96 | 0; - G = l; - c[F >> 2] = c[G >> 2]; - c[F + 4 >> 2] = c[G + 4 >> 2]; - c[F + 8 >> 2] = c[G + 8 >> 2]; - c[F + 12 >> 2] = c[G + 12 >> 2]; - H = a + 112 | 0; - I = m; - c[H >> 2] = c[I >> 2]; - c[H + 4 >> 2] = c[I + 4 >> 2]; - c[H + 8 >> 2] = c[I + 8 >> 2]; - c[H + 12 >> 2] = c[I + 12 >> 2]; - d3(e, 110856); - d3(f, 110856); - d3(g, 110856); - d3(h, 110856); - d3(j, 110856); - d3(k, 110856); - d3(l, 110856); - d3(m, 110856); - d_(k, l); - d_(g, f); - d_(k, e); - d_(l, g); - d_(h, e); - d_(l, h); - d_(h, m); - d_(h, j); - d_(m, k); - d_(h, f); - d_(j, k); - d_(g, m); - d_(f, k); - d1(q, m); - d1(p, f); - d1(o, k); - d1(s, g); - d1(r, l); - d_(q, j); - d_(p, g); - d_(o, h); - d_(s, j); - d_(r, e); - d1(t, q); - d1(n, p); - d1(u, q); - d0(p, o); - d0(q, r); - d_(u, n); - d$(t, r); - d$(n, o); - d_(r, o); - d$(u, r); - d1(r, h); - d_(r, e); - d$(s, r); - d_(q, s); - d_(p, s); - d1(s, m); - d_(s, f); - d1(r, k); - d1(o, s); - d_(r, l); - d0(o, r); - d$(s, r); - d_(n, s); - d_(q, u); - d_(p, t); - d_(o, u); - d_(n, t); - d_(o, t); - d1(r, g); - d1(s, j); - d1(t, f); - d1(u, m); - d$(r, h); - d$(s, e); - d$(t, k); - d0(u, l); - d_(q, r); - d_(p, s); - d_(o, t); - d_(n, u); - d1(r, q); - d_(r, p); - d$(q, o); - d1(t, n); - d_(t, q); - d1(u, r); - d$(u, t); - d_(u, p); - d1(s, o); - d_(s, n); - d_(q, p); - d$(s, q); - d_(s, n); - d_(o, s); - d1(p, t); - d_(p, s); - d$(p, n); - d_(o, p); - d_(t, p); - d$(t, u); - d_(t, r); - d1(r, l); - d1(n, k); - d1(p, u); - d_(p, t); - d$(p, l); - d_(l, k); - d$(l, t); - d$(k, u); - d_(l, k); - d_(k, p); - d_(r, e); - d_(n, h); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, e); - d_(e, h); - d$(e, o); - d$(h, s); - d_(e, h); - d_(h, p); - d_(l, r); - d_(e, r); - d_(k, n); - d_(h, n); - d1(r, m); - d1(n, f); - d_(r, j); - d_(n, g); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, j); - d_(j, g); - d$(j, o); - d$(g, s); - d_(j, g); - d_(g, p); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, m); - d_(m, f); - d$(m, t); - d$(f, u); - d_(m, f); - d_(f, q); - d_(m, r); - d_(j, r); - d_(f, n); - d_(g, n); - d_(m, e); - d_(f, l); - d_(j, m); - d_(l, e); - d_(e, f); - d_(f, k); - d_(k, g); - d_(j, k); - d_(g, h); - d_(h, k); - d_(l, h); - d8(e); - d3(e, 110904); - d3(f, 110904); - d3(j, 110904); - d3(l, 110904); - d3(h, 110904); - d3(m, 110904); - d3(g, 110904); - d3(k, 110904); - d3(e, 110904); - J = n; - c[J >> 2] = c[a >> 2]; - c[J + 4 >> 2] = c[a + 4 >> 2]; - c[J + 8 >> 2] = c[a + 8 >> 2]; - c[J + 12 >> 2] = c[a + 12 >> 2]; - K = o; - c[K >> 2] = c[v >> 2]; - c[K + 4 >> 2] = c[v + 4 >> 2]; - c[K + 8 >> 2] = c[v + 8 >> 2]; - c[K + 12 >> 2] = c[v + 12 >> 2]; - v = p; - c[v >> 2] = c[x >> 2]; - c[v + 4 >> 2] = c[x + 4 >> 2]; - c[v + 8 >> 2] = c[x + 8 >> 2]; - c[v + 12 >> 2] = c[x + 12 >> 2]; - x = q; - c[x >> 2] = c[z >> 2]; - c[x + 4 >> 2] = c[z + 4 >> 2]; - c[x + 8 >> 2] = c[z + 8 >> 2]; - c[x + 12 >> 2] = c[z + 12 >> 2]; - z = r; - c[z >> 2] = c[B >> 2]; - c[z + 4 >> 2] = c[B + 4 >> 2]; - c[z + 8 >> 2] = c[B + 8 >> 2]; - c[z + 12 >> 2] = c[B + 12 >> 2]; - B = s; - c[B >> 2] = c[D >> 2]; - c[B + 4 >> 2] = c[D + 4 >> 2]; - c[B + 8 >> 2] = c[D + 8 >> 2]; - c[B + 12 >> 2] = c[D + 12 >> 2]; - D = t; - c[D >> 2] = c[F >> 2]; - c[D + 4 >> 2] = c[F + 4 >> 2]; - c[D + 8 >> 2] = c[F + 8 >> 2]; - c[D + 12 >> 2] = c[F + 12 >> 2]; - F = u; - c[F >> 2] = c[H >> 2]; - c[F + 4 >> 2] = c[H + 4 >> 2]; - c[F + 8 >> 2] = c[H + 8 >> 2]; - c[F + 12 >> 2] = c[H + 12 >> 2]; - d_(e, n); - d_(f, o); - d_(j, p); - d_(l, q); - d_(h, r); - d_(m, s); - d_(g, t); - d_(k, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(j, p); - d_(l, q); - d_(h, r); - d_(m, s); - d_(g, t); - d_(k, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(j, p); - d_(l, q); - d_(h, r); - d_(m, s); - d_(g, t); - d_(k, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(j, p); - d_(l, q); - d_(h, r); - d_(m, s); - d_(g, t); - d_(k, u); - H = a + 128 | 0; - c[H >> 2] = c[w >> 2]; - c[H + 4 >> 2] = c[w + 4 >> 2]; - c[H + 8 >> 2] = c[w + 8 >> 2]; - c[H + 12 >> 2] = c[w + 12 >> 2]; - L = a + 144 | 0; - c[L >> 2] = c[b >> 2]; - c[L + 4 >> 2] = c[b + 4 >> 2]; - c[L + 8 >> 2] = c[b + 8 >> 2]; - c[L + 12 >> 2] = c[b + 12 >> 2]; - M = a + 160 | 0; - c[M >> 2] = c[C >> 2]; - c[M + 4 >> 2] = c[C + 4 >> 2]; - c[M + 8 >> 2] = c[C + 8 >> 2]; - c[M + 12 >> 2] = c[C + 12 >> 2]; - N = a + 176 | 0; - c[N >> 2] = c[G >> 2]; - c[N + 4 >> 2] = c[G + 4 >> 2]; - c[N + 8 >> 2] = c[G + 8 >> 2]; - c[N + 12 >> 2] = c[G + 12 >> 2]; - O = a + 192 | 0; - c[O >> 2] = c[A >> 2]; - c[O + 4 >> 2] = c[A + 4 >> 2]; - c[O + 8 >> 2] = c[A + 8 >> 2]; - c[O + 12 >> 2] = c[A + 12 >> 2]; - P = a + 208 | 0; - c[P >> 2] = c[I >> 2]; - c[P + 4 >> 2] = c[I + 4 >> 2]; - c[P + 8 >> 2] = c[I + 8 >> 2]; - c[P + 12 >> 2] = c[I + 12 >> 2]; - Q = a + 224 | 0; - c[Q >> 2] = c[y >> 2]; - c[Q + 4 >> 2] = c[y + 4 >> 2]; - c[Q + 8 >> 2] = c[y + 8 >> 2]; - c[Q + 12 >> 2] = c[y + 12 >> 2]; - R = a + 240 | 0; - c[R >> 2] = c[E >> 2]; - c[R + 4 >> 2] = c[E + 4 >> 2]; - c[R + 8 >> 2] = c[E + 8 >> 2]; - c[R + 12 >> 2] = c[E + 12 >> 2]; - d2(e); - d2(f); - d2(m); - d2(g); - d3(e, 110856); - d3(f, 110856); - d3(j, 110856); - d3(l, 110856); - d3(h, 110856); - d3(m, 110856); - d3(g, 110856); - d3(k, 110856); - d_(m, g); - d_(j, f); - d_(m, e); - d_(g, j); - d_(l, e); - d_(g, l); - d_(l, k); - d_(l, h); - d_(k, m); - d_(l, f); - d_(h, m); - d_(j, k); - d_(f, m); - d1(q, k); - d1(p, f); - d1(o, m); - d1(s, j); - d1(r, g); - d_(q, h); - d_(p, j); - d_(o, l); - d_(s, h); - d_(r, e); - d1(t, q); - d1(n, p); - d1(u, q); - d0(p, o); - d0(q, r); - d_(u, n); - d$(t, r); - d$(n, o); - d_(r, o); - d$(u, r); - d1(r, l); - d_(r, e); - d$(s, r); - d_(q, s); - d_(p, s); - d1(s, k); - d_(s, f); - d1(r, m); - d1(o, s); - d_(r, g); - d0(o, r); - d$(s, r); - d_(n, s); - d_(q, u); - d_(p, t); - d_(o, u); - d_(n, t); - d_(o, t); - d1(r, j); - d1(s, h); - d1(t, f); - d1(u, k); - d$(r, l); - d$(s, e); - d$(t, m); - d0(u, g); - d_(q, r); - d_(p, s); - d_(o, t); - d_(n, u); - d1(r, q); - d_(r, p); - d$(q, o); - d1(t, n); - d_(t, q); - d1(u, r); - d$(u, t); - d_(u, p); - d1(s, o); - d_(s, n); - d_(q, p); - d$(s, q); - d_(s, n); - d_(o, s); - d1(p, t); - d_(p, s); - d$(p, n); - d_(o, p); - d_(t, p); - d$(t, u); - d_(t, r); - d1(r, g); - d1(n, m); - d1(p, u); - d_(p, t); - d$(p, g); - d_(g, m); - d$(g, t); - d$(m, u); - d_(g, m); - d_(m, p); - d_(r, e); - d_(n, l); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, e); - d_(e, l); - d$(e, o); - d$(l, s); - d_(e, l); - d_(l, p); - d_(g, r); - d_(e, r); - d_(m, n); - d_(l, n); - d1(r, k); - d1(n, f); - d_(r, h); - d_(n, j); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, h); - d_(h, j); - d$(h, o); - d$(j, s); - d_(h, j); - d_(j, p); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, k); - d_(k, f); - d$(k, t); - d$(f, u); - d_(k, f); - d_(f, q); - d_(k, r); - d_(h, r); - d_(f, n); - d_(j, n); - d_(k, e); - d_(f, g); - d_(h, k); - d_(g, e); - d_(e, f); - d_(f, m); - d_(m, j); - d_(h, m); - d_(j, l); - d_(l, m); - d_(g, l); - d8(f); - d3(e, 110904); - d3(f, 110904); - d3(h, 110904); - d3(g, 110904); - d3(l, 110904); - d3(k, 110904); - d3(j, 110904); - d3(m, 110904); - c[J >> 2] = c[H >> 2]; - c[J + 4 >> 2] = c[H + 4 >> 2]; - c[J + 8 >> 2] = c[H + 8 >> 2]; - c[J + 12 >> 2] = c[H + 12 >> 2]; - c[K >> 2] = c[L >> 2]; - c[K + 4 >> 2] = c[L + 4 >> 2]; - c[K + 8 >> 2] = c[L + 8 >> 2]; - c[K + 12 >> 2] = c[L + 12 >> 2]; - c[v >> 2] = c[M >> 2]; - c[v + 4 >> 2] = c[M + 4 >> 2]; - c[v + 8 >> 2] = c[M + 8 >> 2]; - c[v + 12 >> 2] = c[M + 12 >> 2]; - c[x >> 2] = c[N >> 2]; - c[x + 4 >> 2] = c[N + 4 >> 2]; - c[x + 8 >> 2] = c[N + 8 >> 2]; - c[x + 12 >> 2] = c[N + 12 >> 2]; - c[z >> 2] = c[O >> 2]; - c[z + 4 >> 2] = c[O + 4 >> 2]; - c[z + 8 >> 2] = c[O + 8 >> 2]; - c[z + 12 >> 2] = c[O + 12 >> 2]; - c[B >> 2] = c[P >> 2]; - c[B + 4 >> 2] = c[P + 4 >> 2]; - c[B + 8 >> 2] = c[P + 8 >> 2]; - c[B + 12 >> 2] = c[P + 12 >> 2]; - c[D >> 2] = c[Q >> 2]; - c[D + 4 >> 2] = c[Q + 4 >> 2]; - c[D + 8 >> 2] = c[Q + 8 >> 2]; - c[D + 12 >> 2] = c[Q + 12 >> 2]; - c[F >> 2] = c[R >> 2]; - c[F + 4 >> 2] = c[R + 4 >> 2]; - c[F + 8 >> 2] = c[R + 8 >> 2]; - c[F + 12 >> 2] = c[R + 12 >> 2]; - d2(n); - d2(o); - d2(s); - d2(t); - d_(e, n); - d_(f, o); - d_(h, p); - d_(g, q); - d_(l, r); - d_(k, s); - d_(j, t); - d_(m, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(h, p); - d_(g, q); - d_(l, r); - d_(k, s); - d_(j, t); - d_(m, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(h, p); - d_(g, q); - d_(l, r); - d_(k, s); - d_(j, t); - d_(m, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(h, p); - d_(g, q); - d_(l, r); - d_(k, s); - d_(j, t); - d_(m, u); - R = a + 256 | 0; - c[R >> 2] = c[w >> 2]; - c[R + 4 >> 2] = c[w + 4 >> 2]; - c[R + 8 >> 2] = c[w + 8 >> 2]; - c[R + 12 >> 2] = c[w + 12 >> 2]; - Q = a + 272 | 0; - c[Q >> 2] = c[b >> 2]; - c[Q + 4 >> 2] = c[b + 4 >> 2]; - c[Q + 8 >> 2] = c[b + 8 >> 2]; - c[Q + 12 >> 2] = c[b + 12 >> 2]; - P = a + 288 | 0; - c[P >> 2] = c[A >> 2]; - c[P + 4 >> 2] = c[A + 4 >> 2]; - c[P + 8 >> 2] = c[A + 8 >> 2]; - c[P + 12 >> 2] = c[A + 12 >> 2]; - O = a + 304 | 0; - c[O >> 2] = c[y >> 2]; - c[O + 4 >> 2] = c[y + 4 >> 2]; - c[O + 8 >> 2] = c[y + 8 >> 2]; - c[O + 12 >> 2] = c[y + 12 >> 2]; - N = a + 320 | 0; - c[N >> 2] = c[G >> 2]; - c[N + 4 >> 2] = c[G + 4 >> 2]; - c[N + 8 >> 2] = c[G + 8 >> 2]; - c[N + 12 >> 2] = c[G + 12 >> 2]; - M = a + 336 | 0; - c[M >> 2] = c[E >> 2]; - c[M + 4 >> 2] = c[E + 4 >> 2]; - c[M + 8 >> 2] = c[E + 8 >> 2]; - c[M + 12 >> 2] = c[E + 12 >> 2]; - L = a + 352 | 0; - c[L >> 2] = c[C >> 2]; - c[L + 4 >> 2] = c[C + 4 >> 2]; - c[L + 8 >> 2] = c[C + 8 >> 2]; - c[L + 12 >> 2] = c[C + 12 >> 2]; - H = a + 368 | 0; - c[H >> 2] = c[I >> 2]; - c[H + 4 >> 2] = c[I + 4 >> 2]; - c[H + 8 >> 2] = c[I + 8 >> 2]; - c[H + 12 >> 2] = c[I + 12 >> 2]; - d2(e); - d2(f); - d2(k); - d2(j); - d3(e, 110856); - d3(f, 110856); - d3(h, 110856); - d3(g, 110856); - d3(l, 110856); - d3(k, 110856); - d3(j, 110856); - d3(m, 110856); - d_(k, j); - d_(h, f); - d_(k, e); - d_(j, h); - d_(g, e); - d_(j, g); - d_(g, m); - d_(g, l); - d_(m, k); - d_(g, f); - d_(l, k); - d_(h, m); - d_(f, k); - d1(q, m); - d1(p, f); - d1(o, k); - d1(s, h); - d1(r, j); - d_(q, l); - d_(p, h); - d_(o, g); - d_(s, l); - d_(r, e); - d1(t, q); - d1(n, p); - d1(u, q); - d0(p, o); - d0(q, r); - d_(u, n); - d$(t, r); - d$(n, o); - d_(r, o); - d$(u, r); - d1(r, g); - d_(r, e); - d$(s, r); - d_(q, s); - d_(p, s); - d1(s, m); - d_(s, f); - d1(r, k); - d1(o, s); - d_(r, j); - d0(o, r); - d$(s, r); - d_(n, s); - d_(q, u); - d_(p, t); - d_(o, u); - d_(n, t); - d_(o, t); - d1(r, h); - d1(s, l); - d1(t, f); - d1(u, m); - d$(r, g); - d$(s, e); - d$(t, k); - d0(u, j); - d_(q, r); - d_(p, s); - d_(o, t); - d_(n, u); - d1(r, q); - d_(r, p); - d$(q, o); - d1(t, n); - d_(t, q); - d1(u, r); - d$(u, t); - d_(u, p); - d1(s, o); - d_(s, n); - d_(q, p); - d$(s, q); - d_(s, n); - d_(o, s); - d1(p, t); - d_(p, s); - d$(p, n); - d_(o, p); - d_(t, p); - d$(t, u); - d_(t, r); - d1(r, j); - d1(n, k); - d1(p, u); - d_(p, t); - d$(p, j); - d_(j, k); - d$(j, t); - d$(k, u); - d_(j, k); - d_(k, p); - d_(r, e); - d_(n, g); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, e); - d_(e, g); - d$(e, o); - d$(g, s); - d_(e, g); - d_(g, p); - d_(j, r); - d_(e, r); - d_(k, n); - d_(g, n); - d1(r, m); - d1(n, f); - d_(r, l); - d_(n, h); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, l); - d_(l, h); - d$(l, o); - d$(h, s); - d_(l, h); - d_(h, p); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, m); - d_(m, f); - d$(m, t); - d$(f, u); - d_(m, f); - d_(f, q); - d_(m, r); - d_(l, r); - d_(f, n); - d_(h, n); - d_(m, e); - d_(f, j); - d_(l, m); - d_(j, e); - d_(e, f); - d_(f, k); - d_(k, h); - d_(l, k); - d_(h, g); - d_(g, k); - d_(j, g); - d8(l); - d3(e, 110904); - d3(f, 110904); - d3(l, 110904); - d3(j, 110904); - d3(g, 110904); - d3(m, 110904); - d3(h, 110904); - d3(k, 110904); - c[J >> 2] = c[R >> 2]; - c[J + 4 >> 2] = c[R + 4 >> 2]; - c[J + 8 >> 2] = c[R + 8 >> 2]; - c[J + 12 >> 2] = c[R + 12 >> 2]; - c[K >> 2] = c[Q >> 2]; - c[K + 4 >> 2] = c[Q + 4 >> 2]; - c[K + 8 >> 2] = c[Q + 8 >> 2]; - c[K + 12 >> 2] = c[Q + 12 >> 2]; - c[v >> 2] = c[P >> 2]; - c[v + 4 >> 2] = c[P + 4 >> 2]; - c[v + 8 >> 2] = c[P + 8 >> 2]; - c[v + 12 >> 2] = c[P + 12 >> 2]; - c[x >> 2] = c[O >> 2]; - c[x + 4 >> 2] = c[O + 4 >> 2]; - c[x + 8 >> 2] = c[O + 8 >> 2]; - c[x + 12 >> 2] = c[O + 12 >> 2]; - c[z >> 2] = c[N >> 2]; - c[z + 4 >> 2] = c[N + 4 >> 2]; - c[z + 8 >> 2] = c[N + 8 >> 2]; - c[z + 12 >> 2] = c[N + 12 >> 2]; - c[B >> 2] = c[M >> 2]; - c[B + 4 >> 2] = c[M + 4 >> 2]; - c[B + 8 >> 2] = c[M + 8 >> 2]; - c[B + 12 >> 2] = c[M + 12 >> 2]; - c[D >> 2] = c[L >> 2]; - c[D + 4 >> 2] = c[L + 4 >> 2]; - c[D + 8 >> 2] = c[L + 8 >> 2]; - c[D + 12 >> 2] = c[L + 12 >> 2]; - c[F >> 2] = c[H >> 2]; - c[F + 4 >> 2] = c[H + 4 >> 2]; - c[F + 8 >> 2] = c[H + 8 >> 2]; - c[F + 12 >> 2] = c[H + 12 >> 2]; - d2(n); - d2(o); - d2(s); - d2(t); - d_(e, n); - d_(f, o); - d_(l, p); - d_(j, q); - d_(g, r); - d_(m, s); - d_(h, t); - d_(k, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(l, p); - d_(j, q); - d_(g, r); - d_(m, s); - d_(h, t); - d_(k, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(l, p); - d_(j, q); - d_(g, r); - d_(m, s); - d_(h, t); - d_(k, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(l, p); - d_(j, q); - d_(g, r); - d_(m, s); - d_(h, t); - d_(k, u); - H = a + 384 | 0; - c[H >> 2] = c[w >> 2]; - c[H + 4 >> 2] = c[w + 4 >> 2]; - c[H + 8 >> 2] = c[w + 8 >> 2]; - c[H + 12 >> 2] = c[w + 12 >> 2]; - L = a + 400 | 0; - c[L >> 2] = c[b >> 2]; - c[L + 4 >> 2] = c[b + 4 >> 2]; - c[L + 8 >> 2] = c[b + 8 >> 2]; - c[L + 12 >> 2] = c[b + 12 >> 2]; - M = a + 416 | 0; - c[M >> 2] = c[G >> 2]; - c[M + 4 >> 2] = c[G + 4 >> 2]; - c[M + 8 >> 2] = c[G + 8 >> 2]; - c[M + 12 >> 2] = c[G + 12 >> 2]; - N = a + 432 | 0; - c[N >> 2] = c[C >> 2]; - c[N + 4 >> 2] = c[C + 4 >> 2]; - c[N + 8 >> 2] = c[C + 8 >> 2]; - c[N + 12 >> 2] = c[C + 12 >> 2]; - O = a + 448 | 0; - c[O >> 2] = c[y >> 2]; - c[O + 4 >> 2] = c[y + 4 >> 2]; - c[O + 8 >> 2] = c[y + 8 >> 2]; - c[O + 12 >> 2] = c[y + 12 >> 2]; - P = a + 464 | 0; - c[P >> 2] = c[I >> 2]; - c[P + 4 >> 2] = c[I + 4 >> 2]; - c[P + 8 >> 2] = c[I + 8 >> 2]; - c[P + 12 >> 2] = c[I + 12 >> 2]; - Q = a + 480 | 0; - c[Q >> 2] = c[A >> 2]; - c[Q + 4 >> 2] = c[A + 4 >> 2]; - c[Q + 8 >> 2] = c[A + 8 >> 2]; - c[Q + 12 >> 2] = c[A + 12 >> 2]; - R = a + 496 | 0; - c[R >> 2] = c[E >> 2]; - c[R + 4 >> 2] = c[E + 4 >> 2]; - c[R + 8 >> 2] = c[E + 8 >> 2]; - c[R + 12 >> 2] = c[E + 12 >> 2]; - d2(e); - d2(f); - d2(m); - d2(h); - d3(e, 110856); - d3(f, 110856); - d3(l, 110856); - d3(j, 110856); - d3(g, 110856); - d3(m, 110856); - d3(h, 110856); - d3(k, 110856); - d_(m, h); - d_(l, f); - d_(m, e); - d_(h, l); - d_(j, e); - d_(h, j); - d_(j, k); - d_(j, g); - d_(k, m); - d_(j, f); - d_(g, m); - d_(l, k); - d_(f, m); - d1(q, k); - d1(p, f); - d1(o, m); - d1(s, l); - d1(r, h); - d_(q, g); - d_(p, l); - d_(o, j); - d_(s, g); - d_(r, e); - d1(t, q); - d1(n, p); - d1(u, q); - d0(p, o); - d0(q, r); - d_(u, n); - d$(t, r); - d$(n, o); - d_(r, o); - d$(u, r); - d1(r, j); - d_(r, e); - d$(s, r); - d_(q, s); - d_(p, s); - d1(s, k); - d_(s, f); - d1(r, m); - d1(o, s); - d_(r, h); - d0(o, r); - d$(s, r); - d_(n, s); - d_(q, u); - d_(p, t); - d_(o, u); - d_(n, t); - d_(o, t); - d1(r, l); - d1(s, g); - d1(t, f); - d1(u, k); - d$(r, j); - d$(s, e); - d$(t, m); - d0(u, h); - d_(q, r); - d_(p, s); - d_(o, t); - d_(n, u); - d1(r, q); - d_(r, p); - d$(q, o); - d1(t, n); - d_(t, q); - d1(u, r); - d$(u, t); - d_(u, p); - d1(s, o); - d_(s, n); - d_(q, p); - d$(s, q); - d_(s, n); - d_(o, s); - d1(p, t); - d_(p, s); - d$(p, n); - d_(o, p); - d_(t, p); - d$(t, u); - d_(t, r); - d1(r, h); - d1(n, m); - d1(p, u); - d_(p, t); - d$(p, h); - d_(h, m); - d$(h, t); - d$(m, u); - d_(h, m); - d_(m, p); - d_(r, e); - d_(n, j); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, e); - d_(e, j); - d$(e, o); - d$(j, s); - d_(e, j); - d_(j, p); - d_(h, r); - d_(e, r); - d_(m, n); - d_(j, n); - d1(r, k); - d1(n, f); - d_(r, g); - d_(n, l); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, g); - d_(g, l); - d$(g, o); - d$(l, s); - d_(g, l); - d_(l, p); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, k); - d_(k, f); - d$(k, t); - d$(f, u); - d_(k, f); - d_(f, q); - d_(k, r); - d_(g, r); - d_(f, n); - d_(l, n); - d_(k, e); - d_(f, h); - d_(g, k); - d_(h, e); - d_(e, f); - d_(f, m); - d_(m, l); - d_(g, m); - d_(l, j); - d_(j, m); - d_(h, j); - d8(h); - d3(e, 110904); - d3(f, 110904); - d3(g, 110904); - d3(h, 110904); - d3(j, 110904); - d3(k, 110904); - d3(l, 110904); - d3(m, 110904); - c[J >> 2] = c[H >> 2]; - c[J + 4 >> 2] = c[H + 4 >> 2]; - c[J + 8 >> 2] = c[H + 8 >> 2]; - c[J + 12 >> 2] = c[H + 12 >> 2]; - c[K >> 2] = c[L >> 2]; - c[K + 4 >> 2] = c[L + 4 >> 2]; - c[K + 8 >> 2] = c[L + 8 >> 2]; - c[K + 12 >> 2] = c[L + 12 >> 2]; - c[v >> 2] = c[M >> 2]; - c[v + 4 >> 2] = c[M + 4 >> 2]; - c[v + 8 >> 2] = c[M + 8 >> 2]; - c[v + 12 >> 2] = c[M + 12 >> 2]; - c[x >> 2] = c[N >> 2]; - c[x + 4 >> 2] = c[N + 4 >> 2]; - c[x + 8 >> 2] = c[N + 8 >> 2]; - c[x + 12 >> 2] = c[N + 12 >> 2]; - c[z >> 2] = c[O >> 2]; - c[z + 4 >> 2] = c[O + 4 >> 2]; - c[z + 8 >> 2] = c[O + 8 >> 2]; - c[z + 12 >> 2] = c[O + 12 >> 2]; - c[B >> 2] = c[P >> 2]; - c[B + 4 >> 2] = c[P + 4 >> 2]; - c[B + 8 >> 2] = c[P + 8 >> 2]; - c[B + 12 >> 2] = c[P + 12 >> 2]; - c[D >> 2] = c[Q >> 2]; - c[D + 4 >> 2] = c[Q + 4 >> 2]; - c[D + 8 >> 2] = c[Q + 8 >> 2]; - c[D + 12 >> 2] = c[Q + 12 >> 2]; - c[F >> 2] = c[R >> 2]; - c[F + 4 >> 2] = c[R + 4 >> 2]; - c[F + 8 >> 2] = c[R + 8 >> 2]; - c[F + 12 >> 2] = c[R + 12 >> 2]; - d2(n); - d2(o); - d2(s); - d2(t); - d_(e, n); - d_(f, o); - d_(g, p); - d_(h, q); - d_(j, r); - d_(k, s); - d_(l, t); - d_(m, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(g, p); - d_(h, q); - d_(j, r); - d_(k, s); - d_(l, t); - d_(m, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(g, p); - d_(h, q); - d_(j, r); - d_(k, s); - d_(l, t); - d_(m, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(g, p); - d_(h, q); - d_(j, r); - d_(k, s); - d_(l, t); - d_(m, u); - R = a + 512 | 0; - c[R >> 2] = c[w >> 2]; - c[R + 4 >> 2] = c[w + 4 >> 2]; - c[R + 8 >> 2] = c[w + 8 >> 2]; - c[R + 12 >> 2] = c[w + 12 >> 2]; - Q = a + 528 | 0; - c[Q >> 2] = c[b >> 2]; - c[Q + 4 >> 2] = c[b + 4 >> 2]; - c[Q + 8 >> 2] = c[b + 8 >> 2]; - c[Q + 12 >> 2] = c[b + 12 >> 2]; - P = a + 544 | 0; - c[P >> 2] = c[y >> 2]; - c[P + 4 >> 2] = c[y + 4 >> 2]; - c[P + 8 >> 2] = c[y + 8 >> 2]; - c[P + 12 >> 2] = c[y + 12 >> 2]; - O = a + 560 | 0; - c[O >> 2] = c[A >> 2]; - c[O + 4 >> 2] = c[A + 4 >> 2]; - c[O + 8 >> 2] = c[A + 8 >> 2]; - c[O + 12 >> 2] = c[A + 12 >> 2]; - N = a + 576 | 0; - c[N >> 2] = c[C >> 2]; - c[N + 4 >> 2] = c[C + 4 >> 2]; - c[N + 8 >> 2] = c[C + 8 >> 2]; - c[N + 12 >> 2] = c[C + 12 >> 2]; - M = a + 592 | 0; - c[M >> 2] = c[E >> 2]; - c[M + 4 >> 2] = c[E + 4 >> 2]; - c[M + 8 >> 2] = c[E + 8 >> 2]; - c[M + 12 >> 2] = c[E + 12 >> 2]; - L = a + 608 | 0; - c[L >> 2] = c[G >> 2]; - c[L + 4 >> 2] = c[G + 4 >> 2]; - c[L + 8 >> 2] = c[G + 8 >> 2]; - c[L + 12 >> 2] = c[G + 12 >> 2]; - H = a + 624 | 0; - c[H >> 2] = c[I >> 2]; - c[H + 4 >> 2] = c[I + 4 >> 2]; - c[H + 8 >> 2] = c[I + 8 >> 2]; - c[H + 12 >> 2] = c[I + 12 >> 2]; - d2(e); - d2(f); - d2(k); - d2(l); - d3(e, 110856); - d3(f, 110856); - d3(g, 110856); - d3(h, 110856); - d3(j, 110856); - d3(k, 110856); - d3(l, 110856); - d3(m, 110856); - d_(k, l); - d_(g, f); - d_(k, e); - d_(l, g); - d_(h, e); - d_(l, h); - d_(h, m); - d_(h, j); - d_(m, k); - d_(h, f); - d_(j, k); - d_(g, m); - d_(f, k); - d1(q, m); - d1(p, f); - d1(o, k); - d1(s, g); - d1(r, l); - d_(q, j); - d_(p, g); - d_(o, h); - d_(s, j); - d_(r, e); - d1(t, q); - d1(n, p); - d1(u, q); - d0(p, o); - d0(q, r); - d_(u, n); - d$(t, r); - d$(n, o); - d_(r, o); - d$(u, r); - d1(r, h); - d_(r, e); - d$(s, r); - d_(q, s); - d_(p, s); - d1(s, m); - d_(s, f); - d1(r, k); - d1(o, s); - d_(r, l); - d0(o, r); - d$(s, r); - d_(n, s); - d_(q, u); - d_(p, t); - d_(o, u); - d_(n, t); - d_(o, t); - d1(r, g); - d1(s, j); - d1(t, f); - d1(u, m); - d$(r, h); - d$(s, e); - d$(t, k); - d0(u, l); - d_(q, r); - d_(p, s); - d_(o, t); - d_(n, u); - d1(r, q); - d_(r, p); - d$(q, o); - d1(t, n); - d_(t, q); - d1(u, r); - d$(u, t); - d_(u, p); - d1(s, o); - d_(s, n); - d_(q, p); - d$(s, q); - d_(s, n); - d_(o, s); - d1(p, t); - d_(p, s); - d$(p, n); - d_(o, p); - d_(t, p); - d$(t, u); - d_(t, r); - d1(r, l); - d1(n, k); - d1(p, u); - d_(p, t); - d$(p, l); - d_(l, k); - d$(l, t); - d$(k, u); - d_(l, k); - d_(k, p); - d_(r, e); - d_(n, h); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, e); - d_(e, h); - d$(e, o); - d$(h, s); - d_(e, h); - d_(h, p); - d_(l, r); - d_(e, r); - d_(k, n); - d_(h, n); - d1(r, m); - d1(n, f); - d_(r, j); - d_(n, g); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, j); - d_(j, g); - d$(j, o); - d$(g, s); - d_(j, g); - d_(g, p); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, m); - d_(m, f); - d$(m, t); - d$(f, u); - d_(m, f); - d_(f, q); - d_(m, r); - d_(j, r); - d_(f, n); - d_(g, n); - d_(m, e); - d_(f, l); - d_(j, m); - d_(l, e); - d_(e, f); - d_(f, k); - d_(k, g); - d_(j, k); - d_(g, h); - d_(h, k); - d_(l, h); - d8(h); - d3(e, 110904); - d3(f, 110904); - d3(j, 110904); - d3(l, 110904); - d3(h, 110904); - d3(m, 110904); - d3(g, 110904); - d3(k, 110904); - c[J >> 2] = c[R >> 2]; - c[J + 4 >> 2] = c[R + 4 >> 2]; - c[J + 8 >> 2] = c[R + 8 >> 2]; - c[J + 12 >> 2] = c[R + 12 >> 2]; - c[K >> 2] = c[Q >> 2]; - c[K + 4 >> 2] = c[Q + 4 >> 2]; - c[K + 8 >> 2] = c[Q + 8 >> 2]; - c[K + 12 >> 2] = c[Q + 12 >> 2]; - c[v >> 2] = c[P >> 2]; - c[v + 4 >> 2] = c[P + 4 >> 2]; - c[v + 8 >> 2] = c[P + 8 >> 2]; - c[v + 12 >> 2] = c[P + 12 >> 2]; - c[x >> 2] = c[O >> 2]; - c[x + 4 >> 2] = c[O + 4 >> 2]; - c[x + 8 >> 2] = c[O + 8 >> 2]; - c[x + 12 >> 2] = c[O + 12 >> 2]; - c[z >> 2] = c[N >> 2]; - c[z + 4 >> 2] = c[N + 4 >> 2]; - c[z + 8 >> 2] = c[N + 8 >> 2]; - c[z + 12 >> 2] = c[N + 12 >> 2]; - c[B >> 2] = c[M >> 2]; - c[B + 4 >> 2] = c[M + 4 >> 2]; - c[B + 8 >> 2] = c[M + 8 >> 2]; - c[B + 12 >> 2] = c[M + 12 >> 2]; - c[D >> 2] = c[L >> 2]; - c[D + 4 >> 2] = c[L + 4 >> 2]; - c[D + 8 >> 2] = c[L + 8 >> 2]; - c[D + 12 >> 2] = c[L + 12 >> 2]; - c[F >> 2] = c[H >> 2]; - c[F + 4 >> 2] = c[H + 4 >> 2]; - c[F + 8 >> 2] = c[H + 8 >> 2]; - c[F + 12 >> 2] = c[H + 12 >> 2]; - d2(n); - d2(o); - d2(s); - d2(t); - d_(e, n); - d_(f, o); - d_(j, p); - d_(l, q); - d_(h, r); - d_(m, s); - d_(g, t); - d_(k, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(j, p); - d_(l, q); - d_(h, r); - d_(m, s); - d_(g, t); - d_(k, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(j, p); - d_(l, q); - d_(h, r); - d_(m, s); - d_(g, t); - d_(k, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(j, p); - d_(l, q); - d_(h, r); - d_(m, s); - d_(g, t); - d_(k, u); - H = a + 640 | 0; - c[H >> 2] = c[w >> 2]; - c[H + 4 >> 2] = c[w + 4 >> 2]; - c[H + 8 >> 2] = c[w + 8 >> 2]; - c[H + 12 >> 2] = c[w + 12 >> 2]; - L = a + 656 | 0; - c[L >> 2] = c[b >> 2]; - c[L + 4 >> 2] = c[b + 4 >> 2]; - c[L + 8 >> 2] = c[b + 8 >> 2]; - c[L + 12 >> 2] = c[b + 12 >> 2]; - M = a + 672 | 0; - c[M >> 2] = c[C >> 2]; - c[M + 4 >> 2] = c[C + 4 >> 2]; - c[M + 8 >> 2] = c[C + 8 >> 2]; - c[M + 12 >> 2] = c[C + 12 >> 2]; - N = a + 688 | 0; - c[N >> 2] = c[G >> 2]; - c[N + 4 >> 2] = c[G + 4 >> 2]; - c[N + 8 >> 2] = c[G + 8 >> 2]; - c[N + 12 >> 2] = c[G + 12 >> 2]; - O = a + 704 | 0; - c[O >> 2] = c[A >> 2]; - c[O + 4 >> 2] = c[A + 4 >> 2]; - c[O + 8 >> 2] = c[A + 8 >> 2]; - c[O + 12 >> 2] = c[A + 12 >> 2]; - P = a + 720 | 0; - c[P >> 2] = c[I >> 2]; - c[P + 4 >> 2] = c[I + 4 >> 2]; - c[P + 8 >> 2] = c[I + 8 >> 2]; - c[P + 12 >> 2] = c[I + 12 >> 2]; - Q = a + 736 | 0; - c[Q >> 2] = c[y >> 2]; - c[Q + 4 >> 2] = c[y + 4 >> 2]; - c[Q + 8 >> 2] = c[y + 8 >> 2]; - c[Q + 12 >> 2] = c[y + 12 >> 2]; - R = a + 752 | 0; - c[R >> 2] = c[E >> 2]; - c[R + 4 >> 2] = c[E + 4 >> 2]; - c[R + 8 >> 2] = c[E + 8 >> 2]; - c[R + 12 >> 2] = c[E + 12 >> 2]; - d2(e); - d2(f); - d2(m); - d2(g); - d3(e, 110856); - d3(f, 110856); - d3(j, 110856); - d3(l, 110856); - d3(h, 110856); - d3(m, 110856); - d3(g, 110856); - d3(k, 110856); - d_(m, g); - d_(j, f); - d_(m, e); - d_(g, j); - d_(l, e); - d_(g, l); - d_(l, k); - d_(l, h); - d_(k, m); - d_(l, f); - d_(h, m); - d_(j, k); - d_(f, m); - d1(q, k); - d1(p, f); - d1(o, m); - d1(s, j); - d1(r, g); - d_(q, h); - d_(p, j); - d_(o, l); - d_(s, h); - d_(r, e); - d1(t, q); - d1(n, p); - d1(u, q); - d0(p, o); - d0(q, r); - d_(u, n); - d$(t, r); - d$(n, o); - d_(r, o); - d$(u, r); - d1(r, l); - d_(r, e); - d$(s, r); - d_(q, s); - d_(p, s); - d1(s, k); - d_(s, f); - d1(r, m); - d1(o, s); - d_(r, g); - d0(o, r); - d$(s, r); - d_(n, s); - d_(q, u); - d_(p, t); - d_(o, u); - d_(n, t); - d_(o, t); - d1(r, j); - d1(s, h); - d1(t, f); - d1(u, k); - d$(r, l); - d$(s, e); - d$(t, m); - d0(u, g); - d_(q, r); - d_(p, s); - d_(o, t); - d_(n, u); - d1(r, q); - d_(r, p); - d$(q, o); - d1(t, n); - d_(t, q); - d1(u, r); - d$(u, t); - d_(u, p); - d1(s, o); - d_(s, n); - d_(q, p); - d$(s, q); - d_(s, n); - d_(o, s); - d1(p, t); - d_(p, s); - d$(p, n); - d_(o, p); - d_(t, p); - d$(t, u); - d_(t, r); - d1(r, g); - d1(n, m); - d1(p, u); - d_(p, t); - d$(p, g); - d_(g, m); - d$(g, t); - d$(m, u); - d_(g, m); - d_(m, p); - d_(r, e); - d_(n, l); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, e); - d_(e, l); - d$(e, o); - d$(l, s); - d_(e, l); - d_(l, p); - d_(g, r); - d_(e, r); - d_(m, n); - d_(l, n); - d1(r, k); - d1(n, f); - d_(r, h); - d_(n, j); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, h); - d_(h, j); - d$(h, o); - d$(j, s); - d_(h, j); - d_(j, p); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, k); - d_(k, f); - d$(k, t); - d$(f, u); - d_(k, f); - d_(f, q); - d_(k, r); - d_(h, r); - d_(f, n); - d_(j, n); - d_(k, e); - d_(f, g); - d_(h, k); - d_(g, e); - d_(e, f); - d_(f, m); - d_(m, j); - d_(h, m); - d_(j, l); - d_(l, m); - d_(g, l); - d8(k); - d3(e, 110904); - d3(f, 110904); - d3(h, 110904); - d3(g, 110904); - d3(l, 110904); - d3(k, 110904); - d3(j, 110904); - d3(m, 110904); - c[J >> 2] = c[H >> 2]; - c[J + 4 >> 2] = c[H + 4 >> 2]; - c[J + 8 >> 2] = c[H + 8 >> 2]; - c[J + 12 >> 2] = c[H + 12 >> 2]; - c[K >> 2] = c[L >> 2]; - c[K + 4 >> 2] = c[L + 4 >> 2]; - c[K + 8 >> 2] = c[L + 8 >> 2]; - c[K + 12 >> 2] = c[L + 12 >> 2]; - c[v >> 2] = c[M >> 2]; - c[v + 4 >> 2] = c[M + 4 >> 2]; - c[v + 8 >> 2] = c[M + 8 >> 2]; - c[v + 12 >> 2] = c[M + 12 >> 2]; - c[x >> 2] = c[N >> 2]; - c[x + 4 >> 2] = c[N + 4 >> 2]; - c[x + 8 >> 2] = c[N + 8 >> 2]; - c[x + 12 >> 2] = c[N + 12 >> 2]; - c[z >> 2] = c[O >> 2]; - c[z + 4 >> 2] = c[O + 4 >> 2]; - c[z + 8 >> 2] = c[O + 8 >> 2]; - c[z + 12 >> 2] = c[O + 12 >> 2]; - c[B >> 2] = c[P >> 2]; - c[B + 4 >> 2] = c[P + 4 >> 2]; - c[B + 8 >> 2] = c[P + 8 >> 2]; - c[B + 12 >> 2] = c[P + 12 >> 2]; - c[D >> 2] = c[Q >> 2]; - c[D + 4 >> 2] = c[Q + 4 >> 2]; - c[D + 8 >> 2] = c[Q + 8 >> 2]; - c[D + 12 >> 2] = c[Q + 12 >> 2]; - c[F >> 2] = c[R >> 2]; - c[F + 4 >> 2] = c[R + 4 >> 2]; - c[F + 8 >> 2] = c[R + 8 >> 2]; - c[F + 12 >> 2] = c[R + 12 >> 2]; - d2(n); - d2(o); - d2(s); - d2(t); - d_(e, n); - d_(f, o); - d_(h, p); - d_(g, q); - d_(l, r); - d_(k, s); - d_(j, t); - d_(m, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(h, p); - d_(g, q); - d_(l, r); - d_(k, s); - d_(j, t); - d_(m, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(h, p); - d_(g, q); - d_(l, r); - d_(k, s); - d_(j, t); - d_(m, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(h, p); - d_(g, q); - d_(l, r); - d_(k, s); - d_(j, t); - d_(m, u); - R = a + 768 | 0; - c[R >> 2] = c[w >> 2]; - c[R + 4 >> 2] = c[w + 4 >> 2]; - c[R + 8 >> 2] = c[w + 8 >> 2]; - c[R + 12 >> 2] = c[w + 12 >> 2]; - Q = a + 784 | 0; - c[Q >> 2] = c[b >> 2]; - c[Q + 4 >> 2] = c[b + 4 >> 2]; - c[Q + 8 >> 2] = c[b + 8 >> 2]; - c[Q + 12 >> 2] = c[b + 12 >> 2]; - P = a + 800 | 0; - c[P >> 2] = c[A >> 2]; - c[P + 4 >> 2] = c[A + 4 >> 2]; - c[P + 8 >> 2] = c[A + 8 >> 2]; - c[P + 12 >> 2] = c[A + 12 >> 2]; - O = a + 816 | 0; - c[O >> 2] = c[y >> 2]; - c[O + 4 >> 2] = c[y + 4 >> 2]; - c[O + 8 >> 2] = c[y + 8 >> 2]; - c[O + 12 >> 2] = c[y + 12 >> 2]; - N = a + 832 | 0; - c[N >> 2] = c[G >> 2]; - c[N + 4 >> 2] = c[G + 4 >> 2]; - c[N + 8 >> 2] = c[G + 8 >> 2]; - c[N + 12 >> 2] = c[G + 12 >> 2]; - M = a + 848 | 0; - c[M >> 2] = c[E >> 2]; - c[M + 4 >> 2] = c[E + 4 >> 2]; - c[M + 8 >> 2] = c[E + 8 >> 2]; - c[M + 12 >> 2] = c[E + 12 >> 2]; - L = a + 864 | 0; - c[L >> 2] = c[C >> 2]; - c[L + 4 >> 2] = c[C + 4 >> 2]; - c[L + 8 >> 2] = c[C + 8 >> 2]; - c[L + 12 >> 2] = c[C + 12 >> 2]; - H = a + 880 | 0; - c[H >> 2] = c[I >> 2]; - c[H + 4 >> 2] = c[I + 4 >> 2]; - c[H + 8 >> 2] = c[I + 8 >> 2]; - c[H + 12 >> 2] = c[I + 12 >> 2]; - d2(e); - d2(f); - d2(k); - d2(j); - d3(e, 110856); - d3(f, 110856); - d3(h, 110856); - d3(g, 110856); - d3(l, 110856); - d3(k, 110856); - d3(j, 110856); - d3(m, 110856); - d_(k, j); - d_(h, f); - d_(k, e); - d_(j, h); - d_(g, e); - d_(j, g); - d_(g, m); - d_(g, l); - d_(m, k); - d_(g, f); - d_(l, k); - d_(h, m); - d_(f, k); - d1(q, m); - d1(p, f); - d1(o, k); - d1(s, h); - d1(r, j); - d_(q, l); - d_(p, h); - d_(o, g); - d_(s, l); - d_(r, e); - d1(t, q); - d1(n, p); - d1(u, q); - d0(p, o); - d0(q, r); - d_(u, n); - d$(t, r); - d$(n, o); - d_(r, o); - d$(u, r); - d1(r, g); - d_(r, e); - d$(s, r); - d_(q, s); - d_(p, s); - d1(s, m); - d_(s, f); - d1(r, k); - d1(o, s); - d_(r, j); - d0(o, r); - d$(s, r); - d_(n, s); - d_(q, u); - d_(p, t); - d_(o, u); - d_(n, t); - d_(o, t); - d1(r, h); - d1(s, l); - d1(t, f); - d1(u, m); - d$(r, g); - d$(s, e); - d$(t, k); - d0(u, j); - d_(q, r); - d_(p, s); - d_(o, t); - d_(n, u); - d1(r, q); - d_(r, p); - d$(q, o); - d1(t, n); - d_(t, q); - d1(u, r); - d$(u, t); - d_(u, p); - d1(s, o); - d_(s, n); - d_(q, p); - d$(s, q); - d_(s, n); - d_(o, s); - d1(p, t); - d_(p, s); - d$(p, n); - d_(o, p); - d_(t, p); - d$(t, u); - d_(t, r); - d1(r, j); - d1(n, k); - d1(p, u); - d_(p, t); - d$(p, j); - d_(j, k); - d$(j, t); - d$(k, u); - d_(j, k); - d_(k, p); - d_(r, e); - d_(n, g); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, e); - d_(e, g); - d$(e, o); - d$(g, s); - d_(e, g); - d_(g, p); - d_(j, r); - d_(e, r); - d_(k, n); - d_(g, n); - d1(r, m); - d1(n, f); - d_(r, l); - d_(n, h); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, l); - d_(l, h); - d$(l, o); - d$(h, s); - d_(l, h); - d_(h, p); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, m); - d_(m, f); - d$(m, t); - d$(f, u); - d_(m, f); - d_(f, q); - d_(m, r); - d_(l, r); - d_(f, n); - d_(h, n); - d_(m, e); - d_(f, j); - d_(l, m); - d_(j, e); - d_(e, f); - d_(f, k); - d_(k, h); - d_(l, k); - d_(h, g); - d_(g, k); - d_(j, g); - d8(h); - d3(e, 110904); - d3(f, 110904); - d3(l, 110904); - d3(j, 110904); - d3(g, 110904); - d3(m, 110904); - d3(h, 110904); - d3(k, 110904); - c[J >> 2] = c[R >> 2]; - c[J + 4 >> 2] = c[R + 4 >> 2]; - c[J + 8 >> 2] = c[R + 8 >> 2]; - c[J + 12 >> 2] = c[R + 12 >> 2]; - c[K >> 2] = c[Q >> 2]; - c[K + 4 >> 2] = c[Q + 4 >> 2]; - c[K + 8 >> 2] = c[Q + 8 >> 2]; - c[K + 12 >> 2] = c[Q + 12 >> 2]; - c[v >> 2] = c[P >> 2]; - c[v + 4 >> 2] = c[P + 4 >> 2]; - c[v + 8 >> 2] = c[P + 8 >> 2]; - c[v + 12 >> 2] = c[P + 12 >> 2]; - c[x >> 2] = c[O >> 2]; - c[x + 4 >> 2] = c[O + 4 >> 2]; - c[x + 8 >> 2] = c[O + 8 >> 2]; - c[x + 12 >> 2] = c[O + 12 >> 2]; - c[z >> 2] = c[N >> 2]; - c[z + 4 >> 2] = c[N + 4 >> 2]; - c[z + 8 >> 2] = c[N + 8 >> 2]; - c[z + 12 >> 2] = c[N + 12 >> 2]; - c[B >> 2] = c[M >> 2]; - c[B + 4 >> 2] = c[M + 4 >> 2]; - c[B + 8 >> 2] = c[M + 8 >> 2]; - c[B + 12 >> 2] = c[M + 12 >> 2]; - c[D >> 2] = c[L >> 2]; - c[D + 4 >> 2] = c[L + 4 >> 2]; - c[D + 8 >> 2] = c[L + 8 >> 2]; - c[D + 12 >> 2] = c[L + 12 >> 2]; - c[F >> 2] = c[H >> 2]; - c[F + 4 >> 2] = c[H + 4 >> 2]; - c[F + 8 >> 2] = c[H + 8 >> 2]; - c[F + 12 >> 2] = c[H + 12 >> 2]; - d2(n); - d2(o); - d2(s); - d2(t); - d_(e, n); - d_(f, o); - d_(l, p); - d_(j, q); - d_(g, r); - d_(m, s); - d_(h, t); - d_(k, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(l, p); - d_(j, q); - d_(g, r); - d_(m, s); - d_(h, t); - d_(k, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(l, p); - d_(j, q); - d_(g, r); - d_(m, s); - d_(h, t); - d_(k, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(l, p); - d_(j, q); - d_(g, r); - d_(m, s); - d_(h, t); - d_(k, u); - H = a + 896 | 0; - c[H >> 2] = c[w >> 2]; - c[H + 4 >> 2] = c[w + 4 >> 2]; - c[H + 8 >> 2] = c[w + 8 >> 2]; - c[H + 12 >> 2] = c[w + 12 >> 2]; - L = a + 912 | 0; - c[L >> 2] = c[b >> 2]; - c[L + 4 >> 2] = c[b + 4 >> 2]; - c[L + 8 >> 2] = c[b + 8 >> 2]; - c[L + 12 >> 2] = c[b + 12 >> 2]; - M = a + 928 | 0; - c[M >> 2] = c[G >> 2]; - c[M + 4 >> 2] = c[G + 4 >> 2]; - c[M + 8 >> 2] = c[G + 8 >> 2]; - c[M + 12 >> 2] = c[G + 12 >> 2]; - N = a + 944 | 0; - c[N >> 2] = c[C >> 2]; - c[N + 4 >> 2] = c[C + 4 >> 2]; - c[N + 8 >> 2] = c[C + 8 >> 2]; - c[N + 12 >> 2] = c[C + 12 >> 2]; - O = a + 960 | 0; - c[O >> 2] = c[y >> 2]; - c[O + 4 >> 2] = c[y + 4 >> 2]; - c[O + 8 >> 2] = c[y + 8 >> 2]; - c[O + 12 >> 2] = c[y + 12 >> 2]; - P = a + 976 | 0; - c[P >> 2] = c[I >> 2]; - c[P + 4 >> 2] = c[I + 4 >> 2]; - c[P + 8 >> 2] = c[I + 8 >> 2]; - c[P + 12 >> 2] = c[I + 12 >> 2]; - Q = a + 992 | 0; - c[Q >> 2] = c[A >> 2]; - c[Q + 4 >> 2] = c[A + 4 >> 2]; - c[Q + 8 >> 2] = c[A + 8 >> 2]; - c[Q + 12 >> 2] = c[A + 12 >> 2]; - R = a + 1008 | 0; - c[R >> 2] = c[E >> 2]; - c[R + 4 >> 2] = c[E + 4 >> 2]; - c[R + 8 >> 2] = c[E + 8 >> 2]; - c[R + 12 >> 2] = c[E + 12 >> 2]; - d2(e); - d2(f); - d2(m); - d2(h); - d3(e, 110856); - d3(f, 110856); - d3(l, 110856); - d3(j, 110856); - d3(g, 110856); - d3(m, 110856); - d3(h, 110856); - d3(k, 110856); - d_(m, h); - d_(l, f); - d_(m, e); - d_(h, l); - d_(j, e); - d_(h, j); - d_(j, k); - d_(j, g); - d_(k, m); - d_(j, f); - d_(g, m); - d_(l, k); - d_(f, m); - d1(q, k); - d1(p, f); - d1(o, m); - d1(s, l); - d1(r, h); - d_(q, g); - d_(p, l); - d_(o, j); - d_(s, g); - d_(r, e); - d1(t, q); - d1(n, p); - d1(u, q); - d0(p, o); - d0(q, r); - d_(u, n); - d$(t, r); - d$(n, o); - d_(r, o); - d$(u, r); - d1(r, j); - d_(r, e); - d$(s, r); - d_(q, s); - d_(p, s); - d1(s, k); - d_(s, f); - d1(r, m); - d1(o, s); - d_(r, h); - d0(o, r); - d$(s, r); - d_(n, s); - d_(q, u); - d_(p, t); - d_(o, u); - d_(n, t); - d_(o, t); - d1(r, l); - d1(s, g); - d1(t, f); - d1(u, k); - d$(r, j); - d$(s, e); - d$(t, m); - d0(u, h); - d_(q, r); - d_(p, s); - d_(o, t); - d_(n, u); - d1(r, q); - d_(r, p); - d$(q, o); - d1(t, n); - d_(t, q); - d1(u, r); - d$(u, t); - d_(u, p); - d1(s, o); - d_(s, n); - d_(q, p); - d$(s, q); - d_(s, n); - d_(o, s); - d1(p, t); - d_(p, s); - d$(p, n); - d_(o, p); - d_(t, p); - d$(t, u); - d_(t, r); - d1(r, h); - d1(n, m); - d1(p, u); - d_(p, t); - d$(p, h); - d_(h, m); - d$(h, t); - d$(m, u); - d_(h, m); - d_(m, p); - d_(r, e); - d_(n, j); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, e); - d_(e, j); - d$(e, o); - d$(j, s); - d_(e, j); - d_(j, p); - d_(h, r); - d_(e, r); - d_(m, n); - d_(j, n); - d1(r, k); - d1(n, f); - d_(r, g); - d_(n, l); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, g); - d_(g, l); - d$(g, o); - d$(l, s); - d_(g, l); - d_(l, p); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, k); - d_(k, f); - d$(k, t); - d$(f, u); - d_(k, f); - d_(f, q); - d_(k, r); - d_(g, r); - d_(f, n); - d_(l, n); - d_(k, e); - d_(f, h); - d_(g, k); - d_(h, e); - d_(e, f); - d_(f, m); - d_(m, l); - d_(g, m); - d_(l, j); - d_(j, m); - d_(h, j); - d8(m); - d3(e, 110904); - d3(f, 110904); - d3(g, 110904); - d3(h, 110904); - d3(j, 110904); - d3(k, 110904); - d3(l, 110904); - d3(m, 110904); - c[J >> 2] = c[H >> 2]; - c[J + 4 >> 2] = c[H + 4 >> 2]; - c[J + 8 >> 2] = c[H + 8 >> 2]; - c[J + 12 >> 2] = c[H + 12 >> 2]; - c[K >> 2] = c[L >> 2]; - c[K + 4 >> 2] = c[L + 4 >> 2]; - c[K + 8 >> 2] = c[L + 8 >> 2]; - c[K + 12 >> 2] = c[L + 12 >> 2]; - c[v >> 2] = c[M >> 2]; - c[v + 4 >> 2] = c[M + 4 >> 2]; - c[v + 8 >> 2] = c[M + 8 >> 2]; - c[v + 12 >> 2] = c[M + 12 >> 2]; - c[x >> 2] = c[N >> 2]; - c[x + 4 >> 2] = c[N + 4 >> 2]; - c[x + 8 >> 2] = c[N + 8 >> 2]; - c[x + 12 >> 2] = c[N + 12 >> 2]; - c[z >> 2] = c[O >> 2]; - c[z + 4 >> 2] = c[O + 4 >> 2]; - c[z + 8 >> 2] = c[O + 8 >> 2]; - c[z + 12 >> 2] = c[O + 12 >> 2]; - c[B >> 2] = c[P >> 2]; - c[B + 4 >> 2] = c[P + 4 >> 2]; - c[B + 8 >> 2] = c[P + 8 >> 2]; - c[B + 12 >> 2] = c[P + 12 >> 2]; - c[D >> 2] = c[Q >> 2]; - c[D + 4 >> 2] = c[Q + 4 >> 2]; - c[D + 8 >> 2] = c[Q + 8 >> 2]; - c[D + 12 >> 2] = c[Q + 12 >> 2]; - c[F >> 2] = c[R >> 2]; - c[F + 4 >> 2] = c[R + 4 >> 2]; - c[F + 8 >> 2] = c[R + 8 >> 2]; - c[F + 12 >> 2] = c[R + 12 >> 2]; - d2(n); - d2(o); - d2(s); - d2(t); - d_(e, n); - d_(f, o); - d_(g, p); - d_(h, q); - d_(j, r); - d_(k, s); - d_(l, t); - d_(m, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(g, p); - d_(h, q); - d_(j, r); - d_(k, s); - d_(l, t); - d_(m, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(g, p); - d_(h, q); - d_(j, r); - d_(k, s); - d_(l, t); - d_(m, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(g, p); - d_(h, q); - d_(j, r); - d_(k, s); - d_(l, t); - d_(m, u); - R = a + 1024 | 0; - c[R >> 2] = c[w >> 2]; - c[R + 4 >> 2] = c[w + 4 >> 2]; - c[R + 8 >> 2] = c[w + 8 >> 2]; - c[R + 12 >> 2] = c[w + 12 >> 2]; - Q = a + 1040 | 0; - c[Q >> 2] = c[b >> 2]; - c[Q + 4 >> 2] = c[b + 4 >> 2]; - c[Q + 8 >> 2] = c[b + 8 >> 2]; - c[Q + 12 >> 2] = c[b + 12 >> 2]; - P = a + 1056 | 0; - c[P >> 2] = c[y >> 2]; - c[P + 4 >> 2] = c[y + 4 >> 2]; - c[P + 8 >> 2] = c[y + 8 >> 2]; - c[P + 12 >> 2] = c[y + 12 >> 2]; - O = a + 1072 | 0; - c[O >> 2] = c[A >> 2]; - c[O + 4 >> 2] = c[A + 4 >> 2]; - c[O + 8 >> 2] = c[A + 8 >> 2]; - c[O + 12 >> 2] = c[A + 12 >> 2]; - N = a + 1088 | 0; - c[N >> 2] = c[C >> 2]; - c[N + 4 >> 2] = c[C + 4 >> 2]; - c[N + 8 >> 2] = c[C + 8 >> 2]; - c[N + 12 >> 2] = c[C + 12 >> 2]; - M = a + 1104 | 0; - c[M >> 2] = c[E >> 2]; - c[M + 4 >> 2] = c[E + 4 >> 2]; - c[M + 8 >> 2] = c[E + 8 >> 2]; - c[M + 12 >> 2] = c[E + 12 >> 2]; - L = a + 1120 | 0; - c[L >> 2] = c[G >> 2]; - c[L + 4 >> 2] = c[G + 4 >> 2]; - c[L + 8 >> 2] = c[G + 8 >> 2]; - c[L + 12 >> 2] = c[G + 12 >> 2]; - H = a + 1136 | 0; - c[H >> 2] = c[I >> 2]; - c[H + 4 >> 2] = c[I + 4 >> 2]; - c[H + 8 >> 2] = c[I + 8 >> 2]; - c[H + 12 >> 2] = c[I + 12 >> 2]; - d2(e); - d2(f); - d2(k); - d2(l); - d3(e, 110856); - d3(f, 110856); - d3(g, 110856); - d3(h, 110856); - d3(j, 110856); - d3(k, 110856); - d3(l, 110856); - d3(m, 110856); - d_(k, l); - d_(g, f); - d_(k, e); - d_(l, g); - d_(h, e); - d_(l, h); - d_(h, m); - d_(h, j); - d_(m, k); - d_(h, f); - d_(j, k); - d_(g, m); - d_(f, k); - d1(q, m); - d1(p, f); - d1(o, k); - d1(s, g); - d1(r, l); - d_(q, j); - d_(p, g); - d_(o, h); - d_(s, j); - d_(r, e); - d1(t, q); - d1(n, p); - d1(u, q); - d0(p, o); - d0(q, r); - d_(u, n); - d$(t, r); - d$(n, o); - d_(r, o); - d$(u, r); - d1(r, h); - d_(r, e); - d$(s, r); - d_(q, s); - d_(p, s); - d1(s, m); - d_(s, f); - d1(r, k); - d1(o, s); - d_(r, l); - d0(o, r); - d$(s, r); - d_(n, s); - d_(q, u); - d_(p, t); - d_(o, u); - d_(n, t); - d_(o, t); - d1(r, g); - d1(s, j); - d1(t, f); - d1(u, m); - d$(r, h); - d$(s, e); - d$(t, k); - d0(u, l); - d_(q, r); - d_(p, s); - d_(o, t); - d_(n, u); - d1(r, q); - d_(r, p); - d$(q, o); - d1(t, n); - d_(t, q); - d1(u, r); - d$(u, t); - d_(u, p); - d1(s, o); - d_(s, n); - d_(q, p); - d$(s, q); - d_(s, n); - d_(o, s); - d1(p, t); - d_(p, s); - d$(p, n); - d_(o, p); - d_(t, p); - d$(t, u); - d_(t, r); - d1(r, l); - d1(n, k); - d1(p, u); - d_(p, t); - d$(p, l); - d_(l, k); - d$(l, t); - d$(k, u); - d_(l, k); - d_(k, p); - d_(r, e); - d_(n, h); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, e); - d_(e, h); - d$(e, o); - d$(h, s); - d_(e, h); - d_(h, p); - d_(l, r); - d_(e, r); - d_(k, n); - d_(h, n); - d1(r, m); - d1(n, f); - d_(r, j); - d_(n, g); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, j); - d_(j, g); - d$(j, o); - d$(g, s); - d_(j, g); - d_(g, p); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, m); - d_(m, f); - d$(m, t); - d$(f, u); - d_(m, f); - d_(f, q); - d_(m, r); - d_(j, r); - d_(f, n); - d_(g, n); - d_(m, e); - d_(f, l); - d_(j, m); - d_(l, e); - d_(e, f); - d_(f, k); - d_(k, g); - d_(j, k); - d_(g, h); - d_(h, k); - d_(l, h); - d8(e); - d8(f); - d8(l); - d8(h); - d3(e, 110904); - d3(f, 110904); - d3(j, 110904); - d3(l, 110904); - d3(h, 110904); - d3(m, 110904); - d3(g, 110904); - d3(k, 110904); - c[J >> 2] = c[R >> 2]; - c[J + 4 >> 2] = c[R + 4 >> 2]; - c[J + 8 >> 2] = c[R + 8 >> 2]; - c[J + 12 >> 2] = c[R + 12 >> 2]; - c[K >> 2] = c[Q >> 2]; - c[K + 4 >> 2] = c[Q + 4 >> 2]; - c[K + 8 >> 2] = c[Q + 8 >> 2]; - c[K + 12 >> 2] = c[Q + 12 >> 2]; - c[v >> 2] = c[P >> 2]; - c[v + 4 >> 2] = c[P + 4 >> 2]; - c[v + 8 >> 2] = c[P + 8 >> 2]; - c[v + 12 >> 2] = c[P + 12 >> 2]; - c[x >> 2] = c[O >> 2]; - c[x + 4 >> 2] = c[O + 4 >> 2]; - c[x + 8 >> 2] = c[O + 8 >> 2]; - c[x + 12 >> 2] = c[O + 12 >> 2]; - c[z >> 2] = c[N >> 2]; - c[z + 4 >> 2] = c[N + 4 >> 2]; - c[z + 8 >> 2] = c[N + 8 >> 2]; - c[z + 12 >> 2] = c[N + 12 >> 2]; - c[B >> 2] = c[M >> 2]; - c[B + 4 >> 2] = c[M + 4 >> 2]; - c[B + 8 >> 2] = c[M + 8 >> 2]; - c[B + 12 >> 2] = c[M + 12 >> 2]; - c[D >> 2] = c[L >> 2]; - c[D + 4 >> 2] = c[L + 4 >> 2]; - c[D + 8 >> 2] = c[L + 8 >> 2]; - c[D + 12 >> 2] = c[L + 12 >> 2]; - c[F >> 2] = c[H >> 2]; - c[F + 4 >> 2] = c[H + 4 >> 2]; - c[F + 8 >> 2] = c[H + 8 >> 2]; - c[F + 12 >> 2] = c[H + 12 >> 2]; - d2(n); - d2(o); - d2(s); - d2(t); - d_(e, n); - d_(f, o); - d_(j, p); - d_(l, q); - d_(h, r); - d_(m, s); - d_(g, t); - d_(k, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(j, p); - d_(l, q); - d_(h, r); - d_(m, s); - d_(g, t); - d_(k, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(j, p); - d_(l, q); - d_(h, r); - d_(m, s); - d_(g, t); - d_(k, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(j, p); - d_(l, q); - d_(h, r); - d_(m, s); - d_(g, t); - d_(k, u); - H = a + 1152 | 0; - c[H >> 2] = c[w >> 2]; - c[H + 4 >> 2] = c[w + 4 >> 2]; - c[H + 8 >> 2] = c[w + 8 >> 2]; - c[H + 12 >> 2] = c[w + 12 >> 2]; - L = a + 1168 | 0; - c[L >> 2] = c[b >> 2]; - c[L + 4 >> 2] = c[b + 4 >> 2]; - c[L + 8 >> 2] = c[b + 8 >> 2]; - c[L + 12 >> 2] = c[b + 12 >> 2]; - M = a + 1184 | 0; - c[M >> 2] = c[C >> 2]; - c[M + 4 >> 2] = c[C + 4 >> 2]; - c[M + 8 >> 2] = c[C + 8 >> 2]; - c[M + 12 >> 2] = c[C + 12 >> 2]; - N = a + 1200 | 0; - c[N >> 2] = c[G >> 2]; - c[N + 4 >> 2] = c[G + 4 >> 2]; - c[N + 8 >> 2] = c[G + 8 >> 2]; - c[N + 12 >> 2] = c[G + 12 >> 2]; - O = a + 1216 | 0; - c[O >> 2] = c[A >> 2]; - c[O + 4 >> 2] = c[A + 4 >> 2]; - c[O + 8 >> 2] = c[A + 8 >> 2]; - c[O + 12 >> 2] = c[A + 12 >> 2]; - P = a + 1232 | 0; - c[P >> 2] = c[I >> 2]; - c[P + 4 >> 2] = c[I + 4 >> 2]; - c[P + 8 >> 2] = c[I + 8 >> 2]; - c[P + 12 >> 2] = c[I + 12 >> 2]; - Q = a + 1248 | 0; - c[Q >> 2] = c[y >> 2]; - c[Q + 4 >> 2] = c[y + 4 >> 2]; - c[Q + 8 >> 2] = c[y + 8 >> 2]; - c[Q + 12 >> 2] = c[y + 12 >> 2]; - R = a + 1264 | 0; - c[R >> 2] = c[E >> 2]; - c[R + 4 >> 2] = c[E + 4 >> 2]; - c[R + 8 >> 2] = c[E + 8 >> 2]; - c[R + 12 >> 2] = c[E + 12 >> 2]; - d2(e); - d2(f); - d2(m); - d2(g); - d3(e, 110856); - d3(f, 110856); - d3(j, 110856); - d3(l, 110856); - d3(h, 110856); - d3(m, 110856); - d3(g, 110856); - d3(k, 110856); - d_(m, g); - d_(j, f); - d_(m, e); - d_(g, j); - d_(l, e); - d_(g, l); - d_(l, k); - d_(l, h); - d_(k, m); - d_(l, f); - d_(h, m); - d_(j, k); - d_(f, m); - d1(q, k); - d1(p, f); - d1(o, m); - d1(s, j); - d1(r, g); - d_(q, h); - d_(p, j); - d_(o, l); - d_(s, h); - d_(r, e); - d1(t, q); - d1(n, p); - d1(u, q); - d0(p, o); - d0(q, r); - d_(u, n); - d$(t, r); - d$(n, o); - d_(r, o); - d$(u, r); - d1(r, l); - d_(r, e); - d$(s, r); - d_(q, s); - d_(p, s); - d1(s, k); - d_(s, f); - d1(r, m); - d1(o, s); - d_(r, g); - d0(o, r); - d$(s, r); - d_(n, s); - d_(q, u); - d_(p, t); - d_(o, u); - d_(n, t); - d_(o, t); - d1(r, j); - d1(s, h); - d1(t, f); - d1(u, k); - d$(r, l); - d$(s, e); - d$(t, m); - d0(u, g); - d_(q, r); - d_(p, s); - d_(o, t); - d_(n, u); - d1(r, q); - d_(r, p); - d$(q, o); - d1(t, n); - d_(t, q); - d1(u, r); - d$(u, t); - d_(u, p); - d1(s, o); - d_(s, n); - d_(q, p); - d$(s, q); - d_(s, n); - d_(o, s); - d1(p, t); - d_(p, s); - d$(p, n); - d_(o, p); - d_(t, p); - d$(t, u); - d_(t, r); - d1(r, g); - d1(n, m); - d1(p, u); - d_(p, t); - d$(p, g); - d_(g, m); - d$(g, t); - d$(m, u); - d_(g, m); - d_(m, p); - d_(r, e); - d_(n, l); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, e); - d_(e, l); - d$(e, o); - d$(l, s); - d_(e, l); - d_(l, p); - d_(g, r); - d_(e, r); - d_(m, n); - d_(l, n); - d1(r, k); - d1(n, f); - d_(r, h); - d_(n, j); - d1(q, u); - d_(q, t); - d$(q, r); - d_(r, n); - d$(r, t); - d$(n, u); - d_(n, r); - d_(r, q); - d1(p, s); - d_(p, o); - d$(p, h); - d_(h, j); - d$(h, o); - d$(j, s); - d_(h, j); - d_(j, p); - d_(u, s); - d_(t, o); - d1(q, u); - d_(q, t); - d$(q, k); - d_(k, f); - d$(k, t); - d$(f, u); - d_(k, f); - d_(f, q); - d_(k, r); - d_(h, r); - d_(f, n); - d_(j, n); - d_(k, e); - d_(f, g); - d_(h, k); - d_(g, e); - d_(e, f); - d_(f, m); - d_(m, j); - d_(h, m); - d_(j, l); - d_(l, m); - d_(g, l); - d8(f); - d8(h); - d8(l); - d8(k); - d3(e, 110904); - d3(f, 110904); - d3(h, 110904); - d3(g, 110904); - d3(l, 110904); - d3(k, 110904); - d3(j, 110904); - d3(m, 110904); - c[J >> 2] = c[H >> 2]; - c[J + 4 >> 2] = c[H + 4 >> 2]; - c[J + 8 >> 2] = c[H + 8 >> 2]; - c[J + 12 >> 2] = c[H + 12 >> 2]; - c[K >> 2] = c[L >> 2]; - c[K + 4 >> 2] = c[L + 4 >> 2]; - c[K + 8 >> 2] = c[L + 8 >> 2]; - c[K + 12 >> 2] = c[L + 12 >> 2]; - c[v >> 2] = c[M >> 2]; - c[v + 4 >> 2] = c[M + 4 >> 2]; - c[v + 8 >> 2] = c[M + 8 >> 2]; - c[v + 12 >> 2] = c[M + 12 >> 2]; - c[x >> 2] = c[N >> 2]; - c[x + 4 >> 2] = c[N + 4 >> 2]; - c[x + 8 >> 2] = c[N + 8 >> 2]; - c[x + 12 >> 2] = c[N + 12 >> 2]; - c[z >> 2] = c[O >> 2]; - c[z + 4 >> 2] = c[O + 4 >> 2]; - c[z + 8 >> 2] = c[O + 8 >> 2]; - c[z + 12 >> 2] = c[O + 12 >> 2]; - c[B >> 2] = c[P >> 2]; - c[B + 4 >> 2] = c[P + 4 >> 2]; - c[B + 8 >> 2] = c[P + 8 >> 2]; - c[B + 12 >> 2] = c[P + 12 >> 2]; - c[D >> 2] = c[Q >> 2]; - c[D + 4 >> 2] = c[Q + 4 >> 2]; - c[D + 8 >> 2] = c[Q + 8 >> 2]; - c[D + 12 >> 2] = c[Q + 12 >> 2]; - c[F >> 2] = c[R >> 2]; - c[F + 4 >> 2] = c[R + 4 >> 2]; - c[F + 8 >> 2] = c[R + 8 >> 2]; - c[F + 12 >> 2] = c[R + 12 >> 2]; - d2(n); - d2(o); - d2(s); - d2(t); - d_(e, n); - d_(f, o); - d_(h, p); - d_(g, q); - d_(l, r); - d_(k, s); - d_(j, t); - d_(m, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(h, p); - d_(g, q); - d_(l, r); - d_(k, s); - d_(j, t); - d_(m, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(h, p); - d_(g, q); - d_(l, r); - d_(k, s); - d_(j, t); - d_(m, u); - d5(n, 8); - d5(o, 8); - d5(p, 8); - d5(q, 8); - d5(r, 8); - d5(s, 8); - d5(t, 8); - d5(u, 8); - d_(e, n); - d_(f, o); - d_(h, p); - d_(g, q); - d_(l, r); - d_(k, s); - d_(j, t); - d_(m, u); - d3(e, 110888); - d3(f, 110888); - d3(j, 110888); - d3(l, 110888); - d3(h, 110888); - d3(m, 110888); - d3(g, 110888); - d3(k, 110888); - k = a + 1280 | 0; - c[k >> 2] = c[w >> 2]; - c[k + 4 >> 2] = c[w + 4 >> 2]; - c[k + 8 >> 2] = c[w + 8 >> 2]; - c[k + 12 >> 2] = c[w + 12 >> 2]; - w = a + 1296 | 0; - c[w >> 2] = c[b >> 2]; - c[w + 4 >> 2] = c[b + 4 >> 2]; - c[w + 8 >> 2] = c[b + 8 >> 2]; - c[w + 12 >> 2] = c[b + 12 >> 2]; - b = a + 1312 | 0; - c[b >> 2] = c[A >> 2]; - c[b + 4 >> 2] = c[A + 4 >> 2]; - c[b + 8 >> 2] = c[A + 8 >> 2]; - c[b + 12 >> 2] = c[A + 12 >> 2]; - A = a + 1328 | 0; - c[A >> 2] = c[y >> 2]; - c[A + 4 >> 2] = c[y + 4 >> 2]; - c[A + 8 >> 2] = c[y + 8 >> 2]; - c[A + 12 >> 2] = c[y + 12 >> 2]; - y = a + 1344 | 0; - c[y >> 2] = c[G >> 2]; - c[y + 4 >> 2] = c[G + 4 >> 2]; - c[y + 8 >> 2] = c[G + 8 >> 2]; - c[y + 12 >> 2] = c[G + 12 >> 2]; - G = a + 1360 | 0; - c[G >> 2] = c[E >> 2]; - c[G + 4 >> 2] = c[E + 4 >> 2]; - c[G + 8 >> 2] = c[E + 8 >> 2]; - c[G + 12 >> 2] = c[E + 12 >> 2]; - E = a + 1376 | 0; - c[E >> 2] = c[C >> 2]; - c[E + 4 >> 2] = c[C + 4 >> 2]; - c[E + 8 >> 2] = c[C + 8 >> 2]; - c[E + 12 >> 2] = c[C + 12 >> 2]; - C = a + 1392 | 0; - c[C >> 2] = c[I >> 2]; - c[C + 4 >> 2] = c[I + 4 >> 2]; - c[C + 8 >> 2] = c[I + 8 >> 2]; - c[C + 12 >> 2] = c[I + 12 >> 2]; - i = d; - return 0; -} -function dU(a) { - a = a | 0; - return (d[a + 2 | 0] | 0) << 8 | (d[a + 3 | 0] | 0) | (d[a + 1 | 0] | 0) << 16 | (d[a] | 0) << 24 | 0; -} -function dV(b, c) { - b = b | 0; - c = c | 0; - a[b + 3 | 0] = c & 255; - a[b + 2 | 0] = c >>> 8 & 255; - a[b + 1 | 0] = c >>> 16 & 255; - a[b] = c >>> 24 & 255; - return; -} -function dW(a) { - a = a | 0; - return (d[a + 1 | 0] | 0) << 8 | (d[a] | 0) | (d[a + 2 | 0] | 0) << 16 | (d[a + 3 | 0] | 0) << 24 | 0; -} -function dX(b, c) { - b = b | 0; - c = c | 0; - a[b] = c & 255; - a[b + 1 | 0] = c >>> 8 & 255; - a[b + 2 | 0] = c >>> 16 & 255; - a[b + 3 | 0] = c >>> 24 & 255; - return; -} -function dY(a) { - a = a | 0; - var b = 0, c = 0, e = 0; - b = d[a + 1 | 0] | 0; - c = d[a + 2 | 0] | 0; - e = d[a + 3 | 0] | 0; - return (H = 0 << 8 | b >>> 24 | (0 << 16 | c >>> 16) | (0 << 24 | e >>> 8) | (d[a + 4 | 0] | 0) | ((d[a + 5 | 0] | 0) << 8 | 0 >>> 24) | ((d[a + 6 | 0] | 0) << 16 | 0 >>> 16) | ((d[a + 7 | 0] | 0) << 24 | 0 >>> 8), b << 8 | 0 >>> 24 | (d[a] | 0) | (c << 16 | 0 >>> 16) | (e << 24 | 0 >>> 8) | (0 << 8 | 0 >>> 24) | (0 << 16 | 0 >>> 16) | (0 << 24 | 0 >>> 8)) | 0; -} -function dZ(b, c, d) { - b = b | 0; - c = c | 0; - d = d | 0; - a[b] = c & 255; - a[b + 1 | 0] = (c >>> 8 | d << 24) & 255; - a[b + 2 | 0] = (c >>> 16 | d << 16) & 255; - a[b + 3 | 0] = (c >>> 24 | d << 8) & 255; - a[b + 4 | 0] = d & 255; - a[b + 5 | 0] = (d >>> 8 | 0 << 24) & 255; - a[b + 6 | 0] = (d >>> 16 | 0 << 16) & 255; - a[b + 7 | 0] = (d >>> 24 | 0 << 8) & 255; - return; -} -function d_(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0; - d = b | 0; - e = a | 0; - f = c[e + 4 >> 2] ^ c[d + 4 >> 2]; - c[e >> 2] = c[e >> 2] ^ c[d >> 2]; - c[e + 4 >> 2] = f; - f = b + 8 | 0; - b = a + 8 | 0; - a = c[b + 4 >> 2] ^ c[f + 4 >> 2]; - c[b >> 2] = c[b >> 2] ^ c[f >> 2]; - c[b + 4 >> 2] = a; - return; -} -function d$(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0; - d = b | 0; - e = a | 0; - f = c[e + 4 >> 2] & c[d + 4 >> 2]; - c[e >> 2] = c[e >> 2] & c[d >> 2]; - c[e + 4 >> 2] = f; - f = b + 8 | 0; - b = a + 8 | 0; - a = c[b + 4 >> 2] & c[f + 4 >> 2]; - c[b >> 2] = c[b >> 2] & c[f >> 2]; - c[b + 4 >> 2] = a; - return; -} -function d0(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0; - d = b | 0; - e = a | 0; - f = c[e + 4 >> 2] | c[d + 4 >> 2]; - c[e >> 2] = c[e >> 2] | c[d >> 2]; - c[e + 4 >> 2] = f; - f = b + 8 | 0; - b = a + 8 | 0; - a = c[b + 4 >> 2] | c[f + 4 >> 2]; - c[b >> 2] = c[b >> 2] | c[f >> 2]; - c[b + 4 >> 2] = a; - return; -} -function d1(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0; - d = b | 0; - e = c[d + 4 >> 2] | 0; - f = a | 0; - c[f >> 2] = c[d >> 2]; - c[f + 4 >> 2] = e; - e = b + 8 | 0; - b = c[e + 4 >> 2] | 0; - f = a + 8 | 0; - c[f >> 2] = c[e >> 2]; - c[f + 4 >> 2] = b; - return; -} -function d2(a) { - a = a | 0; - var b = 0, d = 0; - b = a | 0; - d = ~c[b + 4 >> 2]; - c[b >> 2] = ~c[b >> 2]; - c[b + 4 >> 2] = d; - d = a + 8 | 0; - a = ~c[d + 4 >> 2]; - c[d >> 2] = ~c[d >> 2]; - c[d + 4 >> 2] = a; - return; -} -function d3(b, c) { - b = b | 0; - c = c | 0; - var e = 0, f = 0, g = 0, h = 0; - e = i; - i = i + 16 | 0; - f = e | 0; - d1(f, b); - g = b; - h = f; - a[g] = a[h + (d[c] | 0) | 0] | 0; - a[g + 1 | 0] = a[h + (d[c + 1 | 0] | 0) | 0] | 0; - a[g + 2 | 0] = a[h + (d[c + 2 | 0] | 0) | 0] | 0; - a[g + 3 | 0] = a[h + (d[c + 3 | 0] | 0) | 0] | 0; - a[g + 4 | 0] = a[h + (d[c + 4 | 0] | 0) | 0] | 0; - a[g + 5 | 0] = a[h + (d[c + 5 | 0] | 0) | 0] | 0; - a[g + 6 | 0] = a[h + (d[c + 6 | 0] | 0) | 0] | 0; - a[g + 7 | 0] = a[h + (d[c + 7 | 0] | 0) | 0] | 0; - a[b + 8 | 0] = a[h + (d[c + 8 | 0] | 0) | 0] | 0; - a[g + 9 | 0] = a[h + (d[c + 9 | 0] | 0) | 0] | 0; - a[g + 10 | 0] = a[h + (d[c + 10 | 0] | 0) | 0] | 0; - a[g + 11 | 0] = a[h + (d[c + 11 | 0] | 0) | 0] | 0; - a[g + 12 | 0] = a[h + (d[c + 12 | 0] | 0) | 0] | 0; - a[g + 13 | 0] = a[h + (d[c + 13 | 0] | 0) | 0] | 0; - a[g + 14 | 0] = a[h + (d[c + 14 | 0] | 0) | 0] | 0; - a[g + 15 | 0] = a[h + (d[c + 15 | 0] | 0) | 0] | 0; - i = e; - return; -} -function d4(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0; - e = i; - i = i + 16 | 0; - f = e | 0; - g = f; - h = b; - c[g >> 2] = c[h + ((d & 3) << 2) >> 2]; - c[g + 4 >> 2] = c[h + ((d >>> 2 & 3) << 2) >> 2]; - c[f + 8 >> 2] = c[h + ((d >>> 4 & 3) << 2) >> 2]; - c[g + 12 >> 2] = c[h + ((d >>> 6 & 3) << 2) >> 2]; - d1(a, f); - i = e; - return; -} -function d5(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0; - c = a; - dX(c, (dW(c) | 0) >>> (b >>> 0)); - d = c + 4 | 0; - dX(d, (dW(d) | 0) >>> (b >>> 0)); - d = a + 8 | 0; - dX(d, (dW(d) | 0) >>> (b >>> 0)); - d = c + 12 | 0; - dX(d, (dW(d) | 0) >>> (b >>> 0)); - return; -} -function d6(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0, e = 0; - c = a; - d = dY(c) | 0; - e = b; - b = fs(d | 0, H | 0, e | 0) | 0; - d = H; - dZ(c, b, d); - d = a + 8 | 0; - a = dY(d) | 0; - b = fs(a | 0, H | 0, e | 0) | 0; - e = H; - dZ(d, b, e); - return; -} -function d7(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0, e = 0; - c = a; - d = dY(c) | 0; - e = b; - b = fr(d | 0, H | 0, e | 0) | 0; - d = H; - dZ(c, b, d); - d = a + 8 | 0; - a = dY(d) | 0; - b = fr(a | 0, H | 0, e | 0) | 0; - e = H; - dZ(d, b, e); - return; -} -function d8(a) { - a = a | 0; - var b = 0; - b = a + 12 | 0; - dX(b, ~(dW(b) | 0)); - return; -} -function d9(a, b) { - a = a | 0; - b = b | 0; - var c = 0; - c = a + 12 | 0; - dX(c, (dW(c) | 0) + b | 0); - return; -} -function ea(a, b, c, d, e) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - var f = 0, g = 0; - f = i; - i = i + 1408 | 0; - g = f | 0; - dT(g, e) | 0; - dS(a, b, c, d, g) | 0; - i = f; - return 0; -} -function eb(a, b, c, d, e, f) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - f = f | 0; - var g = 0, h = 0; - g = i; - i = i + 1408 | 0; - h = g | 0; - dT(h, f) | 0; - ec(a, b, c, d, e, h) | 0; - i = g; - return 0; -} -function ec(b, d, e, f, g, h) { - b = b | 0; - d = d | 0; - e = e | 0; - f = f | 0; - g = g | 0; - h = h | 0; - var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, aa = 0, ab = 0, ac = 0, ad = 0, ae = 0, af = 0, ag = 0, ah = 0, ai = 0, aj = 0, ak = 0, al = 0, am = 0, an = 0, ao = 0, ap = 0, aq = 0, ar = 0, as = 0, at = 0, au = 0, av = 0, aw = 0, ax = 0, ay = 0, az = 0, aA = 0, aB = 0, aC = 0, aD = 0, aE = 0, aF = 0, aG = 0, aH = 0, aI = 0, aJ = 0, aK = 0, aL = 0, aM = 0, aN = 0, aO = 0, aP = 0, aQ = 0, aR = 0, aS = 0, aT = 0, aU = 0, aV = 0, aW = 0, aX = 0, aY = 0, aZ = 0, a_ = 0, a$ = 0, a0 = 0, a1 = 0, a2 = 0, a3 = 0, a4 = 0, a5 = 0, a6 = 0, a7 = 0, a8 = 0, a9 = 0, ba = 0, bb = 0, bc = 0, bd = 0, be = 0, bf = 0, bg = 0, bh = 0, bi = 0, bj = 0, bk = 0, bl = 0, bm = 0, bn = 0; - j = i; - i = i + 400 | 0; - k = j | 0; - l = j + 16 | 0; - m = j + 32 | 0; - n = j + 48 | 0; - o = j + 64 | 0; - p = j + 80 | 0; - q = j + 96 | 0; - r = j + 112 | 0; - s = j + 128 | 0; - t = j + 144 | 0; - u = j + 160 | 0; - v = j + 176 | 0; - w = j + 192 | 0; - x = j + 208 | 0; - y = j + 224 | 0; - z = j + 240 | 0; - A = j + 256 | 0; - B = j + 272 | 0; - d1(A, g); - g = A; - A = k; - C = h; - D = h + 16 | 0; - E = h + 32 | 0; - F = h + 48 | 0; - G = h + 64 | 0; - I = h + 80 | 0; - J = h + 96 | 0; - K = h + 112 | 0; - L = h + 128 | 0; - M = h + 144 | 0; - N = h + 160 | 0; - O = h + 176 | 0; - P = h + 192 | 0; - Q = h + 208 | 0; - R = h + 224 | 0; - S = h + 240 | 0; - T = h + 256 | 0; - U = h + 272 | 0; - V = h + 288 | 0; - W = h + 304 | 0; - X = h + 320 | 0; - Y = h + 336 | 0; - Z = h + 352 | 0; - _ = h + 368 | 0; - $ = h + 384 | 0; - aa = h + 400 | 0; - ab = h + 416 | 0; - ac = h + 432 | 0; - ad = h + 448 | 0; - ae = h + 464 | 0; - af = h + 480 | 0; - ag = h + 496 | 0; - ah = h + 512 | 0; - ai = h + 528 | 0; - aj = h + 544 | 0; - ak = h + 560 | 0; - al = h + 576 | 0; - am = h + 592 | 0; - an = h + 608 | 0; - ao = h + 624 | 0; - ap = h + 640 | 0; - aq = h + 656 | 0; - ar = h + 672 | 0; - as = h + 688 | 0; - at = h + 704 | 0; - au = h + 720 | 0; - av = h + 736 | 0; - aw = h + 752 | 0; - ax = h + 768 | 0; - ay = h + 784 | 0; - az = h + 800 | 0; - aA = h + 816 | 0; - aB = h + 832 | 0; - aC = h + 848 | 0; - aD = h + 864 | 0; - aE = h + 880 | 0; - aF = h + 896 | 0; - aG = h + 912 | 0; - aH = h + 928 | 0; - aI = h + 944 | 0; - aJ = h + 960 | 0; - aK = h + 976 | 0; - aL = h + 992 | 0; - aM = h + 1008 | 0; - aN = h + 1024 | 0; - aO = h + 1040 | 0; - aP = h + 1056 | 0; - aQ = h + 1072 | 0; - aR = h + 1088 | 0; - aS = h + 1104 | 0; - aT = h + 1120 | 0; - aU = h + 1136 | 0; - aV = h + 1152 | 0; - aW = h + 1168 | 0; - aX = h + 1184 | 0; - aY = h + 1200 | 0; - aZ = h + 1216 | 0; - a_ = h + 1232 | 0; - a$ = h + 1248 | 0; - a0 = h + 1264 | 0; - a1 = h + 1280 | 0; - a2 = h + 1296 | 0; - a3 = h + 1312 | 0; - a4 = h + 1328 | 0; - a5 = h + 1344 | 0; - a6 = h + 1360 | 0; - a7 = h + 1376 | 0; - a8 = h + 1392 | 0; - h = g + 12 | 0; - a9 = s; - ba = t; - bb = w; - bc = y; - bd = v; - be = z; - bf = u; - bg = x; - bh = b; - b = d; - d = f; - f = e; - while (1) { - c[A >> 2] = c[g >> 2]; - c[A + 4 >> 2] = c[g + 4 >> 2]; - c[A + 8 >> 2] = c[g + 8 >> 2]; - c[A + 12 >> 2] = c[g + 12 >> 2]; - d1(l, k); - d3(l, 110808); - d1(m, l); - d1(n, l); - d1(o, l); - d1(p, l); - d1(q, l); - d1(r, l); - d9(l, 1); - d9(m, 2); - d9(n, 3); - d9(o, 4); - d9(p, 5); - d9(q, 6); - d9(r, 7); - d3(k, 110888); - d3(l, 110872); - d3(m, 110872); - d3(n, 110872); - d3(o, 110872); - d3(p, 110872); - d3(q, 110872); - d3(r, 110872); - d1(s, q); - d6(s, 1); - d_(s, r); - d$(s, 110952); - d_(r, s); - d7(s, 1); - d_(q, s); - d1(s, o); - d6(s, 1); - d_(s, p); - d$(s, 110952); - d_(p, s); - d7(s, 1); - d_(o, s); - d1(s, m); - d6(s, 1); - d_(s, n); - d$(s, 110952); - d_(n, s); - d7(s, 1); - d_(m, s); - d1(s, k); - d6(s, 1); - d_(s, l); - d$(s, 110952); - d_(l, s); - d7(s, 1); - d_(k, s); - d1(s, p); - d6(s, 2); - d_(s, r); - d$(s, 110936); - d_(r, s); - d7(s, 2); - d_(p, s); - d1(s, o); - d6(s, 2); - d_(s, q); - d$(s, 110936); - d_(q, s); - d7(s, 2); - d_(o, s); - d1(s, l); - d6(s, 2); - d_(s, n); - d$(s, 110936); - d_(n, s); - d7(s, 2); - d_(l, s); - d1(s, k); - d6(s, 2); - d_(s, m); - d$(s, 110936); - d_(m, s); - d7(s, 2); - d_(k, s); - d1(s, n); - d6(s, 4); - d_(s, r); - d$(s, 110920); - d_(r, s); - d7(s, 4); - d_(n, s); - d1(s, m); - d6(s, 4); - d_(s, q); - d$(s, 110920); - d_(q, s); - d7(s, 4); - d_(m, s); - d1(s, l); - d6(s, 4); - d_(s, p); - d$(s, 110920); - d_(p, s); - d7(s, 4); - d_(l, s); - d1(s, k); - d6(s, 4); - d_(s, o); - d$(s, 110920); - d_(o, s); - d7(s, 4); - d_(k, s); - d_(k, C); - d3(k, 110840); - d_(l, D); - d3(l, 110840); - d_(m, E); - d3(m, 110840); - d_(n, F); - d3(n, 110840); - d_(o, G); - d3(o, 110840); - d_(p, I); - d3(p, 110840); - d_(q, J); - d3(q, 110840); - d_(r, K); - d3(r, 110840); - d_(p, q); - d_(m, l); - d_(p, k); - d_(q, m); - d_(n, k); - d_(q, n); - d_(n, r); - d_(n, o); - d_(r, p); - d_(n, l); - d_(o, p); - d_(m, r); - d_(l, p); - d1(v, r); - d1(u, l); - d1(t, p); - d1(x, m); - d1(w, q); - d_(v, o); - d_(u, m); - d_(t, n); - d_(x, o); - d_(w, k); - d1(y, v); - d1(s, u); - d1(z, v); - d0(u, t); - d0(v, w); - d_(z, s); - d$(y, w); - d$(s, t); - d_(w, t); - d$(z, w); - d1(w, n); - d_(w, k); - d$(x, w); - d_(v, x); - d_(u, x); - d1(x, r); - d_(x, l); - d1(w, p); - d1(t, x); - d_(w, q); - d0(t, w); - d$(x, w); - d_(s, x); - d_(v, z); - d_(u, y); - d_(t, z); - d_(s, y); - d_(t, y); - d1(w, m); - d1(x, o); - d1(y, l); - d1(z, r); - d$(w, n); - d$(x, k); - d$(y, p); - d0(z, q); - d_(v, w); - d_(u, x); - d_(t, y); - d_(s, z); - d1(w, v); - d_(w, u); - d$(v, t); - d1(y, s); - d_(y, v); - d1(z, w); - d$(z, y); - d_(z, u); - d1(x, t); - d_(x, s); - d_(v, u); - d$(x, v); - d_(x, s); - d_(t, x); - d1(u, y); - d_(u, x); - d$(u, s); - d_(t, u); - d_(y, u); - d$(y, z); - d_(y, w); - d1(w, q); - d1(s, p); - d1(u, z); - d_(u, y); - d$(u, q); - d_(q, p); - d$(q, y); - d$(p, z); - d_(q, p); - d_(p, u); - d_(w, k); - d_(s, n); - d_(z, x); - d_(y, t); - d1(v, z); - d_(v, y); - d$(v, w); - d_(w, s); - d$(w, y); - d$(s, z); - d_(s, w); - d_(w, v); - d1(u, x); - d_(u, t); - d$(u, k); - d_(k, n); - d$(k, t); - d$(n, x); - d_(k, n); - d_(n, u); - d_(q, w); - d_(k, w); - d_(p, s); - d_(n, s); - d1(w, r); - d1(s, l); - d_(w, o); - d_(s, m); - d1(v, z); - d_(v, y); - d$(v, w); - d_(w, s); - d$(w, y); - d$(s, z); - d_(s, w); - d_(w, v); - d1(u, x); - d_(u, t); - d$(u, o); - d_(o, m); - d$(o, t); - d$(m, x); - d_(o, m); - d_(m, u); - d_(z, x); - d_(y, t); - d1(v, z); - d_(v, y); - d$(v, r); - d_(r, l); - d$(r, y); - d$(l, z); - d_(r, l); - d_(l, v); - d_(r, w); - d_(o, w); - d_(l, s); - d_(m, s); - d_(r, k); - d_(l, q); - d_(o, r); - d_(q, k); - d_(k, l); - d_(l, p); - d_(p, m); - d_(o, p); - d_(m, n); - d_(n, p); - d_(q, n); - d4(s, k, 147); - d4(t, l, 147); - d4(u, o, 147); - d4(v, q, 147); - d4(w, n, 147); - d4(x, r, 147); - d4(y, m, 147); - d4(z, p, 147); - d_(k, s); - d_(l, t); - d_(o, u); - d_(q, v); - d_(n, w); - d_(r, x); - d_(m, y); - d_(p, z); - d_(s, p); - d_(t, k); - d_(u, l); - d_(t, p); - d_(v, o); - d_(w, q); - d_(x, n); - d_(v, p); - d_(y, r); - d_(z, m); - d_(w, p); - d4(k, k, 78); - d4(l, l, 78); - d4(o, o, 78); - d4(q, q, 78); - d4(n, n, 78); - d4(r, r, 78); - d4(m, m, 78); - d4(p, p, 78); - d_(s, k); - d_(t, l); - d_(u, o); - d_(v, q); - d_(w, n); - d_(x, r); - d_(y, m); - d_(z, p); - d_(s, L); - d3(s, 110840); - d_(t, M); - d3(t, 110840); - d_(u, N); - d3(u, 110840); - d_(v, O); - d3(v, 110840); - d_(w, P); - d3(w, 110840); - d_(x, Q); - d3(x, 110840); - d_(y, R); - d3(y, 110840); - d_(z, S); - d3(z, 110840); - d_(x, y); - d_(u, t); - d_(x, s); - d_(y, u); - d_(v, s); - d_(y, v); - d_(v, z); - d_(v, w); - d_(z, x); - d_(v, t); - d_(w, x); - d_(u, z); - d_(t, x); - d1(n, z); - d1(m, t); - d1(l, x); - d1(p, u); - d1(o, y); - d_(n, w); - d_(m, u); - d_(l, v); - d_(p, w); - d_(o, s); - d1(q, n); - d1(k, m); - d1(r, n); - d0(m, l); - d0(n, o); - d_(r, k); - d$(q, o); - d$(k, l); - d_(o, l); - d$(r, o); - d1(o, v); - d_(o, s); - d$(p, o); - d_(n, p); - d_(m, p); - d1(p, z); - d_(p, t); - d1(o, x); - d1(l, p); - d_(o, y); - d0(l, o); - d$(p, o); - d_(k, p); - d_(n, r); - d_(m, q); - d_(l, r); - d_(k, q); - d_(l, q); - d1(o, u); - d1(p, w); - d1(q, t); - d1(r, z); - d$(o, v); - d$(p, s); - d$(q, x); - d0(r, y); - d_(n, o); - d_(m, p); - d_(l, q); - d_(k, r); - d1(o, n); - d_(o, m); - d$(n, l); - d1(q, k); - d_(q, n); - d1(r, o); - d$(r, q); - d_(r, m); - d1(p, l); - d_(p, k); - d_(n, m); - d$(p, n); - d_(p, k); - d_(l, p); - d1(m, q); - d_(m, p); - d$(m, k); - d_(l, m); - d_(q, m); - d$(q, r); - d_(q, o); - d1(o, y); - d1(k, x); - d1(m, r); - d_(m, q); - d$(m, y); - d_(y, x); - d$(y, q); - d$(x, r); - d_(y, x); - d_(x, m); - d_(o, s); - d_(k, v); - d_(r, p); - d_(q, l); - d1(n, r); - d_(n, q); - d$(n, o); - d_(o, k); - d$(o, q); - d$(k, r); - d_(k, o); - d_(o, n); - d1(m, p); - d_(m, l); - d$(m, s); - d_(s, v); - d$(s, l); - d$(v, p); - d_(s, v); - d_(v, m); - d_(y, o); - d_(s, o); - d_(x, k); - d_(v, k); - d1(o, z); - d1(k, t); - d_(o, w); - d_(k, u); - d1(n, r); - d_(n, q); - d$(n, o); - d_(o, k); - d$(o, q); - d$(k, r); - d_(k, o); - d_(o, n); - d1(m, p); - d_(m, l); - d$(m, w); - d_(w, u); - d$(w, l); - d$(u, p); - d_(w, u); - d_(u, m); - d_(r, p); - d_(q, l); - d1(n, r); - d_(n, q); - d$(n, z); - d_(z, t); - d$(z, q); - d$(t, r); - d_(z, t); - d_(t, n); - d_(z, o); - d_(w, o); - d_(t, k); - d_(u, k); - d_(z, s); - d_(t, y); - d_(w, z); - d_(y, s); - d_(s, t); - d_(t, x); - d_(x, u); - d_(w, x); - d_(u, v); - d_(v, x); - d_(y, v); - d4(k, s, 147); - d4(l, t, 147); - d4(m, w, 147); - d4(n, y, 147); - d4(o, v, 147); - d4(p, z, 147); - d4(q, u, 147); - d4(r, x, 147); - d_(s, k); - d_(t, l); - d_(w, m); - d_(y, n); - d_(v, o); - d_(z, p); - d_(u, q); - d_(x, r); - d_(k, x); - d_(l, s); - d_(m, t); - d_(l, x); - d_(n, w); - d_(o, y); - d_(p, v); - d_(n, x); - d_(q, z); - d_(r, u); - d_(o, x); - d4(s, s, 78); - d4(t, t, 78); - d4(w, w, 78); - d4(y, y, 78); - d4(v, v, 78); - d4(z, z, 78); - d4(u, u, 78); - d4(x, x, 78); - d_(k, s); - d_(l, t); - d_(m, w); - d_(n, y); - d_(o, v); - d_(p, z); - d_(q, u); - d_(r, x); - d_(k, T); - d3(k, 110840); - d_(l, U); - d3(l, 110840); - d_(m, V); - d3(m, 110840); - d_(n, W); - d3(n, 110840); - d_(o, X); - d3(o, 110840); - d_(p, Y); - d3(p, 110840); - d_(q, Z); - d3(q, 110840); - d_(r, _); - d3(r, 110840); - d_(p, q); - d_(m, l); - d_(p, k); - d_(q, m); - d_(n, k); - d_(q, n); - d_(n, r); - d_(n, o); - d_(r, p); - d_(n, l); - d_(o, p); - d_(m, r); - d_(l, p); - d1(v, r); - d1(u, l); - d1(t, p); - d1(x, m); - d1(w, q); - d_(v, o); - d_(u, m); - d_(t, n); - d_(x, o); - d_(w, k); - d1(y, v); - d1(s, u); - d1(z, v); - d0(u, t); - d0(v, w); - d_(z, s); - d$(y, w); - d$(s, t); - d_(w, t); - d$(z, w); - d1(w, n); - d_(w, k); - d$(x, w); - d_(v, x); - d_(u, x); - d1(x, r); - d_(x, l); - d1(w, p); - d1(t, x); - d_(w, q); - d0(t, w); - d$(x, w); - d_(s, x); - d_(v, z); - d_(u, y); - d_(t, z); - d_(s, y); - d_(t, y); - d1(w, m); - d1(x, o); - d1(y, l); - d1(z, r); - d$(w, n); - d$(x, k); - d$(y, p); - d0(z, q); - d_(v, w); - d_(u, x); - d_(t, y); - d_(s, z); - d1(w, v); - d_(w, u); - d$(v, t); - d1(y, s); - d_(y, v); - d1(z, w); - d$(z, y); - d_(z, u); - d1(x, t); - d_(x, s); - d_(v, u); - d$(x, v); - d_(x, s); - d_(t, x); - d1(u, y); - d_(u, x); - d$(u, s); - d_(t, u); - d_(y, u); - d$(y, z); - d_(y, w); - d1(w, q); - d1(s, p); - d1(u, z); - d_(u, y); - d$(u, q); - d_(q, p); - d$(q, y); - d$(p, z); - d_(q, p); - d_(p, u); - d_(w, k); - d_(s, n); - d_(z, x); - d_(y, t); - d1(v, z); - d_(v, y); - d$(v, w); - d_(w, s); - d$(w, y); - d$(s, z); - d_(s, w); - d_(w, v); - d1(u, x); - d_(u, t); - d$(u, k); - d_(k, n); - d$(k, t); - d$(n, x); - d_(k, n); - d_(n, u); - d_(q, w); - d_(k, w); - d_(p, s); - d_(n, s); - d1(w, r); - d1(s, l); - d_(w, o); - d_(s, m); - d1(v, z); - d_(v, y); - d$(v, w); - d_(w, s); - d$(w, y); - d$(s, z); - d_(s, w); - d_(w, v); - d1(u, x); - d_(u, t); - d$(u, o); - d_(o, m); - d$(o, t); - d$(m, x); - d_(o, m); - d_(m, u); - d_(z, x); - d_(y, t); - d1(v, z); - d_(v, y); - d$(v, r); - d_(r, l); - d$(r, y); - d$(l, z); - d_(r, l); - d_(l, v); - d_(r, w); - d_(o, w); - d_(l, s); - d_(m, s); - d_(r, k); - d_(l, q); - d_(o, r); - d_(q, k); - d_(k, l); - d_(l, p); - d_(p, m); - d_(o, p); - d_(m, n); - d_(n, p); - d_(q, n); - d4(s, k, 147); - d4(t, l, 147); - d4(u, o, 147); - d4(v, q, 147); - d4(w, n, 147); - d4(x, r, 147); - d4(y, m, 147); - d4(z, p, 147); - d_(k, s); - d_(l, t); - d_(o, u); - d_(q, v); - d_(n, w); - d_(r, x); - d_(m, y); - d_(p, z); - d_(s, p); - d_(t, k); - d_(u, l); - d_(t, p); - d_(v, o); - d_(w, q); - d_(x, n); - d_(v, p); - d_(y, r); - d_(z, m); - d_(w, p); - d4(k, k, 78); - d4(l, l, 78); - d4(o, o, 78); - d4(q, q, 78); - d4(n, n, 78); - d4(r, r, 78); - d4(m, m, 78); - d4(p, p, 78); - d_(s, k); - d_(t, l); - d_(u, o); - d_(v, q); - d_(w, n); - d_(x, r); - d_(y, m); - d_(z, p); - d_(s, $); - d3(s, 110840); - d_(t, aa); - d3(t, 110840); - d_(u, ab); - d3(u, 110840); - d_(v, ac); - d3(v, 110840); - d_(w, ad); - d3(w, 110840); - d_(x, ae); - d3(x, 110840); - d_(y, af); - d3(y, 110840); - d_(z, ag); - d3(z, 110840); - d_(x, y); - d_(u, t); - d_(x, s); - d_(y, u); - d_(v, s); - d_(y, v); - d_(v, z); - d_(v, w); - d_(z, x); - d_(v, t); - d_(w, x); - d_(u, z); - d_(t, x); - d1(n, z); - d1(m, t); - d1(l, x); - d1(p, u); - d1(o, y); - d_(n, w); - d_(m, u); - d_(l, v); - d_(p, w); - d_(o, s); - d1(q, n); - d1(k, m); - d1(r, n); - d0(m, l); - d0(n, o); - d_(r, k); - d$(q, o); - d$(k, l); - d_(o, l); - d$(r, o); - d1(o, v); - d_(o, s); - d$(p, o); - d_(n, p); - d_(m, p); - d1(p, z); - d_(p, t); - d1(o, x); - d1(l, p); - d_(o, y); - d0(l, o); - d$(p, o); - d_(k, p); - d_(n, r); - d_(m, q); - d_(l, r); - d_(k, q); - d_(l, q); - d1(o, u); - d1(p, w); - d1(q, t); - d1(r, z); - d$(o, v); - d$(p, s); - d$(q, x); - d0(r, y); - d_(n, o); - d_(m, p); - d_(l, q); - d_(k, r); - d1(o, n); - d_(o, m); - d$(n, l); - d1(q, k); - d_(q, n); - d1(r, o); - d$(r, q); - d_(r, m); - d1(p, l); - d_(p, k); - d_(n, m); - d$(p, n); - d_(p, k); - d_(l, p); - d1(m, q); - d_(m, p); - d$(m, k); - d_(l, m); - d_(q, m); - d$(q, r); - d_(q, o); - d1(o, y); - d1(k, x); - d1(m, r); - d_(m, q); - d$(m, y); - d_(y, x); - d$(y, q); - d$(x, r); - d_(y, x); - d_(x, m); - d_(o, s); - d_(k, v); - d_(r, p); - d_(q, l); - d1(n, r); - d_(n, q); - d$(n, o); - d_(o, k); - d$(o, q); - d$(k, r); - d_(k, o); - d_(o, n); - d1(m, p); - d_(m, l); - d$(m, s); - d_(s, v); - d$(s, l); - d$(v, p); - d_(s, v); - d_(v, m); - d_(y, o); - d_(s, o); - d_(x, k); - d_(v, k); - d1(o, z); - d1(k, t); - d_(o, w); - d_(k, u); - d1(n, r); - d_(n, q); - d$(n, o); - d_(o, k); - d$(o, q); - d$(k, r); - d_(k, o); - d_(o, n); - d1(m, p); - d_(m, l); - d$(m, w); - d_(w, u); - d$(w, l); - d$(u, p); - d_(w, u); - d_(u, m); - d_(r, p); - d_(q, l); - d1(n, r); - d_(n, q); - d$(n, z); - d_(z, t); - d$(z, q); - d$(t, r); - d_(z, t); - d_(t, n); - d_(z, o); - d_(w, o); - d_(t, k); - d_(u, k); - d_(z, s); - d_(t, y); - d_(w, z); - d_(y, s); - d_(s, t); - d_(t, x); - d_(x, u); - d_(w, x); - d_(u, v); - d_(v, x); - d_(y, v); - d4(k, s, 147); - d4(l, t, 147); - d4(m, w, 147); - d4(n, y, 147); - d4(o, v, 147); - d4(p, z, 147); - d4(q, u, 147); - d4(r, x, 147); - d_(s, k); - d_(t, l); - d_(w, m); - d_(y, n); - d_(v, o); - d_(z, p); - d_(u, q); - d_(x, r); - d_(k, x); - d_(l, s); - d_(m, t); - d_(l, x); - d_(n, w); - d_(o, y); - d_(p, v); - d_(n, x); - d_(q, z); - d_(r, u); - d_(o, x); - d4(s, s, 78); - d4(t, t, 78); - d4(w, w, 78); - d4(y, y, 78); - d4(v, v, 78); - d4(z, z, 78); - d4(u, u, 78); - d4(x, x, 78); - d_(k, s); - d_(l, t); - d_(m, w); - d_(n, y); - d_(o, v); - d_(p, z); - d_(q, u); - d_(r, x); - d_(k, ah); - d3(k, 110840); - d_(l, ai); - d3(l, 110840); - d_(m, aj); - d3(m, 110840); - d_(n, ak); - d3(n, 110840); - d_(o, al); - d3(o, 110840); - d_(p, am); - d3(p, 110840); - d_(q, an); - d3(q, 110840); - d_(r, ao); - d3(r, 110840); - d_(p, q); - d_(m, l); - d_(p, k); - d_(q, m); - d_(n, k); - d_(q, n); - d_(n, r); - d_(n, o); - d_(r, p); - d_(n, l); - d_(o, p); - d_(m, r); - d_(l, p); - d1(v, r); - d1(u, l); - d1(t, p); - d1(x, m); - d1(w, q); - d_(v, o); - d_(u, m); - d_(t, n); - d_(x, o); - d_(w, k); - d1(y, v); - d1(s, u); - d1(z, v); - d0(u, t); - d0(v, w); - d_(z, s); - d$(y, w); - d$(s, t); - d_(w, t); - d$(z, w); - d1(w, n); - d_(w, k); - d$(x, w); - d_(v, x); - d_(u, x); - d1(x, r); - d_(x, l); - d1(w, p); - d1(t, x); - d_(w, q); - d0(t, w); - d$(x, w); - d_(s, x); - d_(v, z); - d_(u, y); - d_(t, z); - d_(s, y); - d_(t, y); - d1(w, m); - d1(x, o); - d1(y, l); - d1(z, r); - d$(w, n); - d$(x, k); - d$(y, p); - d0(z, q); - d_(v, w); - d_(u, x); - d_(t, y); - d_(s, z); - d1(w, v); - d_(w, u); - d$(v, t); - d1(y, s); - d_(y, v); - d1(z, w); - d$(z, y); - d_(z, u); - d1(x, t); - d_(x, s); - d_(v, u); - d$(x, v); - d_(x, s); - d_(t, x); - d1(u, y); - d_(u, x); - d$(u, s); - d_(t, u); - d_(y, u); - d$(y, z); - d_(y, w); - d1(w, q); - d1(s, p); - d1(u, z); - d_(u, y); - d$(u, q); - d_(q, p); - d$(q, y); - d$(p, z); - d_(q, p); - d_(p, u); - d_(w, k); - d_(s, n); - d_(z, x); - d_(y, t); - d1(v, z); - d_(v, y); - d$(v, w); - d_(w, s); - d$(w, y); - d$(s, z); - d_(s, w); - d_(w, v); - d1(u, x); - d_(u, t); - d$(u, k); - d_(k, n); - d$(k, t); - d$(n, x); - d_(k, n); - d_(n, u); - d_(q, w); - d_(k, w); - d_(p, s); - d_(n, s); - d1(w, r); - d1(s, l); - d_(w, o); - d_(s, m); - d1(v, z); - d_(v, y); - d$(v, w); - d_(w, s); - d$(w, y); - d$(s, z); - d_(s, w); - d_(w, v); - d1(u, x); - d_(u, t); - d$(u, o); - d_(o, m); - d$(o, t); - d$(m, x); - d_(o, m); - d_(m, u); - d_(z, x); - d_(y, t); - d1(v, z); - d_(v, y); - d$(v, r); - d_(r, l); - d$(r, y); - d$(l, z); - d_(r, l); - d_(l, v); - d_(r, w); - d_(o, w); - d_(l, s); - d_(m, s); - d_(r, k); - d_(l, q); - d_(o, r); - d_(q, k); - d_(k, l); - d_(l, p); - d_(p, m); - d_(o, p); - d_(m, n); - d_(n, p); - d_(q, n); - d4(s, k, 147); - d4(t, l, 147); - d4(u, o, 147); - d4(v, q, 147); - d4(w, n, 147); - d4(x, r, 147); - d4(y, m, 147); - d4(z, p, 147); - d_(k, s); - d_(l, t); - d_(o, u); - d_(q, v); - d_(n, w); - d_(r, x); - d_(m, y); - d_(p, z); - d_(s, p); - d_(t, k); - d_(u, l); - d_(t, p); - d_(v, o); - d_(w, q); - d_(x, n); - d_(v, p); - d_(y, r); - d_(z, m); - d_(w, p); - d4(k, k, 78); - d4(l, l, 78); - d4(o, o, 78); - d4(q, q, 78); - d4(n, n, 78); - d4(r, r, 78); - d4(m, m, 78); - d4(p, p, 78); - d_(s, k); - d_(t, l); - d_(u, o); - d_(v, q); - d_(w, n); - d_(x, r); - d_(y, m); - d_(z, p); - d_(s, ap); - d3(s, 110840); - d_(t, aq); - d3(t, 110840); - d_(u, ar); - d3(u, 110840); - d_(v, as); - d3(v, 110840); - d_(w, at); - d3(w, 110840); - d_(x, au); - d3(x, 110840); - d_(y, av); - d3(y, 110840); - d_(z, aw); - d3(z, 110840); - d_(x, y); - d_(u, t); - d_(x, s); - d_(y, u); - d_(v, s); - d_(y, v); - d_(v, z); - d_(v, w); - d_(z, x); - d_(v, t); - d_(w, x); - d_(u, z); - d_(t, x); - d1(n, z); - d1(m, t); - d1(l, x); - d1(p, u); - d1(o, y); - d_(n, w); - d_(m, u); - d_(l, v); - d_(p, w); - d_(o, s); - d1(q, n); - d1(k, m); - d1(r, n); - d0(m, l); - d0(n, o); - d_(r, k); - d$(q, o); - d$(k, l); - d_(o, l); - d$(r, o); - d1(o, v); - d_(o, s); - d$(p, o); - d_(n, p); - d_(m, p); - d1(p, z); - d_(p, t); - d1(o, x); - d1(l, p); - d_(o, y); - d0(l, o); - d$(p, o); - d_(k, p); - d_(n, r); - d_(m, q); - d_(l, r); - d_(k, q); - d_(l, q); - d1(o, u); - d1(p, w); - d1(q, t); - d1(r, z); - d$(o, v); - d$(p, s); - d$(q, x); - d0(r, y); - d_(n, o); - d_(m, p); - d_(l, q); - d_(k, r); - d1(o, n); - d_(o, m); - d$(n, l); - d1(q, k); - d_(q, n); - d1(r, o); - d$(r, q); - d_(r, m); - d1(p, l); - d_(p, k); - d_(n, m); - d$(p, n); - d_(p, k); - d_(l, p); - d1(m, q); - d_(m, p); - d$(m, k); - d_(l, m); - d_(q, m); - d$(q, r); - d_(q, o); - d1(o, y); - d1(k, x); - d1(m, r); - d_(m, q); - d$(m, y); - d_(y, x); - d$(y, q); - d$(x, r); - d_(y, x); - d_(x, m); - d_(o, s); - d_(k, v); - d_(r, p); - d_(q, l); - d1(n, r); - d_(n, q); - d$(n, o); - d_(o, k); - d$(o, q); - d$(k, r); - d_(k, o); - d_(o, n); - d1(m, p); - d_(m, l); - d$(m, s); - d_(s, v); - d$(s, l); - d$(v, p); - d_(s, v); - d_(v, m); - d_(y, o); - d_(s, o); - d_(x, k); - d_(v, k); - d1(o, z); - d1(k, t); - d_(o, w); - d_(k, u); - d1(n, r); - d_(n, q); - d$(n, o); - d_(o, k); - d$(o, q); - d$(k, r); - d_(k, o); - d_(o, n); - d1(m, p); - d_(m, l); - d$(m, w); - d_(w, u); - d$(w, l); - d$(u, p); - d_(w, u); - d_(u, m); - d_(r, p); - d_(q, l); - d1(n, r); - d_(n, q); - d$(n, z); - d_(z, t); - d$(z, q); - d$(t, r); - d_(z, t); - d_(t, n); - d_(z, o); - d_(w, o); - d_(t, k); - d_(u, k); - d_(z, s); - d_(t, y); - d_(w, z); - d_(y, s); - d_(s, t); - d_(t, x); - d_(x, u); - d_(w, x); - d_(u, v); - d_(v, x); - d_(y, v); - d4(k, s, 147); - d4(l, t, 147); - d4(m, w, 147); - d4(n, y, 147); - d4(o, v, 147); - d4(p, z, 147); - d4(q, u, 147); - d4(r, x, 147); - d_(s, k); - d_(t, l); - d_(w, m); - d_(y, n); - d_(v, o); - d_(z, p); - d_(u, q); - d_(x, r); - d_(k, x); - d_(l, s); - d_(m, t); - d_(l, x); - d_(n, w); - d_(o, y); - d_(p, v); - d_(n, x); - d_(q, z); - d_(r, u); - d_(o, x); - d4(s, s, 78); - d4(t, t, 78); - d4(w, w, 78); - d4(y, y, 78); - d4(v, v, 78); - d4(z, z, 78); - d4(u, u, 78); - d4(x, x, 78); - d_(k, s); - d_(l, t); - d_(m, w); - d_(n, y); - d_(o, v); - d_(p, z); - d_(q, u); - d_(r, x); - d_(k, ax); - d3(k, 110840); - d_(l, ay); - d3(l, 110840); - d_(m, az); - d3(m, 110840); - d_(n, aA); - d3(n, 110840); - d_(o, aB); - d3(o, 110840); - d_(p, aC); - d3(p, 110840); - d_(q, aD); - d3(q, 110840); - d_(r, aE); - d3(r, 110840); - d_(p, q); - d_(m, l); - d_(p, k); - d_(q, m); - d_(n, k); - d_(q, n); - d_(n, r); - d_(n, o); - d_(r, p); - d_(n, l); - d_(o, p); - d_(m, r); - d_(l, p); - d1(v, r); - d1(u, l); - d1(t, p); - d1(x, m); - d1(w, q); - d_(v, o); - d_(u, m); - d_(t, n); - d_(x, o); - d_(w, k); - d1(y, v); - d1(s, u); - d1(z, v); - d0(u, t); - d0(v, w); - d_(z, s); - d$(y, w); - d$(s, t); - d_(w, t); - d$(z, w); - d1(w, n); - d_(w, k); - d$(x, w); - d_(v, x); - d_(u, x); - d1(x, r); - d_(x, l); - d1(w, p); - d1(t, x); - d_(w, q); - d0(t, w); - d$(x, w); - d_(s, x); - d_(v, z); - d_(u, y); - d_(t, z); - d_(s, y); - d_(t, y); - d1(w, m); - d1(x, o); - d1(y, l); - d1(z, r); - d$(w, n); - d$(x, k); - d$(y, p); - d0(z, q); - d_(v, w); - d_(u, x); - d_(t, y); - d_(s, z); - d1(w, v); - d_(w, u); - d$(v, t); - d1(y, s); - d_(y, v); - d1(z, w); - d$(z, y); - d_(z, u); - d1(x, t); - d_(x, s); - d_(v, u); - d$(x, v); - d_(x, s); - d_(t, x); - d1(u, y); - d_(u, x); - d$(u, s); - d_(t, u); - d_(y, u); - d$(y, z); - d_(y, w); - d1(w, q); - d1(s, p); - d1(u, z); - d_(u, y); - d$(u, q); - d_(q, p); - d$(q, y); - d$(p, z); - d_(q, p); - d_(p, u); - d_(w, k); - d_(s, n); - d_(z, x); - d_(y, t); - d1(v, z); - d_(v, y); - d$(v, w); - d_(w, s); - d$(w, y); - d$(s, z); - d_(s, w); - d_(w, v); - d1(u, x); - d_(u, t); - d$(u, k); - d_(k, n); - d$(k, t); - d$(n, x); - d_(k, n); - d_(n, u); - d_(q, w); - d_(k, w); - d_(p, s); - d_(n, s); - d1(w, r); - d1(s, l); - d_(w, o); - d_(s, m); - d1(v, z); - d_(v, y); - d$(v, w); - d_(w, s); - d$(w, y); - d$(s, z); - d_(s, w); - d_(w, v); - d1(u, x); - d_(u, t); - d$(u, o); - d_(o, m); - d$(o, t); - d$(m, x); - d_(o, m); - d_(m, u); - d_(z, x); - d_(y, t); - d1(v, z); - d_(v, y); - d$(v, r); - d_(r, l); - d$(r, y); - d$(l, z); - d_(r, l); - d_(l, v); - d_(r, w); - d_(o, w); - d_(l, s); - d_(m, s); - d_(r, k); - d_(l, q); - d_(o, r); - d_(q, k); - d_(k, l); - d_(l, p); - d_(p, m); - d_(o, p); - d_(m, n); - d_(n, p); - d_(q, n); - d4(s, k, 147); - d4(t, l, 147); - d4(u, o, 147); - d4(v, q, 147); - d4(w, n, 147); - d4(x, r, 147); - d4(y, m, 147); - d4(z, p, 147); - d_(k, s); - d_(l, t); - d_(o, u); - d_(q, v); - d_(n, w); - d_(r, x); - d_(m, y); - d_(p, z); - d_(s, p); - d_(t, k); - d_(u, l); - d_(t, p); - d_(v, o); - d_(w, q); - d_(x, n); - d_(v, p); - d_(y, r); - d_(z, m); - d_(w, p); - d4(k, k, 78); - d4(l, l, 78); - d4(o, o, 78); - d4(q, q, 78); - d4(n, n, 78); - d4(r, r, 78); - d4(m, m, 78); - d4(p, p, 78); - d_(s, k); - d_(t, l); - d_(u, o); - d_(v, q); - d_(w, n); - d_(x, r); - d_(y, m); - d_(z, p); - d_(s, aF); - d3(s, 110840); - d_(t, aG); - d3(t, 110840); - d_(u, aH); - d3(u, 110840); - d_(v, aI); - d3(v, 110840); - d_(w, aJ); - d3(w, 110840); - d_(x, aK); - d3(x, 110840); - d_(y, aL); - d3(y, 110840); - d_(z, aM); - d3(z, 110840); - d_(x, y); - d_(u, t); - d_(x, s); - d_(y, u); - d_(v, s); - d_(y, v); - d_(v, z); - d_(v, w); - d_(z, x); - d_(v, t); - d_(w, x); - d_(u, z); - d_(t, x); - d1(n, z); - d1(m, t); - d1(l, x); - d1(p, u); - d1(o, y); - d_(n, w); - d_(m, u); - d_(l, v); - d_(p, w); - d_(o, s); - d1(q, n); - d1(k, m); - d1(r, n); - d0(m, l); - d0(n, o); - d_(r, k); - d$(q, o); - d$(k, l); - d_(o, l); - d$(r, o); - d1(o, v); - d_(o, s); - d$(p, o); - d_(n, p); - d_(m, p); - d1(p, z); - d_(p, t); - d1(o, x); - d1(l, p); - d_(o, y); - d0(l, o); - d$(p, o); - d_(k, p); - d_(n, r); - d_(m, q); - d_(l, r); - d_(k, q); - d_(l, q); - d1(o, u); - d1(p, w); - d1(q, t); - d1(r, z); - d$(o, v); - d$(p, s); - d$(q, x); - d0(r, y); - d_(n, o); - d_(m, p); - d_(l, q); - d_(k, r); - d1(o, n); - d_(o, m); - d$(n, l); - d1(q, k); - d_(q, n); - d1(r, o); - d$(r, q); - d_(r, m); - d1(p, l); - d_(p, k); - d_(n, m); - d$(p, n); - d_(p, k); - d_(l, p); - d1(m, q); - d_(m, p); - d$(m, k); - d_(l, m); - d_(q, m); - d$(q, r); - d_(q, o); - d1(o, y); - d1(k, x); - d1(m, r); - d_(m, q); - d$(m, y); - d_(y, x); - d$(y, q); - d$(x, r); - d_(y, x); - d_(x, m); - d_(o, s); - d_(k, v); - d_(r, p); - d_(q, l); - d1(n, r); - d_(n, q); - d$(n, o); - d_(o, k); - d$(o, q); - d$(k, r); - d_(k, o); - d_(o, n); - d1(m, p); - d_(m, l); - d$(m, s); - d_(s, v); - d$(s, l); - d$(v, p); - d_(s, v); - d_(v, m); - d_(y, o); - d_(s, o); - d_(x, k); - d_(v, k); - d1(o, z); - d1(k, t); - d_(o, w); - d_(k, u); - d1(n, r); - d_(n, q); - d$(n, o); - d_(o, k); - d$(o, q); - d$(k, r); - d_(k, o); - d_(o, n); - d1(m, p); - d_(m, l); - d$(m, w); - d_(w, u); - d$(w, l); - d$(u, p); - d_(w, u); - d_(u, m); - d_(r, p); - d_(q, l); - d1(n, r); - d_(n, q); - d$(n, z); - d_(z, t); - d$(z, q); - d$(t, r); - d_(z, t); - d_(t, n); - d_(z, o); - d_(w, o); - d_(t, k); - d_(u, k); - d_(z, s); - d_(t, y); - d_(w, z); - d_(y, s); - d_(s, t); - d_(t, x); - d_(x, u); - d_(w, x); - d_(u, v); - d_(v, x); - d_(y, v); - d4(k, s, 147); - d4(l, t, 147); - d4(m, w, 147); - d4(n, y, 147); - d4(o, v, 147); - d4(p, z, 147); - d4(q, u, 147); - d4(r, x, 147); - d_(s, k); - d_(t, l); - d_(w, m); - d_(y, n); - d_(v, o); - d_(z, p); - d_(u, q); - d_(x, r); - d_(k, x); - d_(l, s); - d_(m, t); - d_(l, x); - d_(n, w); - d_(o, y); - d_(p, v); - d_(n, x); - d_(q, z); - d_(r, u); - d_(o, x); - d4(s, s, 78); - d4(t, t, 78); - d4(w, w, 78); - d4(y, y, 78); - d4(v, v, 78); - d4(z, z, 78); - d4(u, u, 78); - d4(x, x, 78); - d_(k, s); - d_(l, t); - d_(m, w); - d_(n, y); - d_(o, v); - d_(p, z); - d_(q, u); - d_(r, x); - d_(k, aN); - d3(k, 110840); - d_(l, aO); - d3(l, 110840); - d_(m, aP); - d3(m, 110840); - d_(n, aQ); - d3(n, 110840); - d_(o, aR); - d3(o, 110840); - d_(p, aS); - d3(p, 110840); - d_(q, aT); - d3(q, 110840); - d_(r, aU); - d3(r, 110840); - d_(p, q); - d_(m, l); - d_(p, k); - d_(q, m); - d_(n, k); - d_(q, n); - d_(n, r); - d_(n, o); - d_(r, p); - d_(n, l); - d_(o, p); - d_(m, r); - d_(l, p); - d1(v, r); - d1(u, l); - d1(t, p); - d1(x, m); - d1(w, q); - d_(v, o); - d_(u, m); - d_(t, n); - d_(x, o); - d_(w, k); - d1(y, v); - d1(s, u); - d1(z, v); - d0(u, t); - d0(v, w); - d_(z, s); - d$(y, w); - d$(s, t); - d_(w, t); - d$(z, w); - d1(w, n); - d_(w, k); - d$(x, w); - d_(v, x); - d_(u, x); - d1(x, r); - d_(x, l); - d1(w, p); - d1(t, x); - d_(w, q); - d0(t, w); - d$(x, w); - d_(s, x); - d_(v, z); - d_(u, y); - d_(t, z); - d_(s, y); - d_(t, y); - d1(w, m); - d1(x, o); - d1(y, l); - d1(z, r); - d$(w, n); - d$(x, k); - d$(y, p); - d0(z, q); - d_(v, w); - d_(u, x); - d_(t, y); - d_(s, z); - d1(w, v); - d_(w, u); - d$(v, t); - d1(y, s); - d_(y, v); - d1(z, w); - d$(z, y); - d_(z, u); - d1(x, t); - d_(x, s); - d_(v, u); - d$(x, v); - d_(x, s); - d_(t, x); - d1(u, y); - d_(u, x); - d$(u, s); - d_(t, u); - d_(y, u); - d$(y, z); - d_(y, w); - d1(w, q); - d1(s, p); - d1(u, z); - d_(u, y); - d$(u, q); - d_(q, p); - d$(q, y); - d$(p, z); - d_(q, p); - d_(p, u); - d_(w, k); - d_(s, n); - d_(z, x); - d_(y, t); - d1(v, z); - d_(v, y); - d$(v, w); - d_(w, s); - d$(w, y); - d$(s, z); - d_(s, w); - d_(w, v); - d1(u, x); - d_(u, t); - d$(u, k); - d_(k, n); - d$(k, t); - d$(n, x); - d_(k, n); - d_(n, u); - d_(q, w); - d_(k, w); - d_(p, s); - d_(n, s); - d1(w, r); - d1(s, l); - d_(w, o); - d_(s, m); - d1(v, z); - d_(v, y); - d$(v, w); - d_(w, s); - d$(w, y); - d$(s, z); - d_(s, w); - d_(w, v); - d1(u, x); - d_(u, t); - d$(u, o); - d_(o, m); - d$(o, t); - d$(m, x); - d_(o, m); - d_(m, u); - d_(z, x); - d_(y, t); - d1(v, z); - d_(v, y); - d$(v, r); - d_(r, l); - d$(r, y); - d$(l, z); - d_(r, l); - d_(l, v); - d_(r, w); - d_(o, w); - d_(l, s); - d_(m, s); - d_(r, k); - d_(l, q); - d_(o, r); - d_(q, k); - d_(k, l); - d_(l, p); - d_(p, m); - d_(o, p); - d_(m, n); - d_(n, p); - d_(q, n); - d4(s, k, 147); - d4(t, l, 147); - d4(u, o, 147); - d4(v, q, 147); - d4(w, n, 147); - d4(x, r, 147); - d4(y, m, 147); - d4(z, p, 147); - d_(k, s); - d_(l, t); - d_(o, u); - d_(q, v); - d_(n, w); - d_(r, x); - d_(m, y); - d_(p, z); - d_(s, p); - d_(t, k); - d_(u, l); - d_(t, p); - d_(v, o); - d_(w, q); - d_(x, n); - d_(v, p); - d_(y, r); - d_(z, m); - d_(w, p); - d4(k, k, 78); - d4(l, l, 78); - d4(o, o, 78); - d4(q, q, 78); - d4(n, n, 78); - d4(r, r, 78); - d4(m, m, 78); - d4(p, p, 78); - d_(s, k); - d_(t, l); - d_(u, o); - d_(v, q); - d_(w, n); - d_(x, r); - d_(y, m); - d_(z, p); - d_(s, aV); - d3(s, 110824); - d_(t, aW); - d3(t, 110824); - d_(u, aX); - d3(u, 110824); - d_(v, aY); - d3(v, 110824); - d_(w, aZ); - d3(w, 110824); - d_(x, a_); - d3(x, 110824); - d_(y, a$); - d3(y, 110824); - d_(z, a0); - d3(z, 110824); - d_(x, y); - d_(u, t); - d_(x, s); - d_(y, u); - d_(v, s); - d_(y, v); - d_(v, z); - d_(v, w); - d_(z, x); - d_(v, t); - d_(w, x); - d_(u, z); - d_(t, x); - d1(n, z); - d1(m, t); - d1(l, x); - d1(p, u); - d1(o, y); - d_(n, w); - d_(m, u); - d_(l, v); - d_(p, w); - d_(o, s); - d1(q, n); - d1(k, m); - d1(r, n); - d0(m, l); - d0(n, o); - d_(r, k); - d$(q, o); - d$(k, l); - d_(o, l); - d$(r, o); - d1(o, v); - d_(o, s); - d$(p, o); - d_(n, p); - d_(m, p); - d1(p, z); - d_(p, t); - d1(o, x); - d1(l, p); - d_(o, y); - d0(l, o); - d$(p, o); - d_(k, p); - d_(n, r); - d_(m, q); - d_(l, r); - d_(k, q); - d_(l, q); - d1(o, u); - d1(p, w); - d1(q, t); - d1(r, z); - d$(o, v); - d$(p, s); - d$(q, x); - d0(r, y); - d_(n, o); - d_(m, p); - d_(l, q); - d_(k, r); - d1(o, n); - d_(o, m); - d$(n, l); - d1(q, k); - d_(q, n); - d1(r, o); - d$(r, q); - d_(r, m); - d1(p, l); - d_(p, k); - d_(n, m); - d$(p, n); - d_(p, k); - d_(l, p); - d1(m, q); - d_(m, p); - d$(m, k); - d_(l, m); - d_(q, m); - d$(q, r); - d_(q, o); - d1(o, y); - d1(k, x); - d1(m, r); - d_(m, q); - d$(m, y); - d_(y, x); - d$(y, q); - d$(x, r); - d_(y, x); - d_(x, m); - d_(o, s); - d_(k, v); - d_(r, p); - d_(q, l); - d1(n, r); - d_(n, q); - d$(n, o); - d_(o, k); - d$(o, q); - d$(k, r); - d_(k, o); - d_(o, n); - d1(m, p); - d_(m, l); - d$(m, s); - d_(s, v); - d$(s, l); - d$(v, p); - d_(s, v); - d_(v, m); - d_(y, o); - d_(s, o); - d_(x, k); - d_(v, k); - d1(o, z); - d1(k, t); - d_(o, w); - d_(k, u); - d1(n, r); - d_(n, q); - d$(n, o); - d_(o, k); - d$(o, q); - d$(k, r); - d_(k, o); - d_(o, n); - d1(m, p); - d_(m, l); - d$(m, w); - d_(w, u); - d$(w, l); - d$(u, p); - d_(w, u); - d_(u, m); - d_(r, p); - d_(q, l); - d1(n, r); - d_(n, q); - d$(n, z); - d_(z, t); - d$(z, q); - d$(t, r); - d_(z, t); - d_(t, n); - d_(z, o); - d_(w, o); - d_(t, k); - d_(u, k); - d_(z, s); - d_(t, y); - d_(w, z); - d_(y, s); - d_(s, t); - d_(t, x); - d_(x, u); - d_(w, x); - d_(u, v); - d_(v, x); - d_(y, v); - d_(s, a1); - d_(t, a2); - d_(w, a3); - d_(y, a4); - d_(v, a5); - d_(z, a6); - d_(u, a7); - d_(x, a8); - d1(k, u); - d6(k, 1); - d_(k, x); - d$(k, 110952); - d_(x, k); - d7(k, 1); - d_(u, k); - d1(k, v); - d6(k, 1); - d_(k, z); - d$(k, 110952); - d_(z, k); - d7(k, 1); - d_(v, k); - d1(k, w); - d6(k, 1); - d_(k, y); - d$(k, 110952); - d_(y, k); - d7(k, 1); - d_(w, k); - d1(k, s); - d6(k, 1); - d_(k, t); - d$(k, 110952); - d_(t, k); - d7(k, 1); - d_(s, k); - d1(k, z); - d6(k, 2); - d_(k, x); - d$(k, 110936); - d_(x, k); - d7(k, 2); - d_(z, k); - d1(k, v); - d6(k, 2); - d_(k, u); - d$(k, 110936); - d_(u, k); - d7(k, 2); - d_(v, k); - d1(k, t); - d6(k, 2); - d_(k, y); - d$(k, 110936); - d_(y, k); - d7(k, 2); - d_(t, k); - d1(k, s); - d6(k, 2); - d_(k, w); - d$(k, 110936); - d_(w, k); - d7(k, 2); - d_(s, k); - d1(k, y); - d6(k, 4); - d_(k, x); - d$(k, 110920); - d_(x, k); - d7(k, 4); - d_(y, k); - d1(k, w); - d6(k, 4); - d_(k, u); - d$(k, 110920); - d_(u, k); - d7(k, 4); - d_(w, k); - d1(k, t); - d6(k, 4); - d_(k, z); - d$(k, 110920); - d_(z, k); - d7(k, 4); - d_(t, k); - d1(k, s); - d6(k, 4); - d_(k, v); - d$(k, 110920); - d_(v, k); - d7(k, 4); - d_(s, k); - e = 0; - if (d >>> 0 < e >>> 0 | d >>> 0 == e >>> 0 & f >>> 0 < 128 >>> 0) { - break; - } - dV(h, (dU(h) | 0) + 8 | 0); - d_(s, b); - d_(t, b + 16 | 0); - d_(w, b + 32 | 0); - d_(y, b + 48 | 0); - d_(v, b + 64 | 0); - d_(z, b + 80 | 0); - d_(u, b + 96 | 0); - d_(x, b + 112 | 0); - c[bh >> 2] = c[a9 >> 2]; - c[bh + 4 >> 2] = c[a9 + 4 >> 2]; - c[bh + 8 >> 2] = c[a9 + 8 >> 2]; - c[bh + 12 >> 2] = c[a9 + 12 >> 2]; - e = bh + 16 | 0; - c[e >> 2] = c[ba >> 2]; - c[e + 4 >> 2] = c[ba + 4 >> 2]; - c[e + 8 >> 2] = c[ba + 8 >> 2]; - c[e + 12 >> 2] = c[ba + 12 >> 2]; - e = bh + 32 | 0; - c[e >> 2] = c[bb >> 2]; - c[e + 4 >> 2] = c[bb + 4 >> 2]; - c[e + 8 >> 2] = c[bb + 8 >> 2]; - c[e + 12 >> 2] = c[bb + 12 >> 2]; - e = bh + 48 | 0; - c[e >> 2] = c[bc >> 2]; - c[e + 4 >> 2] = c[bc + 4 >> 2]; - c[e + 8 >> 2] = c[bc + 8 >> 2]; - c[e + 12 >> 2] = c[bc + 12 >> 2]; - e = bh + 64 | 0; - c[e >> 2] = c[bd >> 2]; - c[e + 4 >> 2] = c[bd + 4 >> 2]; - c[e + 8 >> 2] = c[bd + 8 >> 2]; - c[e + 12 >> 2] = c[bd + 12 >> 2]; - e = bh + 80 | 0; - c[e >> 2] = c[be >> 2]; - c[e + 4 >> 2] = c[be + 4 >> 2]; - c[e + 8 >> 2] = c[be + 8 >> 2]; - c[e + 12 >> 2] = c[be + 12 >> 2]; - e = bh + 96 | 0; - c[e >> 2] = c[bf >> 2]; - c[e + 4 >> 2] = c[bf + 4 >> 2]; - c[e + 8 >> 2] = c[bf + 8 >> 2]; - c[e + 12 >> 2] = c[bf + 12 >> 2]; - e = bh + 112 | 0; - c[e >> 2] = c[bg >> 2]; - c[e + 4 >> 2] = c[bg + 4 >> 2]; - c[e + 8 >> 2] = c[bg + 8 >> 2]; - c[e + 12 >> 2] = c[bg + 12 >> 2]; - if ((f | 0) == 128 & (d | 0) == 0) { - bi = 29; - break; - } - e = fp(f, d, -128, -1) | 0; - bh = bh + 128 | 0; - b = b + 128 | 0; - d = H; - f = e; - } - if ((bi | 0) == 29) { - i = j; - return 0; - } - bi = g + 12 | 0; - g = fp(dU(bi) | 0, 0, f >>> 4 | d << 28, d >>> 4 | 0 << 28) | 0; - dV(bi, g); - g = B; - bi = s; - c[g >> 2] = c[bi >> 2]; - c[g + 4 >> 2] = c[bi + 4 >> 2]; - c[g + 8 >> 2] = c[bi + 8 >> 2]; - c[g + 12 >> 2] = c[bi + 12 >> 2]; - bi = B + 16 | 0; - s = t; - c[bi >> 2] = c[s >> 2]; - c[bi + 4 >> 2] = c[s + 4 >> 2]; - c[bi + 8 >> 2] = c[s + 8 >> 2]; - c[bi + 12 >> 2] = c[s + 12 >> 2]; - s = B + 32 | 0; - bi = w; - c[s >> 2] = c[bi >> 2]; - c[s + 4 >> 2] = c[bi + 4 >> 2]; - c[s + 8 >> 2] = c[bi + 8 >> 2]; - c[s + 12 >> 2] = c[bi + 12 >> 2]; - bi = B + 48 | 0; - s = y; - c[bi >> 2] = c[s >> 2]; - c[bi + 4 >> 2] = c[s + 4 >> 2]; - c[bi + 8 >> 2] = c[s + 8 >> 2]; - c[bi + 12 >> 2] = c[s + 12 >> 2]; - s = B + 64 | 0; - bi = v; - c[s >> 2] = c[bi >> 2]; - c[s + 4 >> 2] = c[bi + 4 >> 2]; - c[s + 8 >> 2] = c[bi + 8 >> 2]; - c[s + 12 >> 2] = c[bi + 12 >> 2]; - bi = B + 80 | 0; - s = z; - c[bi >> 2] = c[s >> 2]; - c[bi + 4 >> 2] = c[s + 4 >> 2]; - c[bi + 8 >> 2] = c[s + 8 >> 2]; - c[bi + 12 >> 2] = c[s + 12 >> 2]; - s = B + 96 | 0; - bi = u; - c[s >> 2] = c[bi >> 2]; - c[s + 4 >> 2] = c[bi + 4 >> 2]; - c[s + 8 >> 2] = c[bi + 8 >> 2]; - c[s + 12 >> 2] = c[bi + 12 >> 2]; - bi = B + 112 | 0; - B = x; - c[bi >> 2] = c[B >> 2]; - c[bi + 4 >> 2] = c[B + 4 >> 2]; - c[bi + 8 >> 2] = c[B + 8 >> 2]; - c[bi + 12 >> 2] = c[B + 12 >> 2]; - if ((f | 0) == 0 & (d | 0) == 0) { - i = j; - return 0; - } else { - bj = d; - bk = f; - bl = g; - bm = b; - bn = bh; - } - while (1) { - a[bn] = a[bm] ^ a[bl]; - bh = fp(bk, bj, -1, -1) | 0; - b = H; - if ((bh | 0) == 0 & (b | 0) == 0) { - break; - } else { - bj = b; - bk = bh; - bl = bl + 1 | 0; - bm = bm + 1 | 0; - bn = bn + 1 | 0; - } - } - i = j; - return 0; -} -function ed(b, c) { - b = b | 0; - c = c | 0; - return ((((a[c + 1 | 0] ^ a[b + 1 | 0] | a[c] ^ a[b] | a[c + 2 | 0] ^ a[b + 2 | 0] | a[c + 3 | 0] ^ a[b + 3 | 0] | a[c + 4 | 0] ^ a[b + 4 | 0] | a[c + 5 | 0] ^ a[b + 5 | 0] | a[c + 6 | 0] ^ a[b + 6 | 0] | a[c + 7 | 0] ^ a[b + 7 | 0] | a[c + 8 | 0] ^ a[b + 8 | 0] | a[c + 9 | 0] ^ a[b + 9 | 0] | a[c + 10 | 0] ^ a[b + 10 | 0] | a[c + 11 | 0] ^ a[b + 11 | 0] | a[c + 12 | 0] ^ a[b + 12 | 0] | a[c + 13 | 0] ^ a[b + 13 | 0] | a[c + 14 | 0] ^ a[b + 14 | 0] | a[c + 15 | 0] ^ a[b + 15 | 0]) & 255) + 511 | 0) >>> 8 & 1) - 1 | 0; -} -function ee(b, e, f, g, h) { - b = b | 0; - e = e | 0; - f = f | 0; - g = g | 0; - h = h | 0; - var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0; - j = i; - i = i + 16 | 0; - k = j | 0; - l = k; - m = i; - i = i + 64 | 0; - if ((e | 0) == 0 & (f | 0) == 0) { - i = j; - return 0; - } - n = k | 0; - o = g; - g = o | 0; - p = o + 4 | 0; - o = d[p] | d[p + 1 | 0] << 8 | d[p + 2 | 0] << 16 | d[p + 3 | 0] << 24 | 0; - c[n >> 2] = d[g] | d[g + 1 | 0] << 8 | d[g + 2 | 0] << 16 | d[g + 3 | 0] << 24; - c[n + 4 >> 2] = o; - o = k + 8 | 0; - c[o >> 2] = 0; - c[o + 4 >> 2] = 0; - o = 0; - do { - if (f >>> 0 > o >>> 0 | f >>> 0 == o >>> 0 & e >>> 0 > 63 >>> 0) { - n = k; - g = k + 8 | 0; - p = f; - q = e; - r = b; - do { - bH(r, n, h, 120) | 0; - s = (d[g] | 0) + 1 | 0; - a[g] = s & 255; - t = l + 9 | 0; - u = (d[t] | 0) + (s >>> 8) | 0; - a[t] = u & 255; - t = l + 10 | 0; - s = (d[t] | 0) + (u >>> 8) | 0; - a[t] = s & 255; - t = l + 11 | 0; - u = (d[t] | 0) + (s >>> 8) | 0; - a[t] = u & 255; - t = l + 12 | 0; - s = (d[t] | 0) + (u >>> 8) | 0; - a[t] = s & 255; - t = l + 13 | 0; - u = (d[t] | 0) + (s >>> 8) | 0; - a[t] = u & 255; - t = l + 14 | 0; - s = (d[t] | 0) + (u >>> 8) | 0; - a[t] = s & 255; - t = l + 15 | 0; - a[t] = (d[t] | 0) + (s >>> 8) & 255; - q = fp(q, p, -64, -1) | 0; - p = H; - r = r + 64 | 0; - s = 0; - } while (p >>> 0 > s >>> 0 | p >>> 0 == s >>> 0 & q >>> 0 > 63 >>> 0); - if (!((q | 0) == 0 & (p | 0) == 0)) { - v = r; - w = p; - x = q; - break; - } - i = j; - return 0; - } else { - v = b; - w = f; - x = e; - } - } while (0); - bH(m | 0, k, h, 120) | 0; - h = 0; - do { - a[v + h | 0] = a[m + h | 0] | 0; - h = h + 1 | 0; - k = (h | 0) < 0 ? -1 : 0; - } while (k >>> 0 < w >>> 0 | k >>> 0 == w >>> 0 & h >>> 0 < x >>> 0); - i = j; - return 0; -} -function ef(b, e, f, g, h, j) { - b = b | 0; - e = e | 0; - f = f | 0; - g = g | 0; - h = h | 0; - j = j | 0; - var k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0; - k = i; - i = i + 16 | 0; - l = k | 0; - m = l; - n = i; - i = i + 64 | 0; - if ((f | 0) == 0 & (g | 0) == 0) { - i = k; - return 0; - } - o = l | 0; - p = h; - h = p | 0; - q = p + 4 | 0; - p = d[q] | d[q + 1 | 0] << 8 | d[q + 2 | 0] << 16 | d[q + 3 | 0] << 24 | 0; - c[o >> 2] = d[h] | d[h + 1 | 0] << 8 | d[h + 2 | 0] << 16 | d[h + 3 | 0] << 24; - c[o + 4 >> 2] = p; - p = l + 8 | 0; - c[p >> 2] = 0; - c[p + 4 >> 2] = 0; - p = 0; - do { - if (g >>> 0 > p >>> 0 | g >>> 0 == p >>> 0 & f >>> 0 > 63 >>> 0) { - o = n | 0; - h = l; - q = l + 8 | 0; - r = e; - s = g; - t = f; - u = b; - do { - bH(o, h, j, 104) | 0; - v = 0; - do { - a[u + v | 0] = a[n + v | 0] ^ a[r + v | 0]; - v = v + 1 | 0; - } while ((v | 0) < 64); - v = (d[q] | 0) + 1 | 0; - a[q] = v & 255; - w = m + 9 | 0; - x = (d[w] | 0) + (v >>> 8) | 0; - a[w] = x & 255; - w = m + 10 | 0; - v = (d[w] | 0) + (x >>> 8) | 0; - a[w] = v & 255; - w = m + 11 | 0; - x = (d[w] | 0) + (v >>> 8) | 0; - a[w] = x & 255; - w = m + 12 | 0; - v = (d[w] | 0) + (x >>> 8) | 0; - a[w] = v & 255; - w = m + 13 | 0; - x = (d[w] | 0) + (v >>> 8) | 0; - a[w] = x & 255; - w = m + 14 | 0; - v = (d[w] | 0) + (x >>> 8) | 0; - a[w] = v & 255; - w = m + 15 | 0; - a[w] = (d[w] | 0) + (v >>> 8) & 255; - t = fp(t, s, -64, -1) | 0; - s = H; - u = u + 64 | 0; - r = r + 64 | 0; - v = 0; - } while (s >>> 0 > v >>> 0 | s >>> 0 == v >>> 0 & t >>> 0 > 63 >>> 0); - if (!((t | 0) == 0 & (s | 0) == 0)) { - y = u; - z = s; - A = t; - B = r; - break; - } - i = k; - return 0; - } else { - y = b; - z = g; - A = f; - B = e; - } - } while (0); - bH(n | 0, l, j, 104) | 0; - j = 0; - do { - a[y + j | 0] = a[n + j | 0] ^ a[B + j | 0]; - j = j + 1 | 0; - l = (j | 0) < 0 ? -1 : 0; - } while (l >>> 0 < z >>> 0 | l >>> 0 == z >>> 0 & j >>> 0 < A >>> 0); - i = k; - return 0; -} -function eg(b, e, f, g, h) { - b = b | 0; - e = e | 0; - f = f | 0; - g = g | 0; - h = h | 0; - var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0; - j = i; - i = i + 16 | 0; - k = j | 0; - l = k; - m = i; - i = i + 64 | 0; - if ((e | 0) == 0 & (f | 0) == 0) { - i = j; - return 0; - } - n = k | 0; - o = g; - g = o | 0; - p = o + 4 | 0; - o = d[p] | d[p + 1 | 0] << 8 | d[p + 2 | 0] << 16 | d[p + 3 | 0] << 24 | 0; - c[n >> 2] = d[g] | d[g + 1 | 0] << 8 | d[g + 2 | 0] << 16 | d[g + 3 | 0] << 24; - c[n + 4 >> 2] = o; - o = k + 8 | 0; - c[o >> 2] = 0; - c[o + 4 >> 2] = 0; - o = 0; - do { - if (f >>> 0 > o >>> 0 | f >>> 0 == o >>> 0 & e >>> 0 > 63 >>> 0) { - n = k; - g = k + 8 | 0; - p = f; - q = e; - r = b; - do { - bO(r, n, h, 88) | 0; - s = (d[g] | 0) + 1 | 0; - a[g] = s & 255; - t = l + 9 | 0; - u = (d[t] | 0) + (s >>> 8) | 0; - a[t] = u & 255; - t = l + 10 | 0; - s = (d[t] | 0) + (u >>> 8) | 0; - a[t] = s & 255; - t = l + 11 | 0; - u = (d[t] | 0) + (s >>> 8) | 0; - a[t] = u & 255; - t = l + 12 | 0; - s = (d[t] | 0) + (u >>> 8) | 0; - a[t] = s & 255; - t = l + 13 | 0; - u = (d[t] | 0) + (s >>> 8) | 0; - a[t] = u & 255; - t = l + 14 | 0; - s = (d[t] | 0) + (u >>> 8) | 0; - a[t] = s & 255; - t = l + 15 | 0; - a[t] = (d[t] | 0) + (s >>> 8) & 255; - q = fp(q, p, -64, -1) | 0; - p = H; - r = r + 64 | 0; - s = 0; - } while (p >>> 0 > s >>> 0 | p >>> 0 == s >>> 0 & q >>> 0 > 63 >>> 0); - if (!((q | 0) == 0 & (p | 0) == 0)) { - v = r; - w = p; - x = q; - break; - } - i = j; - return 0; - } else { - v = b; - w = f; - x = e; - } - } while (0); - bO(m | 0, k, h, 88) | 0; - h = 0; - do { - a[v + h | 0] = a[m + h | 0] | 0; - h = h + 1 | 0; - k = (h | 0) < 0 ? -1 : 0; - } while (k >>> 0 < w >>> 0 | k >>> 0 == w >>> 0 & h >>> 0 < x >>> 0); - i = j; - return 0; -} -function eh(b, e, f, g, h, j) { - b = b | 0; - e = e | 0; - f = f | 0; - g = g | 0; - h = h | 0; - j = j | 0; - var k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0; - k = i; - i = i + 16 | 0; - l = k | 0; - m = l; - n = i; - i = i + 64 | 0; - if ((f | 0) == 0 & (g | 0) == 0) { - i = k; - return 0; - } - o = l | 0; - p = h; - h = p | 0; - q = p + 4 | 0; - p = d[q] | d[q + 1 | 0] << 8 | d[q + 2 | 0] << 16 | d[q + 3 | 0] << 24 | 0; - c[o >> 2] = d[h] | d[h + 1 | 0] << 8 | d[h + 2 | 0] << 16 | d[h + 3 | 0] << 24; - c[o + 4 >> 2] = p; - p = l + 8 | 0; - c[p >> 2] = 0; - c[p + 4 >> 2] = 0; - p = 0; - do { - if (g >>> 0 > p >>> 0 | g >>> 0 == p >>> 0 & f >>> 0 > 63 >>> 0) { - o = n | 0; - h = l; - q = l + 8 | 0; - r = e; - s = g; - t = f; - u = b; - do { - bO(o, h, j, 72) | 0; - v = 0; - do { - a[u + v | 0] = a[n + v | 0] ^ a[r + v | 0]; - v = v + 1 | 0; - } while ((v | 0) < 64); - v = (d[q] | 0) + 1 | 0; - a[q] = v & 255; - w = m + 9 | 0; - x = (d[w] | 0) + (v >>> 8) | 0; - a[w] = x & 255; - w = m + 10 | 0; - v = (d[w] | 0) + (x >>> 8) | 0; - a[w] = v & 255; - w = m + 11 | 0; - x = (d[w] | 0) + (v >>> 8) | 0; - a[w] = x & 255; - w = m + 12 | 0; - v = (d[w] | 0) + (x >>> 8) | 0; - a[w] = v & 255; - w = m + 13 | 0; - x = (d[w] | 0) + (v >>> 8) | 0; - a[w] = x & 255; - w = m + 14 | 0; - v = (d[w] | 0) + (x >>> 8) | 0; - a[w] = v & 255; - w = m + 15 | 0; - a[w] = (d[w] | 0) + (v >>> 8) & 255; - t = fp(t, s, -64, -1) | 0; - s = H; - u = u + 64 | 0; - r = r + 64 | 0; - v = 0; - } while (s >>> 0 > v >>> 0 | s >>> 0 == v >>> 0 & t >>> 0 > 63 >>> 0); - if (!((t | 0) == 0 & (s | 0) == 0)) { - y = u; - z = s; - A = t; - B = r; - break; - } - i = k; - return 0; - } else { - y = b; - z = g; - A = f; - B = e; - } - } while (0); - bO(n | 0, l, j, 72) | 0; - j = 0; - do { - a[y + j | 0] = a[n + j | 0] ^ a[B + j | 0]; - j = j + 1 | 0; - l = (j | 0) < 0 ? -1 : 0; - } while (l >>> 0 < z >>> 0 | l >>> 0 == z >>> 0 & j >>> 0 < A >>> 0); - i = k; - return 0; -} -function ei(b, e, f, g, h) { - b = b | 0; - e = e | 0; - f = f | 0; - g = g | 0; - h = h | 0; - var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0; - j = i; - i = i + 16 | 0; - k = j | 0; - l = k; - m = i; - i = i + 64 | 0; - if ((e | 0) == 0 & (f | 0) == 0) { - i = j; - return 0; - } - n = k | 0; - o = g; - g = o | 0; - p = o + 4 | 0; - o = d[p] | d[p + 1 | 0] << 8 | d[p + 2 | 0] << 16 | d[p + 3 | 0] << 24 | 0; - c[n >> 2] = d[g] | d[g + 1 | 0] << 8 | d[g + 2 | 0] << 16 | d[g + 3 | 0] << 24; - c[n + 4 >> 2] = o; - o = k + 8 | 0; - c[o >> 2] = 0; - c[o + 4 >> 2] = 0; - o = 0; - do { - if (f >>> 0 > o >>> 0 | f >>> 0 == o >>> 0 & e >>> 0 > 63 >>> 0) { - n = k; - g = k + 8 | 0; - p = f; - q = e; - r = b; - do { - bP(r, n, h, 56) | 0; - s = (d[g] | 0) + 1 | 0; - a[g] = s & 255; - t = l + 9 | 0; - u = (d[t] | 0) + (s >>> 8) | 0; - a[t] = u & 255; - t = l + 10 | 0; - s = (d[t] | 0) + (u >>> 8) | 0; - a[t] = s & 255; - t = l + 11 | 0; - u = (d[t] | 0) + (s >>> 8) | 0; - a[t] = u & 255; - t = l + 12 | 0; - s = (d[t] | 0) + (u >>> 8) | 0; - a[t] = s & 255; - t = l + 13 | 0; - u = (d[t] | 0) + (s >>> 8) | 0; - a[t] = u & 255; - t = l + 14 | 0; - s = (d[t] | 0) + (u >>> 8) | 0; - a[t] = s & 255; - t = l + 15 | 0; - a[t] = (d[t] | 0) + (s >>> 8) & 255; - q = fp(q, p, -64, -1) | 0; - p = H; - r = r + 64 | 0; - s = 0; - } while (p >>> 0 > s >>> 0 | p >>> 0 == s >>> 0 & q >>> 0 > 63 >>> 0); - if (!((q | 0) == 0 & (p | 0) == 0)) { - v = r; - w = p; - x = q; - break; - } - i = j; - return 0; - } else { - v = b; - w = f; - x = e; - } - } while (0); - bP(m | 0, k, h, 56) | 0; - h = 0; - do { - a[v + h | 0] = a[m + h | 0] | 0; - h = h + 1 | 0; - k = (h | 0) < 0 ? -1 : 0; - } while (k >>> 0 < w >>> 0 | k >>> 0 == w >>> 0 & h >>> 0 < x >>> 0); - i = j; - return 0; -} -function ej(b, e, f, g, h, j) { - b = b | 0; - e = e | 0; - f = f | 0; - g = g | 0; - h = h | 0; - j = j | 0; - var k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0; - k = i; - i = i + 16 | 0; - l = k | 0; - m = l; - n = i; - i = i + 64 | 0; - if ((f | 0) == 0 & (g | 0) == 0) { - i = k; - return 0; - } - o = l | 0; - p = h; - h = p | 0; - q = p + 4 | 0; - p = d[q] | d[q + 1 | 0] << 8 | d[q + 2 | 0] << 16 | d[q + 3 | 0] << 24 | 0; - c[o >> 2] = d[h] | d[h + 1 | 0] << 8 | d[h + 2 | 0] << 16 | d[h + 3 | 0] << 24; - c[o + 4 >> 2] = p; - p = l + 8 | 0; - c[p >> 2] = 0; - c[p + 4 >> 2] = 0; - p = 0; - do { - if (g >>> 0 > p >>> 0 | g >>> 0 == p >>> 0 & f >>> 0 > 63 >>> 0) { - o = n | 0; - h = l; - q = l + 8 | 0; - r = e; - s = g; - t = f; - u = b; - do { - bP(o, h, j, 40) | 0; - v = 0; - do { - a[u + v | 0] = a[n + v | 0] ^ a[r + v | 0]; - v = v + 1 | 0; - } while ((v | 0) < 64); - v = (d[q] | 0) + 1 | 0; - a[q] = v & 255; - w = m + 9 | 0; - x = (d[w] | 0) + (v >>> 8) | 0; - a[w] = x & 255; - w = m + 10 | 0; - v = (d[w] | 0) + (x >>> 8) | 0; - a[w] = v & 255; - w = m + 11 | 0; - x = (d[w] | 0) + (v >>> 8) | 0; - a[w] = x & 255; - w = m + 12 | 0; - v = (d[w] | 0) + (x >>> 8) | 0; - a[w] = v & 255; - w = m + 13 | 0; - x = (d[w] | 0) + (v >>> 8) | 0; - a[w] = x & 255; - w = m + 14 | 0; - v = (d[w] | 0) + (x >>> 8) | 0; - a[w] = v & 255; - w = m + 15 | 0; - a[w] = (d[w] | 0) + (v >>> 8) & 255; - t = fp(t, s, -64, -1) | 0; - s = H; - u = u + 64 | 0; - r = r + 64 | 0; - v = 0; - } while (s >>> 0 > v >>> 0 | s >>> 0 == v >>> 0 & t >>> 0 > 63 >>> 0); - if (!((t | 0) == 0 & (s | 0) == 0)) { - y = u; - z = s; - A = t; - B = r; - break; - } - i = k; - return 0; - } else { - y = b; - z = g; - A = f; - B = e; - } - } while (0); - bP(n | 0, l, j, 40) | 0; - j = 0; - do { - a[y + j | 0] = a[n + j | 0] ^ a[B + j | 0]; - j = j + 1 | 0; - l = (j | 0) < 0 ? -1 : 0; - } while (l >>> 0 < z >>> 0 | l >>> 0 == z >>> 0 & j >>> 0 < A >>> 0); - i = k; - return 0; -} -function ek(a, b, c, d, e) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - var f = 0, g = 0; - f = i; - i = i + 32 | 0; - g = f | 0; - bG(g, d, e, 24) | 0; - e = ee(a, b, c, d + 16 | 0, g) | 0; - i = f; - return e | 0; -} -function el(a, b, c, d, e, f) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - f = f | 0; - var g = 0, h = 0; - g = i; - i = i + 32 | 0; - h = g | 0; - bG(h, e, f, 8) | 0; - f = ef(a, b, c, d, e + 16 | 0, h) | 0; - i = g; - return f | 0; -} -function em(b, c) { - b = b | 0; - c = c | 0; - return ((((a[c + 1 | 0] ^ a[b + 1 | 0] | a[c] ^ a[b] | a[c + 2 | 0] ^ a[b + 2 | 0] | a[c + 3 | 0] ^ a[b + 3 | 0] | a[c + 4 | 0] ^ a[b + 4 | 0] | a[c + 5 | 0] ^ a[b + 5 | 0] | a[c + 6 | 0] ^ a[b + 6 | 0] | a[c + 7 | 0] ^ a[b + 7 | 0] | a[c + 8 | 0] ^ a[b + 8 | 0] | a[c + 9 | 0] ^ a[b + 9 | 0] | a[c + 10 | 0] ^ a[b + 10 | 0] | a[c + 11 | 0] ^ a[b + 11 | 0] | a[c + 12 | 0] ^ a[b + 12 | 0] | a[c + 13 | 0] ^ a[b + 13 | 0] | a[c + 14 | 0] ^ a[b + 14 | 0] | a[c + 15 | 0] ^ a[b + 15 | 0] | a[c + 16 | 0] ^ a[b + 16 | 0] | a[c + 17 | 0] ^ a[b + 17 | 0] | a[c + 18 | 0] ^ a[b + 18 | 0] | a[c + 19 | 0] ^ a[b + 19 | 0] | a[c + 20 | 0] ^ a[b + 20 | 0] | a[c + 21 | 0] ^ a[b + 21 | 0] | a[c + 22 | 0] ^ a[b + 22 | 0] | a[c + 23 | 0] ^ a[b + 23 | 0] | a[c + 24 | 0] ^ a[b + 24 | 0] | a[c + 25 | 0] ^ a[b + 25 | 0] | a[c + 26 | 0] ^ a[b + 26 | 0] | a[c + 27 | 0] ^ a[b + 27 | 0] | a[c + 28 | 0] ^ a[b + 28 | 0] | a[c + 29 | 0] ^ a[b + 29 | 0] | a[c + 30 | 0] ^ a[b + 30 | 0] | a[c + 31 | 0] ^ a[b + 31 | 0]) & 255) + 511 | 0) >>> 8 & 1) - 1 | 0; -} -function en(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, aa = 0, ab = 0, ac = 0, ad = 0, ae = 0, af = 0, ag = 0, ah = 0, ai = 0, aj = 0, ak = 0, al = 0, am = 0, an = 0, ao = 0, ap = 0, aq = 0, as = 0, at = 0, au = 0, aw = 0, ax = 0, ay = 0, az = 0, aA = 0, aB = 0, aC = 0, aD = 0, aE = 0, aF = 0, aG = 0, aH = 0, aI = 0; - do { - if (a >>> 0 < 245) { - if (a >>> 0 < 11) { - b = 16; - } else { - b = a + 11 & -8; - } - d = b >>> 3; - e = c[28038] | 0; - f = e >>> (d >>> 0); - if ((f & 3 | 0) != 0) { - g = (f & 1 ^ 1) + d | 0; - h = g << 1; - i = 112192 + (h << 2) | 0; - j = 112192 + (h + 2 << 2) | 0; - h = c[j >> 2] | 0; - k = h + 8 | 0; - l = c[k >> 2] | 0; - do { - if ((i | 0) == (l | 0)) { - c[28038] = e & ~(1 << g); - } else { - if (l >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } - m = l + 12 | 0; - if ((c[m >> 2] | 0) == (h | 0)) { - c[m >> 2] = i; - c[j >> 2] = l; - break; - } else { - av(); - return 0; - } - } - } while (0); - l = g << 3; - c[h + 4 >> 2] = l | 3; - j = h + (l | 4) | 0; - c[j >> 2] = c[j >> 2] | 1; - n = k; - return n | 0; - } - if (b >>> 0 <= (c[28040] | 0) >>> 0) { - o = b; - break; - } - if ((f | 0) != 0) { - j = 2 << d; - l = f << d & (j | -j); - j = (l & -l) - 1 | 0; - l = j >>> 12 & 16; - i = j >>> (l >>> 0); - j = i >>> 5 & 8; - m = i >>> (j >>> 0); - i = m >>> 2 & 4; - p = m >>> (i >>> 0); - m = p >>> 1 & 2; - q = p >>> (m >>> 0); - p = q >>> 1 & 1; - r = (j | l | i | m | p) + (q >>> (p >>> 0)) | 0; - p = r << 1; - q = 112192 + (p << 2) | 0; - m = 112192 + (p + 2 << 2) | 0; - p = c[m >> 2] | 0; - i = p + 8 | 0; - l = c[i >> 2] | 0; - do { - if ((q | 0) == (l | 0)) { - c[28038] = e & ~(1 << r); - } else { - if (l >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } - j = l + 12 | 0; - if ((c[j >> 2] | 0) == (p | 0)) { - c[j >> 2] = q; - c[m >> 2] = l; - break; - } else { - av(); - return 0; - } - } - } while (0); - l = r << 3; - m = l - b | 0; - c[p + 4 >> 2] = b | 3; - q = p; - e = q + b | 0; - c[q + (b | 4) >> 2] = m | 1; - c[q + l >> 2] = m; - l = c[28040] | 0; - if ((l | 0) != 0) { - q = c[28043] | 0; - d = l >>> 3; - l = d << 1; - f = 112192 + (l << 2) | 0; - k = c[28038] | 0; - h = 1 << d; - do { - if ((k & h | 0) == 0) { - c[28038] = k | h; - s = f; - t = 112192 + (l + 2 << 2) | 0; - } else { - d = 112192 + (l + 2 << 2) | 0; - g = c[d >> 2] | 0; - if (g >>> 0 >= (c[28042] | 0) >>> 0) { - s = g; - t = d; - break; - } - av(); - return 0; - } - } while (0); - c[t >> 2] = q; - c[s + 12 >> 2] = q; - c[q + 8 >> 2] = s; - c[q + 12 >> 2] = f; - } - c[28040] = m; - c[28043] = e; - n = i; - return n | 0; - } - l = c[28039] | 0; - if ((l | 0) == 0) { - o = b; - break; - } - h = (l & -l) - 1 | 0; - l = h >>> 12 & 16; - k = h >>> (l >>> 0); - h = k >>> 5 & 8; - p = k >>> (h >>> 0); - k = p >>> 2 & 4; - r = p >>> (k >>> 0); - p = r >>> 1 & 2; - d = r >>> (p >>> 0); - r = d >>> 1 & 1; - g = c[112456 + ((h | l | k | p | r) + (d >>> (r >>> 0)) << 2) >> 2] | 0; - r = g; - d = g; - p = (c[g + 4 >> 2] & -8) - b | 0; - while (1) { - g = c[r + 16 >> 2] | 0; - if ((g | 0) == 0) { - k = c[r + 20 >> 2] | 0; - if ((k | 0) == 0) { - break; - } else { - u = k; - } - } else { - u = g; - } - g = (c[u + 4 >> 2] & -8) - b | 0; - k = g >>> 0 < p >>> 0; - r = u; - d = k ? u : d; - p = k ? g : p; - } - r = d; - i = c[28042] | 0; - if (r >>> 0 < i >>> 0) { - av(); - return 0; - } - e = r + b | 0; - m = e; - if (r >>> 0 >= e >>> 0) { - av(); - return 0; - } - e = c[d + 24 >> 2] | 0; - f = c[d + 12 >> 2] | 0; - do { - if ((f | 0) == (d | 0)) { - q = d + 20 | 0; - g = c[q >> 2] | 0; - if ((g | 0) == 0) { - k = d + 16 | 0; - l = c[k >> 2] | 0; - if ((l | 0) == 0) { - v = 0; - break; - } else { - w = l; - x = k; - } - } else { - w = g; - x = q; - } - while (1) { - q = w + 20 | 0; - g = c[q >> 2] | 0; - if ((g | 0) != 0) { - w = g; - x = q; - continue; - } - q = w + 16 | 0; - g = c[q >> 2] | 0; - if ((g | 0) == 0) { - break; - } else { - w = g; - x = q; - } - } - if (x >>> 0 < i >>> 0) { - av(); - return 0; - } else { - c[x >> 2] = 0; - v = w; - break; - } - } else { - q = c[d + 8 >> 2] | 0; - if (q >>> 0 < i >>> 0) { - av(); - return 0; - } - g = q + 12 | 0; - if ((c[g >> 2] | 0) != (d | 0)) { - av(); - return 0; - } - k = f + 8 | 0; - if ((c[k >> 2] | 0) == (d | 0)) { - c[g >> 2] = f; - c[k >> 2] = q; - v = f; - break; - } else { - av(); - return 0; - } - } - } while (0); - L209 : do { - if ((e | 0) != 0) { - f = d + 28 | 0; - i = 112456 + (c[f >> 2] << 2) | 0; - do { - if ((d | 0) == (c[i >> 2] | 0)) { - c[i >> 2] = v; - if ((v | 0) != 0) { - break; - } - c[28039] = c[28039] & ~(1 << c[f >> 2]); - break L209; - } else { - if (e >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } - q = e + 16 | 0; - if ((c[q >> 2] | 0) == (d | 0)) { - c[q >> 2] = v; - } else { - c[e + 20 >> 2] = v; - } - if ((v | 0) == 0) { - break L209; - } - } - } while (0); - if (v >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } - c[v + 24 >> 2] = e; - f = c[d + 16 >> 2] | 0; - do { - if ((f | 0) != 0) { - if (f >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } else { - c[v + 16 >> 2] = f; - c[f + 24 >> 2] = v; - break; - } - } - } while (0); - f = c[d + 20 >> 2] | 0; - if ((f | 0) == 0) { - break; - } - if (f >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } else { - c[v + 20 >> 2] = f; - c[f + 24 >> 2] = v; - break; - } - } - } while (0); - if (p >>> 0 < 16) { - e = p + b | 0; - c[d + 4 >> 2] = e | 3; - f = r + (e + 4) | 0; - c[f >> 2] = c[f >> 2] | 1; - } else { - c[d + 4 >> 2] = b | 3; - c[r + (b | 4) >> 2] = p | 1; - c[r + (p + b) >> 2] = p; - f = c[28040] | 0; - if ((f | 0) != 0) { - e = c[28043] | 0; - i = f >>> 3; - f = i << 1; - q = 112192 + (f << 2) | 0; - k = c[28038] | 0; - g = 1 << i; - do { - if ((k & g | 0) == 0) { - c[28038] = k | g; - y = q; - z = 112192 + (f + 2 << 2) | 0; - } else { - i = 112192 + (f + 2 << 2) | 0; - l = c[i >> 2] | 0; - if (l >>> 0 >= (c[28042] | 0) >>> 0) { - y = l; - z = i; - break; - } - av(); - return 0; - } - } while (0); - c[z >> 2] = e; - c[y + 12 >> 2] = e; - c[e + 8 >> 2] = y; - c[e + 12 >> 2] = q; - } - c[28040] = p; - c[28043] = m; - } - f = d + 8 | 0; - if ((f | 0) == 0) { - o = b; - break; - } else { - n = f; - } - return n | 0; - } else { - if (a >>> 0 > 4294967231) { - o = -1; - break; - } - f = a + 11 | 0; - g = f & -8; - k = c[28039] | 0; - if ((k | 0) == 0) { - o = g; - break; - } - r = -g | 0; - i = f >>> 8; - do { - if ((i | 0) == 0) { - A = 0; - } else { - if (g >>> 0 > 16777215) { - A = 31; - break; - } - f = (i + 1048320 | 0) >>> 16 & 8; - l = i << f; - h = (l + 520192 | 0) >>> 16 & 4; - j = l << h; - l = (j + 245760 | 0) >>> 16 & 2; - B = 14 - (h | f | l) + (j << l >>> 15) | 0; - A = g >>> ((B + 7 | 0) >>> 0) & 1 | B << 1; - } - } while (0); - i = c[112456 + (A << 2) >> 2] | 0; - L257 : do { - if ((i | 0) == 0) { - C = 0; - D = r; - E = 0; - } else { - if ((A | 0) == 31) { - F = 0; - } else { - F = 25 - (A >>> 1) | 0; - } - d = 0; - m = r; - p = i; - q = g << F; - e = 0; - while (1) { - B = c[p + 4 >> 2] & -8; - l = B - g | 0; - if (l >>> 0 < m >>> 0) { - if ((B | 0) == (g | 0)) { - C = p; - D = l; - E = p; - break L257; - } else { - G = p; - H = l; - } - } else { - G = d; - H = m; - } - l = c[p + 20 >> 2] | 0; - B = c[p + 16 + (q >>> 31 << 2) >> 2] | 0; - j = (l | 0) == 0 | (l | 0) == (B | 0) ? e : l; - if ((B | 0) == 0) { - C = G; - D = H; - E = j; - break; - } else { - d = G; - m = H; - p = B; - q = q << 1; - e = j; - } - } - } - } while (0); - if ((E | 0) == 0 & (C | 0) == 0) { - i = 2 << A; - r = k & (i | -i); - if ((r | 0) == 0) { - o = g; - break; - } - i = (r & -r) - 1 | 0; - r = i >>> 12 & 16; - e = i >>> (r >>> 0); - i = e >>> 5 & 8; - q = e >>> (i >>> 0); - e = q >>> 2 & 4; - p = q >>> (e >>> 0); - q = p >>> 1 & 2; - m = p >>> (q >>> 0); - p = m >>> 1 & 1; - I = c[112456 + ((i | r | e | q | p) + (m >>> (p >>> 0)) << 2) >> 2] | 0; - } else { - I = E; - } - if ((I | 0) == 0) { - J = D; - K = C; - } else { - p = I; - m = D; - q = C; - while (1) { - e = (c[p + 4 >> 2] & -8) - g | 0; - r = e >>> 0 < m >>> 0; - i = r ? e : m; - e = r ? p : q; - r = c[p + 16 >> 2] | 0; - if ((r | 0) != 0) { - p = r; - m = i; - q = e; - continue; - } - r = c[p + 20 >> 2] | 0; - if ((r | 0) == 0) { - J = i; - K = e; - break; - } else { - p = r; - m = i; - q = e; - } - } - } - if ((K | 0) == 0) { - o = g; - break; - } - if (J >>> 0 >= ((c[28040] | 0) - g | 0) >>> 0) { - o = g; - break; - } - q = K; - m = c[28042] | 0; - if (q >>> 0 < m >>> 0) { - av(); - return 0; - } - p = q + g | 0; - k = p; - if (q >>> 0 >= p >>> 0) { - av(); - return 0; - } - e = c[K + 24 >> 2] | 0; - i = c[K + 12 >> 2] | 0; - do { - if ((i | 0) == (K | 0)) { - r = K + 20 | 0; - d = c[r >> 2] | 0; - if ((d | 0) == 0) { - j = K + 16 | 0; - B = c[j >> 2] | 0; - if ((B | 0) == 0) { - L = 0; - break; - } else { - M = B; - N = j; - } - } else { - M = d; - N = r; - } - while (1) { - r = M + 20 | 0; - d = c[r >> 2] | 0; - if ((d | 0) != 0) { - M = d; - N = r; - continue; - } - r = M + 16 | 0; - d = c[r >> 2] | 0; - if ((d | 0) == 0) { - break; - } else { - M = d; - N = r; - } - } - if (N >>> 0 < m >>> 0) { - av(); - return 0; - } else { - c[N >> 2] = 0; - L = M; - break; - } - } else { - r = c[K + 8 >> 2] | 0; - if (r >>> 0 < m >>> 0) { - av(); - return 0; - } - d = r + 12 | 0; - if ((c[d >> 2] | 0) != (K | 0)) { - av(); - return 0; - } - j = i + 8 | 0; - if ((c[j >> 2] | 0) == (K | 0)) { - c[d >> 2] = i; - c[j >> 2] = r; - L = i; - break; - } else { - av(); - return 0; - } - } - } while (0); - L307 : do { - if ((e | 0) != 0) { - i = K + 28 | 0; - m = 112456 + (c[i >> 2] << 2) | 0; - do { - if ((K | 0) == (c[m >> 2] | 0)) { - c[m >> 2] = L; - if ((L | 0) != 0) { - break; - } - c[28039] = c[28039] & ~(1 << c[i >> 2]); - break L307; - } else { - if (e >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } - r = e + 16 | 0; - if ((c[r >> 2] | 0) == (K | 0)) { - c[r >> 2] = L; - } else { - c[e + 20 >> 2] = L; - } - if ((L | 0) == 0) { - break L307; - } - } - } while (0); - if (L >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } - c[L + 24 >> 2] = e; - i = c[K + 16 >> 2] | 0; - do { - if ((i | 0) != 0) { - if (i >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } else { - c[L + 16 >> 2] = i; - c[i + 24 >> 2] = L; - break; - } - } - } while (0); - i = c[K + 20 >> 2] | 0; - if ((i | 0) == 0) { - break; - } - if (i >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } else { - c[L + 20 >> 2] = i; - c[i + 24 >> 2] = L; - break; - } - } - } while (0); - do { - if (J >>> 0 < 16) { - e = J + g | 0; - c[K + 4 >> 2] = e | 3; - i = q + (e + 4) | 0; - c[i >> 2] = c[i >> 2] | 1; - } else { - c[K + 4 >> 2] = g | 3; - c[q + (g | 4) >> 2] = J | 1; - c[q + (J + g) >> 2] = J; - i = J >>> 3; - if (J >>> 0 < 256) { - e = i << 1; - m = 112192 + (e << 2) | 0; - r = c[28038] | 0; - j = 1 << i; - do { - if ((r & j | 0) == 0) { - c[28038] = r | j; - O = m; - P = 112192 + (e + 2 << 2) | 0; - } else { - i = 112192 + (e + 2 << 2) | 0; - d = c[i >> 2] | 0; - if (d >>> 0 >= (c[28042] | 0) >>> 0) { - O = d; - P = i; - break; - } - av(); - return 0; - } - } while (0); - c[P >> 2] = k; - c[O + 12 >> 2] = k; - c[q + (g + 8) >> 2] = O; - c[q + (g + 12) >> 2] = m; - break; - } - e = p; - j = J >>> 8; - do { - if ((j | 0) == 0) { - Q = 0; - } else { - if (J >>> 0 > 16777215) { - Q = 31; - break; - } - r = (j + 1048320 | 0) >>> 16 & 8; - i = j << r; - d = (i + 520192 | 0) >>> 16 & 4; - B = i << d; - i = (B + 245760 | 0) >>> 16 & 2; - l = 14 - (d | r | i) + (B << i >>> 15) | 0; - Q = J >>> ((l + 7 | 0) >>> 0) & 1 | l << 1; - } - } while (0); - j = 112456 + (Q << 2) | 0; - c[q + (g + 28) >> 2] = Q; - c[q + (g + 20) >> 2] = 0; - c[q + (g + 16) >> 2] = 0; - m = c[28039] | 0; - l = 1 << Q; - if ((m & l | 0) == 0) { - c[28039] = m | l; - c[j >> 2] = e; - c[q + (g + 24) >> 2] = j; - c[q + (g + 12) >> 2] = e; - c[q + (g + 8) >> 2] = e; - break; - } - if ((Q | 0) == 31) { - R = 0; - } else { - R = 25 - (Q >>> 1) | 0; - } - l = J << R; - m = c[j >> 2] | 0; - while (1) { - if ((c[m + 4 >> 2] & -8 | 0) == (J | 0)) { - break; - } - S = m + 16 + (l >>> 31 << 2) | 0; - j = c[S >> 2] | 0; - if ((j | 0) == 0) { - T = 258; - break; - } else { - l = l << 1; - m = j; - } - } - if ((T | 0) == 258) { - if (S >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } else { - c[S >> 2] = e; - c[q + (g + 24) >> 2] = m; - c[q + (g + 12) >> 2] = e; - c[q + (g + 8) >> 2] = e; - break; - } - } - l = m + 8 | 0; - j = c[l >> 2] | 0; - i = c[28042] | 0; - if (m >>> 0 < i >>> 0) { - av(); - return 0; - } - if (j >>> 0 < i >>> 0) { - av(); - return 0; - } else { - c[j + 12 >> 2] = e; - c[l >> 2] = e; - c[q + (g + 8) >> 2] = j; - c[q + (g + 12) >> 2] = m; - c[q + (g + 24) >> 2] = 0; - break; - } - } - } while (0); - q = K + 8 | 0; - if ((q | 0) == 0) { - o = g; - break; - } else { - n = q; - } - return n | 0; - } - } while (0); - K = c[28040] | 0; - if (o >>> 0 <= K >>> 0) { - S = K - o | 0; - J = c[28043] | 0; - if (S >>> 0 > 15) { - R = J; - c[28043] = R + o; - c[28040] = S; - c[R + (o + 4) >> 2] = S | 1; - c[R + K >> 2] = S; - c[J + 4 >> 2] = o | 3; - } else { - c[28040] = 0; - c[28043] = 0; - c[J + 4 >> 2] = K | 3; - S = J + (K + 4) | 0; - c[S >> 2] = c[S >> 2] | 1; - } - n = J + 8 | 0; - return n | 0; - } - J = c[28041] | 0; - if (o >>> 0 < J >>> 0) { - S = J - o | 0; - c[28041] = S; - J = c[28044] | 0; - K = J; - c[28044] = K + o; - c[K + (o + 4) >> 2] = S | 1; - c[J + 4 >> 2] = o | 3; - n = J + 8 | 0; - return n | 0; - } - do { - if ((c[28014] | 0) == 0) { - J = ar(8) | 0; - if ((J - 1 & J | 0) == 0) { - c[28016] = J; - c[28015] = J; - c[28017] = -1; - c[28018] = 2097152; - c[28019] = 0; - c[28149] = 0; - c[28014] = (a_(0) | 0) & -16 ^ 1431655768; - break; - } else { - av(); - return 0; - } - } - } while (0); - J = o + 48 | 0; - S = c[28016] | 0; - K = o + 47 | 0; - R = S + K | 0; - Q = -S | 0; - S = R & Q; - if (S >>> 0 <= o >>> 0) { - n = 0; - return n | 0; - } - O = c[28148] | 0; - do { - if ((O | 0) != 0) { - P = c[28146] | 0; - L = P + S | 0; - if (L >>> 0 <= P >>> 0 | L >>> 0 > O >>> 0) { - n = 0; - } else { - break; - } - return n | 0; - } - } while (0); - L399 : do { - if ((c[28149] & 4 | 0) == 0) { - O = c[28044] | 0; - L401 : do { - if ((O | 0) == 0) { - T = 288; - } else { - L = O; - P = 112600; - while (1) { - U = P | 0; - M = c[U >> 2] | 0; - if (M >>> 0 <= L >>> 0) { - V = P + 4 | 0; - if ((M + (c[V >> 2] | 0) | 0) >>> 0 > L >>> 0) { - break; - } - } - M = c[P + 8 >> 2] | 0; - if ((M | 0) == 0) { - T = 288; - break L401; - } else { - P = M; - } - } - if ((P | 0) == 0) { - T = 288; - break; - } - L = R - (c[28041] | 0) & Q; - if (L >>> 0 >= 2147483647) { - W = 0; - break; - } - m = aW(L | 0) | 0; - e = (m | 0) == ((c[U >> 2] | 0) + (c[V >> 2] | 0) | 0); - X = e ? m : -1; - Y = e ? L : 0; - Z = m; - _ = L; - T = 297; - } - } while (0); - do { - if ((T | 0) == 288) { - O = aW(0) | 0; - if ((O | 0) == -1) { - W = 0; - break; - } - g = O; - L = c[28015] | 0; - m = L - 1 | 0; - if ((m & g | 0) == 0) { - $ = S; - } else { - $ = S - g + (m + g & -L) | 0; - } - L = c[28146] | 0; - g = L + $ | 0; - if (!($ >>> 0 > o >>> 0 & $ >>> 0 < 2147483647)) { - W = 0; - break; - } - m = c[28148] | 0; - if ((m | 0) != 0) { - if (g >>> 0 <= L >>> 0 | g >>> 0 > m >>> 0) { - W = 0; - break; - } - } - m = aW($ | 0) | 0; - g = (m | 0) == (O | 0); - X = g ? O : -1; - Y = g ? $ : 0; - Z = m; - _ = $; - T = 297; - } - } while (0); - L421 : do { - if ((T | 0) == 297) { - m = -_ | 0; - if ((X | 0) != -1) { - aa = Y; - ab = X; - T = 308; - break L399; - } - do { - if ((Z | 0) != -1 & _ >>> 0 < 2147483647 & _ >>> 0 < J >>> 0) { - g = c[28016] | 0; - O = K - _ + g & -g; - if (O >>> 0 >= 2147483647) { - ac = _; - break; - } - if ((aW(O | 0) | 0) == -1) { - aW(m | 0) | 0; - W = Y; - break L421; - } else { - ac = O + _ | 0; - break; - } - } else { - ac = _; - } - } while (0); - if ((Z | 0) == -1) { - W = Y; - } else { - aa = ac; - ab = Z; - T = 308; - break L399; - } - } - } while (0); - c[28149] = c[28149] | 4; - ad = W; - T = 305; - } else { - ad = 0; - T = 305; - } - } while (0); - do { - if ((T | 0) == 305) { - if (S >>> 0 >= 2147483647) { - break; - } - W = aW(S | 0) | 0; - Z = aW(0) | 0; - if (!((Z | 0) != -1 & (W | 0) != -1 & W >>> 0 < Z >>> 0)) { - break; - } - ac = Z - W | 0; - Z = ac >>> 0 > (o + 40 | 0) >>> 0; - Y = Z ? W : -1; - if ((Y | 0) != -1) { - aa = Z ? ac : ad; - ab = Y; - T = 308; - } - } - } while (0); - do { - if ((T | 0) == 308) { - ad = (c[28146] | 0) + aa | 0; - c[28146] = ad; - if (ad >>> 0 > (c[28147] | 0) >>> 0) { - c[28147] = ad; - } - ad = c[28044] | 0; - L441 : do { - if ((ad | 0) == 0) { - S = c[28042] | 0; - if ((S | 0) == 0 | ab >>> 0 < S >>> 0) { - c[28042] = ab; - } - c[28150] = ab; - c[28151] = aa; - c[28153] = 0; - c[28047] = c[28014]; - c[28046] = -1; - S = 0; - do { - Y = S << 1; - ac = 112192 + (Y << 2) | 0; - c[112192 + (Y + 3 << 2) >> 2] = ac; - c[112192 + (Y + 2 << 2) >> 2] = ac; - S = S + 1 | 0; - } while (S >>> 0 < 32); - S = ab + 8 | 0; - if ((S & 7 | 0) == 0) { - ae = 0; - } else { - ae = -S & 7; - } - S = aa - 40 - ae | 0; - c[28044] = ab + ae; - c[28041] = S; - c[ab + (ae + 4) >> 2] = S | 1; - c[ab + (aa - 36) >> 2] = 40; - c[28045] = c[28018]; - } else { - S = 112600; - while (1) { - af = c[S >> 2] | 0; - ag = S + 4 | 0; - ah = c[ag >> 2] | 0; - if ((ab | 0) == (af + ah | 0)) { - T = 320; - break; - } - ac = c[S + 8 >> 2] | 0; - if ((ac | 0) == 0) { - break; - } else { - S = ac; - } - } - do { - if ((T | 0) == 320) { - if ((c[S + 12 >> 2] & 8 | 0) != 0) { - break; - } - ac = ad; - if (!(ac >>> 0 >= af >>> 0 & ac >>> 0 < ab >>> 0)) { - break; - } - c[ag >> 2] = ah + aa; - ac = c[28044] | 0; - Y = (c[28041] | 0) + aa | 0; - Z = ac; - W = ac + 8 | 0; - if ((W & 7 | 0) == 0) { - ai = 0; - } else { - ai = -W & 7; - } - W = Y - ai | 0; - c[28044] = Z + ai; - c[28041] = W; - c[Z + (ai + 4) >> 2] = W | 1; - c[Z + (Y + 4) >> 2] = 40; - c[28045] = c[28018]; - break L441; - } - } while (0); - if (ab >>> 0 < (c[28042] | 0) >>> 0) { - c[28042] = ab; - } - S = ab + aa | 0; - Y = 112600; - while (1) { - aj = Y | 0; - if ((c[aj >> 2] | 0) == (S | 0)) { - T = 330; - break; - } - Z = c[Y + 8 >> 2] | 0; - if ((Z | 0) == 0) { - break; - } else { - Y = Z; - } - } - do { - if ((T | 0) == 330) { - if ((c[Y + 12 >> 2] & 8 | 0) != 0) { - break; - } - c[aj >> 2] = ab; - S = Y + 4 | 0; - c[S >> 2] = (c[S >> 2] | 0) + aa; - S = ab + 8 | 0; - if ((S & 7 | 0) == 0) { - ak = 0; - } else { - ak = -S & 7; - } - S = ab + (aa + 8) | 0; - if ((S & 7 | 0) == 0) { - al = 0; - } else { - al = -S & 7; - } - S = ab + (al + aa) | 0; - Z = S; - W = ak + o | 0; - ac = ab + W | 0; - _ = ac; - K = S - (ab + ak) - o | 0; - c[ab + (ak + 4) >> 2] = o | 3; - do { - if ((Z | 0) == (c[28044] | 0)) { - J = (c[28041] | 0) + K | 0; - c[28041] = J; - c[28044] = _; - c[ab + (W + 4) >> 2] = J | 1; - } else { - if ((Z | 0) == (c[28043] | 0)) { - J = (c[28040] | 0) + K | 0; - c[28040] = J; - c[28043] = _; - c[ab + (W + 4) >> 2] = J | 1; - c[ab + (J + W) >> 2] = J; - break; - } - J = aa + 4 | 0; - X = c[ab + (J + al) >> 2] | 0; - if ((X & 3 | 0) == 1) { - $ = X & -8; - V = X >>> 3; - L486 : do { - if (X >>> 0 < 256) { - U = c[ab + ((al | 8) + aa) >> 2] | 0; - Q = c[ab + (aa + 12 + al) >> 2] | 0; - R = 112192 + (V << 1 << 2) | 0; - do { - if ((U | 0) != (R | 0)) { - if (U >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } - if ((c[U + 12 >> 2] | 0) == (Z | 0)) { - break; - } - av(); - return 0; - } - } while (0); - if ((Q | 0) == (U | 0)) { - c[28038] = c[28038] & ~(1 << V); - break; - } - do { - if ((Q | 0) == (R | 0)) { - am = Q + 8 | 0; - } else { - if (Q >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } - m = Q + 8 | 0; - if ((c[m >> 2] | 0) == (Z | 0)) { - am = m; - break; - } - av(); - return 0; - } - } while (0); - c[U + 12 >> 2] = Q; - c[am >> 2] = U; - } else { - R = S; - m = c[ab + ((al | 24) + aa) >> 2] | 0; - P = c[ab + (aa + 12 + al) >> 2] | 0; - do { - if ((P | 0) == (R | 0)) { - O = al | 16; - g = ab + (J + O) | 0; - L = c[g >> 2] | 0; - if ((L | 0) == 0) { - e = ab + (O + aa) | 0; - O = c[e >> 2] | 0; - if ((O | 0) == 0) { - an = 0; - break; - } else { - ao = O; - ap = e; - } - } else { - ao = L; - ap = g; - } - while (1) { - g = ao + 20 | 0; - L = c[g >> 2] | 0; - if ((L | 0) != 0) { - ao = L; - ap = g; - continue; - } - g = ao + 16 | 0; - L = c[g >> 2] | 0; - if ((L | 0) == 0) { - break; - } else { - ao = L; - ap = g; - } - } - if (ap >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } else { - c[ap >> 2] = 0; - an = ao; - break; - } - } else { - g = c[ab + ((al | 8) + aa) >> 2] | 0; - if (g >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } - L = g + 12 | 0; - if ((c[L >> 2] | 0) != (R | 0)) { - av(); - return 0; - } - e = P + 8 | 0; - if ((c[e >> 2] | 0) == (R | 0)) { - c[L >> 2] = P; - c[e >> 2] = g; - an = P; - break; - } else { - av(); - return 0; - } - } - } while (0); - if ((m | 0) == 0) { - break; - } - P = ab + (aa + 28 + al) | 0; - U = 112456 + (c[P >> 2] << 2) | 0; - do { - if ((R | 0) == (c[U >> 2] | 0)) { - c[U >> 2] = an; - if ((an | 0) != 0) { - break; - } - c[28039] = c[28039] & ~(1 << c[P >> 2]); - break L486; - } else { - if (m >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } - Q = m + 16 | 0; - if ((c[Q >> 2] | 0) == (R | 0)) { - c[Q >> 2] = an; - } else { - c[m + 20 >> 2] = an; - } - if ((an | 0) == 0) { - break L486; - } - } - } while (0); - if (an >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } - c[an + 24 >> 2] = m; - R = al | 16; - P = c[ab + (R + aa) >> 2] | 0; - do { - if ((P | 0) != 0) { - if (P >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } else { - c[an + 16 >> 2] = P; - c[P + 24 >> 2] = an; - break; - } - } - } while (0); - P = c[ab + (J + R) >> 2] | 0; - if ((P | 0) == 0) { - break; - } - if (P >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } else { - c[an + 20 >> 2] = P; - c[P + 24 >> 2] = an; - break; - } - } - } while (0); - aq = ab + (($ | al) + aa) | 0; - as = $ + K | 0; - } else { - aq = Z; - as = K; - } - J = aq + 4 | 0; - c[J >> 2] = c[J >> 2] & -2; - c[ab + (W + 4) >> 2] = as | 1; - c[ab + (as + W) >> 2] = as; - J = as >>> 3; - if (as >>> 0 < 256) { - V = J << 1; - X = 112192 + (V << 2) | 0; - P = c[28038] | 0; - m = 1 << J; - do { - if ((P & m | 0) == 0) { - c[28038] = P | m; - at = X; - au = 112192 + (V + 2 << 2) | 0; - } else { - J = 112192 + (V + 2 << 2) | 0; - U = c[J >> 2] | 0; - if (U >>> 0 >= (c[28042] | 0) >>> 0) { - at = U; - au = J; - break; - } - av(); - return 0; - } - } while (0); - c[au >> 2] = _; - c[at + 12 >> 2] = _; - c[ab + (W + 8) >> 2] = at; - c[ab + (W + 12) >> 2] = X; - break; - } - V = ac; - m = as >>> 8; - do { - if ((m | 0) == 0) { - aw = 0; - } else { - if (as >>> 0 > 16777215) { - aw = 31; - break; - } - P = (m + 1048320 | 0) >>> 16 & 8; - $ = m << P; - J = ($ + 520192 | 0) >>> 16 & 4; - U = $ << J; - $ = (U + 245760 | 0) >>> 16 & 2; - Q = 14 - (J | P | $) + (U << $ >>> 15) | 0; - aw = as >>> ((Q + 7 | 0) >>> 0) & 1 | Q << 1; - } - } while (0); - m = 112456 + (aw << 2) | 0; - c[ab + (W + 28) >> 2] = aw; - c[ab + (W + 20) >> 2] = 0; - c[ab + (W + 16) >> 2] = 0; - X = c[28039] | 0; - Q = 1 << aw; - if ((X & Q | 0) == 0) { - c[28039] = X | Q; - c[m >> 2] = V; - c[ab + (W + 24) >> 2] = m; - c[ab + (W + 12) >> 2] = V; - c[ab + (W + 8) >> 2] = V; - break; - } - if ((aw | 0) == 31) { - ax = 0; - } else { - ax = 25 - (aw >>> 1) | 0; - } - Q = as << ax; - X = c[m >> 2] | 0; - while (1) { - if ((c[X + 4 >> 2] & -8 | 0) == (as | 0)) { - break; - } - ay = X + 16 + (Q >>> 31 << 2) | 0; - m = c[ay >> 2] | 0; - if ((m | 0) == 0) { - T = 403; - break; - } else { - Q = Q << 1; - X = m; - } - } - if ((T | 0) == 403) { - if (ay >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } else { - c[ay >> 2] = V; - c[ab + (W + 24) >> 2] = X; - c[ab + (W + 12) >> 2] = V; - c[ab + (W + 8) >> 2] = V; - break; - } - } - Q = X + 8 | 0; - m = c[Q >> 2] | 0; - $ = c[28042] | 0; - if (X >>> 0 < $ >>> 0) { - av(); - return 0; - } - if (m >>> 0 < $ >>> 0) { - av(); - return 0; - } else { - c[m + 12 >> 2] = V; - c[Q >> 2] = V; - c[ab + (W + 8) >> 2] = m; - c[ab + (W + 12) >> 2] = X; - c[ab + (W + 24) >> 2] = 0; - break; - } - } - } while (0); - n = ab + (ak | 8) | 0; - return n | 0; - } - } while (0); - Y = ad; - W = 112600; - while (1) { - az = c[W >> 2] | 0; - if (az >>> 0 <= Y >>> 0) { - aA = c[W + 4 >> 2] | 0; - aB = az + aA | 0; - if (aB >>> 0 > Y >>> 0) { - break; - } - } - W = c[W + 8 >> 2] | 0; - } - W = az + (aA - 39) | 0; - if ((W & 7 | 0) == 0) { - aC = 0; - } else { - aC = -W & 7; - } - W = az + (aA - 47 + aC) | 0; - ac = W >>> 0 < (ad + 16 | 0) >>> 0 ? Y : W; - W = ac + 8 | 0; - _ = ab + 8 | 0; - if ((_ & 7 | 0) == 0) { - aD = 0; - } else { - aD = -_ & 7; - } - _ = aa - 40 - aD | 0; - c[28044] = ab + aD; - c[28041] = _; - c[ab + (aD + 4) >> 2] = _ | 1; - c[ab + (aa - 36) >> 2] = 40; - c[28045] = c[28018]; - c[ac + 4 >> 2] = 27; - c[W >> 2] = c[28150]; - c[W + 4 >> 2] = c[112604 >> 2]; - c[W + 8 >> 2] = c[112608 >> 2]; - c[W + 12 >> 2] = c[112612 >> 2]; - c[28150] = ab; - c[28151] = aa; - c[28153] = 0; - c[28152] = W; - W = ac + 28 | 0; - c[W >> 2] = 7; - if ((ac + 32 | 0) >>> 0 < aB >>> 0) { - _ = W; - while (1) { - W = _ + 4 | 0; - c[W >> 2] = 7; - if ((_ + 8 | 0) >>> 0 < aB >>> 0) { - _ = W; - } else { - break; - } - } - } - if ((ac | 0) == (Y | 0)) { - break; - } - _ = ac - ad | 0; - W = Y + (_ + 4) | 0; - c[W >> 2] = c[W >> 2] & -2; - c[ad + 4 >> 2] = _ | 1; - c[Y + _ >> 2] = _; - W = _ >>> 3; - if (_ >>> 0 < 256) { - K = W << 1; - Z = 112192 + (K << 2) | 0; - S = c[28038] | 0; - m = 1 << W; - do { - if ((S & m | 0) == 0) { - c[28038] = S | m; - aE = Z; - aF = 112192 + (K + 2 << 2) | 0; - } else { - W = 112192 + (K + 2 << 2) | 0; - Q = c[W >> 2] | 0; - if (Q >>> 0 >= (c[28042] | 0) >>> 0) { - aE = Q; - aF = W; - break; - } - av(); - return 0; - } - } while (0); - c[aF >> 2] = ad; - c[aE + 12 >> 2] = ad; - c[ad + 8 >> 2] = aE; - c[ad + 12 >> 2] = Z; - break; - } - K = ad; - m = _ >>> 8; - do { - if ((m | 0) == 0) { - aG = 0; - } else { - if (_ >>> 0 > 16777215) { - aG = 31; - break; - } - S = (m + 1048320 | 0) >>> 16 & 8; - Y = m << S; - ac = (Y + 520192 | 0) >>> 16 & 4; - W = Y << ac; - Y = (W + 245760 | 0) >>> 16 & 2; - Q = 14 - (ac | S | Y) + (W << Y >>> 15) | 0; - aG = _ >>> ((Q + 7 | 0) >>> 0) & 1 | Q << 1; - } - } while (0); - m = 112456 + (aG << 2) | 0; - c[ad + 28 >> 2] = aG; - c[ad + 20 >> 2] = 0; - c[ad + 16 >> 2] = 0; - Z = c[28039] | 0; - Q = 1 << aG; - if ((Z & Q | 0) == 0) { - c[28039] = Z | Q; - c[m >> 2] = K; - c[ad + 24 >> 2] = m; - c[ad + 12 >> 2] = ad; - c[ad + 8 >> 2] = ad; - break; - } - if ((aG | 0) == 31) { - aH = 0; - } else { - aH = 25 - (aG >>> 1) | 0; - } - Q = _ << aH; - Z = c[m >> 2] | 0; - while (1) { - if ((c[Z + 4 >> 2] & -8 | 0) == (_ | 0)) { - break; - } - aI = Z + 16 + (Q >>> 31 << 2) | 0; - m = c[aI >> 2] | 0; - if ((m | 0) == 0) { - T = 438; - break; - } else { - Q = Q << 1; - Z = m; - } - } - if ((T | 0) == 438) { - if (aI >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } else { - c[aI >> 2] = K; - c[ad + 24 >> 2] = Z; - c[ad + 12 >> 2] = ad; - c[ad + 8 >> 2] = ad; - break; - } - } - Q = Z + 8 | 0; - _ = c[Q >> 2] | 0; - m = c[28042] | 0; - if (Z >>> 0 < m >>> 0) { - av(); - return 0; - } - if (_ >>> 0 < m >>> 0) { - av(); - return 0; - } else { - c[_ + 12 >> 2] = K; - c[Q >> 2] = K; - c[ad + 8 >> 2] = _; - c[ad + 12 >> 2] = Z; - c[ad + 24 >> 2] = 0; - break; - } - } - } while (0); - ad = c[28041] | 0; - if (ad >>> 0 <= o >>> 0) { - break; - } - _ = ad - o | 0; - c[28041] = _; - ad = c[28044] | 0; - Q = ad; - c[28044] = Q + o; - c[Q + (o + 4) >> 2] = _ | 1; - c[ad + 4 >> 2] = o | 3; - n = ad + 8 | 0; - return n | 0; - } - } while (0); - c[(aY() | 0) >> 2] = 12; - n = 0; - return n | 0; -} -function eo(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0; - if ((a | 0) == 0) { - return; - } - b = a - 8 | 0; - d = b; - e = c[28042] | 0; - if (b >>> 0 < e >>> 0) { - av(); - } - f = c[a - 4 >> 2] | 0; - g = f & 3; - if ((g | 0) == 1) { - av(); - } - h = f & -8; - i = a + (h - 8) | 0; - j = i; - L658 : do { - if ((f & 1 | 0) == 0) { - k = c[b >> 2] | 0; - if ((g | 0) == 0) { - return; - } - l = -8 - k | 0; - m = a + l | 0; - n = m; - o = k + h | 0; - if (m >>> 0 < e >>> 0) { - av(); - } - if ((n | 0) == (c[28043] | 0)) { - p = a + (h - 4) | 0; - if ((c[p >> 2] & 3 | 0) != 3) { - q = n; - r = o; - break; - } - c[28040] = o; - c[p >> 2] = c[p >> 2] & -2; - c[a + (l + 4) >> 2] = o | 1; - c[i >> 2] = o; - return; - } - p = k >>> 3; - if (k >>> 0 < 256) { - k = c[a + (l + 8) >> 2] | 0; - s = c[a + (l + 12) >> 2] | 0; - t = 112192 + (p << 1 << 2) | 0; - do { - if ((k | 0) != (t | 0)) { - if (k >>> 0 < e >>> 0) { - av(); - } - if ((c[k + 12 >> 2] | 0) == (n | 0)) { - break; - } - av(); - } - } while (0); - if ((s | 0) == (k | 0)) { - c[28038] = c[28038] & ~(1 << p); - q = n; - r = o; - break; - } - do { - if ((s | 0) == (t | 0)) { - u = s + 8 | 0; - } else { - if (s >>> 0 < e >>> 0) { - av(); - } - v = s + 8 | 0; - if ((c[v >> 2] | 0) == (n | 0)) { - u = v; - break; - } - av(); - } - } while (0); - c[k + 12 >> 2] = s; - c[u >> 2] = k; - q = n; - r = o; - break; - } - t = m; - p = c[a + (l + 24) >> 2] | 0; - v = c[a + (l + 12) >> 2] | 0; - do { - if ((v | 0) == (t | 0)) { - w = a + (l + 20) | 0; - x = c[w >> 2] | 0; - if ((x | 0) == 0) { - y = a + (l + 16) | 0; - z = c[y >> 2] | 0; - if ((z | 0) == 0) { - A = 0; - break; - } else { - B = z; - C = y; - } - } else { - B = x; - C = w; - } - while (1) { - w = B + 20 | 0; - x = c[w >> 2] | 0; - if ((x | 0) != 0) { - B = x; - C = w; - continue; - } - w = B + 16 | 0; - x = c[w >> 2] | 0; - if ((x | 0) == 0) { - break; - } else { - B = x; - C = w; - } - } - if (C >>> 0 < e >>> 0) { - av(); - } else { - c[C >> 2] = 0; - A = B; - break; - } - } else { - w = c[a + (l + 8) >> 2] | 0; - if (w >>> 0 < e >>> 0) { - av(); - } - x = w + 12 | 0; - if ((c[x >> 2] | 0) != (t | 0)) { - av(); - } - y = v + 8 | 0; - if ((c[y >> 2] | 0) == (t | 0)) { - c[x >> 2] = v; - c[y >> 2] = w; - A = v; - break; - } else { - av(); - } - } - } while (0); - if ((p | 0) == 0) { - q = n; - r = o; - break; - } - v = a + (l + 28) | 0; - m = 112456 + (c[v >> 2] << 2) | 0; - do { - if ((t | 0) == (c[m >> 2] | 0)) { - c[m >> 2] = A; - if ((A | 0) != 0) { - break; - } - c[28039] = c[28039] & ~(1 << c[v >> 2]); - q = n; - r = o; - break L658; - } else { - if (p >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } - k = p + 16 | 0; - if ((c[k >> 2] | 0) == (t | 0)) { - c[k >> 2] = A; - } else { - c[p + 20 >> 2] = A; - } - if ((A | 0) == 0) { - q = n; - r = o; - break L658; - } - } - } while (0); - if (A >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } - c[A + 24 >> 2] = p; - t = c[a + (l + 16) >> 2] | 0; - do { - if ((t | 0) != 0) { - if (t >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } else { - c[A + 16 >> 2] = t; - c[t + 24 >> 2] = A; - break; - } - } - } while (0); - t = c[a + (l + 20) >> 2] | 0; - if ((t | 0) == 0) { - q = n; - r = o; - break; - } - if (t >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } else { - c[A + 20 >> 2] = t; - c[t + 24 >> 2] = A; - q = n; - r = o; - break; - } - } else { - q = d; - r = h; - } - } while (0); - d = q; - if (d >>> 0 >= i >>> 0) { - av(); - } - A = a + (h - 4) | 0; - e = c[A >> 2] | 0; - if ((e & 1 | 0) == 0) { - av(); - } - do { - if ((e & 2 | 0) == 0) { - if ((j | 0) == (c[28044] | 0)) { - B = (c[28041] | 0) + r | 0; - c[28041] = B; - c[28044] = q; - c[q + 4 >> 2] = B | 1; - if ((q | 0) == (c[28043] | 0)) { - c[28043] = 0; - c[28040] = 0; - } - if (B >>> 0 <= (c[28045] | 0) >>> 0) { - return; - } - eu(0) | 0; - return; - } - if ((j | 0) == (c[28043] | 0)) { - B = (c[28040] | 0) + r | 0; - c[28040] = B; - c[28043] = q; - c[q + 4 >> 2] = B | 1; - c[d + B >> 2] = B; - return; - } - B = (e & -8) + r | 0; - C = e >>> 3; - L764 : do { - if (e >>> 0 < 256) { - u = c[a + h >> 2] | 0; - g = c[a + (h | 4) >> 2] | 0; - b = 112192 + (C << 1 << 2) | 0; - do { - if ((u | 0) != (b | 0)) { - if (u >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } - if ((c[u + 12 >> 2] | 0) == (j | 0)) { - break; - } - av(); - } - } while (0); - if ((g | 0) == (u | 0)) { - c[28038] = c[28038] & ~(1 << C); - break; - } - do { - if ((g | 0) == (b | 0)) { - D = g + 8 | 0; - } else { - if (g >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } - f = g + 8 | 0; - if ((c[f >> 2] | 0) == (j | 0)) { - D = f; - break; - } - av(); - } - } while (0); - c[u + 12 >> 2] = g; - c[D >> 2] = u; - } else { - b = i; - f = c[a + (h + 16) >> 2] | 0; - t = c[a + (h | 4) >> 2] | 0; - do { - if ((t | 0) == (b | 0)) { - p = a + (h + 12) | 0; - v = c[p >> 2] | 0; - if ((v | 0) == 0) { - m = a + (h + 8) | 0; - k = c[m >> 2] | 0; - if ((k | 0) == 0) { - E = 0; - break; - } else { - F = k; - G = m; - } - } else { - F = v; - G = p; - } - while (1) { - p = F + 20 | 0; - v = c[p >> 2] | 0; - if ((v | 0) != 0) { - F = v; - G = p; - continue; - } - p = F + 16 | 0; - v = c[p >> 2] | 0; - if ((v | 0) == 0) { - break; - } else { - F = v; - G = p; - } - } - if (G >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } else { - c[G >> 2] = 0; - E = F; - break; - } - } else { - p = c[a + h >> 2] | 0; - if (p >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } - v = p + 12 | 0; - if ((c[v >> 2] | 0) != (b | 0)) { - av(); - } - m = t + 8 | 0; - if ((c[m >> 2] | 0) == (b | 0)) { - c[v >> 2] = t; - c[m >> 2] = p; - E = t; - break; - } else { - av(); - } - } - } while (0); - if ((f | 0) == 0) { - break; - } - t = a + (h + 20) | 0; - u = 112456 + (c[t >> 2] << 2) | 0; - do { - if ((b | 0) == (c[u >> 2] | 0)) { - c[u >> 2] = E; - if ((E | 0) != 0) { - break; - } - c[28039] = c[28039] & ~(1 << c[t >> 2]); - break L764; - } else { - if (f >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } - g = f + 16 | 0; - if ((c[g >> 2] | 0) == (b | 0)) { - c[g >> 2] = E; - } else { - c[f + 20 >> 2] = E; - } - if ((E | 0) == 0) { - break L764; - } - } - } while (0); - if (E >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } - c[E + 24 >> 2] = f; - b = c[a + (h + 8) >> 2] | 0; - do { - if ((b | 0) != 0) { - if (b >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } else { - c[E + 16 >> 2] = b; - c[b + 24 >> 2] = E; - break; - } - } - } while (0); - b = c[a + (h + 12) >> 2] | 0; - if ((b | 0) == 0) { - break; - } - if (b >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } else { - c[E + 20 >> 2] = b; - c[b + 24 >> 2] = E; - break; - } - } - } while (0); - c[q + 4 >> 2] = B | 1; - c[d + B >> 2] = B; - if ((q | 0) != (c[28043] | 0)) { - H = B; - break; - } - c[28040] = B; - return; - } else { - c[A >> 2] = e & -2; - c[q + 4 >> 2] = r | 1; - c[d + r >> 2] = r; - H = r; - } - } while (0); - r = H >>> 3; - if (H >>> 0 < 256) { - d = r << 1; - e = 112192 + (d << 2) | 0; - A = c[28038] | 0; - E = 1 << r; - do { - if ((A & E | 0) == 0) { - c[28038] = A | E; - I = e; - J = 112192 + (d + 2 << 2) | 0; - } else { - r = 112192 + (d + 2 << 2) | 0; - h = c[r >> 2] | 0; - if (h >>> 0 >= (c[28042] | 0) >>> 0) { - I = h; - J = r; - break; - } - av(); - } - } while (0); - c[J >> 2] = q; - c[I + 12 >> 2] = q; - c[q + 8 >> 2] = I; - c[q + 12 >> 2] = e; - return; - } - e = q; - I = H >>> 8; - do { - if ((I | 0) == 0) { - K = 0; - } else { - if (H >>> 0 > 16777215) { - K = 31; - break; - } - J = (I + 1048320 | 0) >>> 16 & 8; - d = I << J; - E = (d + 520192 | 0) >>> 16 & 4; - A = d << E; - d = (A + 245760 | 0) >>> 16 & 2; - r = 14 - (E | J | d) + (A << d >>> 15) | 0; - K = H >>> ((r + 7 | 0) >>> 0) & 1 | r << 1; - } - } while (0); - I = 112456 + (K << 2) | 0; - c[q + 28 >> 2] = K; - c[q + 20 >> 2] = 0; - c[q + 16 >> 2] = 0; - r = c[28039] | 0; - d = 1 << K; - do { - if ((r & d | 0) == 0) { - c[28039] = r | d; - c[I >> 2] = e; - c[q + 24 >> 2] = I; - c[q + 12 >> 2] = q; - c[q + 8 >> 2] = q; - } else { - if ((K | 0) == 31) { - L = 0; - } else { - L = 25 - (K >>> 1) | 0; - } - A = H << L; - J = c[I >> 2] | 0; - while (1) { - if ((c[J + 4 >> 2] & -8 | 0) == (H | 0)) { - break; - } - M = J + 16 + (A >>> 31 << 2) | 0; - E = c[M >> 2] | 0; - if ((E | 0) == 0) { - N = 617; - break; - } else { - A = A << 1; - J = E; - } - } - if ((N | 0) == 617) { - if (M >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } else { - c[M >> 2] = e; - c[q + 24 >> 2] = J; - c[q + 12 >> 2] = q; - c[q + 8 >> 2] = q; - break; - } - } - A = J + 8 | 0; - B = c[A >> 2] | 0; - E = c[28042] | 0; - if (J >>> 0 < E >>> 0) { - av(); - } - if (B >>> 0 < E >>> 0) { - av(); - } else { - c[B + 12 >> 2] = e; - c[A >> 2] = e; - c[q + 8 >> 2] = B; - c[q + 12 >> 2] = J; - c[q + 24 >> 2] = 0; - break; - } - } - } while (0); - q = (c[28046] | 0) - 1 | 0; - c[28046] = q; - if ((q | 0) == 0) { - O = 112608; - } else { - return; - } - while (1) { - q = c[O >> 2] | 0; - if ((q | 0) == 0) { - break; - } else { - O = q + 8 | 0; - } - } - c[28046] = -1; - return; -} -function ep(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0; - do { - if ((a | 0) == 0) { - d = 0; - } else { - e = ad(b, a) | 0; - if ((b | a) >>> 0 <= 65535) { - d = e; - break; - } - d = ((e >>> 0) / (a >>> 0) | 0 | 0) == (b | 0) ? e : -1; - } - } while (0); - b = en(d) | 0; - if ((b | 0) == 0) { - return b | 0; - } - if ((c[b - 4 >> 2] & 3 | 0) == 0) { - return b | 0; - } - fm(b | 0, 0, d | 0); - return b | 0; -} -function eq(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0; - if ((a | 0) == 0) { - d = en(b) | 0; - return d | 0; - } - if (b >>> 0 > 4294967231) { - c[(aY() | 0) >> 2] = 12; - d = 0; - return d | 0; - } - if (b >>> 0 < 11) { - e = 16; - } else { - e = b + 11 & -8; - } - f = ev(a - 8 | 0, e) | 0; - if ((f | 0) != 0) { - d = f + 8 | 0; - return d | 0; - } - f = en(b) | 0; - if ((f | 0) == 0) { - d = 0; - return d | 0; - } - e = c[a - 4 >> 2] | 0; - g = (e & -8) - ((e & 3 | 0) == 0 ? 8 : 4) | 0; - e = g >>> 0 < b >>> 0 ? g : b; - fn(f | 0, a | 0, e) | 0; - eo(a); - d = f; - return d | 0; -} -function er(a, b) { - a = a | 0; - b = b | 0; - var d = 0; - if ((a | 0) == 0) { - return 0; - } - if (b >>> 0 > 4294967231) { - c[(aY() | 0) >> 2] = 12; - return 0; - } - if (b >>> 0 < 11) { - d = 16; - } else { - d = b + 11 & -8; - } - b = a - 8 | 0; - return ((ev(b, d) | 0) == (b | 0) ? a : 0) | 0; -} -function es(a, b) { - a = a | 0; - b = b | 0; - var c = 0; - if (a >>> 0 < 9) { - c = en(b) | 0; - return c | 0; - } else { - c = et(a, b) | 0; - return c | 0; - } - return 0; -} -function et(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; - d = a >>> 0 < 16 ? 16 : a; - if ((d - 1 & d | 0) == 0) { - e = d; - } else { - a = 16; - while (1) { - if (a >>> 0 < d >>> 0) { - a = a << 1; - } else { - e = a; - break; - } - } - } - if ((-64 - e | 0) >>> 0 <= b >>> 0) { - c[(aY() | 0) >> 2] = 12; - f = 0; - return f | 0; - } - if (b >>> 0 < 11) { - g = 16; - } else { - g = b + 11 & -8; - } - b = en(e + 12 + g | 0) | 0; - if ((b | 0) == 0) { - f = 0; - return f | 0; - } - a = b - 8 | 0; - d = a; - h = e - 1 | 0; - do { - if ((b & h | 0) == 0) { - i = d; - } else { - j = b + h & -e; - k = j - 8 | 0; - l = a; - if ((k - l | 0) >>> 0 > 15) { - m = k; - } else { - m = j + (e - 8) | 0; - } - j = m; - k = m - l | 0; - l = b - 4 | 0; - n = c[l >> 2] | 0; - o = (n & -8) - k | 0; - if ((n & 3 | 0) == 0) { - c[m >> 2] = (c[a >> 2] | 0) + k; - c[m + 4 >> 2] = o; - i = j; - break; - } else { - n = m + 4 | 0; - c[n >> 2] = o | c[n >> 2] & 1 | 2; - n = m + (o + 4) | 0; - c[n >> 2] = c[n >> 2] | 1; - c[l >> 2] = k | c[l >> 2] & 1 | 2; - l = b + (k - 4) | 0; - c[l >> 2] = c[l >> 2] | 1; - eN(d, k); - i = j; - break; - } - } - } while (0); - d = i + 4 | 0; - b = c[d >> 2] | 0; - do { - if ((b & 3 | 0) != 0) { - m = b & -8; - if (m >>> 0 <= (g + 16 | 0) >>> 0) { - break; - } - a = m - g | 0; - e = i; - c[d >> 2] = g | b & 1 | 2; - c[e + (g | 4) >> 2] = a | 3; - h = e + (m | 4) | 0; - c[h >> 2] = c[h >> 2] | 1; - eN(e + g | 0, a); - } - } while (0); - f = i + 8 | 0; - return f | 0; -} -function eu(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; - do { - if ((c[28014] | 0) == 0) { - b = ar(8) | 0; - if ((b - 1 & b | 0) == 0) { - c[28016] = b; - c[28015] = b; - c[28017] = -1; - c[28018] = 2097152; - c[28019] = 0; - c[28149] = 0; - c[28014] = (a_(0) | 0) & -16 ^ 1431655768; - break; - } else { - av(); - return 0; - } - } - } while (0); - if (a >>> 0 >= 4294967232) { - d = 0; - return d | 0; - } - b = c[28044] | 0; - if ((b | 0) == 0) { - d = 0; - return d | 0; - } - e = c[28041] | 0; - do { - if (e >>> 0 > (a + 40 | 0) >>> 0) { - f = c[28016] | 0; - g = ad((((-40 - a - 1 + e + f | 0) >>> 0) / (f >>> 0) | 0) - 1 | 0, f) | 0; - h = b; - i = 112600; - while (1) { - j = c[i >> 2] | 0; - if (j >>> 0 <= h >>> 0) { - if ((j + (c[i + 4 >> 2] | 0) | 0) >>> 0 > h >>> 0) { - k = i; - break; - } - } - j = c[i + 8 >> 2] | 0; - if ((j | 0) == 0) { - k = 0; - break; - } else { - i = j; - } - } - if ((c[k + 12 >> 2] & 8 | 0) != 0) { - break; - } - i = aW(0) | 0; - h = k + 4 | 0; - if ((i | 0) != ((c[k >> 2] | 0) + (c[h >> 2] | 0) | 0)) { - break; - } - j = aW(-(g >>> 0 > 2147483646 ? -2147483648 - f | 0 : g) | 0) | 0; - l = aW(0) | 0; - if (!((j | 0) != -1 & l >>> 0 < i >>> 0)) { - break; - } - j = i - l | 0; - if ((i | 0) == (l | 0)) { - break; - } - c[h >> 2] = (c[h >> 2] | 0) - j; - c[28146] = (c[28146] | 0) - j; - h = c[28044] | 0; - m = (c[28041] | 0) - j | 0; - j = h; - n = h + 8 | 0; - if ((n & 7 | 0) == 0) { - o = 0; - } else { - o = -n & 7; - } - n = m - o | 0; - c[28044] = j + o; - c[28041] = n; - c[j + (o + 4) >> 2] = n | 1; - c[j + (m + 4) >> 2] = 40; - c[28045] = c[28018]; - d = (i | 0) != (l | 0) | 0; - return d | 0; - } - } while (0); - if ((c[28041] | 0) >>> 0 <= (c[28045] | 0) >>> 0) { - d = 0; - return d | 0; - } - c[28045] = -1; - d = 0; - return d | 0; -} -function ev(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0; - d = a + 4 | 0; - e = c[d >> 2] | 0; - f = e & -8; - g = a; - h = g + f | 0; - i = h; - j = c[28042] | 0; - if (g >>> 0 < j >>> 0) { - av(); - return 0; - } - k = e & 3; - if (!((k | 0) != 1 & g >>> 0 < h >>> 0)) { - av(); - return 0; - } - l = g + (f | 4) | 0; - m = c[l >> 2] | 0; - if ((m & 1 | 0) == 0) { - av(); - return 0; - } - if ((k | 0) == 0) { - if (b >>> 0 < 256) { - n = 0; - return n | 0; - } - do { - if (f >>> 0 >= (b + 4 | 0) >>> 0) { - if ((f - b | 0) >>> 0 > c[28016] << 1 >>> 0) { - break; - } else { - n = a; - } - return n | 0; - } - } while (0); - n = 0; - return n | 0; - } - if (f >>> 0 >= b >>> 0) { - k = f - b | 0; - if (k >>> 0 <= 15) { - n = a; - return n | 0; - } - c[d >> 2] = e & 1 | b | 2; - c[g + (b + 4) >> 2] = k | 3; - c[l >> 2] = c[l >> 2] | 1; - eN(g + b | 0, k); - n = a; - return n | 0; - } - if ((i | 0) == (c[28044] | 0)) { - k = (c[28041] | 0) + f | 0; - if (k >>> 0 <= b >>> 0) { - n = 0; - return n | 0; - } - l = k - b | 0; - c[d >> 2] = e & 1 | b | 2; - c[g + (b + 4) >> 2] = l | 1; - c[28044] = g + b; - c[28041] = l; - n = a; - return n | 0; - } - if ((i | 0) == (c[28043] | 0)) { - l = (c[28040] | 0) + f | 0; - if (l >>> 0 < b >>> 0) { - n = 0; - return n | 0; - } - k = l - b | 0; - if (k >>> 0 > 15) { - c[d >> 2] = e & 1 | b | 2; - c[g + (b + 4) >> 2] = k | 1; - c[g + l >> 2] = k; - o = g + (l + 4) | 0; - c[o >> 2] = c[o >> 2] & -2; - p = g + b | 0; - q = k; - } else { - c[d >> 2] = e & 1 | l | 2; - e = g + (l + 4) | 0; - c[e >> 2] = c[e >> 2] | 1; - p = 0; - q = 0; - } - c[28040] = q; - c[28043] = p; - n = a; - return n | 0; - } - if ((m & 2 | 0) != 0) { - n = 0; - return n | 0; - } - p = (m & -8) + f | 0; - if (p >>> 0 < b >>> 0) { - n = 0; - return n | 0; - } - q = p - b | 0; - e = m >>> 3; - L1042 : do { - if (m >>> 0 < 256) { - l = c[g + (f + 8) >> 2] | 0; - k = c[g + (f + 12) >> 2] | 0; - o = 112192 + (e << 1 << 2) | 0; - do { - if ((l | 0) != (o | 0)) { - if (l >>> 0 < j >>> 0) { - av(); - return 0; - } - if ((c[l + 12 >> 2] | 0) == (i | 0)) { - break; - } - av(); - return 0; - } - } while (0); - if ((k | 0) == (l | 0)) { - c[28038] = c[28038] & ~(1 << e); - break; - } - do { - if ((k | 0) == (o | 0)) { - r = k + 8 | 0; - } else { - if (k >>> 0 < j >>> 0) { - av(); - return 0; - } - s = k + 8 | 0; - if ((c[s >> 2] | 0) == (i | 0)) { - r = s; - break; - } - av(); - return 0; - } - } while (0); - c[l + 12 >> 2] = k; - c[r >> 2] = l; - } else { - o = h; - s = c[g + (f + 24) >> 2] | 0; - t = c[g + (f + 12) >> 2] | 0; - do { - if ((t | 0) == (o | 0)) { - u = g + (f + 20) | 0; - v = c[u >> 2] | 0; - if ((v | 0) == 0) { - w = g + (f + 16) | 0; - x = c[w >> 2] | 0; - if ((x | 0) == 0) { - y = 0; - break; - } else { - z = x; - A = w; - } - } else { - z = v; - A = u; - } - while (1) { - u = z + 20 | 0; - v = c[u >> 2] | 0; - if ((v | 0) != 0) { - z = v; - A = u; - continue; - } - u = z + 16 | 0; - v = c[u >> 2] | 0; - if ((v | 0) == 0) { - break; - } else { - z = v; - A = u; - } - } - if (A >>> 0 < j >>> 0) { - av(); - return 0; - } else { - c[A >> 2] = 0; - y = z; - break; - } - } else { - u = c[g + (f + 8) >> 2] | 0; - if (u >>> 0 < j >>> 0) { - av(); - return 0; - } - v = u + 12 | 0; - if ((c[v >> 2] | 0) != (o | 0)) { - av(); - return 0; - } - w = t + 8 | 0; - if ((c[w >> 2] | 0) == (o | 0)) { - c[v >> 2] = t; - c[w >> 2] = u; - y = t; - break; - } else { - av(); - return 0; - } - } - } while (0); - if ((s | 0) == 0) { - break; - } - t = g + (f + 28) | 0; - l = 112456 + (c[t >> 2] << 2) | 0; - do { - if ((o | 0) == (c[l >> 2] | 0)) { - c[l >> 2] = y; - if ((y | 0) != 0) { - break; - } - c[28039] = c[28039] & ~(1 << c[t >> 2]); - break L1042; - } else { - if (s >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } - k = s + 16 | 0; - if ((c[k >> 2] | 0) == (o | 0)) { - c[k >> 2] = y; - } else { - c[s + 20 >> 2] = y; - } - if ((y | 0) == 0) { - break L1042; - } - } - } while (0); - if (y >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } - c[y + 24 >> 2] = s; - o = c[g + (f + 16) >> 2] | 0; - do { - if ((o | 0) != 0) { - if (o >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } else { - c[y + 16 >> 2] = o; - c[o + 24 >> 2] = y; - break; - } - } - } while (0); - o = c[g + (f + 20) >> 2] | 0; - if ((o | 0) == 0) { - break; - } - if (o >>> 0 < (c[28042] | 0) >>> 0) { - av(); - return 0; - } else { - c[y + 20 >> 2] = o; - c[o + 24 >> 2] = y; - break; - } - } - } while (0); - if (q >>> 0 < 16) { - c[d >> 2] = p | c[d >> 2] & 1 | 2; - y = g + (p | 4) | 0; - c[y >> 2] = c[y >> 2] | 1; - n = a; - return n | 0; - } else { - c[d >> 2] = c[d >> 2] & 1 | b | 2; - c[g + (b + 4) >> 2] = q | 3; - d = g + (p | 4) | 0; - c[d >> 2] = c[d >> 2] | 1; - eN(g + b | 0, q); - n = a; - return n | 0; - } - return 0; -} -function ew() { - return c[28146] | 0; -} -function ex() { - return c[28147] | 0; -} -function ey() { - var a = 0; - a = c[28148] | 0; - return ((a | 0) == 0 ? -1 : a) | 0; -} -function ez(a) { - a = a | 0; - var b = 0, d = 0; - if ((a | 0) == -1) { - b = 0; - } else { - d = c[28016] | 0; - b = a - 1 + d & -d; - } - c[28148] = b; - return b | 0; -} -function eA(a) { - a = a | 0; - var b = 0, d = 0, e = 0; - do { - if ((a | 0) == 0) { - b = 0; - } else { - d = c[a - 4 >> 2] | 0; - e = d & 3; - if ((e | 0) == 1) { - b = 0; - break; - } - b = (d & -8) - ((e | 0) == 0 ? 8 : 4) | 0; - } - } while (0); - return b | 0; -} -function eB(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0; - do { - if ((b | 0) == 8) { - e = en(d) | 0; - } else { - f = b >>> 2; - if ((b & 3 | 0) != 0 | (f | 0) == 0) { - g = 22; - return g | 0; - } - if ((f + 1073741823 & f | 0) != 0) { - g = 22; - return g | 0; - } - if ((-64 - b | 0) >>> 0 < d >>> 0) { - g = 12; - return g | 0; - } else { - e = et(b >>> 0 < 16 ? 16 : b, d) | 0; - break; - } - } - } while (0); - if ((e | 0) == 0) { - g = 12; - return g | 0; - } - c[a >> 2] = e; - g = 0; - return g | 0; -} -function eC(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0; - e = i; - i = i + 8 | 0; - f = e | 0; - c[f >> 2] = b; - b = eG(a, f, 3, d) | 0; - i = e; - return b | 0; -} -function eD(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - return eG(a, b, 0, c) | 0; -} -function eE(a) { - a = a | 0; - var b = 0, d = 0, e = 0; - if ((c[28014] | 0) != 0) { - b = c[28015] | 0; - d = es(b, a) | 0; - return d | 0; - } - e = ar(8) | 0; - if ((e - 1 & e | 0) != 0) { - av(); - return 0; - } - c[28016] = e; - c[28015] = e; - c[28017] = -1; - c[28018] = 2097152; - c[28019] = 0; - c[28149] = 0; - c[28014] = (a_(0) | 0) & -16 ^ 1431655768; - b = c[28015] | 0; - d = es(b, a) | 0; - return d | 0; -} -function eF(a) { - a = a | 0; - var b = 0; - do { - if ((c[28014] | 0) == 0) { - b = ar(8) | 0; - if ((b - 1 & b | 0) == 0) { - c[28016] = b; - c[28015] = b; - c[28017] = -1; - c[28018] = 2097152; - c[28019] = 0; - c[28149] = 0; - c[28014] = (a_(0) | 0) & -16 ^ 1431655768; - break; - } else { - av(); - return 0; - } - } - } while (0); - b = c[28015] | 0; - return es(b, a - 1 + b & -b) | 0; -} -function eG(a, b, d, e) { - a = a | 0; - b = b | 0; - d = d | 0; - e = e | 0; - var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0; - do { - if ((c[28014] | 0) == 0) { - f = ar(8) | 0; - if ((f - 1 & f | 0) == 0) { - c[28016] = f; - c[28015] = f; - c[28017] = -1; - c[28018] = 2097152; - c[28019] = 0; - c[28149] = 0; - c[28014] = (a_(0) | 0) & -16 ^ 1431655768; - break; - } else { - av(); - return 0; - } - } - } while (0); - f = (a | 0) == 0; - do { - if ((e | 0) == 0) { - if (f) { - g = en(0) | 0; - return g | 0; - } else { - h = a << 2; - if (h >>> 0 < 11) { - i = 0; - j = 16; - break; - } - i = 0; - j = h + 11 & -8; - break; - } - } else { - if (f) { - g = e; - } else { - i = e; - j = 0; - break; - } - return g | 0; - } - } while (0); - do { - if ((d & 1 | 0) == 0) { - if (f) { - k = 0; - l = 0; - break; - } else { - m = 0; - n = 0; - } - while (1) { - e = c[b + (n << 2) >> 2] | 0; - if (e >>> 0 < 11) { - o = 16; - } else { - o = e + 11 & -8; - } - e = o + m | 0; - h = n + 1 | 0; - if ((h | 0) == (a | 0)) { - k = 0; - l = e; - break; - } else { - m = e; - n = h; - } - } - } else { - h = c[b >> 2] | 0; - if (h >>> 0 < 11) { - p = 16; - } else { - p = h + 11 & -8; - } - k = p; - l = ad(p, a) | 0; - } - } while (0); - p = en(j - 4 + l | 0) | 0; - if ((p | 0) == 0) { - g = 0; - return g | 0; - } - n = p - 8 | 0; - m = c[p - 4 >> 2] & -8; - if ((d & 2 | 0) != 0) { - fm(p | 0, 0, -4 - j + m | 0); - } - if ((i | 0) == 0) { - c[p + (l - 4) >> 2] = m - l | 3; - q = p + l | 0; - r = l; - } else { - q = i; - r = m; - } - c[q >> 2] = p; - p = a - 1 | 0; - L1202 : do { - if ((p | 0) == 0) { - s = n; - t = r; - } else { - if ((k | 0) == 0) { - u = n; - v = r; - w = 0; - } else { - a = n; - m = r; - i = 0; - while (1) { - l = m - k | 0; - c[a + 4 >> 2] = k | 3; - j = a + k | 0; - d = i + 1 | 0; - c[q + (d << 2) >> 2] = a + (k + 8); - if ((d | 0) == (p | 0)) { - s = j; - t = l; - break L1202; - } else { - a = j; - m = l; - i = d; - } - } - } - while (1) { - i = c[b + (w << 2) >> 2] | 0; - if (i >>> 0 < 11) { - x = 16; - } else { - x = i + 11 & -8; - } - i = v - x | 0; - c[u + 4 >> 2] = x | 3; - m = u + x | 0; - a = w + 1 | 0; - c[q + (a << 2) >> 2] = u + (x + 8); - if ((a | 0) == (p | 0)) { - s = m; - t = i; - break; - } else { - u = m; - v = i; - w = a; - } - } - } - } while (0); - c[s + 4 >> 2] = t | 3; - g = q; - return g | 0; -} -function eH(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0; - d = a + (b << 2) | 0; - L1215 : do { - if ((b | 0) != 0) { - e = a; - L1216 : while (1) { - f = c[e >> 2] | 0; - L1218 : do { - if ((f | 0) == 0) { - g = e + 4 | 0; - } else { - h = f - 8 | 0; - i = h; - j = f - 4 | 0; - k = c[j >> 2] & -8; - c[e >> 2] = 0; - if (h >>> 0 < (c[28042] | 0) >>> 0) { - l = 932; - break L1216; - } - h = c[j >> 2] | 0; - if ((h & 3 | 0) == 1) { - l = 931; - break L1216; - } - m = e + 4 | 0; - n = h - 8 & -8; - do { - if ((m | 0) != (d | 0)) { - if ((c[m >> 2] | 0) != (f + (n + 8) | 0)) { - break; - } - o = (c[f + (n | 4) >> 2] & -8) + k | 0; - c[j >> 2] = h & 1 | o | 2; - p = f + (o - 4) | 0; - c[p >> 2] = c[p >> 2] | 1; - c[m >> 2] = f; - g = m; - break L1218; - } - } while (0); - eN(i, k); - g = m; - } - } while (0); - if ((g | 0) == (d | 0)) { - break L1215; - } else { - e = g; - } - } - if ((l | 0) == 932) { - av(); - return 0; - } else if ((l | 0) == 931) { - av(); - return 0; - } - } - } while (0); - if ((c[28041] | 0) >>> 0 <= (c[28045] | 0) >>> 0) { - return 0; - } - eu(0) | 0; - return 0; -} -function eI(a) { - a = a | 0; - var b = 0, d = 0; - if ((c[28014] | 0) != 0) { - b = eu(a) | 0; - return b | 0; - } - d = ar(8) | 0; - if ((d - 1 & d | 0) != 0) { - av(); - return 0; - } - c[28016] = d; - c[28015] = d; - c[28017] = -1; - c[28018] = 2097152; - c[28019] = 0; - c[28149] = 0; - c[28014] = (a_(0) | 0) & -16 ^ 1431655768; - b = eu(a) | 0; - return b | 0; -} -function eJ(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0; - do { - if ((c[28014] | 0) == 0) { - b = ar(8) | 0; - if ((b - 1 & b | 0) == 0) { - c[28016] = b; - c[28015] = b; - c[28017] = -1; - c[28018] = 2097152; - c[28019] = 0; - c[28149] = 0; - c[28014] = (a_(0) | 0) & -16 ^ 1431655768; - break; - } else { - av(); - } - } - } while (0); - b = c[28044] | 0; - if ((b | 0) == 0) { - d = 0; - e = 0; - f = 0; - g = 0; - h = 0; - i = 0; - j = 0; - } else { - k = c[28041] | 0; - l = k + 40 | 0; - m = 1; - n = l; - o = l; - l = 112600; - while (1) { - p = c[l >> 2] | 0; - q = p + 8 | 0; - if ((q & 7 | 0) == 0) { - r = 0; - } else { - r = -q & 7; - } - q = p + (c[l + 4 >> 2] | 0) | 0; - s = m; - t = n; - u = o; - v = p + r | 0; - while (1) { - if (v >>> 0 >= q >>> 0 | (v | 0) == (b | 0)) { - w = s; - x = t; - y = u; - break; - } - z = c[v + 4 >> 2] | 0; - if ((z | 0) == 7) { - w = s; - x = t; - y = u; - break; - } - A = z & -8; - B = A + u | 0; - if ((z & 3 | 0) == 1) { - C = A + t | 0; - D = s + 1 | 0; - } else { - C = t; - D = s; - } - z = v + A | 0; - if (z >>> 0 < p >>> 0) { - w = D; - x = C; - y = B; - break; - } else { - s = D; - t = C; - u = B; - v = z; - } - } - v = c[l + 8 >> 2] | 0; - if ((v | 0) == 0) { - break; - } else { - m = w; - n = x; - o = y; - l = v; - } - } - l = c[28146] | 0; - d = k; - e = y; - f = w; - g = l - y | 0; - h = c[28147] | 0; - i = l - x | 0; - j = x; - } - c[a >> 2] = e; - c[a + 4 >> 2] = f; - f = a + 8 | 0; - c[f >> 2] = 0; - c[f + 4 >> 2] = 0; - c[a + 16 >> 2] = g; - c[a + 20 >> 2] = h; - c[a + 24 >> 2] = 0; - c[a + 28 >> 2] = i; - c[a + 32 >> 2] = j; - c[a + 36 >> 2] = d; - return; -} -function eK() { - var a = 0, b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, q = 0, r = 0, s = 0, t = 0, u = 0; - a = i; - do { - if ((c[28014] | 0) == 0) { - b = ar(8) | 0; - if ((b - 1 & b | 0) == 0) { - c[28016] = b; - c[28015] = b; - c[28017] = -1; - c[28018] = 2097152; - c[28019] = 0; - c[28149] = 0; - c[28014] = (a_(0) | 0) & -16 ^ 1431655768; - break; - } else { - av(); - } - } - } while (0); - b = c[28044] | 0; - if ((b | 0) == 0) { - d = 0; - e = 0; - f = 0; - } else { - g = c[28147] | 0; - h = c[28146] | 0; - j = h - 40 - (c[28041] | 0) | 0; - k = 112600; - while (1) { - l = c[k >> 2] | 0; - m = l + 8 | 0; - if ((m & 7 | 0) == 0) { - n = 0; - } else { - n = -m & 7; - } - m = l + (c[k + 4 >> 2] | 0) | 0; - o = j; - q = l + n | 0; - while (1) { - if (q >>> 0 >= m >>> 0 | (q | 0) == (b | 0)) { - r = o; - break; - } - s = c[q + 4 >> 2] | 0; - if ((s | 0) == 7) { - r = o; - break; - } - t = s & -8; - u = o - ((s & 3 | 0) == 1 ? t : 0) | 0; - s = q + t | 0; - if (s >>> 0 < l >>> 0) { - r = u; - break; - } else { - o = u; - q = s; - } - } - q = c[k + 8 >> 2] | 0; - if ((q | 0) == 0) { - d = r; - e = h; - f = g; - break; - } else { - j = r; - k = q; - } - } - } - aw(c[p >> 2] | 0, 111824, (y = i, i = i + 8 | 0, c[y >> 2] = f, y) | 0) | 0; - aw(c[p >> 2] | 0, 111792, (y = i, i = i + 8 | 0, c[y >> 2] = e, y) | 0) | 0; - aw(c[p >> 2] | 0, 111704, (y = i, i = i + 8 | 0, c[y >> 2] = d, y) | 0) | 0; - i = a; - return; -} -function eL(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0; - do { - if ((c[28014] | 0) == 0) { - d = ar(8) | 0; - if ((d - 1 & d | 0) == 0) { - c[28016] = d; - c[28015] = d; - c[28017] = -1; - c[28018] = 2097152; - c[28019] = 0; - c[28149] = 0; - c[28014] = (a_(0) | 0) & -16 ^ 1431655768; - break; - } else { - av(); - return 0; - } - } - } while (0); - if ((a | 0) == (-2 | 0)) { - if ((c[28015] | 0) >>> 0 > b >>> 0) { - e = 0; - return e | 0; - } - if ((b - 1 & b | 0) != 0) { - e = 0; - return e | 0; - } - c[28016] = b; - e = 1; - return e | 0; - } else if ((a | 0) == (-3 | 0)) { - c[28017] = b; - e = 1; - return e | 0; - } else if ((a | 0) == (-1 | 0)) { - c[28018] = b; - e = 1; - return e | 0; - } else { - e = 0; - return e | 0; - } - return 0; -} -function eM() { - return (F = c[28158] | 0, c[28158] = F + 0, F) | 0; -} -function eN(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0; - d = a; - e = d + b | 0; - f = e; - g = c[a + 4 >> 2] | 0; - L1311 : do { - if ((g & 1 | 0) == 0) { - h = c[a >> 2] | 0; - if ((g & 3 | 0) == 0) { - return; - } - i = d + (-h | 0) | 0; - j = i; - k = h + b | 0; - l = c[28042] | 0; - if (i >>> 0 < l >>> 0) { - av(); - } - if ((j | 0) == (c[28043] | 0)) { - m = d + (b + 4) | 0; - if ((c[m >> 2] & 3 | 0) != 3) { - n = j; - o = k; - break; - } - c[28040] = k; - c[m >> 2] = c[m >> 2] & -2; - c[d + (4 - h) >> 2] = k | 1; - c[e >> 2] = k; - return; - } - m = h >>> 3; - if (h >>> 0 < 256) { - p = c[d + (8 - h) >> 2] | 0; - q = c[d + (12 - h) >> 2] | 0; - r = 112192 + (m << 1 << 2) | 0; - do { - if ((p | 0) != (r | 0)) { - if (p >>> 0 < l >>> 0) { - av(); - } - if ((c[p + 12 >> 2] | 0) == (j | 0)) { - break; - } - av(); - } - } while (0); - if ((q | 0) == (p | 0)) { - c[28038] = c[28038] & ~(1 << m); - n = j; - o = k; - break; - } - do { - if ((q | 0) == (r | 0)) { - s = q + 8 | 0; - } else { - if (q >>> 0 < l >>> 0) { - av(); - } - t = q + 8 | 0; - if ((c[t >> 2] | 0) == (j | 0)) { - s = t; - break; - } - av(); - } - } while (0); - c[p + 12 >> 2] = q; - c[s >> 2] = p; - n = j; - o = k; - break; - } - r = i; - m = c[d + (24 - h) >> 2] | 0; - t = c[d + (12 - h) >> 2] | 0; - do { - if ((t | 0) == (r | 0)) { - u = 16 - h | 0; - v = d + (u + 4) | 0; - w = c[v >> 2] | 0; - if ((w | 0) == 0) { - x = d + u | 0; - u = c[x >> 2] | 0; - if ((u | 0) == 0) { - y = 0; - break; - } else { - z = u; - A = x; - } - } else { - z = w; - A = v; - } - while (1) { - v = z + 20 | 0; - w = c[v >> 2] | 0; - if ((w | 0) != 0) { - z = w; - A = v; - continue; - } - v = z + 16 | 0; - w = c[v >> 2] | 0; - if ((w | 0) == 0) { - break; - } else { - z = w; - A = v; - } - } - if (A >>> 0 < l >>> 0) { - av(); - } else { - c[A >> 2] = 0; - y = z; - break; - } - } else { - v = c[d + (8 - h) >> 2] | 0; - if (v >>> 0 < l >>> 0) { - av(); - } - w = v + 12 | 0; - if ((c[w >> 2] | 0) != (r | 0)) { - av(); - } - x = t + 8 | 0; - if ((c[x >> 2] | 0) == (r | 0)) { - c[w >> 2] = t; - c[x >> 2] = v; - y = t; - break; - } else { - av(); - } - } - } while (0); - if ((m | 0) == 0) { - n = j; - o = k; - break; - } - t = d + (28 - h) | 0; - l = 112456 + (c[t >> 2] << 2) | 0; - do { - if ((r | 0) == (c[l >> 2] | 0)) { - c[l >> 2] = y; - if ((y | 0) != 0) { - break; - } - c[28039] = c[28039] & ~(1 << c[t >> 2]); - n = j; - o = k; - break L1311; - } else { - if (m >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } - i = m + 16 | 0; - if ((c[i >> 2] | 0) == (r | 0)) { - c[i >> 2] = y; - } else { - c[m + 20 >> 2] = y; - } - if ((y | 0) == 0) { - n = j; - o = k; - break L1311; - } - } - } while (0); - if (y >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } - c[y + 24 >> 2] = m; - r = 16 - h | 0; - t = c[d + r >> 2] | 0; - do { - if ((t | 0) != 0) { - if (t >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } else { - c[y + 16 >> 2] = t; - c[t + 24 >> 2] = y; - break; - } - } - } while (0); - t = c[d + (r + 4) >> 2] | 0; - if ((t | 0) == 0) { - n = j; - o = k; - break; - } - if (t >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } else { - c[y + 20 >> 2] = t; - c[t + 24 >> 2] = y; - n = j; - o = k; - break; - } - } else { - n = a; - o = b; - } - } while (0); - a = c[28042] | 0; - if (e >>> 0 < a >>> 0) { - av(); - } - y = d + (b + 4) | 0; - z = c[y >> 2] | 0; - do { - if ((z & 2 | 0) == 0) { - if ((f | 0) == (c[28044] | 0)) { - A = (c[28041] | 0) + o | 0; - c[28041] = A; - c[28044] = n; - c[n + 4 >> 2] = A | 1; - if ((n | 0) != (c[28043] | 0)) { - return; - } - c[28043] = 0; - c[28040] = 0; - return; - } - if ((f | 0) == (c[28043] | 0)) { - A = (c[28040] | 0) + o | 0; - c[28040] = A; - c[28043] = n; - c[n + 4 >> 2] = A | 1; - c[n + A >> 2] = A; - return; - } - A = (z & -8) + o | 0; - s = z >>> 3; - L1410 : do { - if (z >>> 0 < 256) { - g = c[d + (b + 8) >> 2] | 0; - t = c[d + (b + 12) >> 2] | 0; - h = 112192 + (s << 1 << 2) | 0; - do { - if ((g | 0) != (h | 0)) { - if (g >>> 0 < a >>> 0) { - av(); - } - if ((c[g + 12 >> 2] | 0) == (f | 0)) { - break; - } - av(); - } - } while (0); - if ((t | 0) == (g | 0)) { - c[28038] = c[28038] & ~(1 << s); - break; - } - do { - if ((t | 0) == (h | 0)) { - B = t + 8 | 0; - } else { - if (t >>> 0 < a >>> 0) { - av(); - } - m = t + 8 | 0; - if ((c[m >> 2] | 0) == (f | 0)) { - B = m; - break; - } - av(); - } - } while (0); - c[g + 12 >> 2] = t; - c[B >> 2] = g; - } else { - h = e; - m = c[d + (b + 24) >> 2] | 0; - l = c[d + (b + 12) >> 2] | 0; - do { - if ((l | 0) == (h | 0)) { - i = d + (b + 20) | 0; - p = c[i >> 2] | 0; - if ((p | 0) == 0) { - q = d + (b + 16) | 0; - v = c[q >> 2] | 0; - if ((v | 0) == 0) { - C = 0; - break; - } else { - D = v; - E = q; - } - } else { - D = p; - E = i; - } - while (1) { - i = D + 20 | 0; - p = c[i >> 2] | 0; - if ((p | 0) != 0) { - D = p; - E = i; - continue; - } - i = D + 16 | 0; - p = c[i >> 2] | 0; - if ((p | 0) == 0) { - break; - } else { - D = p; - E = i; - } - } - if (E >>> 0 < a >>> 0) { - av(); - } else { - c[E >> 2] = 0; - C = D; - break; - } - } else { - i = c[d + (b + 8) >> 2] | 0; - if (i >>> 0 < a >>> 0) { - av(); - } - p = i + 12 | 0; - if ((c[p >> 2] | 0) != (h | 0)) { - av(); - } - q = l + 8 | 0; - if ((c[q >> 2] | 0) == (h | 0)) { - c[p >> 2] = l; - c[q >> 2] = i; - C = l; - break; - } else { - av(); - } - } - } while (0); - if ((m | 0) == 0) { - break; - } - l = d + (b + 28) | 0; - g = 112456 + (c[l >> 2] << 2) | 0; - do { - if ((h | 0) == (c[g >> 2] | 0)) { - c[g >> 2] = C; - if ((C | 0) != 0) { - break; - } - c[28039] = c[28039] & ~(1 << c[l >> 2]); - break L1410; - } else { - if (m >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } - t = m + 16 | 0; - if ((c[t >> 2] | 0) == (h | 0)) { - c[t >> 2] = C; - } else { - c[m + 20 >> 2] = C; - } - if ((C | 0) == 0) { - break L1410; - } - } - } while (0); - if (C >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } - c[C + 24 >> 2] = m; - h = c[d + (b + 16) >> 2] | 0; - do { - if ((h | 0) != 0) { - if (h >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } else { - c[C + 16 >> 2] = h; - c[h + 24 >> 2] = C; - break; - } - } - } while (0); - h = c[d + (b + 20) >> 2] | 0; - if ((h | 0) == 0) { - break; - } - if (h >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } else { - c[C + 20 >> 2] = h; - c[h + 24 >> 2] = C; - break; - } - } - } while (0); - c[n + 4 >> 2] = A | 1; - c[n + A >> 2] = A; - if ((n | 0) != (c[28043] | 0)) { - F = A; - break; - } - c[28040] = A; - return; - } else { - c[y >> 2] = z & -2; - c[n + 4 >> 2] = o | 1; - c[n + o >> 2] = o; - F = o; - } - } while (0); - o = F >>> 3; - if (F >>> 0 < 256) { - z = o << 1; - y = 112192 + (z << 2) | 0; - C = c[28038] | 0; - b = 1 << o; - do { - if ((C & b | 0) == 0) { - c[28038] = C | b; - G = y; - H = 112192 + (z + 2 << 2) | 0; - } else { - o = 112192 + (z + 2 << 2) | 0; - d = c[o >> 2] | 0; - if (d >>> 0 >= (c[28042] | 0) >>> 0) { - G = d; - H = o; - break; - } - av(); - } - } while (0); - c[H >> 2] = n; - c[G + 12 >> 2] = n; - c[n + 8 >> 2] = G; - c[n + 12 >> 2] = y; - return; - } - y = n; - G = F >>> 8; - do { - if ((G | 0) == 0) { - I = 0; - } else { - if (F >>> 0 > 16777215) { - I = 31; - break; - } - H = (G + 1048320 | 0) >>> 16 & 8; - z = G << H; - b = (z + 520192 | 0) >>> 16 & 4; - C = z << b; - z = (C + 245760 | 0) >>> 16 & 2; - o = 14 - (b | H | z) + (C << z >>> 15) | 0; - I = F >>> ((o + 7 | 0) >>> 0) & 1 | o << 1; - } - } while (0); - G = 112456 + (I << 2) | 0; - c[n + 28 >> 2] = I; - c[n + 20 >> 2] = 0; - c[n + 16 >> 2] = 0; - o = c[28039] | 0; - z = 1 << I; - if ((o & z | 0) == 0) { - c[28039] = o | z; - c[G >> 2] = y; - c[n + 24 >> 2] = G; - c[n + 12 >> 2] = n; - c[n + 8 >> 2] = n; - return; - } - if ((I | 0) == 31) { - J = 0; - } else { - J = 25 - (I >>> 1) | 0; - } - I = F << J; - J = c[G >> 2] | 0; - while (1) { - if ((c[J + 4 >> 2] & -8 | 0) == (F | 0)) { - break; - } - K = J + 16 + (I >>> 31 << 2) | 0; - G = c[K >> 2] | 0; - if ((G | 0) == 0) { - L = 1116; - break; - } else { - I = I << 1; - J = G; - } - } - if ((L | 0) == 1116) { - if (K >>> 0 < (c[28042] | 0) >>> 0) { - av(); - } - c[K >> 2] = y; - c[n + 24 >> 2] = J; - c[n + 12 >> 2] = n; - c[n + 8 >> 2] = n; - return; - } - K = J + 8 | 0; - L = c[K >> 2] | 0; - I = c[28042] | 0; - if (J >>> 0 < I >>> 0) { - av(); - } - if (L >>> 0 < I >>> 0) { - av(); - } - c[L + 12 >> 2] = y; - c[K >> 2] = y; - c[n + 8 >> 2] = L; - c[n + 12 >> 2] = J; - c[n + 24 >> 2] = 0; - return; -} -function eO(a) { - a = a | 0; - var b = 0, d = 0, e = 0; - b = (a | 0) == 0 ? 1 : a; - while (1) { - d = en(b) | 0; - if ((d | 0) != 0) { - e = 1160; - break; - } - a = (F = c[28158] | 0, c[28158] = F + 0, F); - if ((a | 0) == 0) { - break; - } - a5[a & 1](); - } - if ((e | 0) == 1160) { - return d | 0; - } - d = aK(4) | 0; - c[d >> 2] = 111864; - as(d | 0, 111992, 6); - return 0; -} -function eP(a, b) { - a = a | 0; - b = b | 0; - return eO(a) | 0; -} -function eQ(a) { - a = a | 0; - return; -} -function eR(a) { - a = a | 0; - return 111664 | 0; -} -function eS(a) { - a = a | 0; - return 111752 | 0; -} -function eT(a) { - a = a | 0; - return (F = c[28158] | 0, c[28158] = a, F) | 0; -} -function eU(a) { - a = a | 0; - c[a >> 2] = 111864; - return; -} -function eV(a) { - a = a | 0; - c[a >> 2] = 111896; - return; -} -function eW(a) { - a = a | 0; - if ((a | 0) != 0) { - eo(a); - } - return; -} -function eX(a, b) { - a = a | 0; - b = b | 0; - eW(a); - return; -} -function eY(a) { - a = a | 0; - eW(a); - return; -} -function eZ(a, b) { - a = a | 0; - b = b | 0; - eY(a); - return; -} -function e_(a) { - a = a | 0; - eW(a); - return; -} -function e$(a) { - a = a | 0; - eW(a); - return; -} -function e0(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - return e1(a, b, c, 0, 0, 0) | 0; -} -function e1(b, d, e, f, g, h) { - b = b | 0; - d = d | 0; - e = e | 0; - f = f | 0; - g = g | 0; - h = h | 0; - var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, aa = 0, ab = 0, ac = 0, ad = 0; - j = i; - if ((e | 0) == 0) { - k = -1; - i = j; - return k | 0; - } - l = c[80] | 0; - if ((l | 0) == 0) { - c[28006] = 1; - c[80] = 1; - m = 1; - n = 1; - o = 1186; - } else { - p = c[28006] | 0; - q = c[348] | 0; - if ((q | 0) == -1 | (p | 0) != 0) { - m = p; - n = l; - o = 1186; - } else { - r = q; - s = p; - t = l; - } - } - if ((o | 0) == 1186) { - l = (aQ(111648) | 0) != 0 | 0; - c[348] = l; - r = l; - s = m; - t = n; - } - n = a[e] | 0; - if (n << 24 >> 24 == 45) { - u = h | 2; - o = 1190; - } else { - m = (r | 0) != 0 | n << 24 >> 24 == 43 ? h & -2 : h; - if (n << 24 >> 24 == 43) { - u = m; - o = 1190; - } else { - v = e; - w = m; - } - } - if ((o | 0) == 1190) { - v = e + 1 | 0; - w = u; - } - c[28008] = 0; - if ((s | 0) == 0) { - x = t; - o = 1194; - } else { - c[86] = -1; - c[84] = -1; - z = t; - A = s; - o = 1193; - } - while (1) { - if ((o | 0) == 1193) { - o = 0; - if ((A | 0) == 0) { - x = z; - o = 1194; - continue; - } else { - B = z; - } - } else if ((o | 0) == 1194) { - o = 0; - s = c[76] | 0; - if ((a[s] | 0) == 0) { - B = x; - } else { - C = s; - D = x; - break; - } - } - c[28006] = 0; - if ((B | 0) >= (b | 0)) { - o = 1196; - break; - } - E = d + (B << 2) | 0; - F = c[E >> 2] | 0; - c[76] = F; - if ((a[F] | 0) == 45) { - G = F + 1 | 0; - H = a[G] | 0; - if (H << 24 >> 24 != 0) { - o = 1228; - break; - } - if ((aC(v | 0, 45) | 0) != 0) { - o = 1228; - break; - } - } - c[76] = 112144; - if ((w & 2 | 0) != 0) { - o = 1213; - break; - } - if ((w & 1 | 0) == 0) { - k = -1; - o = 1299; - break; - } - s = c[84] | 0; - do { - if ((s | 0) == -1) { - c[84] = B; - I = B; - J = 0; - } else { - t = c[86] | 0; - if ((t | 0) == -1) { - I = B; - J = 0; - break; - } - u = t - s | 0; - e = B - t | 0; - m = (u | 0) % (e | 0) | 0; - if ((m | 0) == 0) { - K = e; - } else { - n = e; - h = m; - while (1) { - m = (n | 0) % (h | 0) | 0; - if ((m | 0) == 0) { - K = h; - break; - } else { - n = h; - h = m; - } - } - } - h = (B - s | 0) / (K | 0) | 0; - do { - if ((K | 0) > 0) { - n = -u | 0; - if ((h | 0) > 0) { - L = 0; - } else { - M = B; - N = t; - O = s; - P = 0; - break; - } - do { - m = L + t | 0; - r = d + (m << 2) | 0; - l = 0; - p = m; - m = c[r >> 2] | 0; - while (1) { - q = ((p | 0) < (t | 0) ? e : n) + p | 0; - Q = d + (q << 2) | 0; - R = c[Q >> 2] | 0; - c[Q >> 2] = m; - c[r >> 2] = R; - Q = l + 1 | 0; - if ((Q | 0) < (h | 0)) { - l = Q; - p = q; - m = R; - } else { - break; - } - } - L = L + 1 | 0; - } while ((L | 0) < (K | 0)); - M = c[80] | 0; - N = c[86] | 0; - O = c[84] | 0; - P = c[28006] | 0; - } else { - M = B; - N = t; - O = s; - P = 0; - } - } while (0); - c[84] = M - N + O; - c[86] = -1; - I = M; - J = P; - } - } while (0); - s = I + 1 | 0; - c[80] = s; - z = s; - A = J; - o = 1193; - } - do { - if ((o | 0) == 1299) { - i = j; - return k | 0; - } else if ((o | 0) == 1196) { - c[76] = 112144; - J = c[86] | 0; - A = c[84] | 0; - do { - if ((J | 0) == -1) { - if ((A | 0) == -1) { - break; - } - c[80] = A; - } else { - z = J - A | 0; - I = B - J | 0; - P = (z | 0) % (I | 0) | 0; - if ((P | 0) == 0) { - S = I; - } else { - M = I; - O = P; - while (1) { - P = (M | 0) % (O | 0) | 0; - if ((P | 0) == 0) { - S = O; - break; - } else { - M = O; - O = P; - } - } - } - O = (B - A | 0) / (S | 0) | 0; - do { - if ((S | 0) > 0) { - M = -z | 0; - if ((O | 0) > 0) { - T = 0; - } else { - U = J; - V = A; - W = B; - break; - } - do { - P = T + J | 0; - N = d + (P << 2) | 0; - K = 0; - L = P; - P = c[N >> 2] | 0; - while (1) { - x = ((L | 0) < (J | 0) ? I : M) + L | 0; - s = d + (x << 2) | 0; - t = c[s >> 2] | 0; - c[s >> 2] = P; - c[N >> 2] = t; - s = K + 1 | 0; - if ((s | 0) < (O | 0)) { - K = s; - L = x; - P = t; - } else { - break; - } - } - T = T + 1 | 0; - } while ((T | 0) < (S | 0)); - U = c[86] | 0; - V = c[84] | 0; - W = c[80] | 0; - } else { - U = J; - V = A; - W = B; - } - } while (0); - c[80] = V - U + W; - } - } while (0); - c[86] = -1; - c[84] = -1; - k = -1; - i = j; - return k | 0; - } else if ((o | 0) == 1213) { - c[80] = B + 1; - c[28008] = c[E >> 2]; - k = 1; - i = j; - return k | 0; - } else if ((o | 0) == 1228) { - A = c[84] | 0; - J = c[86] | 0; - if ((A | 0) != -1 & (J | 0) == -1) { - c[86] = B; - X = a[G] | 0; - Y = B; - } else { - X = H; - Y = J; - } - if (X << 24 >> 24 == 0) { - C = F; - D = B; - break; - } - c[76] = G; - if ((a[G] | 0) != 45) { - C = G; - D = B; - break; - } - if ((a[F + 2 | 0] | 0) != 0) { - C = G; - D = B; - break; - } - J = B + 1 | 0; - c[80] = J; - c[76] = 112144; - if ((Y | 0) != -1) { - O = Y - A | 0; - I = J - Y | 0; - z = (O | 0) % (I | 0) | 0; - if ((z | 0) == 0) { - Z = I; - } else { - M = I; - P = z; - while (1) { - z = (M | 0) % (P | 0) | 0; - if ((z | 0) == 0) { - Z = P; - break; - } else { - M = P; - P = z; - } - } - } - P = (J - A | 0) / (Z | 0) | 0; - do { - if ((Z | 0) > 0) { - M = -O | 0; - if ((P | 0) > 0) { - _ = 0; - } else { - $ = Y; - aa = A; - ab = J; - break; - } - do { - z = _ + Y | 0; - L = d + (z << 2) | 0; - K = 0; - N = z; - z = c[L >> 2] | 0; - while (1) { - t = ((N | 0) < (Y | 0) ? I : M) + N | 0; - x = d + (t << 2) | 0; - s = c[x >> 2] | 0; - c[x >> 2] = z; - c[L >> 2] = s; - x = K + 1 | 0; - if ((x | 0) < (P | 0)) { - K = x; - N = t; - z = s; - } else { - break; - } - } - _ = _ + 1 | 0; - } while ((_ | 0) < (Z | 0)); - $ = c[86] | 0; - aa = c[84] | 0; - ab = c[80] | 0; - } else { - $ = Y; - aa = A; - ab = J; - } - } while (0); - c[80] = aa - $ + ab; - } - c[86] = -1; - c[84] = -1; - k = -1; - i = j; - return k | 0; - } - } while (0); - ab = (f | 0) != 0; - L1645 : do { - if (ab) { - if ((C | 0) == (c[d + (D << 2) >> 2] | 0)) { - ac = C; - break; - } - $ = a[C] | 0; - do { - if ($ << 24 >> 24 == 45) { - c[76] = C + 1; - ad = 0; - } else { - if ((w & 4 | 0) == 0) { - ac = C; - break L1645; - } - if ($ << 24 >> 24 == 58) { - ad = 0; - break; - } - ad = (aC(v | 0, $ << 24 >> 24 | 0) | 0) != 0 | 0; - } - } while (0); - $ = e7(d, v, f, g, ad) | 0; - if (($ | 0) == -1) { - ac = c[76] | 0; - break; - } - c[76] = 112144; - k = $; - i = j; - return k | 0; - } else { - ac = C; - } - } while (0); - C = ac + 1 | 0; - c[76] = C; - ad = a[ac] | 0; - ac = ad << 24 >> 24; - if ((ad << 24 >> 24 | 0) == 58) { - o = 1259; - } else if ((ad << 24 >> 24 | 0) == 45) { - if ((a[C] | 0) == 0) { - o = 1256; - } - } else { - o = 1256; - } - do { - if ((o | 0) == 1256) { - w = aC(v | 0, ac | 0) | 0; - if ((w | 0) == 0) { - if (ad << 24 >> 24 != 45) { - o = 1259; - break; - } - if ((a[C] | 0) == 0) { - k = -1; - } else { - break; - } - i = j; - return k | 0; - } - D = a[w + 1 | 0] | 0; - if (ab & ad << 24 >> 24 == 87 & D << 24 >> 24 == 59) { - do { - if ((a[C] | 0) == 0) { - $ = (c[80] | 0) + 1 | 0; - c[80] = $; - if (($ | 0) < (b | 0)) { - c[76] = c[d + ($ << 2) >> 2]; - break; - } - c[76] = 112144; - do { - if ((c[82] | 0) != 0) { - if ((a[v] | 0) == 58) { - break; - } - e9(192, (y = i, i = i + 8 | 0, c[y >> 2] = ac, y) | 0); - } - } while (0); - c[78] = ac; - k = (a[v] | 0) == 58 ? 58 : 63; - i = j; - return k | 0; - } - } while (0); - $ = e7(d, v, f, g, 0) | 0; - c[76] = 112144; - k = $; - i = j; - return k | 0; - } - if (D << 24 >> 24 != 58) { - if ((a[C] | 0) != 0) { - k = ac; - i = j; - return k | 0; - } - c[80] = (c[80] | 0) + 1; - k = ac; - i = j; - return k | 0; - } - c[28008] = 0; - do { - if ((a[C] | 0) == 0) { - if ((a[w + 2 | 0] | 0) == 58) { - break; - } - $ = (c[80] | 0) + 1 | 0; - c[80] = $; - if (($ | 0) < (b | 0)) { - c[28008] = c[d + ($ << 2) >> 2]; - break; - } - c[76] = 112144; - do { - if ((c[82] | 0) != 0) { - if ((a[v] | 0) == 58) { - break; - } - e9(192, (y = i, i = i + 8 | 0, c[y >> 2] = ac, y) | 0); - } - } while (0); - c[78] = ac; - k = (a[v] | 0) == 58 ? 58 : 63; - i = j; - return k | 0; - } else { - c[28008] = C; - } - } while (0); - c[76] = 112144; - c[80] = (c[80] | 0) + 1; - k = ac; - i = j; - return k | 0; - } - } while (0); - do { - if ((o | 0) == 1259) { - if ((a[C] | 0) != 0) { - break; - } - c[80] = (c[80] | 0) + 1; - } - } while (0); - do { - if ((c[82] | 0) != 0) { - if ((a[v] | 0) == 58) { - break; - } - e9(1368, (y = i, i = i + 8 | 0, c[y >> 2] = ac, y) | 0); - } - } while (0); - c[78] = ac; - k = 63; - i = j; - return k | 0; -} -function e2(a, b, c, d, e) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - return e1(a, b, c, d, e, 1) | 0; -} -function e3(a, b, c, d, e) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - return e1(a, b, c, d, e, 5) | 0; -} -function e4(a) { - a = a | 0; - return eO(a) | 0; -} -function e5(a, b) { - a = a | 0; - b = b | 0; - return e4(a) | 0; -} -function e6() { - var a = 0; - a = aK(4) | 0; - c[a >> 2] = 111864; - as(a | 0, 111992, 6); -} -function e7(b, d, e, f, g) { - b = b | 0; - d = d | 0; - e = e | 0; - f = f | 0; - g = g | 0; - var h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, z = 0; - h = i; - j = c[76] | 0; - k = c[80] | 0; - l = k + 1 | 0; - c[80] = l; - m = aC(j | 0, 61) | 0; - if ((m | 0) == 0) { - n = fo(j | 0) | 0; - o = 0; - } else { - n = m - j | 0; - o = m + 1 | 0; - } - m = c[e >> 2] | 0; - L1725 : do { - if ((m | 0) != 0) { - L1727 : do { - if ((g | 0) != 0 & (n | 0) == 1) { - p = 0; - q = m; - while (1) { - if ((a[j] | 0) == (a[q] | 0)) { - if ((fo(q | 0) | 0) == 1) { - r = p; - break L1727; - } - } - p = p + 1 | 0; - q = c[e + (p << 4) >> 2] | 0; - if ((q | 0) == 0) { - break L1725; - } - } - } else { - q = 0; - p = -1; - s = m; - while (1) { - if ((ap(j | 0, s | 0, n | 0) | 0) == 0) { - if ((fo(s | 0) | 0) == (n | 0)) { - r = q; - break L1727; - } - if ((p | 0) == -1) { - t = q; - } else { - break; - } - } else { - t = p; - } - u = q + 1 | 0; - v = c[e + (u << 4) >> 2] | 0; - if ((v | 0) == 0) { - r = t; - break L1727; - } else { - q = u; - p = t; - s = v; - } - } - do { - if ((c[82] | 0) != 0) { - if ((a[d] | 0) == 58) { - break; - } - e9(111608, (y = i, i = i + 16 | 0, c[y >> 2] = n, c[y + 8 >> 2] = j, y) | 0); - } - } while (0); - c[78] = 0; - w = 63; - i = h; - return w | 0; - } - } while (0); - if ((r | 0) == -1) { - break; - } - s = e + (r << 4) + 4 | 0; - p = c[s >> 2] | 0; - q = (o | 0) == 0; - if (!((p | 0) != 0 | q)) { - do { - if ((c[82] | 0) != 0) { - if ((a[d] | 0) == 58) { - break; - } - e9(352, (y = i, i = i + 16 | 0, c[y >> 2] = n, c[y + 8 >> 2] = j, y) | 0); - } - } while (0); - if ((c[e + (r << 4) + 8 >> 2] | 0) == 0) { - x = c[e + (r << 4) + 12 >> 2] | 0; - } else { - x = 0; - } - c[78] = x; - w = (a[d] | 0) == 58 ? 58 : 63; - i = h; - return w | 0; - } - do { - if ((p - 1 | 0) >>> 0 < 2) { - if (!q) { - c[28008] = o; - break; - } - if ((p | 0) != 1) { - break; - } - c[80] = k + 2; - c[28008] = c[b + (l << 2) >> 2]; - } - } while (0); - if (!((c[s >> 2] | 0) == 1 & (c[28008] | 0) == 0)) { - if ((f | 0) != 0) { - c[f >> 2] = r; - } - p = c[e + (r << 4) + 8 >> 2] | 0; - q = c[e + (r << 4) + 12 >> 2] | 0; - if ((p | 0) == 0) { - w = q; - i = h; - return w | 0; - } - c[p >> 2] = q; - w = 0; - i = h; - return w | 0; - } - do { - if ((c[82] | 0) != 0) { - if ((a[d] | 0) == 58) { - break; - } - e9(152, (y = i, i = i + 8 | 0, c[y >> 2] = j, y) | 0); - } - } while (0); - if ((c[e + (r << 4) + 8 >> 2] | 0) == 0) { - z = c[e + (r << 4) + 12 >> 2] | 0; - } else { - z = 0; - } - c[78] = z; - c[80] = (c[80] | 0) - 1; - w = (a[d] | 0) == 58 ? 58 : 63; - i = h; - return w | 0; - } - } while (0); - if ((g | 0) != 0) { - c[80] = k; - w = -1; - i = h; - return w | 0; - } - do { - if ((c[82] | 0) != 0) { - if ((a[d] | 0) == 58) { - break; - } - e9(1344, (y = i, i = i + 8 | 0, c[y >> 2] = j, y) | 0); - } - } while (0); - c[78] = 0; - w = 63; - i = h; - return w | 0; -} -function e8(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0; - d = i; - i = i + 16 | 0; - e = d | 0; - f = e; - c[f >> 2] = b; - c[f + 4 >> 2] = 0; - fa(a, e | 0); - i = d; - return; -} -function e9(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0; - d = i; - i = i + 16 | 0; - e = d | 0; - f = e; - c[f >> 2] = b; - c[f + 4 >> 2] = 0; - fb(a, e | 0); - i = d; - return; -} -function fa(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0; - d = i; - e = c[(aY() | 0) >> 2] | 0; - f = c[r >> 2] | 0; - aw(c[p >> 2] | 0, 111736, (y = i, i = i + 8 | 0, c[y >> 2] = f, y) | 0) | 0; - if ((a | 0) != 0) { - f = c[p >> 2] | 0; - aR(f | 0, a | 0, b | 0) | 0; - b = c[p >> 2] | 0; - aF(111776, 2, 1, b | 0) | 0; - } - b = c[p >> 2] | 0; - a = au(e | 0) | 0; - aw(b | 0, 111688, (y = i, i = i + 8 | 0, c[y >> 2] = a, y) | 0) | 0; - i = d; - return; -} -function fb(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0; - d = i; - e = c[r >> 2] | 0; - aw(c[p >> 2] | 0, 111680, (y = i, i = i + 8 | 0, c[y >> 2] = e, y) | 0) | 0; - if ((a | 0) != 0) { - e = c[p >> 2] | 0; - aR(e | 0, a | 0, b | 0) | 0; - } - aD(10, c[p >> 2] | 0) | 0; - i = d; - return; -} -function fc(b, d) { - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0.0, r = 0, s = 0, t = 0, u = 0, v = 0.0, w = 0, x = 0, y = 0, z = 0.0, A = 0.0, B = 0, C = 0, D = 0, E = 0.0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0.0, O = 0, P = 0, Q = 0.0, R = 0.0, S = 0.0; - e = b; - while (1) { - f = e + 1 | 0; - if ((aL(a[e] | 0) | 0) == 0) { - break; - } else { - e = f; - } - } - g = a[e] | 0; - if ((g << 24 >> 24 | 0) == 45) { - i = f; - j = 1; - } else if ((g << 24 >> 24 | 0) == 43) { - i = f; - j = 0; - } else { - i = e; - j = 0; - } - e = -1; - f = 0; - g = i; - while (1) { - k = a[g] | 0; - if (((k << 24 >> 24) - 48 | 0) >>> 0 < 10) { - l = e; - } else { - if (k << 24 >> 24 != 46 | (e | 0) > -1) { - break; - } else { - l = f; - } - } - e = l; - f = f + 1 | 0; - g = g + 1 | 0; - } - l = g + (-f | 0) | 0; - i = (e | 0) < 0; - m = ((i ^ 1) << 31 >> 31) + f | 0; - n = (m | 0) > 18; - o = (n ? -18 : -m | 0) + (i ? f : e) | 0; - e = n ? 18 : m; - do { - if ((e | 0) == 0) { - p = b; - q = 0.0; - } else { - if ((e | 0) > 9) { - m = l; - n = e; - f = 0; - while (1) { - i = a[m] | 0; - r = m + 1 | 0; - if (i << 24 >> 24 == 46) { - s = a[r] | 0; - t = m + 2 | 0; - } else { - s = i; - t = r; - } - u = (f * 10 | 0) - 48 + (s << 24 >> 24) | 0; - r = n - 1 | 0; - if ((r | 0) > 9) { - m = t; - n = r; - f = u; - } else { - break; - } - } - v = +(u | 0) * 1.0e9; - w = 9; - x = t; - y = 1389; - } else { - if ((e | 0) > 0) { - v = 0.0; - w = e; - x = l; - y = 1389; - } else { - z = 0.0; - A = 0.0; - } - } - if ((y | 0) == 1389) { - f = x; - n = w; - m = 0; - while (1) { - r = a[f] | 0; - i = f + 1 | 0; - if (r << 24 >> 24 == 46) { - B = a[i] | 0; - C = f + 2 | 0; - } else { - B = r; - C = i; - } - D = (m * 10 | 0) - 48 + (B << 24 >> 24) | 0; - i = n - 1 | 0; - if ((i | 0) > 0) { - f = C; - n = i; - m = D; - } else { - break; - } - } - z = +(D | 0); - A = v; - } - E = A + z; - do { - if ((k << 24 >> 24 | 0) == 69 | (k << 24 >> 24 | 0) == 101) { - m = g + 1 | 0; - n = a[m] | 0; - if ((n << 24 >> 24 | 0) == 45) { - F = g + 2 | 0; - G = 1; - } else if ((n << 24 >> 24 | 0) == 43) { - F = g + 2 | 0; - G = 0; - } else { - F = m; - G = 0; - } - m = a[F] | 0; - if (((m << 24 >> 24) - 48 | 0) >>> 0 < 10) { - H = F; - I = 0; - J = m; - } else { - K = 0; - L = F; - M = G; - break; - } - while (1) { - m = (I * 10 | 0) - 48 + (J << 24 >> 24) | 0; - n = H + 1 | 0; - f = a[n] | 0; - if (((f << 24 >> 24) - 48 | 0) >>> 0 < 10) { - H = n; - I = m; - J = f; - } else { - K = m; - L = n; - M = G; - break; - } - } - } else { - K = 0; - L = g; - M = 0; - } - } while (0); - n = o + ((M | 0) == 0 ? K : -K | 0) | 0; - m = (n | 0) < 0 ? -n | 0 : n; - if ((m | 0) > 511) { - c[(aY() | 0) >> 2] = 34; - N = 1.0; - O = 232; - P = 511; - y = 1406; - } else { - if ((m | 0) == 0) { - Q = 1.0; - } else { - N = 1.0; - O = 232; - P = m; - y = 1406; - } - } - if ((y | 0) == 1406) { - while (1) { - y = 0; - if ((P & 1 | 0) == 0) { - R = N; - } else { - R = N * +h[O >> 3]; - } - m = P >> 1; - if ((m | 0) == 0) { - Q = R; - break; - } else { - N = R; - O = O + 8 | 0; - P = m; - y = 1406; - } - } - } - if ((n | 0) > -1) { - p = L; - q = E * Q; - break; - } else { - p = L; - q = E / Q; - break; - } - } - } while (0); - if ((d | 0) != 0) { - c[d >> 2] = p; - } - if ((j | 0) == 0) { - S = q; - return +S; - } - S = -0.0 - q; - return +S; -} -function fd(a, b) { - a = a | 0; - b = b | 0; - return +(+fc(a, b)); -} -function fe(a, b) { - a = a | 0; - b = b | 0; - return +(+fc(a, b)); -} -function ff(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - return +(+fc(a, b)); -} -function fg(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - return +(+fc(a, b)); -} -function fh(a) { - a = a | 0; - return +(+fc(a, 0)); -} -function fi(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0; - e = i; - i = i + 16 | 0; - f = e | 0; - e = f; - c[e >> 2] = d; - c[e + 4 >> 2] = 0; - fk(a, b, f | 0); -} -function fj(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0; - e = i; - i = i + 16 | 0; - f = e | 0; - e = f; - c[e >> 2] = d; - c[e + 4 >> 2] = 0; - fl(a, b, f | 0); -} -function fk(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0; - e = c[(aY() | 0) >> 2] | 0; - f = c[r >> 2] | 0; - aw(c[p >> 2] | 0, 111640, (y = i, i = i + 8 | 0, c[y >> 2] = f, y) | 0) | 0; - if ((b | 0) != 0) { - f = c[p >> 2] | 0; - aR(f | 0, b | 0, d | 0) | 0; - d = c[p >> 2] | 0; - aF(111784, 2, 1, d | 0) | 0; - } - d = c[p >> 2] | 0; - b = au(e | 0) | 0; - aw(d | 0, 111696, (y = i, i = i + 8 | 0, c[y >> 2] = b, y) | 0) | 0; - aI(a | 0); -} -function fl(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0; - e = c[r >> 2] | 0; - aw(c[p >> 2] | 0, 111744, (y = i, i = i + 8 | 0, c[y >> 2] = e, y) | 0) | 0; - if ((b | 0) != 0) { - e = c[p >> 2] | 0; - aR(e | 0, b | 0, d | 0) | 0; - } - aD(10, c[p >> 2] | 0) | 0; - aI(a | 0); -} -function fm(b, d, e) { - b = b | 0; - d = d | 0; - e = e | 0; - var f = 0, g = 0, h = 0; - f = b + e | 0; - if ((e | 0) >= 20) { - d = d & 255; - e = b & 3; - g = d | d << 8 | d << 16 | d << 24; - h = f & ~3; - if (e) { - e = b + 4 - e | 0; - while ((b | 0) < (e | 0)) { - a[b] = d; - b = b + 1 | 0; - } - } - while ((b | 0) < (h | 0)) { - c[b >> 2] = g; - b = b + 4 | 0; - } - } - while ((b | 0) < (f | 0)) { - a[b] = d; - b = b + 1 | 0; - } -} -function fn(b, d, e) { - b = b | 0; - d = d | 0; - e = e | 0; - var f = 0; - f = b | 0; - if ((b & 3) == (d & 3)) { - while (b & 3) { - if ((e | 0) == 0) return f | 0; - a[b] = a[d] | 0; - b = b + 1 | 0; - d = d + 1 | 0; - e = e - 1 | 0; - } - while ((e | 0) >= 4) { - c[b >> 2] = c[d >> 2]; - b = b + 4 | 0; - d = d + 4 | 0; - e = e - 4 | 0; - } - } - while ((e | 0) > 0) { - a[b] = a[d] | 0; - b = b + 1 | 0; - d = d + 1 | 0; - e = e - 1 | 0; - } - return f | 0; -} -function fo(b) { - b = b | 0; - var c = 0; - c = b; - while (a[c] | 0) { - c = c + 1 | 0; - } - return c - b | 0; -} -function fp(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0; - e = a + c >>> 0; - return (H = b + d + (e >>> 0 < a >>> 0 | 0) >>> 0, e | 0) | 0; -} -function fq(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0; - e = b - d >>> 0; - e = b - d - (c >>> 0 > a >>> 0 | 0) >>> 0; - return (H = e, a - c >>> 0 | 0) | 0; -} -function fr(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - if ((c | 0) < 32) { - H = b << c | (a & (1 << c) - 1 << 32 - c) >>> 32 - c; - return a << c; - } - H = a << c - 32; - return 0; -} -function fs(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - if ((c | 0) < 32) { - H = b >>> c; - return a >>> c | (b & (1 << c) - 1) << 32 - c; - } - H = 0; - return b >>> c - 32 | 0; -} -function ft(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - if ((c | 0) < 32) { - H = b >> c; - return a >>> c | (b & (1 << c) - 1) << 32 - c; - } - H = (b | 0) < 0 ? -1 : 0; - return b >> c - 32 | 0; -} -function fu(b) { - b = b | 0; - var c = 0; - c = a[n + (b >>> 24) | 0] | 0; - if ((c | 0) < 8) return c | 0; - c = a[n + (b >> 16 & 255) | 0] | 0; - if ((c | 0) < 8) return c + 8 | 0; - c = a[n + (b >> 8 & 255) | 0] | 0; - if ((c | 0) < 8) return c + 16 | 0; - return (a[n + (b & 255) | 0] | 0) + 24 | 0; -} -function fv(b) { - b = b | 0; - var c = 0; - c = a[m + (b & 255) | 0] | 0; - if ((c | 0) < 8) return c | 0; - c = a[m + (b >> 8 & 255) | 0] | 0; - if ((c | 0) < 8) return c + 8 | 0; - c = a[m + (b >> 16 & 255) | 0] | 0; - if ((c | 0) < 8) return c + 16 | 0; - return (a[m + (b >>> 24) | 0] | 0) + 24 | 0; -} -function fw(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0, e = 0, f = 0; - c = a & 65535; - d = b & 65535; - e = ad(d, c) | 0; - f = a >>> 16; - a = (e >>> 16) + (ad(d, f) | 0) | 0; - d = b >>> 16; - b = ad(d, c) | 0; - return (H = (a >>> 16) + (ad(d, f) | 0) + (((a & 65535) + b | 0) >>> 16) | 0, a + b << 16 | e & 65535 | 0) | 0; -} -function fx(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, i = 0; - e = b >> 31 | ((b | 0) < 0 ? -1 : 0) << 1; - f = ((b | 0) < 0 ? -1 : 0) >> 31 | ((b | 0) < 0 ? -1 : 0) << 1; - g = d >> 31 | ((d | 0) < 0 ? -1 : 0) << 1; - h = ((d | 0) < 0 ? -1 : 0) >> 31 | ((d | 0) < 0 ? -1 : 0) << 1; - i = fq(e ^ a, f ^ b, e, f) | 0; - b = H; - a = g ^ e; - e = h ^ f; - f = fq((fC(i, b, fq(g ^ c, h ^ d, g, h) | 0, H, 0) | 0) ^ a, H ^ e, a, e) | 0; - return (H = H, f) | 0; -} -function fy(a, b, d, e) { - a = a | 0; - b = b | 0; - d = d | 0; - e = e | 0; - var f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0; - f = i; - i = i + 8 | 0; - g = f | 0; - h = b >> 31 | ((b | 0) < 0 ? -1 : 0) << 1; - j = ((b | 0) < 0 ? -1 : 0) >> 31 | ((b | 0) < 0 ? -1 : 0) << 1; - k = e >> 31 | ((e | 0) < 0 ? -1 : 0) << 1; - l = ((e | 0) < 0 ? -1 : 0) >> 31 | ((e | 0) < 0 ? -1 : 0) << 1; - m = fq(h ^ a, j ^ b, h, j) | 0; - b = H; - a = fq(k ^ d, l ^ e, k, l) | 0; - fC(m, b, a, H, g) | 0; - a = fq(c[g >> 2] ^ h, c[g + 4 >> 2] ^ j, h, j) | 0; - j = H; - i = f; - return (H = j, a) | 0; -} -function fz(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0, f = 0; - e = a; - a = c; - c = fw(e, a) | 0; - f = H; - return (H = (ad(b, a) | 0) + (ad(d, e) | 0) + f | f & 0, c | 0 | 0) | 0; -} -function fA(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0; - e = fC(a, b, c, d, 0) | 0; - return (H = H, e) | 0; -} -function fB(a, b, d, e) { - a = a | 0; - b = b | 0; - d = d | 0; - e = e | 0; - var f = 0, g = 0; - f = i; - i = i + 8 | 0; - g = f | 0; - fC(a, b, d, e, g) | 0; - i = f; - return (H = c[g + 4 >> 2] | 0, c[g >> 2] | 0) | 0; -} -function fC(a, b, d, e, f) { - a = a | 0; - b = b | 0; - d = d | 0; - e = e | 0; - f = f | 0; - var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, I = 0, J = 0, K = 0, L = 0, M = 0; - g = a; - h = b; - i = h; - j = d; - k = e; - l = k; - if ((i | 0) == 0) { - m = (f | 0) != 0; - if ((l | 0) == 0) { - if (m) { - c[f >> 2] = (g >>> 0) % (j >>> 0); - c[f + 4 >> 2] = 0; - } - n = 0; - o = (g >>> 0) / (j >>> 0) >>> 0; - return (H = n, o) | 0; - } else { - if (!m) { - n = 0; - o = 0; - return (H = n, o) | 0; - } - c[f >> 2] = a | 0; - c[f + 4 >> 2] = b & 0; - n = 0; - o = 0; - return (H = n, o) | 0; - } - } - m = (l | 0) == 0; - do { - if ((j | 0) == 0) { - if (m) { - if ((f | 0) != 0) { - c[f >> 2] = (i >>> 0) % (j >>> 0); - c[f + 4 >> 2] = 0; - } - n = 0; - o = (i >>> 0) / (j >>> 0) >>> 0; - return (H = n, o) | 0; - } - if ((g | 0) == 0) { - if ((f | 0) != 0) { - c[f >> 2] = 0; - c[f + 4 >> 2] = (i >>> 0) % (l >>> 0); - } - n = 0; - o = (i >>> 0) / (l >>> 0) >>> 0; - return (H = n, o) | 0; - } - p = l - 1 | 0; - if ((p & l | 0) == 0) { - if ((f | 0) != 0) { - c[f >> 2] = a | 0; - c[f + 4 >> 2] = p & i | b & 0; - } - n = 0; - o = i >>> ((fv(l | 0) | 0) >>> 0); - return (H = n, o) | 0; - } - p = (fu(l | 0) | 0) - (fu(i | 0) | 0) | 0; - if (p >>> 0 <= 30) { - q = p + 1 | 0; - r = 31 - p | 0; - s = q; - t = i << r | g >>> (q >>> 0); - u = i >>> (q >>> 0); - v = 0; - w = g << r; - break; - } - if ((f | 0) == 0) { - n = 0; - o = 0; - return (H = n, o) | 0; - } - c[f >> 2] = a | 0; - c[f + 4 >> 2] = h | b & 0; - n = 0; - o = 0; - return (H = n, o) | 0; - } else { - if (!m) { - r = (fu(l | 0) | 0) - (fu(i | 0) | 0) | 0; - if (r >>> 0 <= 31) { - q = r + 1 | 0; - p = 31 - r | 0; - x = r - 31 >> 31; - s = q; - t = g >>> (q >>> 0) & x | i << p; - u = i >>> (q >>> 0) & x; - v = 0; - w = g << p; - break; - } - if ((f | 0) == 0) { - n = 0; - o = 0; - return (H = n, o) | 0; - } - c[f >> 2] = a | 0; - c[f + 4 >> 2] = h | b & 0; - n = 0; - o = 0; - return (H = n, o) | 0; - } - p = j - 1 | 0; - if ((p & j | 0) != 0) { - x = (fu(j | 0) | 0) + 33 - (fu(i | 0) | 0) | 0; - q = 64 - x | 0; - r = 32 - x | 0; - y = r >> 31; - z = x - 32 | 0; - A = z >> 31; - s = x; - t = r - 1 >> 31 & i >>> (z >>> 0) | (i << r | g >>> (x >>> 0)) & A; - u = A & i >>> (x >>> 0); - v = g << q & y; - w = (i << q | g >>> (z >>> 0)) & y | g << r & x - 33 >> 31; - break; - } - if ((f | 0) != 0) { - c[f >> 2] = p & g; - c[f + 4 >> 2] = 0; - } - if ((j | 0) == 1) { - n = h | b & 0; - o = a | 0 | 0; - return (H = n, o) | 0; - } else { - p = fv(j | 0) | 0; - n = i >>> (p >>> 0) | 0; - o = i << 32 - p | g >>> (p >>> 0) | 0; - return (H = n, o) | 0; - } - } - } while (0); - if ((s | 0) == 0) { - B = w; - C = v; - D = u; - E = t; - F = 0; - G = 0; - } else { - g = d | 0 | 0; - d = k | e & 0; - e = fp(g, d, -1, -1) | 0; - k = H; - i = w; - w = v; - v = u; - u = t; - t = s; - s = 0; - while (1) { - I = w >>> 31 | i << 1; - J = s | w << 1; - j = u << 1 | i >>> 31 | 0; - a = u >>> 31 | v << 1 | 0; - fq(e, k, j, a) | 0; - b = H; - h = b >> 31 | ((b | 0) < 0 ? -1 : 0) << 1; - K = h & 1; - L = fq(j, a, h & g, (((b | 0) < 0 ? -1 : 0) >> 31 | ((b | 0) < 0 ? -1 : 0) << 1) & d) | 0; - M = H; - b = t - 1 | 0; - if ((b | 0) == 0) { - break; - } else { - i = I; - w = J; - v = M; - u = L; - t = b; - s = K; - } - } - B = I; - C = J; - D = M; - E = L; - F = 0; - G = K; - } - K = C; - C = 0; - if ((f | 0) != 0) { - c[f >> 2] = E; - c[f + 4 >> 2] = D; - } - n = (K | 0) >>> 31 | (B | C) << 1 | (C << 1 | K >>> 31) & 0 | F; - o = (K << 1 | 0 >>> 31) & -2 | G; - return (H = n, o) | 0; -} -function fD(a, b) { - a = a | 0; - b = b | 0; - a1[a & 15](b | 0); -} -function fE(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - a2[a & 15](b | 0, c | 0); -} -function fF(a, b) { - a = a | 0; - b = b | 0; - return a3[a & 7](b | 0) | 0; -} -function fG(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - a4[a & 15](b | 0, c | 0, d | 0); -} -function fH(a) { - a = a | 0; - a5[a & 1](); -} -function fI(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - return a6[a & 1](b | 0, c | 0) | 0; -} -function fJ(a) { - a = a | 0; - ae(0); -} -function fK(a, b) { - a = a | 0; - b = b | 0; - ae(1); -} -function fL(a) { - a = a | 0; - ae(2); - return 0; -} -function fM(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - ae(3); -} -function fN() { - ae(4); -} -function fO(a, b) { - a = a | 0; - b = b | 0; - ae(5); - return 0; -} -// EMSCRIPTEN_END_FUNCS - var a1 = [ fJ, fJ, eV, fJ, e$, fJ, eQ, fJ, eU, fJ, e_, fJ, fJ, fJ, fJ, fJ ]; - var a2 = [ fK, fK, e8, fK, fa, fK, e9, fK, fb, fK, fK, fK, fK, fK, fK, fK ]; - var a3 = [ fL, fL, eR, fL, eS, fL, fL, fL ]; - var a4 = [ fM, fM, fl, fM, fk, fM, fi, fM, fj, fM, fM, fM, fM, fM, fM, fM ]; - var a5 = [ fN, fN ]; - var a6 = [ fO, fO ]; - return { - _strlen: fo, - _crypto_auth_hmacsha256: bw, - _crypto_sign_edwards25519sha512batch: dQ, - _crypto_core_salsa208: bP, - _crypto_box_curve25519xsalsa20poly1305_afternm: bA, - _crypto_secretbox_xsalsa20poly1305: ci, - _crypto_stream_salsa20_xor: ef, - _crypto_stream_aes128ctr_xor_afternm: ec, - _crypto_sign_edwards25519sha512batch_keypair: dP, - _crypto_hashblocks_sha512: bV, - _crypto_hashblocks_sha256: bS, - _crypto_scalarmult_curve25519_base: b2, - _realloc: eq, - _crypto_sign_ed25519_open: cn, - _crypto_sign_keypair_from_raw_sk: bu, - _calloc: ep, - _crypto_box_curve25519xsalsa20poly1305_keypair: bF, - _crypto_stream_salsa2012_xor: eh, - _memset: fm, - _crypto_stream_salsa20: ee, - _memcpy: fn, - _crypto_onetimeauth_poly1305: b_, - _crypto_sign_ed25519_keypair: ck, - _crypto_auth_hmacsha512256: by, - _crypto_sign_ed25519: cl, - _crypto_box_curve25519xsalsa20poly1305_open: bE, - _crypto_stream_aes128ctr_beforenm: dT, - _crypto_stream_salsa208: ei, - _crypto_stream_xsalsa20: ek, - _crypto_scalarmult_curve25519: b3, - _crypto_box_curve25519xsalsa20poly1305: bD, - _crypto_onetimeauth_poly1305_verify: b1, - _crypto_hash_sha512: bR, - _crypto_secretbox_xsalsa20poly1305_open: cj, - _crypto_sign_edwards25519sha512batch_open: dR, - _crypto_hash_sha256: bQ, - _crypto_auth_hmacsha256_verify: bx, - _crypto_verify_32: em, - _crypto_auth_hmacsha512256_verify: bz, - _free: eo, - _crypto_box_curve25519xsalsa20poly1305_beforenm: bC, - _crypto_stream_aes128ctr: ea, - _crypto_core_salsa2012: bO, - _crypto_verify_16: ed, - _crypto_core_salsa20: bH, - _crypto_stream_salsa208_xor: ej, - _malloc: en, - _crypto_stream_aes128ctr_xor: eb, - _crypto_box_curve25519xsalsa20poly1305_open_afternm: bB, - _crypto_stream_xsalsa20_xor: el, - _crypto_stream_aes128ctr_afternm: dS, - _crypto_stream_salsa2012: eg, - _crypto_core_hsalsa20: bG, - runPostSets: bn, - stackAlloc: a7, - stackSave: a8, - stackRestore: a9, - setThrew: ba, - setTempRet0: bd, - setTempRet1: be, - setTempRet2: bf, - setTempRet3: bg, - setTempRet4: bh, - setTempRet5: bi, - setTempRet6: bj, - setTempRet7: bk, - setTempRet8: bl, - setTempRet9: bm, - dynCall_vi: fD, - dynCall_vii: fE, - dynCall_ii: fF, - dynCall_viii: fG, - dynCall_v: fH, - dynCall_iii: fI - }; -// EMSCRIPTEN_END_ASM -})({Math:Math, Int8Array:Int8Array, Int16Array:Int16Array, Int32Array:Int32Array, Uint8Array:Uint8Array, Uint16Array:Uint16Array, Uint32Array:Uint32Array, Float32Array:Float32Array, Float64Array:Float64Array}, {abort:wa, assert:v, asmPrintInt:function(a, b) { - r.print("int " + a + "," + b) -}, asmPrintFloat:function(a, b) { - r.print("float " + a + "," + b) -}, min:Zc, invoke_vi:function(a, b) { - try { - r.dynCall_vi(a, b) - }catch(c) { - "number" !== typeof c && "longjmp" !== c && e(c), V.setThrew(1, 0) - } -}, invoke_vii:function(a, b, c) { - try { - r.dynCall_vii(a, b, c) - }catch(d) { - "number" !== typeof d && "longjmp" !== d && e(d), V.setThrew(1, 0) - } -}, invoke_ii:function(a, b) { - try { - return r.dynCall_ii(a, b) - }catch(c) { - "number" !== typeof c && "longjmp" !== c && e(c), V.setThrew(1, 0) - } -}, invoke_viii:function(a, b, c, d) { - try { - r.dynCall_viii(a, b, c, d) - }catch(f) { - "number" !== typeof f && "longjmp" !== f && e(f), V.setThrew(1, 0) - } -}, invoke_v:function(a) { - try { - r.dynCall_v(a) - }catch(b) { - "number" !== typeof b && "longjmp" !== b && e(b), V.setThrew(1, 0) - } -}, invoke_iii:function(a, b, c) { - try { - return r.dynCall_iii(a, b, c) - }catch(d) { - "number" !== typeof d && "longjmp" !== d && e(d), V.setThrew(1, 0) - } -}, _strncmp:function(a, b, c) { - for(var d = 0;d < c;) { - var f = G[a + d | 0], g = G[b + d | 0]; - if(f == g && 0 == f) { - break - } - if(0 == f) { - return-1 - } - if(0 == g) { - return 1 - } - if(f == g) { - d++ - }else { - return f > g ? 1 : -1 - } - } - return 0 -}, _llvm_va_end:aa(), _sysconf:function(a) { - switch(a) { - case 8: - return 4096; - case 54: - ; - case 56: - ; - case 21: - ; - case 61: - ; - case 63: - ; - case 22: - ; - case 67: - ; - case 23: - ; - case 24: - ; - case 25: - ; - case 26: - ; - case 27: - ; - case 69: - ; - case 28: - ; - case 101: - ; - case 70: - ; - case 71: - ; - case 29: - ; - case 30: - ; - case 199: - ; - case 75: - ; - case 76: - ; - case 32: - ; - case 43: - ; - case 44: - ; - case 80: - ; - case 46: - ; - case 47: - ; - case 45: - ; - case 48: - ; - case 49: - ; - case 42: - ; - case 82: - ; - case 33: - ; - case 7: - ; - case 108: - ; - case 109: - ; - case 107: - ; - case 112: - ; - case 119: - ; - case 121: - return 200809; - case 13: - ; - case 104: - ; - case 94: - ; - case 95: - ; - case 34: - ; - case 35: - ; - case 77: - ; - case 81: - ; - case 83: - ; - case 84: - ; - case 85: - ; - case 86: - ; - case 87: - ; - case 88: - ; - case 89: - ; - case 90: - ; - case 91: - ; - case 94: - ; - case 95: - ; - case 110: - ; - case 111: - ; - case 113: - ; - case 114: - ; - case 115: - ; - case 116: - ; - case 117: - ; - case 118: - ; - case 120: - ; - case 40: - ; - case 16: - ; - case 79: - ; - case 19: - return-1; - case 92: - ; - case 93: - ; - case 5: - ; - case 72: - ; - case 6: - ; - case 74: - ; - case 92: - ; - case 93: - ; - case 96: - ; - case 97: - ; - case 98: - ; - case 99: - ; - case 102: - ; - case 103: - ; - case 105: - return 1; - case 38: - ; - case 66: - ; - case 50: - ; - case 51: - ; - case 4: - return 1024; - case 15: - ; - case 64: - ; - case 41: - return 32; - case 55: - ; - case 37: - ; - case 17: - return 2147483647; - case 18: - ; - case 1: - return 47839; - case 59: - ; - case 57: - return 99; - case 68: - ; - case 58: - return 2048; - case 0: - return 2097152; - case 3: - return 65536; - case 14: - return 32768; - case 73: - return 32767; - case 39: - return 16384; - case 60: - return 1E3; - case 106: - return 700; - case 52: - return 256; - case 62: - return 255; - case 2: - return 100; - case 65: - return 64; - case 36: - return 20; - case 100: - return 16; - case 20: - return 6; - case 53: - return 4; - case 10: - return 1 - } - M(N.A); - return-1 -}, ___cxa_throw:tc, _randombytes:ub, _strerror:Bc, _abort:function() { - r.abort() -}, _fprintf:oc, _llvm_eh_exception:U, ___cxa_free_exception:uc, _fflush:aa(), ___buildEnvironment:yc, __reallyNegative:lc, _strchr:function(a, b) { - a--; - do { - a++; - var c = A[a]; - if(c == b) { - return a - } - }while(c); - return 0 -}, _fputc:Dc, ___setErrNo:M, _fwrite:jc, _send:hc, _write:ic, _exit:function(a) { - Cc(a) -}, ___cxa_find_matching_catch:function(a, b) { - -1 == a && (a = B[U.m >> 2]); - -1 == b && (b = B[U.m + 4 >> 2]); - var c = Array.prototype.slice.call(arguments, 2); - 0 != b && !rc(b) && 0 == B[B[b >> 2] - 8 >> 2] && (a = B[a >> 2]); - for(var d = 0;d < c.length;d++) { - if(sc(c[d], b, a)) { - return(V.setTempRet0(c[d]), a) | 0 - } - } - return(V.setTempRet0(b), a) | 0 -}, ___cxa_allocate_exception:function(a) { - return Oa(a) -}, _isspace:function(a) { - return 32 == a || 9 <= a && 13 >= a -}, ___cxa_is_number_type:rc, ___resumeException:function(a) { - 0 == B[U.m >> 2] && (B[U.m >> 2] = a); - e(a + " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.") -}, __formatString:mc, ___cxa_does_inherit:sc, _getenv:zc, _vfprintf:function(a, b, c) { - return oc(a, b, B[c >> 2]) -}, ___cxa_begin_catch:function(a) { - qc.ta--; - return a -}, __ZSt18uncaught_exceptionv:qc, _pwrite:function(a, b, c, d) { - a = R[a]; - if(!a) { - return M(N.$), -1 - } - try { - return Kb(a, A, b, c, d) - }catch(f) { - return ac(f), -1 - } -}, ___cxa_call_unexpected:function(a) { - r.P("Unexpected exception thrown, this is not properly supported - aborting"); - za = l; - e(a) -}, _sbrk:pc, _strerror_r:Ac, ___errno_location:function() { - return vb -}, ___gxx_personality_v0:aa(), _time:function(a) { - var b = Math.floor(Date.now() / 1E3); - a && (B[a >> 2] = b); - return b -}, __exit:Cc, ___cxa_end_catch:wc, STACKTOP:u, STACK_MAX:Ta, tempDoublePtr:qb, ABORT:za, cttz_i8:Yc, ctlz_i8:Xc, NaN:NaN, Infinity:Infinity, __ZTVN10__cxxabiv120__si_class_type_infoE:ob, _stderr:nb, __ZTVN10__cxxabiv117__class_type_infoE:pb, ___progname:k}, I), kc = r._strlen = V._strlen; -r._crypto_auth_hmacsha256 = V._crypto_auth_hmacsha256; -r._crypto_sign_edwards25519sha512batch = V._crypto_sign_edwards25519sha512batch; -r._crypto_core_salsa208 = V._crypto_core_salsa208; -r._crypto_box_curve25519xsalsa20poly1305_afternm = V._crypto_box_curve25519xsalsa20poly1305_afternm; -r._crypto_secretbox_xsalsa20poly1305 = V._crypto_secretbox_xsalsa20poly1305; -r._crypto_stream_salsa20_xor = V._crypto_stream_salsa20_xor; -r._crypto_stream_aes128ctr_xor_afternm = V._crypto_stream_aes128ctr_xor_afternm; -r._crypto_sign_edwards25519sha512batch_keypair = V._crypto_sign_edwards25519sha512batch_keypair; -r._crypto_hashblocks_sha512 = V._crypto_hashblocks_sha512; -r._crypto_hashblocks_sha256 = V._crypto_hashblocks_sha256; -r._crypto_scalarmult_curve25519_base = V._crypto_scalarmult_curve25519_base; -r._realloc = V._realloc; -r._crypto_sign_ed25519_open = V._crypto_sign_ed25519_open; -r._crypto_sign_keypair_from_raw_sk = V._crypto_sign_keypair_from_raw_sk; -r._calloc = V._calloc; -r._crypto_box_curve25519xsalsa20poly1305_keypair = V._crypto_box_curve25519xsalsa20poly1305_keypair; -r._crypto_stream_salsa2012_xor = V._crypto_stream_salsa2012_xor; -var rb = r._memset = V._memset; -r._crypto_stream_salsa20 = V._crypto_stream_salsa20; -var sb = r._memcpy = V._memcpy; -r._crypto_onetimeauth_poly1305 = V._crypto_onetimeauth_poly1305; -r._crypto_sign_ed25519_keypair = V._crypto_sign_ed25519_keypair; -r._crypto_auth_hmacsha512256 = V._crypto_auth_hmacsha512256; -r._crypto_sign_ed25519 = V._crypto_sign_ed25519; -r._crypto_box_curve25519xsalsa20poly1305_open = V._crypto_box_curve25519xsalsa20poly1305_open; -r._crypto_stream_aes128ctr_beforenm = V._crypto_stream_aes128ctr_beforenm; -r._crypto_stream_salsa208 = V._crypto_stream_salsa208; -r._crypto_stream_xsalsa20 = V._crypto_stream_xsalsa20; -r._crypto_scalarmult_curve25519 = V._crypto_scalarmult_curve25519; -r._crypto_box_curve25519xsalsa20poly1305 = V._crypto_box_curve25519xsalsa20poly1305; -r._crypto_onetimeauth_poly1305_verify = V._crypto_onetimeauth_poly1305_verify; -r._crypto_hash_sha512 = V._crypto_hash_sha512; -r._crypto_secretbox_xsalsa20poly1305_open = V._crypto_secretbox_xsalsa20poly1305_open; -r._crypto_sign_edwards25519sha512batch_open = V._crypto_sign_edwards25519sha512batch_open; -r._crypto_hash_sha256 = V._crypto_hash_sha256; -r._crypto_auth_hmacsha256_verify = V._crypto_auth_hmacsha256_verify; -r._crypto_verify_32 = V._crypto_verify_32; -r._crypto_auth_hmacsha512256_verify = V._crypto_auth_hmacsha512256_verify; -var vc = r._free = V._free; -r._crypto_box_curve25519xsalsa20poly1305_beforenm = V._crypto_box_curve25519xsalsa20poly1305_beforenm; -r._crypto_stream_aes128ctr = V._crypto_stream_aes128ctr; -r._crypto_core_salsa2012 = V._crypto_core_salsa2012; -r._crypto_verify_16 = V._crypto_verify_16; -r._crypto_core_salsa20 = V._crypto_core_salsa20; -r._crypto_stream_salsa208_xor = V._crypto_stream_salsa208_xor; -var Oa = r._malloc = V._malloc; -r._crypto_stream_aes128ctr_xor = V._crypto_stream_aes128ctr_xor; -r._crypto_box_curve25519xsalsa20poly1305_open_afternm = V._crypto_box_curve25519xsalsa20poly1305_open_afternm; -r._crypto_stream_xsalsa20_xor = V._crypto_stream_xsalsa20_xor; -r._crypto_stream_aes128ctr_afternm = V._crypto_stream_aes128ctr_afternm; -r._crypto_stream_salsa2012 = V._crypto_stream_salsa2012; -r._crypto_core_hsalsa20 = V._crypto_core_hsalsa20; -var mb = r.runPostSets = V.runPostSets; -r.dynCall_vi = V.dynCall_vi; -r.dynCall_vii = V.dynCall_vii; -r.dynCall_ii = V.dynCall_ii; -r.dynCall_viii = V.dynCall_viii; -r.dynCall_v = V.dynCall_v; -r.dynCall_iii = V.dynCall_iii; -var qa = function(a) { - return V.stackAlloc(a) -}, ja = function() { - return V.stackSave() -}, ka = function(a) { - V.stackRestore(a) -}, nc; -function X(a, b) { - a != m && ("number" == typeof a ? this.p(a) : b == m && "string" != typeof a ? this.k(a, 256) : this.k(a, b)) -} -function $c() { - return new X(m) -} -function ad(a, b) { - var c = bd[a.charCodeAt(b)]; - return c == m ? -1 : c -} -function cd(a) { - var b = $c(); - b.D(a); - return b -} -function Y(a, b) { - this.h = a | 0; - this.j = b | 0 -} -Y.Ca = {}; -Y.D = function(a) { - if(-128 <= a && 128 > a) { - var b = Y.Ca[a]; - if(b) { - return b - } - } - b = new Y(a | 0, 0 > a ? -1 : 0); - -128 <= a && 128 > a && (Y.Ca[a] = b); - return b -}; -Y.p = function(a) { - return isNaN(a) || !isFinite(a) ? Y.ZERO : a <= -Y.Ea ? Y.MIN_VALUE : a + 1 >= Y.Ea ? Y.MAX_VALUE : 0 > a ? Y.p(-a).i() : new Y(a % Y.B | 0, a / Y.B | 0) -}; -Y.v = function(a, b) { - return new Y(a, b) -}; -Y.k = function(a, b) { - 0 == a.length && e(Error("number format error: empty string")); - var c = b || 10; - (2 > c || 36 < c) && e(Error("radix out of range: " + c)); - if("-" == a.charAt(0)) { - return Y.k(a.substring(1), c).i() - } - 0 <= a.indexOf("-") && e(Error('number format error: interior "-" character: ' + a)); - for(var d = Y.p(Math.pow(c, 8)), f = Y.ZERO, g = 0;g < a.length;g += 8) { - var h = Math.min(8, a.length - g), i = parseInt(a.substring(g, g + h), c); - 8 > h ? (h = Y.p(Math.pow(c, h)), f = f.multiply(h).add(Y.p(i))) : (f = f.multiply(d), f = f.add(Y.p(i))) - } - return f -}; -Y.ea = 65536; -Y.Od = 16777216; -Y.B = Y.ea * Y.ea; -Y.Pd = Y.B / 2; -Y.Qd = Y.B * Y.ea; -Y.eb = Y.B * Y.B; -Y.Ea = Y.eb / 2; -Y.ZERO = Y.D(0); -Y.ONE = Y.D(1); -Y.Da = Y.D(-1); -Y.MAX_VALUE = Y.v(-1, 2147483647); -Y.MIN_VALUE = Y.v(0, -2147483648); -Y.cb = Y.D(16777216); -q = Y.prototype; -q.Z = function() { - return this.j * Y.B + this.ob() -}; -q.toString = function(a) { - a = a || 10; - (2 > a || 36 < a) && e(Error("radix out of range: " + a)); - if(this.G()) { - return"0" - } - if(this.n()) { - if(this.o(Y.MIN_VALUE)) { - var b = Y.p(a), c = this.F(b), b = c.multiply(b).R(this); - return c.toString(a) + b.h.toString(a) - } - return"-" + this.i().toString(a) - } - for(var c = Y.p(Math.pow(a, 6)), b = this, d = "";;) { - var f = b.F(c), g = b.R(f.multiply(c)).h.toString(a), b = f; - if(b.G()) { - return g + d - } - for(;6 > g.length;) { - g = "0" + g - } - d = "" + g + d - } -}; -q.ob = function() { - return 0 <= this.h ? this.h : Y.B + this.h -}; -q.G = function() { - return 0 == this.j && 0 == this.h -}; -q.n = function() { - return 0 > this.j -}; -q.Pa = function() { - return 1 == (this.h & 1) -}; -q.o = function(a) { - return this.j == a.j && this.h == a.h -}; -q.Ra = function() { - return 0 > this.ja(Y.cb) -}; -q.qb = function(a) { - return 0 < this.ja(a) -}; -q.rb = function(a) { - return 0 <= this.ja(a) -}; -q.ja = function(a) { - if(this.o(a)) { - return 0 - } - var b = this.n(), c = a.n(); - return b && !c ? -1 : !b && c ? 1 : this.R(a).n() ? -1 : 1 -}; -q.i = function() { - return this.o(Y.MIN_VALUE) ? Y.MIN_VALUE : this.xb().add(Y.ONE) -}; -q.add = function(a) { - var b = this.j >>> 16, c = this.j & 65535, d = this.h >>> 16, f = a.j >>> 16, g = a.j & 65535, h = a.h >>> 16, i; - i = 0 + ((this.h & 65535) + (a.h & 65535)); - a = 0 + (i >>> 16); - a += d + h; - d = 0 + (a >>> 16); - d += c + g; - c = 0 + (d >>> 16); - c = c + (b + f) & 65535; - return Y.v((a & 65535) << 16 | i & 65535, c << 16 | d & 65535) -}; -q.R = function(a) { - return this.add(a.i()) -}; -q.multiply = function(a) { - if(this.G() || a.G()) { - return Y.ZERO - } - if(this.o(Y.MIN_VALUE)) { - return a.Pa() ? Y.MIN_VALUE : Y.ZERO - } - if(a.o(Y.MIN_VALUE)) { - return this.Pa() ? Y.MIN_VALUE : Y.ZERO - } - if(this.n()) { - return a.n() ? this.i().multiply(a.i()) : this.i().multiply(a).i() - } - if(a.n()) { - return this.multiply(a.i()).i() - } - if(this.Ra() && a.Ra()) { - return Y.p(this.Z() * a.Z()) - } - var b = this.j >>> 16, c = this.j & 65535, d = this.h >>> 16, f = this.h & 65535, g = a.j >>> 16, h = a.j & 65535, i = a.h >>> 16, a = a.h & 65535, j, p, z, w; - w = 0 + f * a; - z = 0 + (w >>> 16); - z += d * a; - p = 0 + (z >>> 16); - z = (z & 65535) + f * i; - p += z >>> 16; - z &= 65535; - p += c * a; - j = 0 + (p >>> 16); - p = (p & 65535) + d * i; - j += p >>> 16; - p &= 65535; - p += f * h; - j += p >>> 16; - p &= 65535; - j = j + (b * a + c * i + d * h + f * g) & 65535; - return Y.v(z << 16 | w & 65535, j << 16 | p) -}; -q.F = function(a) { - a.G() && e(Error("division by zero")); - if(this.G()) { - return Y.ZERO - } - if(this.o(Y.MIN_VALUE)) { - if(a.o(Y.ONE) || a.o(Y.Da)) { - return Y.MIN_VALUE - } - if(a.o(Y.MIN_VALUE)) { - return Y.ONE - } - var b = this.Db().F(a).shiftLeft(1); - if(b.o(Y.ZERO)) { - return a.n() ? Y.ONE : Y.Da - } - var c = this.R(a.multiply(b)); - return b.add(c.F(a)) - } - if(a.o(Y.MIN_VALUE)) { - return Y.ZERO - } - if(this.n()) { - return a.n() ? this.i().F(a.i()) : this.i().F(a).i() - } - if(a.n()) { - return this.F(a.i()).i() - } - for(var d = Y.ZERO, c = this;c.rb(a);) { - for(var b = Math.max(1, Math.floor(c.Z() / a.Z())), f = Math.ceil(Math.log(b) / Math.LN2), f = 48 >= f ? 1 : Math.pow(2, f - 48), g = Y.p(b), h = g.multiply(a);h.n() || h.qb(c);) { - b -= f, g = Y.p(b), h = g.multiply(a) - } - g.G() && (g = Y.ONE); - d = d.add(g); - c = c.R(h) - } - return d -}; -q.xb = function() { - return Y.v(~this.h, ~this.j) -}; -q.shiftLeft = function(a) { - a &= 63; - if(0 == a) { - return this - } - var b = this.h; - return 32 > a ? Y.v(b << a, this.j << a | b >>> 32 - a) : Y.v(0, b << a - 32) -}; -q.Db = function() { - var a; - a = 1; - if(0 == a) { - return this - } - var b = this.j; - return 32 > a ? Y.v(this.h >>> a | b << 32 - a, b >> a) : Y.v(b >> a - 32, 0 <= b ? 0 : -1) -}; -q = X.prototype; -q.ga = function(a, b, c, d) { - for(var f = 0, g = 0;0 <= --d;) { - var h = a * this[f++] + b[c] + g, g = Math.floor(h / 67108864); - b[c++] = h & 67108863 - } - return g -}; -q.f = 26; -q.u = 67108863; -q.K = 67108864; -q.bb = Math.pow(2, 52); -q.Aa = 26; -q.Ba = 0; -var bd = [], dd, Z; -dd = 48; -for(Z = 0;9 >= Z;++Z) { - bd[dd++] = Z -} -dd = 97; -for(Z = 10;36 > Z;++Z) { - bd[dd++] = Z -} -dd = 65; -for(Z = 10;36 > Z;++Z) { - bd[dd++] = Z -} -q = X.prototype; -q.copyTo = function(a) { - for(var b = this.b - 1;0 <= b;--b) { - a[b] = this[b] - } - a.b = this.b; - a.c = this.c -}; -q.D = function(a) { - this.b = 1; - this.c = 0 > a ? -1 : 0; - 0 < a ? this[0] = a : -1 > a ? this[0] = a + DV : this.b = 0 -}; -q.k = function(a, b) { - var c; - if(16 == b) { - c = 4 - }else { - if(8 == b) { - c = 3 - }else { - if(256 == b) { - c = 8 - }else { - if(2 == b) { - c = 1 - }else { - if(32 == b) { - c = 5 - }else { - if(4 == b) { - c = 2 - }else { - this.nb(a, b); - return - } - } - } - } - } - } - this.c = this.b = 0; - for(var d = a.length, f = n, g = 0;0 <= --d;) { - var h = 8 == c ? a[d] & 255 : ad(a, d); - 0 > h ? "-" == a.charAt(d) && (f = l) : (f = n, 0 == g ? this[this.b++] = h : g + c > this.f ? (this[this.b - 1] |= (h & (1 << this.f - g) - 1) << g, this[this.b++] = h >> this.f - g) : this[this.b - 1] |= h << g, g += c, g >= this.f && (g -= this.f)) - } - 8 == c && 0 != (a[0] & 128) && (this.c = -1, 0 < g && (this[this.b - 1] |= (1 << this.f - g) - 1 << g)); - this.C(); - f && X.ZERO.t(this, this) -}; -q.C = function() { - for(var a = this.c & this.u;0 < this.b && this[this.b - 1] == a;) { - --this.b - } -}; -q.la = function(a, b) { - var c; - for(c = this.b - 1;0 <= c;--c) { - b[c + a] = this[c] - } - for(c = a - 1;0 <= c;--c) { - b[c] = 0 - } - b.b = this.b + a; - b.c = this.c -}; -q.jb = function(a, b) { - for(var c = a;c < this.b;++c) { - b[c - a] = this[c] - } - b.b = Math.max(this.b - a, 0); - b.c = this.c -}; -q.Qa = function(a, b) { - var c = a % this.f, d = this.f - c, f = (1 << d) - 1, g = Math.floor(a / this.f), h = this.c << c & this.u, i; - for(i = this.b - 1;0 <= i;--i) { - b[i + g + 1] = this[i] >> d | h, h = (this[i] & f) << c - } - for(i = g - 1;0 <= i;--i) { - b[i] = 0 - } - b[g] = h; - b.b = this.b + g + 1; - b.c = this.c; - b.C() -}; -q.zb = function(a, b) { - b.c = this.c; - var c = Math.floor(a / this.f); - if(c >= this.b) { - b.b = 0 - }else { - var d = a % this.f, f = this.f - d, g = (1 << d) - 1; - b[0] = this[c] >> d; - for(var h = c + 1;h < this.b;++h) { - b[h - c - 1] |= (this[h] & g) << f, b[h - c] = this[h] >> d - } - 0 < d && (b[this.b - c - 1] |= (this.c & g) << f); - b.b = this.b - c; - b.C() - } -}; -q.t = function(a, b) { - for(var c = 0, d = 0, f = Math.min(a.b, this.b);c < f;) { - d += this[c] - a[c], b[c++] = d & this.u, d >>= this.f - } - if(a.b < this.b) { - for(d -= a.c;c < this.b;) { - d += this[c], b[c++] = d & this.u, d >>= this.f - } - d += this.c - }else { - for(d += this.c;c < a.b;) { - d -= a[c], b[c++] = d & this.u, d >>= this.f - } - d -= a.c - } - b.c = 0 > d ? -1 : 0; - -1 > d ? b[c++] = this.K + d : 0 < d && (b[c++] = d); - b.b = c; - b.C() -}; -q.vb = function(a) { - var b = $.Xa, c = this.abs(), d = b.abs(), f = c.b; - for(a.b = f + d.b;0 <= --f;) { - a[f] = 0 - } - for(f = 0;f < d.b;++f) { - a[f + c.b] = c.ga(d[f], a, f, c.b) - } - a.c = 0; - a.C(); - this.c != b.c && X.ZERO.t(a, a) -}; -q.Ja = function(a, b, c) { - var d = a.abs(); - if(!(0 >= d.b)) { - var f = this.abs(); - if(f.b < d.b) { - b != m && b.D(0), c != m && this.copyTo(c) - }else { - c == m && (c = $c()); - var g = $c(), h = this.c, a = a.c, i = d[d.b - 1], j = 1, p; - if(0 != (p = i >>> 16)) { - i = p, j += 16 - } - if(0 != (p = i >> 8)) { - i = p, j += 8 - } - if(0 != (p = i >> 4)) { - i = p, j += 4 - } - if(0 != (p = i >> 2)) { - i = p, j += 2 - } - 0 != i >> 1 && (j += 1); - i = this.f - j; - 0 < i ? (d.Qa(i, g), f.Qa(i, c)) : (d.copyTo(g), f.copyTo(c)); - d = g.b; - f = g[d - 1]; - if(0 != f) { - p = f * (1 << this.Aa) + (1 < d ? g[d - 2] >> this.Ba : 0); - j = this.bb / p; - p = (1 << this.Aa) / p; - var z = 1 << this.Ba, w = c.b, C = w - d, D = b == m ? $c() : b; - g.la(C, D); - 0 <= c.U(D) && (c[c.b++] = 1, c.t(D, c)); - X.ONE.la(d, D); - for(D.t(g, g);g.b < d;) { - g[g.b++] = 0 - } - for(;0 <= --C;) { - var L = c[--w] == f ? this.u : Math.floor(c[w] * j + (c[w - 1] + z) * p); - if((c[w] += g.ga(L, c, C, d)) < L) { - g.la(C, D); - for(c.t(D, c);c[w] < --L;) { - c.t(D, c) - } - } - } - b != m && (c.jb(d, b), h != a && X.ZERO.t(b, b)); - c.b = d; - c.C(); - 0 < i && c.zb(i, c); - 0 > h && X.ZERO.t(c, c) - } - } - } -}; -q.toString = function(a) { - if(0 > this.c) { - return"-" + this.i().toString(a) - } - if(16 == a) { - a = 4 - }else { - if(8 == a) { - a = 3 - }else { - if(2 == a) { - a = 1 - }else { - if(32 == a) { - a = 5 - }else { - if(4 == a) { - a = 2 - }else { - return this.Fb(a) - } - } - } - } - } - var b = (1 << a) - 1, c, d = n, f = "", g = this.b, h = this.f - g * this.f % a; - if(0 < g--) { - if(h < this.f && 0 < (c = this[g] >> h)) { - d = l, f = "0123456789abcdefghijklmnopqrstuvwxyz".charAt(c) - } - for(;0 <= g;) { - h < a ? (c = (this[g] & (1 << h) - 1) << a - h, c |= this[--g] >> (h += this.f - a)) : (c = this[g] >> (h -= a) & b, 0 >= h && (h += this.f, --g)), 0 < c && (d = l), d && (f += "0123456789abcdefghijklmnopqrstuvwxyz".charAt(c)) - } - } - return d ? f : "0" -}; -q.i = function() { - var a = $c(); - X.ZERO.t(this, a); - return a -}; -q.abs = function() { - return 0 > this.c ? this.i() : this -}; -q.U = function(a) { - var b = this.c - a.c; - if(0 != b) { - return b - } - var c = this.b, b = c - a.b; - if(0 != b) { - return 0 > this.c ? -b : b - } - for(;0 <= --c;) { - if(0 != (b = this[c] - a[c])) { - return b - } - } - return 0 -}; -X.ZERO = cd(0); -X.ONE = cd(1); -q = X.prototype; -q.nb = function(a, b) { - this.D(0); - b == m && (b = 10); - for(var c = this.S(b), d = Math.pow(b, c), f = n, g = 0, h = 0, i = 0;i < a.length;++i) { - var j = ad(a, i); - 0 > j ? "-" == a.charAt(i) && 0 == this.ra() && (f = l) : (h = b * h + j, ++g >= c && (this.Ia(d), this.Ha(h), h = g = 0)) - } - 0 < g && (this.Ia(Math.pow(b, g)), this.Ha(h)); - f && X.ZERO.t(this, this) -}; -q.S = function(a) { - return Math.floor(Math.LN2 * this.f / Math.log(a)) -}; -q.ra = function() { - return 0 > this.c ? -1 : 0 >= this.b || 1 == this.b && 0 >= this[0] ? 0 : 1 -}; -q.Ia = function(a) { - this[this.b] = this.ga(a - 1, this, 0, this.b); - ++this.b; - this.C() -}; -q.Ha = function(a) { - var b = 0; - if(0 != a) { - for(;this.b <= b;) { - this[this.b++] = 0 - } - for(this[b] += a;this[b] >= this.K;) { - this[b] -= this.K, ++b >= this.b && (this[this.b++] = 0), ++this[b] - } - } -}; -q.Fb = function(a) { - a == m && (a = 10); - if(0 == this.ra() || 2 > a || 36 < a) { - return"0" - } - var b = this.S(a), b = Math.pow(a, b), c = cd(b), d = $c(), f = $c(), g = ""; - for(this.Ja(c, d, f);0 < d.ra();) { - g = (b + f.Oa()).toString(a).substr(1) + g, d.Ja(c, d, f) - } - return f.Oa().toString(a) + g -}; -q.Oa = function() { - if(0 > this.c) { - if(1 == this.b) { - return this[0] - this.K - } - if(0 == this.b) { - return-1 - } - }else { - if(1 == this.b) { - return this[0] - } - if(0 == this.b) { - return 0 - } - } - return(this[1] & (1 << 32 - this.f) - 1) << this.f | this[0] -}; -q.fa = function(a, b) { - for(var c = 0, d = 0, f = Math.min(a.b, this.b);c < f;) { - d += this[c] + a[c], b[c++] = d & this.u, d >>= this.f - } - if(a.b < this.b) { - for(d += a.c;c < this.b;) { - d += this[c], b[c++] = d & this.u, d >>= this.f - } - d += this.c - }else { - for(d += this.c;c < a.b;) { - d += a[c], b[c++] = d & this.u, d >>= this.f - } - d += a.c - } - b.c = 0 > d ? -1 : 0; - 0 < d ? b[c++] = d : -1 > d && (b[c++] = this.K + d); - b.b = c; - b.C() -}; -var $ = {abs:function(a, b) { - var c = new Y(a, b), c = c.n() ? c.i() : c; - B[qb >> 2] = c.h; - B[qb + 4 >> 2] = c.j -}, Ka:function() { - $.kb || ($.kb = l, $.Xa = new X, $.Xa.k("4294967296", 10), $.sa = new X, $.sa.k("18446744073709551616", 10), $.xe = new X, $.ye = new X) -}, me:function(a, b) { - var c = new X; - c.k(b.toString(), 10); - var d = new X; - c.vb(d); - c = new X; - c.k(a.toString(), 10); - var f = new X; - c.fa(d, f); - return f -}, stringify:function(a, b, c) { - a = (new Y(a, b)).toString(); - c && "-" == a[0] && ($.Ka(), c = new X, c.k(a, 10), a = new X, $.sa.fa(c, a), a = a.toString(10)); - return a -}, k:function(a, b, c, d, f) { - $.Ka(); - var g = new X; - g.k(a, b); - a = new X; - a.k(c, 10); - c = new X; - c.k(d, 10); - f && 0 > g.U(X.ZERO) && (d = new X, g.fa($.sa, d), g = d); - d = n; - 0 > g.U(a) ? (g = a, d = l) : 0 < g.U(c) && (g = c, d = l); - g = Y.k(g.toString()); - B[qb >> 2] = g.h; - B[qb + 4 >> 2] = g.j; - d && e("range error") -}}; -nc = $; -var ed, fd; -r.callMain = r.$d = function(a) { - function b() { - for(var a = 0;3 > a;a++) { - d.push(0) - } - } - v(0 == K, "cannot call main when async dependencies remain! (listen on __ATMAIN__)"); - v(0 == Wa.length, "cannot call main when preRun functions remain to be called"); - a = a || []; - ab || (ab = l, Va(Xa)); - var c = a.length + 1, d = [F(J("/bin/this.program"), "i8", Ka)]; - b(); - for(var f = 0;f < c - 1;f += 1) { - d.push(F(J(a[f]), "i8", Ka)), b() - } - d.push(0); - d = F(d, "i32", Ka); - ed = u; - fd = l; - var g; - try { - g = r._main(c, d, 0) - }catch(h) { - if(h && "object" == typeof h && "ExitStatus" == h.type) { - return r.print("Exit Status: " + h.value), h.value - } - "SimulateInfiniteLoop" == h ? r.noExitRuntime = l : e(h) - }finally { - fd = n - } - r.noExitRuntime || gd(g) -}; -function lb(a) { - function b() { - ab || (ab = l, Va(Xa)); - Va(Ya); - gb = l; - r._main && kb && r.callMain(a); - if(r.postRun) { - for("function" == typeof r.postRun && (r.postRun = [r.postRun]);r.postRun.length;) { - cb(r.postRun.shift()) - } - } - Va($a) - } - a = a || r.arguments; - if(0 < K) { - r.P("run() called, but dependencies remain, so not running") - }else { - if(r.preRun) { - for("function" == typeof r.preRun && (r.preRun = [r.preRun]);r.preRun.length;) { - bb(r.preRun.shift()) - } - } - Va(Wa); - 0 < K || (r.setStatus ? (r.setStatus("Running..."), setTimeout(function() { - setTimeout(function() { - r.setStatus("") - }, 1); - za || b() - }, 1)) : b()) - } -} -r.run = r.we = lb; -function gd(a) { - za = l; - u = ed; - Va(Za); - fd && e({type:"ExitStatus", value:a}) -} -r.exit = r.de = gd; -function wa(a) { - a && r.print(a); - za = l; - e("abort() at " + Error().stack) -} -r.abort = r.abort = wa; -if(r.preInit) { - for("function" == typeof r.preInit && (r.preInit = [r.preInit]);0 < r.preInit.length;) { - r.preInit.pop()() - } -} -var kb = l; -r.noInitialRun && (kb = n); -lb(); -r._crypto_auth_hmacsha256_BYTES = 32; -r._crypto_core_salsa2012_INPUTBYTES = 16; -r._crypto_box_curve25519xsalsa20poly1305_ZEROBYTES = 32; -r._crypto_core_salsa20_KEYBYTES = 32; -r._crypto_core_hsalsa20_OUTPUTBYTES = 32; -r._crypto_sign_edwards25519sha512batch_PUBLICKEYBYTES = 32; -r._crypto_secretbox_xsalsa20poly1305_ZEROBYTES = 32; -r._crypto_stream_salsa2012_NONCEBYTES = 8; -r._crypto_scalarmult_curve25519_SCALARBYTES = 32; -r._crypto_sign_edwards25519sha512batch_BYTES = 64; -r._crypto_auth_hmacsha512256_BYTES = 32; -r._crypto_core_salsa208_INPUTBYTES = 16; -r._crypto_stream_xsalsa20_KEYBYTES = 32; -r._crypto_sign_ed25519_BYTES = 64; -r._crypto_stream_salsa2012_KEYBYTES = 32; -r._crypto_stream_salsa20_KEYBYTES = 32; -r._crypto_secretbox_xsalsa20poly1305_BOXZEROBYTES = 16; -r._crypto_core_salsa20_INPUTBYTES = 16; -r._crypto_hashblocks_sha256_BLOCKBYTES = 64; -r._crypto_onetimeauth_poly1305_KEYBYTES = 32; -r._crypto_auth_hmacsha512256_KEYBYTES = 32; -r._crypto_hash_sha256_BYTES = 32; -r._crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES = 32; -r._crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES = 32; -r._crypto_sign_ed25519_SECRETKEYBYTES = 64; -r._crypto_stream_salsa208_NONCEBYTES = 8; -r._crypto_scalarmult_curve25519_BYTES = 32; -r._crypto_hashblocks_sha512_STATEBYTES = 64; -r._crypto_stream_salsa20_NONCEBYTES = 8; -r._crypto_sign_ed25519_PUBLICKEYBYTES = 32; -r._crypto_core_salsa208_OUTPUTBYTES = 64; -r._crypto_core_hsalsa20_INPUTBYTES = 16; -r._crypto_stream_aes128ctr_BEFORENMBYTES = 1408; -r._crypto_auth_hmacsha256_KEYBYTES = 32; -r._crypto_verify_32_BYTES = 32; -r._crypto_verify_16_BYTES = 16; -r._crypto_box_curve25519xsalsa20poly1305_NONCEBYTES = 24; -r._crypto_core_salsa2012_KEYBYTES = 32; -r._crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES = 16; -r._crypto_hashblocks_sha256_STATEBYTES = 32; -r._crypto_secretbox_xsalsa20poly1305_KEYBYTES = 32; -r._crypto_stream_xsalsa20_NONCEBYTES = 24; -r._crypto_onetimeauth_poly1305_BYTES = 16; -r._crypto_box_curve25519xsalsa20poly1305_SECRETKEYBYTES = 32; -r._crypto_hash_sha512_BYTES = 64; -r._crypto_core_salsa20_CONSTBYTES = 16; -r._crypto_core_salsa2012_CONSTBYTES = 16; -r._crypto_core_salsa2012_OUTPUTBYTES = 64; -r._crypto_core_salsa20_OUTPUTBYTES = 64; -r._crypto_core_hsalsa20_CONSTBYTES = 16; -r._crypto_stream_salsa208_KEYBYTES = 32; -r._crypto_stream_aes128ctr_NONCEBYTES = 16; -r._crypto_core_salsa208_CONSTBYTES = 16; -r._crypto_stream_aes128ctr_KEYBYTES = 16; -r._crypto_core_hsalsa20_KEYBYTES = 32; -r._crypto_secretbox_xsalsa20poly1305_NONCEBYTES = 24; -r._crypto_sign_edwards25519sha512batch_SECRETKEYBYTES = 64; -r._crypto_core_salsa208_KEYBYTES = 32; -r._crypto_hashblocks_sha512_BLOCKBYTES = 128; -r._crypto_hash_BYTES = r._crypto_hash_sha512_BYTES; -r._crypto_sign = r._crypto_sign_ed25519; -r._crypto_stream_xor_afternm = r._crypto_stream_xsalsa20_xor_afternm; -r._crypto_box_PUBLICKEYBYTES = r._crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES; -r._crypto_box_SECRETKEYBYTES = r._crypto_box_curve25519xsalsa20poly1305_SECRETKEYBYTES; -r._crypto_box_open_afternm = r._crypto_box_curve25519xsalsa20poly1305_open_afternm; -r._crypto_sign_SECRETKEYBYTES = r._crypto_sign_ed25519_SECRETKEYBYTES; -r._crypto_box_beforenm = r._crypto_box_curve25519xsalsa20poly1305_beforenm; -r._crypto_secretbox = r._crypto_secretbox_xsalsa20poly1305; -r._crypto_hash = r._crypto_hash_sha512; -r._crypto_sign_PUBLICKEYBYTES = r._crypto_sign_ed25519_PUBLICKEYBYTES; -r._crypto_stream_xor = r._crypto_stream_xsalsa20_xor; -r._crypto_box = r._crypto_box_curve25519xsalsa20poly1305; -r._crypto_secretbox_ZEROBYTES = r._crypto_secretbox_xsalsa20poly1305_ZEROBYTES; -r._crypto_box_ZEROBYTES = r._crypto_box_curve25519xsalsa20poly1305_ZEROBYTES; -r._crypto_secretbox_KEYBYTES = r._crypto_secretbox_xsalsa20poly1305_KEYBYTES; -r._crypto_stream_beforenm = r._crypto_stream_xsalsa20_beforenm; -r._crypto_onetimeauth_verify = r._crypto_onetimeauth_poly1305_verify; -r._crypto_box_BOXZEROBYTES = r._crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES; -r._crypto_hashblocks = r._crypto_hashblocks_sha512; -r._crypto_stream = r._crypto_stream_xsalsa20; -r._crypto_onetimeauth_KEYBYTES = r._crypto_onetimeauth_poly1305_KEYBYTES; -r._crypto_box_afternm = r._crypto_box_curve25519xsalsa20poly1305_afternm; -r._crypto_secretbox_BOXZEROBYTES = r._crypto_secretbox_xsalsa20poly1305_BOXZEROBYTES; -r._crypto_hashblocks_BLOCKBYTES = r._crypto_hashblocks_sha512_BLOCKBYTES; -r._crypto_box_keypair = r._crypto_box_curve25519xsalsa20poly1305_keypair; -r._crypto_auth = r._crypto_auth_hmacsha512256; -r._crypto_box_BEFORENMBYTES = r._crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES; -r._crypto_secretbox_NONCEBYTES = r._crypto_secretbox_xsalsa20poly1305_NONCEBYTES; -r._crypto_stream_KEYBYTES = r._crypto_stream_xsalsa20_KEYBYTES; -r._crypto_box_NONCEBYTES = r._crypto_box_curve25519xsalsa20poly1305_NONCEBYTES; -r._crypto_auth_verify = r._crypto_auth_hmacsha512256_verify; -r._crypto_secretbox_open = r._crypto_secretbox_xsalsa20poly1305_open; -r._crypto_sign_BYTES = r._crypto_sign_ed25519_BYTES; -r._crypto_hashblocks_STATEBYTES = r._crypto_hashblocks_sha512_STATEBYTES; -r._crypto_auth_BYTES = r._crypto_auth_hmacsha512256_BYTES; -r._crypto_stream_BEFORENMBYTES = r._crypto_stream_xsalsa20_BEFORENMBYTES; -r._crypto_auth_KEYBYTES = r._crypto_auth_hmacsha512256_KEYBYTES; -r._crypto_stream_afternm = r._crypto_stream_xsalsa20_afternm; -r._crypto_sign_keypair = r._crypto_sign_ed25519_keypair; -r._crypto_sign_open = r._crypto_sign_ed25519_open; -r._crypto_onetimeauth_BYTES = r._crypto_onetimeauth_poly1305_BYTES; -r._crypto_box_open = r._crypto_box_curve25519xsalsa20poly1305_open; -r._crypto_stream_NONCEBYTES = r._crypto_stream_xsalsa20_NONCEBYTES; -r._crypto_onetimeauth = r._crypto_onetimeauth_poly1305; -var nacl = (function () { - 'use strict'; - var exports = {}; - - //--------------------------------------------------------------------------- - // Horrifying UTF-8 and hex codecs - - function encode_utf8(s) { - return encode_latin1(unescape(encodeURIComponent(s))); - } - - function encode_latin1(s) { - var result = new Uint8Array(s.length); - for (var i = 0; i < s.length; i++) { - var c = s.charCodeAt(i); - if ((c & 0xff) !== c) throw {message: "Cannot encode string in Latin1", str: s}; - result[i] = (c & 0xff); - } - return result; - } - - function decode_utf8(bs) { - return decodeURIComponent(escape(decode_latin1(bs))); - } - - function decode_latin1(bs) { - var encoded = []; - for (var i = 0; i < bs.length; i++) { - encoded.push(String.fromCharCode(bs[i])); - } - return encoded.join(''); - } - - function to_hex(bs) { - var encoded = []; - for (var i = 0; i < bs.length; i++) { - encoded.push("0123456789abcdef"[(bs[i] >> 4) & 15]); - encoded.push("0123456789abcdef"[bs[i] & 15]); - } - return encoded.join(''); - } - - function from_hex(s) { - var result = new Uint8Array(s.length / 2); - for (var i = 0; i < s.length / 2; i++) { - result[i] = parseInt(s.substr(2*i,2),16); - } - return result; - } - - //--------------------------------------------------------------------------- - // Allocation - - function MALLOC(nbytes) { - var result = nacl_raw._malloc(nbytes); - if (result === 0) { - throw {message: "malloc() failed", nbytes: nbytes}; - } - return result; - } - - function FREE(pointer) { - nacl_raw._free(pointer); - } - - //--------------------------------------------------------------------------- - - function injectBytes(bs, leftPadding) { - var p = leftPadding || 0; - var address = MALLOC(bs.length + p); - nacl_raw.HEAPU8.set(bs, address + p); - for (var i = address; i < address + p; i++) { - nacl_raw.HEAPU8[i] = 0; - } - return address; - } - - function check_injectBytes(function_name, what, thing, expected_length, leftPadding) { - check_length(function_name, what, thing, expected_length); - return injectBytes(thing, leftPadding); - } - - function extractBytes(address, length) { - var result = new Uint8Array(length); - result.set(nacl_raw.HEAPU8.subarray(address, address + length)); - return result; - } - - //--------------------------------------------------------------------------- - - function check(function_name, result) { - if (result !== 0) { - throw {message: "nacl_raw." + function_name + " signalled an error"}; - } - } - - function check_length(function_name, what, thing, expected_length) { - if (thing.length !== expected_length) { - throw {message: "nacl." + function_name + " expected " + - expected_length + "-byte " + what + " but got length " + thing.length}; - } - } - - function Target(length) { - this.length = length; - this.address = MALLOC(length); - } - - Target.prototype.extractBytes = function (offset) { - var result = extractBytes(this.address + (offset || 0), this.length - (offset || 0)); - FREE(this.address); - this.address = null; - return result; - }; - - function free_all(addresses) { - for (var i = 0; i < addresses.length; i++) { - FREE(addresses[i]); - } - } - - //--------------------------------------------------------------------------- - // Boxing - - function crypto_box_keypair() { - var pk = new Target(nacl_raw._crypto_box_PUBLICKEYBYTES); - var sk = new Target(nacl_raw._crypto_box_SECRETKEYBYTES); - check("_crypto_box_keypair", nacl_raw._crypto_box_keypair(pk.address, sk.address)); - return {boxPk: pk.extractBytes(), boxSk: sk.extractBytes()}; - } - - function crypto_box_random_nonce() { - return nacl_raw.RandomBytes.crypto.randomBytes(nacl_raw._crypto_box_NONCEBYTES); - } - - function crypto_box(msg, nonce, pk, sk) { - var m = injectBytes(msg, nacl_raw._crypto_box_ZEROBYTES); - var na = check_injectBytes("crypto_box", "nonce", nonce, nacl_raw._crypto_box_NONCEBYTES); - var pka = check_injectBytes("crypto_box", "pk", pk, nacl_raw._crypto_box_PUBLICKEYBYTES); - var ska = check_injectBytes("crypto_box", "sk", sk, nacl_raw._crypto_box_SECRETKEYBYTES); - var c = new Target(msg.length + nacl_raw._crypto_box_ZEROBYTES); - check("_crypto_box", nacl_raw._crypto_box(c.address, m, c.length, 0, na, pka, ska)); - free_all([m, na, pka, ska]); - return c.extractBytes(nacl_raw._crypto_box_BOXZEROBYTES); - } - - function crypto_box_open(ciphertext, nonce, pk, sk) { - var c = injectBytes(ciphertext, nacl_raw._crypto_box_BOXZEROBYTES); - var na = check_injectBytes("crypto_box_open", - "nonce", nonce, nacl_raw._crypto_box_NONCEBYTES); - var pka = check_injectBytes("crypto_box_open", - "pk", pk, nacl_raw._crypto_box_PUBLICKEYBYTES); - var ska = check_injectBytes("crypto_box_open", - "sk", sk, nacl_raw._crypto_box_SECRETKEYBYTES); - var m = new Target(ciphertext.length + nacl_raw._crypto_box_BOXZEROBYTES); - check("_crypto_box_open", nacl_raw._crypto_box_open(m.address, c, m.length, 0, na, pka, ska)); - free_all([c, na, pka, ska]); - return m.extractBytes(nacl_raw._crypto_box_ZEROBYTES); - } - - function crypto_box_precompute(pk, sk) { - var pka = check_injectBytes("crypto_box_precompute", - "pk", pk, nacl_raw._crypto_box_PUBLICKEYBYTES); - var ska = check_injectBytes("crypto_box_precompute", - "sk", sk, nacl_raw._crypto_box_SECRETKEYBYTES); - var k = new Target(nacl_raw._crypto_box_BEFORENMBYTES); - check("_crypto_box_beforenm", - nacl_raw._crypto_box_beforenm(k.address, pka, ska)); - free_all([pka, ska]); - return {boxK: k.extractBytes()}; - } - - function crypto_box_precomputed(msg, nonce, state) { - var m = injectBytes(msg, nacl_raw._crypto_box_ZEROBYTES); - var na = check_injectBytes("crypto_box_precomputed", - "nonce", nonce, nacl_raw._crypto_box_NONCEBYTES); - var ka = check_injectBytes("crypto_box_precomputed", - "boxK", state.boxK, nacl_raw._crypto_box_BEFORENMBYTES); - var c = new Target(msg.length + nacl_raw._crypto_box_ZEROBYTES); - check("_crypto_box_afternm", - nacl_raw._crypto_box_afternm(c.address, m, c.length, 0, na, ka)); - free_all([m, na, ka]); - return c.extractBytes(nacl_raw._crypto_box_BOXZEROBYTES); - } - - function crypto_box_open_precomputed(ciphertext, nonce, state) { - var c = injectBytes(ciphertext, nacl_raw._crypto_box_BOXZEROBYTES); - var na = check_injectBytes("crypto_box_open_precomputed", - "nonce", nonce, nacl_raw._crypto_box_NONCEBYTES); - var ka = check_injectBytes("crypto_box_open_precomputed", - "boxK", state.boxK, nacl_raw._crypto_box_BEFORENMBYTES); - var m = new Target(ciphertext.length + nacl_raw._crypto_box_BOXZEROBYTES); - check("_crypto_box_open_afternm", - nacl_raw._crypto_box_open_afternm(m.address, c, m.length, 0, na, ka)); - free_all([c, na, ka]); - return m.extractBytes(nacl_raw._crypto_box_ZEROBYTES); - } - - //--------------------------------------------------------------------------- - // Hashing - - function crypto_hash(bs) { - var address = injectBytes(bs); - var hash = new Target(nacl_raw._crypto_hash_BYTES); - check("_crypto_hash", nacl_raw._crypto_hash(hash.address, address, bs.length, 0)); - FREE(address); - return hash.extractBytes(); - } - - function crypto_hash_sha256(bs) { - var address = injectBytes(bs); - var hash = new Target(nacl_raw._crypto_hash_sha256_BYTES); - check("_crypto_hash_sha256", - nacl_raw._crypto_hash_sha256(hash.address, address, bs.length, 0)); - FREE(address); - return hash.extractBytes(); - } - - function crypto_hash_string(s) { - return crypto_hash(encode_utf8(s)); - } - - //--------------------------------------------------------------------------- - // Symmetric-key encryption - - function crypto_stream_random_nonce() { - return nacl_raw.RandomBytes.crypto.randomBytes(nacl_raw._crypto_stream_NONCEBYTES); - } - - function crypto_stream(len, nonce, key) { - var na = check_injectBytes("crypto_stream", - "nonce", nonce, nacl_raw._crypto_stream_NONCEBYTES); - var ka = check_injectBytes("crypto_stream", - "key", key, nacl_raw._crypto_stream_KEYBYTES); - var out = new Target(len); - check("_crypto_stream", nacl_raw._crypto_stream(out.address, len, 0, na, ka)); - free_all([na, ka]); - return out.extractBytes(); - } - - function crypto_stream_xor(msg, nonce, key) { - var na = check_injectBytes("crypto_stream_xor", - "nonce", nonce, nacl_raw._crypto_stream_NONCEBYTES); - var ka = check_injectBytes("crypto_stream_xor", - "key", key, nacl_raw._crypto_stream_KEYBYTES); - var ma = injectBytes(msg); - var out = new Target(msg.length); - check("_crypto_stream_xor", - nacl_raw._crypto_stream_xor(out.address, ma, msg.length, 0, na, ka)); - free_all([na, ka, ma]); - return out.extractBytes(); - } - - //--------------------------------------------------------------------------- - // One-time authentication - - function crypto_onetimeauth(msg, key) { - var ka = check_injectBytes("crypto_onetimeauth", - "key", key, nacl_raw._crypto_onetimeauth_KEYBYTES); - var ma = injectBytes(msg); - var authenticator = new Target(nacl_raw._crypto_onetimeauth_BYTES); - check("_crypto_onetimeauth", - nacl_raw._crypto_onetimeauth(authenticator.address, ma, msg.length, 0, ka)); - free_all([ka, ma]); - return authenticator.extractBytes(); - } - - function crypto_onetimeauth_verify(authenticator, msg, key) { - if (authenticator.length != nacl_raw._crypto_onetimeauth_BYTES) return false; - var ka = check_injectBytes("crypto_onetimeauth_verify", - "key", key, nacl_raw._crypto_onetimeauth_KEYBYTES); - var ma = injectBytes(msg); - var aa = injectBytes(authenticator); - var result = nacl_raw._crypto_onetimeauth_verify(aa, ma, msg.length, 0, ka); - free_all([ka, ma, aa]); - return (result == 0); - } - - //--------------------------------------------------------------------------- - // Authentication - - function crypto_auth(msg, key) { - var ka = check_injectBytes("crypto_auth", "key", key, nacl_raw._crypto_auth_KEYBYTES); - var ma = injectBytes(msg); - var authenticator = new Target(nacl_raw._crypto_auth_BYTES); - check("_crypto_auth", nacl_raw._crypto_auth(authenticator.address, ma, msg.length, 0, ka)); - free_all([ka, ma]); - return authenticator.extractBytes(); - } - - function crypto_auth_verify(authenticator, msg, key) { - if (authenticator.length != nacl_raw._crypto_auth_BYTES) return false; - var ka = check_injectBytes("crypto_auth_verify", - "key", key, nacl_raw._crypto_auth_KEYBYTES); - var ma = injectBytes(msg); - var aa = injectBytes(authenticator); - var result = nacl_raw._crypto_auth_verify(aa, ma, msg.length, 0, ka); - free_all([ka, ma, aa]); - return (result == 0); - } - - //--------------------------------------------------------------------------- - // Authenticated symmetric-key encryption - - function crypto_secretbox_random_nonce() { - return nacl_raw.RandomBytes.crypto.randomBytes(nacl_raw._crypto_secretbox_NONCEBYTES); - } - - function crypto_secretbox(msg, nonce, key) { - var m = injectBytes(msg, nacl_raw._crypto_secretbox_ZEROBYTES); - var na = check_injectBytes("crypto_secretbox", - "nonce", nonce, nacl_raw._crypto_secretbox_NONCEBYTES); - var ka = check_injectBytes("crypto_secretbox", - "key", key, nacl_raw._crypto_secretbox_KEYBYTES); - var c = new Target(msg.length + nacl_raw._crypto_secretbox_ZEROBYTES); - check("_crypto_secretbox", nacl_raw._crypto_secretbox(c.address, m, c.length, 0, na, ka)); - free_all([m, na, ka]); - return c.extractBytes(nacl_raw._crypto_secretbox_BOXZEROBYTES); - } - - function crypto_secretbox_open(ciphertext, nonce, key) { - var c = injectBytes(ciphertext, nacl_raw._crypto_secretbox_BOXZEROBYTES); - var na = check_injectBytes("crypto_secretbox_open", - "nonce", nonce, nacl_raw._crypto_secretbox_NONCEBYTES); - var ka = check_injectBytes("crypto_secretbox_open", - "key", key, nacl_raw._crypto_secretbox_KEYBYTES); - var m = new Target(ciphertext.length + nacl_raw._crypto_secretbox_BOXZEROBYTES); - check("_crypto_secretbox_open", - nacl_raw._crypto_secretbox_open(m.address, c, m.length, 0, na, ka)); - free_all([c, na, ka]); - return m.extractBytes(nacl_raw._crypto_secretbox_ZEROBYTES); - } - - //--------------------------------------------------------------------------- - // Signing - - function crypto_sign_keypair() { - var pk = new Target(nacl_raw._crypto_sign_PUBLICKEYBYTES); - var sk = new Target(nacl_raw._crypto_sign_SECRETKEYBYTES); - check("_crypto_sign_keypair", nacl_raw._crypto_sign_keypair(pk.address, sk.address)); - return {signPk: pk.extractBytes(), signSk: sk.extractBytes()}; - } - - function crypto_sign(msg, sk) { - var ma = injectBytes(msg); - var ska = check_injectBytes("crypto_sign", "sk", sk, nacl_raw._crypto_sign_SECRETKEYBYTES); - var sm = new Target(msg.length + nacl_raw._crypto_sign_BYTES); - var smlen = new Target(8); - check("_crypto_sign", - nacl_raw._crypto_sign(sm.address, smlen.address, ma, msg.length, 0, ska)); - free_all([ma, ska]); - sm.length = nacl_raw.HEAPU32[smlen.address >> 2]; - FREE(smlen.address); - return sm.extractBytes(); - } - - function crypto_sign_detached(msg, sk) { - // WARNING: Experimental. Works for ed25519 but not necessarily other implementations. - var signed_msg = crypto_sign(msg, sk); - return signed_msg.subarray(0, nacl_raw._crypto_sign_BYTES); - } - - function crypto_sign_open(sm, pk) { - var sma = injectBytes(sm); - var pka = check_injectBytes("crypto_sign_open", - "pk", pk, nacl_raw._crypto_sign_PUBLICKEYBYTES); - var m = new Target(sm.length); - var mlen = new Target(8); - if (nacl_raw._crypto_sign_open(m.address, mlen.address, sma, sm.length, 0, pka) === 0) { - free_all([sma, pka]); - m.length = nacl_raw.HEAPU32[mlen.address >> 2]; - FREE(mlen.address); - return m.extractBytes(); - } else { - free_all([sma, pka, m.address, mlen.address]); - return null; - } - } - - function crypto_sign_verify_detached(detached_signature, msg, pk) { - // WARNING: Experimental. Works for ed25519 but not necessarily other implementations. - var signed_msg = new Uint8Array(detached_signature.length + msg.length); - signed_msg.set(detached_signature, 0); - signed_msg.set(msg, detached_signature.length); - return crypto_sign_open(signed_msg, pk) !== null; - } - - //--------------------------------------------------------------------------- - // Keys - - function crypto_sign_keypair_from_seed(bs) { - var seeda = check_injectBytes("crypto_sign_keypair_from_seed", - "seed", bs, nacl_raw._crypto_sign_SECRETKEYBYTES / 2); - var pk = new Target(nacl_raw._crypto_sign_PUBLICKEYBYTES); - var sk = new Target(nacl_raw._crypto_sign_SECRETKEYBYTES); - check("_crypto_sign_keypair_from_raw_sk", - nacl_raw._crypto_sign_keypair_from_raw_sk(pk.address, sk.address, seeda)); - FREE(seeda); - return {signPk: pk.extractBytes(), signSk: sk.extractBytes()}; - } - - function crypto_box_keypair_from_seed(bs) { - var hash = new Uint8Array(crypto_hash(bs)); - return crypto_box_keypair_from_raw_sk(hash.subarray(0, - nacl_raw._crypto_box_SECRETKEYBYTES)); - } - - function crypto_box_keypair_from_raw_sk(sk) { - return {boxPk: crypto_scalarmult_base(sk), boxSk: sk}; - } - - //--------------------------------------------------------------------------- - // Scalarmult - - function crypto_scalarmult(n,p) { - var na = check_injectBytes("crypto_scalarmult", "n", n, - nacl_raw._crypto_scalarmult_curve25519_SCALARBYTES); - var pa = check_injectBytes("crypto_scalarmult", "p", p, - nacl_raw._crypto_scalarmult_curve25519_BYTES); - var q = new Target(nacl_raw._crypto_scalarmult_curve25519_BYTES); - check("_crypto_scalarmult_curve25519", - nacl_raw._crypto_scalarmult_curve25519(q.address, na, pa)); - FREE(na); - FREE(pa); - return q.extractBytes(); - } - - function crypto_scalarmult_base(n) { - var na = check_injectBytes("crypto_scalarmult_base", "n", n, - nacl_raw._crypto_scalarmult_curve25519_SCALARBYTES); - var q = new Target(nacl_raw._crypto_scalarmult_curve25519_BYTES); - check("_crypto_scalarmult_curve25519_base", - nacl_raw._crypto_scalarmult_curve25519_base(q.address, na)); - FREE(na); - return q.extractBytes(); - } - - //--------------------------------------------------------------------------- - - exports.crypto_auth_BYTES = nacl_raw._crypto_auth_BYTES; - exports.crypto_auth_KEYBYTES = nacl_raw._crypto_auth_KEYBYTES; - exports.crypto_box_BEFORENMBYTES = nacl_raw._crypto_box_BEFORENMBYTES; - exports.crypto_box_BOXZEROBYTES = nacl_raw._crypto_box_BOXZEROBYTES; - exports.crypto_box_NONCEBYTES = nacl_raw._crypto_box_NONCEBYTES; - exports.crypto_box_PUBLICKEYBYTES = nacl_raw._crypto_box_PUBLICKEYBYTES; - exports.crypto_box_SECRETKEYBYTES = nacl_raw._crypto_box_SECRETKEYBYTES; - exports.crypto_box_ZEROBYTES = nacl_raw._crypto_box_ZEROBYTES; - exports.crypto_hash_BYTES = nacl_raw._crypto_hash_BYTES; - exports.crypto_hash_sha256_BYTES = nacl_raw._crypto_hash_sha256_BYTES; - exports.crypto_hashblocks_BLOCKBYTES = nacl_raw._crypto_hashblocks_BLOCKBYTES; - exports.crypto_hashblocks_STATEBYTES = nacl_raw._crypto_hashblocks_STATEBYTES; - exports.crypto_onetimeauth_BYTES = nacl_raw._crypto_onetimeauth_BYTES; - exports.crypto_onetimeauth_KEYBYTES = nacl_raw._crypto_onetimeauth_KEYBYTES; - exports.crypto_secretbox_BOXZEROBYTES = nacl_raw._crypto_secretbox_BOXZEROBYTES; - exports.crypto_secretbox_KEYBYTES = nacl_raw._crypto_secretbox_KEYBYTES; - exports.crypto_secretbox_NONCEBYTES = nacl_raw._crypto_secretbox_NONCEBYTES; - exports.crypto_secretbox_ZEROBYTES = nacl_raw._crypto_secretbox_ZEROBYTES; - exports.crypto_sign_BYTES = nacl_raw._crypto_sign_BYTES; - exports.crypto_sign_PUBLICKEYBYTES = nacl_raw._crypto_sign_PUBLICKEYBYTES; - exports.crypto_sign_SECRETKEYBYTES = nacl_raw._crypto_sign_SECRETKEYBYTES; - exports.crypto_stream_BEFORENMBYTES = nacl_raw._crypto_stream_BEFORENMBYTES; - exports.crypto_stream_KEYBYTES = nacl_raw._crypto_stream_KEYBYTES; - exports.crypto_stream_NONCEBYTES = nacl_raw._crypto_stream_NONCEBYTES; - exports.crypto_scalarmult_SCALARBYTES = nacl_raw._crypto_scalarmult_curve25519_SCALARBYTES; - exports.crypto_scalarmult_BYTES = nacl_raw._crypto_scalarmult_curve25519_BYTES; - - exports.encode_utf8 = encode_utf8; - exports.encode_latin1 = encode_latin1; - exports.decode_utf8 = decode_utf8; - exports.decode_latin1 = decode_latin1; - exports.to_hex = to_hex; - exports.from_hex = from_hex; - - exports.crypto_box_keypair = crypto_box_keypair; - exports.crypto_box_random_nonce = crypto_box_random_nonce; - exports.crypto_box = crypto_box; - exports.crypto_box_open = crypto_box_open; - exports.crypto_box_precompute = crypto_box_precompute; - exports.crypto_box_precomputed = crypto_box_precomputed; - exports.crypto_box_open_precomputed = crypto_box_open_precomputed; - - exports.crypto_stream_random_nonce = crypto_stream_random_nonce; - exports.crypto_stream = crypto_stream; - exports.crypto_stream_xor = crypto_stream_xor; - - exports.crypto_onetimeauth = crypto_onetimeauth; - exports.crypto_onetimeauth_verify = crypto_onetimeauth_verify; - - exports.crypto_auth = crypto_auth; - exports.crypto_auth_verify = crypto_auth_verify; - - exports.crypto_secretbox_random_nonce = crypto_secretbox_random_nonce; - exports.crypto_secretbox = crypto_secretbox; - exports.crypto_secretbox_open = crypto_secretbox_open; - - exports.crypto_sign_keypair = crypto_sign_keypair; - exports.crypto_sign = crypto_sign; - exports.crypto_sign_detached = crypto_sign_detached; - exports.crypto_sign_open = crypto_sign_open; - exports.crypto_sign_verify_detached = crypto_sign_verify_detached; - - exports.crypto_hash = crypto_hash; - exports.crypto_hash_sha256 = crypto_hash_sha256; - exports.crypto_hash_string = crypto_hash_string; - - exports.crypto_sign_keypair_from_seed = crypto_sign_keypair_from_seed; - exports.crypto_box_keypair_from_seed = crypto_box_keypair_from_seed; - exports.crypto_box_keypair_from_raw_sk = crypto_box_keypair_from_raw_sk; - - exports.crypto_scalarmult = crypto_scalarmult; - exports.crypto_scalarmult_base = crypto_scalarmult_base; - - return exports; -})(); - var randomBytes; - if (typeof module !== 'undefined' && module.exports) { - // add node.js implementations - var crypto = require('crypto'); - randomBytes = crypto.randomBytes; - } else if (window && window.crypto && window.crypto.getRandomValues) { - // add in-browser implementation - randomBytes = function (count) { - var bs = new Uint8Array(count); - window.crypto.getRandomValues(bs); - return bs; - }; - } else { - randomBytes = function (count) { - throw { name: "No cryptographic random number generator", - message: "Your browser does not support cryptographic random number generation." }; - }; - } - - nacl_raw.RandomBytes.crypto = { "randomBytes": randomBytes }; - nacl.random_bytes = randomBytes; - nacl.nacl_raw = nacl_raw; - return nacl; - })((typeof window !== 'undefined') ? window : null, (typeof document !== 'undefined') ? document : null); - } -}; - -// export common.js module to allow one js file for browser and node.js -if (typeof module !== 'undefined' && module.exports) { - module.exports = nacl_factory; -} diff --git a/ucoinj-ui-wicket/src/main/webapp/js/scrypt-em.js b/ucoinj-ui-wicket/src/main/webapp/js/scrypt-em.js deleted file mode 100644 index a98182e62e3580bfa8dfe9ee91c6235720428067..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/js/scrypt-em.js +++ /dev/null @@ -1,10306 +0,0 @@ -/* - * #%L - * uCoinj :: UI Wicket - * %% - * Copyright (C) 2014 - 2016 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - - -var scrypt_module_factory = (function (requested_total_memory) { - var Module = {TOTAL_MEMORY: (requested_total_memory || 33554432)}; - var scrypt_raw = Module; -function g(a) { - throw a; -} -var k = void 0, l = !0, m = null, p = !1; -function aa() { - return function() { - } -} -var q, s; -s || (s = eval("(function() { try { return Module || {} } catch(e) { return {} } })()")); -var ba = {}, t; -for(t in s) { - s.hasOwnProperty(t) && (ba[t] = s[t]) -} -var ca = "object" === typeof process && "function" === typeof require, da = "object" === typeof window, ea = "function" === typeof importScripts, fa = !da && !ca && !ea; -if(ca) { - s.print = function(a) { - process.stdout.write(a + "\n") - }; - s.printErr = function(a) { - process.stderr.write(a + "\n") - }; - var ga = require("fs"), ha = require("path"); - s.read = function(a, b) { - var a = ha.normalize(a), c = ga.readFileSync(a); - !c && a != ha.resolve(a) && (a = path.join(__dirname, "..", "src", a), c = ga.readFileSync(a)); - c && !b && (c = c.toString()); - return c - }; - s.readBinary = function(a) { - return s.read(a, l) - }; - s.load = function(a) { - ia(read(a)) - }; - s.arguments = process.argv.slice(2); - module.ee = s -}else { - fa ? (s.print = print, "undefined" != typeof printErr && (s.printErr = printErr), s.read = read, s.readBinary = function(a) { - return read(a, "binary") - }, "undefined" != typeof scriptArgs ? s.arguments = scriptArgs : "undefined" != typeof arguments && (s.arguments = arguments), this.Module = s) : da || ea ? (s.read = function(a) { - var b = new XMLHttpRequest; - b.open("GET", a, p); - b.send(m); - return b.responseText - }, "undefined" != typeof arguments && (s.arguments = arguments), da ? (s.print = function(a) { - console.log(a) - }, s.printErr = function(a) { - console.log(a) - }, this.Module = s) : ea && (s.print = aa(), s.load = importScripts)) : g("Unknown runtime environment. Where are we?") -} -function ia(a) { - eval.call(m, a) -} -"undefined" == !s.load && s.read && (s.load = function(a) { - ia(s.read(a)) -}); -s.print || (s.print = aa()); -s.printErr || (s.printErr = s.print); -s.arguments || (s.arguments = []); -s.print = s.print; -s.P = s.printErr; -s.preRun = []; -s.postRun = []; -for(t in ba) { - ba.hasOwnProperty(t) && (s[t] = ba[t]) -} -function ja() { - return u -} -function ka(a) { - u = a -} -function la(a) { - if(1 == ma) { - return 1 - } - var b = {"%i1":1, "%i8":1, "%i16":2, "%i32":4, "%i64":8, "%float":4, "%double":8}["%" + a]; - b || ("*" == a.charAt(a.length - 1) ? b = ma : "i" == a[0] && (a = parseInt(a.substr(1)), w(0 == a % 8), b = a / 8)); - return b -} -function na(a, b, c) { - c && c.length ? (c.splice || (c = Array.prototype.slice.call(c)), c.splice(0, 0, b), s["dynCall_" + a].apply(m, c)) : s["dynCall_" + a].call(m, b) -} -var oa; -function pa() { - var a = [], b = 0; - this.oa = function(c) { - c &= 255; - b && (a.push(c), b--); - if(0 == a.length) { - if(128 > c) { - return String.fromCharCode(c) - } - a.push(c); - b = 191 < c && 224 > c ? 1 : 2; - return"" - } - if(0 < b) { - return"" - } - var c = a[0], d = a[1], e = a[2], c = 191 < c && 224 > c ? String.fromCharCode((c & 31) << 6 | d & 63) : String.fromCharCode((c & 15) << 12 | (d & 63) << 6 | e & 63); - a.length = 0; - return c - }; - this.yb = function(a) { - for(var a = unescape(encodeURIComponent(a)), b = [], e = 0;e < a.length;e++) { - b.push(a.charCodeAt(e)) - } - return b - } -} -function qa(a) { - var b = u; - u = u + a | 0; - u = u + 7 >> 3 << 3; - return b -} -function ra(a) { - var b = sa; - sa = sa + a | 0; - sa = sa + 7 >> 3 << 3; - return b -} -function ua(a) { - var b = z; - z = z + a | 0; - z = z + 7 >> 3 << 3; - z >= va && wa("Cannot enlarge memory arrays in asm.js. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value, or (2) set Module.TOTAL_MEMORY before the program runs."); - return b -} -function xa(a, b) { - return Math.ceil(a / (b ? b : 8)) * (b ? b : 8) -} -var ma = 4, ya = {}, za = p, Aa; -function w(a, b) { - a || wa("Assertion failed: " + b) -} -s.ccall = function(a, b, c, d) { - return Ba(Ca(a), b, c, d) -}; -function Ca(a) { - try { - var b = s["_" + a]; - b || (b = eval("_" + a)) - }catch(c) { - } - w(b, "Cannot call unknown function " + a + " (perhaps LLVM optimizations or closure removed it?)"); - return b -} -function Ba(a, b, c, d) { - function e(a, b) { - if("string" == b) { - if(a === m || a === k || 0 === a) { - return 0 - } - f || (f = ja()); - var c = qa(a.length + 1); - Da(a, c); - return c - } - return"array" == b ? (f || (f = ja()), c = qa(a.length), Ea(a, c), c) : a - } - var f = 0, h = 0, d = d ? d.map(function(a) { - return e(a, c[h++]) - }) : []; - a = a.apply(m, d); - "string" == b ? b = Fa(a) : (w("array" != b), b = a); - f && ka(f); - return b -} -s.cwrap = function(a, b, c) { - var d = Ca(a); - return function() { - return Ba(d, b, c, Array.prototype.slice.call(arguments)) - } -}; -function Ga(a, b, c) { - c = c || "i8"; - "*" === c.charAt(c.length - 1) && (c = "i32"); - switch(c) { - case "i1": - A[a] = b; - break; - case "i8": - A[a] = b; - break; - case "i16": - Ha[a >> 1] = b; - break; - case "i32": - B[a >> 2] = b; - break; - case "i64": - Aa = [b >>> 0, (Math.min(+Math.floor(b / 4294967296), 4294967295) | 0) >>> 0]; - B[a >> 2] = Aa[0]; - B[a + 4 >> 2] = Aa[1]; - break; - case "float": - Ia[a >> 2] = b; - break; - case "double": - Ja[a >> 3] = b; - break; - default: - wa("invalid type for setValue: " + c) - } -} -s.setValue = Ga; -s.getValue = function(a, b) { - b = b || "i8"; - "*" === b.charAt(b.length - 1) && (b = "i32"); - switch(b) { - case "i1": - return A[a]; - case "i8": - return A[a]; - case "i16": - return Ha[a >> 1]; - case "i32": - return B[a >> 2]; - case "i64": - return B[a >> 2]; - case "float": - return Ia[a >> 2]; - case "double": - return Ja[a >> 3]; - default: - wa("invalid type for setValue: " + b) - } - return m -}; -var Ka = 0, La = 1, E = 2, Na = 4; -s.ALLOC_NORMAL = Ka; -s.ALLOC_STACK = La; -s.ALLOC_STATIC = E; -s.ALLOC_DYNAMIC = 3; -s.ALLOC_NONE = Na; -function F(a, b, c, d) { - var e, f; - "number" === typeof a ? (e = l, f = a) : (e = p, f = a.length); - var h = "string" === typeof b ? b : m, c = c == Na ? d : [Oa, qa, ra, ua][c === k ? E : c](Math.max(f, h ? 1 : b.length)); - if(e) { - d = c; - w(0 == (c & 3)); - for(a = c + (f & -4);d < a;d += 4) { - B[d >> 2] = 0 - } - for(a = c + f;d < a;) { - A[d++ | 0] = 0 - } - return c - } - if("i8" === h) { - return a.subarray || a.slice ? G.set(a, c) : G.set(new Uint8Array(a), c), c - } - for(var d = 0, i, j;d < f;) { - var n = a[d]; - "function" === typeof n && (n = ya.fe(n)); - e = h || b[d]; - 0 === e ? d++ : ("i64" == e && (e = "i32"), Ga(c + d, n, e), j !== e && (i = la(e), j = e), d += i) - } - return c -} -s.allocate = F; -function Fa(a, b) { - for(var c = p, d, e = 0;;) { - d = G[a + e | 0]; - if(128 <= d) { - c = l - }else { - if(0 == d && !b) { - break - } - } - e++; - if(b && e == b) { - break - } - } - b || (b = e); - var f = ""; - if(!c) { - for(;0 < b;) { - d = String.fromCharCode.apply(String, G.subarray(a, a + Math.min(b, 1024))), f = f ? f + d : d, a += 1024, b -= 1024 - } - return f - } - c = new pa; - for(e = 0;e < b;e++) { - d = G[a + e | 0], f += c.oa(d) - } - return f -} -s.Pointer_stringify = Fa; -var A, G, Ha, Pa, B, Qa, Ia, Ja, Ra = 0, sa = 0, Sa = 0, u = 0, Ta = 0, Ua = 0, z = 0, va = s.TOTAL_MEMORY || 33554432; -w(!!Int32Array && !!Float64Array && !!(new Int32Array(1)).subarray && !!(new Int32Array(1)).set, "Cannot fallback to non-typed array case: Code is too specialized"); -var I = new ArrayBuffer(va); -A = new Int8Array(I); -Ha = new Int16Array(I); -B = new Int32Array(I); -G = new Uint8Array(I); -Pa = new Uint16Array(I); -Qa = new Uint32Array(I); -Ia = new Float32Array(I); -Ja = new Float64Array(I); -B[0] = 255; -w(255 === G[0] && 0 === G[3], "Typed arrays 2 must be run on a little-endian system"); -s.HEAP = k; -s.HEAP8 = A; -s.HEAP16 = Ha; -s.HEAP32 = B; -s.HEAPU8 = G; -s.HEAPU16 = Pa; -s.HEAPU32 = Qa; -s.HEAPF32 = Ia; -s.HEAPF64 = Ja; -function Va(a) { - for(;0 < a.length;) { - var b = a.shift(); - if("function" == typeof b) { - b() - }else { - var c = b.V; - "number" === typeof c ? b.ha === k ? na("v", c) : na("vi", c, [b.ha]) : c(b.ha === k ? m : b.ha) - } - } -} -var Wa = [], Xa = [], Ya = [], Za = [], $a = [], ab = p; -function bb(a) { - Wa.unshift(a) -} -s.addOnPreRun = s.Vd = bb; -s.addOnInit = s.Sd = function(a) { - Xa.unshift(a) -}; -s.addOnPreMain = s.Ud = function(a) { - Ya.unshift(a) -}; -s.addOnExit = s.Rd = function(a) { - Za.unshift(a) -}; -function cb(a) { - $a.unshift(a) -} -s.addOnPostRun = s.Td = cb; -function J(a, b, c) { - a = (new pa).yb(a); - c && (a.length = c); - b || a.push(0); - return a -} -s.intArrayFromString = J; -s.intArrayToString = function(a) { - for(var b = [], c = 0;c < a.length;c++) { - var d = a[c]; - 255 < d && (d &= 255); - b.push(String.fromCharCode(d)) - } - return b.join("") -}; -function Da(a, b, c) { - a = J(a, c); - for(c = 0;c < a.length;) { - A[b + c | 0] = a[c], c += 1 - } -} -s.writeStringToMemory = Da; -function Ea(a, b) { - for(var c = 0;c < a.length;c++) { - A[b + c | 0] = a[c] - } -} -s.writeArrayToMemory = Ea; -function db(a, b) { - return 0 <= a ? a : 32 >= b ? 2 * Math.abs(1 << b - 1) + a : Math.pow(2, b) + a -} -function eb(a, b) { - if(0 >= a) { - return a - } - var c = 32 >= b ? Math.abs(1 << b - 1) : Math.pow(2, b - 1); - if(a >= c && (32 >= b || a > c)) { - a = -2 * c + a - } - return a -} -Math.imul || (Math.imul = function(a, b) { - var c = a & 65535, d = b & 65535; - return c * d + ((a >>> 16) * d + c * (b >>> 16) << 16) | 0 -}); -Math.ie = Math.imul; -var L = 0, fb = {}, gb = p, hb = m; -function ib(a) { - L++; - s.monitorRunDependencies && s.monitorRunDependencies(L); - a ? (w(!fb[a]), fb[a] = 1) : s.P("warning: run dependency added without ID") -} -s.addRunDependency = ib; -function jb(a) { - L--; - s.monitorRunDependencies && s.monitorRunDependencies(L); - a ? (w(fb[a]), delete fb[a]) : s.P("warning: run dependency removed without ID"); - 0 == L && (hb !== m && (clearInterval(hb), hb = m), !gb && kb && lb()) -} -s.removeRunDependency = jb; -s.preloadedImages = {}; -s.preloadedAudios = {}; -Ra = 8; -sa = Ra + 1312; -Xa.push({V:function() { - mb() -}}); -var nb, ob, pb; -nb = nb = F([0, 0, 0, 0, 0, 0, 0, 0], "i8", E); -ob = ob = F([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "i8", E); -pb = pb = F([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "i8", E); -F([111, 112, 116, 105, 111, 110, 32, 114, 101, 113, 117, 105, 114, 101, 115, 32, 97, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 32, 45, 45, 32, 37, 115, 0, 0, 0, 0, 0, 0, 0, 111, 112, 116, 105, 111, 110, 32, 114, 101, 113, 117, 105, 114, 101, 115, 32, 97, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 32, 45, 45, 32, 37, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 64, 0, 0, 0, 0, 0, 0, 89, 64, 0, 0, 0, 0, 0, 136, 195, 64, 0, 0, 0, 0, 132, 215, 151, 65, 0, 128, 224, 55, 121, 195, 65, 67, -23, 110, 5, 181, 181, 184, 147, 70, 245, 249, 63, 233, 3, 79, 56, 77, 50, 29, 48, 249, 72, 119, 130, 90, 60, 191, 115, 127, 221, 79, 21, 117, 56, 3, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 111, 112, 116, 105, 111, 110, 32, 100, 111, 101, 115, 110, 39, 116, 32, 116, 97, 107, 101, 32, 97, 110, 32, 97, 114, 103, 117, 109, 101, 110, 116, 32, 45, 45, 32, 37, 46, 42, 115, 0, 117, 110, 107, -110, 111, 119, 110, 32, 111, 112, 116, 105, 111, 110, 32, 45, 45, 32, 37, 115, 0, 0, 0, 0, 117, 110, 107, 110, 111, 119, 110, 32, 111, 112, 116, 105, 111, 110, 32, 45, 45, 32, 37, 99, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 97, 109, 98, 105, 103, 117, 111, 117, 115, 32, 111, 112, 116, 105, 111, 110, 32, 45, 45, 32, 37, 46, 42, 115, 0, 0, 0, 0, 0, 0, 0, 0, 37, 115, 58, 32, 0, 0, 0, 0, 80, 79, 83, 73, 88, 76, 89, 95, 67, 79, 82, 82, 69, 67, 84, 0, 115, 116, 100, 58, 58, 98, 97, 100, 95, 97, 108, -108, 111, 99, 0, 0, 37, 115, 58, 32, 0, 0, 0, 0, 37, 115, 10, 0, 0, 0, 0, 0, 37, 115, 10, 0, 0, 0, 0, 0, 105, 110, 32, 117, 115, 101, 32, 98, 121, 116, 101, 115, 32, 32, 32, 32, 32, 61, 32, 37, 49, 48, 108, 117, 10, 0, 0, 0, 0, 0, 0, 0, 37, 115, 58, 32, 0, 0, 0, 0, 37, 115, 58, 32, 0, 0, 0, 0, 98, 97, 100, 95, 97, 114, 114, 97, 121, 95, 110, 101, 119, 95, 108, 101, 110, 103, 116, 104, 0, 0, 0, 0, 58, 32, 0, 0, 0, 0, 0, 0, 58, 32, 0, 0, 0, 0, 0, 0, 115, 121, 115, 116, 101, 109, 32, 98, 121, 116, 101, -115, 32, 32, 32, 32, 32, 61, 32, 37, 49, 48, 108, 117, 10, 0, 0, 0, 0, 0, 0, 0, 109, 97, 120, 32, 115, 121, 115, 116, 101, 109, 32, 98, 121, 116, 101, 115, 32, 61, 32, 37, 49, 48, 108, 117, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, 2, 0, 0, 6, 0, 0, 0, 10, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 2, 0, 0, 6, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 116, 57, 101, 120, 99, 101, 112, 116, 105, 111, 110, 0, 0, 0, 0, 83, 116, 57, 98, 97, -100, 95, 97, 108, 108, 111, 99, 0, 0, 0, 0, 83, 116, 50, 48, 98, 97, 100, 95, 97, 114, 114, 97, 121, 95, 110, 101, 119, 95, 108, 101, 110, 103, 116, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 2, 0, 0, 0, 0, 0, 0, 120, 2, 0, 0, 168, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, 2, 0, 0, 176, 2, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], -"i8", Na, 8); -var qb = xa(F(12, "i8", E), 8); -w(0 == qb % 8); -var rb = 0; -function M(a) { - return B[rb >> 2] = a -} -s._memcpy = sb; -s._memset = tb; -var N = {L:1, ca:2, Bd:3, sc:4, I:5, za:6, Jb:7, Sc:8, $:9, Zb:10, ua:11, Ld:11, $a:12, Ya:13, kc:14, ed:15, Wb:16, va:17, Md:18, wa:19, gd:20, aa:21, A:22, Mc:23, Za:24, ld:25, Id:26, lc:27, ad:28, da:29, yd:30, Fc:31, rd:32, hc:33, ab:34, Wc:35, pc:36, $b:37, vc:38, wc:39, xc:40, Ec:41, Jd:42, Qc:43, uc:44, ec:45, Tc:46, Pb:50, Sb:51, Nd:52, Oc:53, Tb:54, Ub:55, fc:56, Vb:57, cd:60, Rc:61, Fd:62, bd:63, Xc:64, Yc:65, xd:66, Uc:67, Mb:68, Cd:69, ac:70, td:71, Hc:74, yc:75, ic:76, Rb:77, mc:79, md:80, -Qb:81, wd:82, zc:83, Ac:84, Dc:85, Cc:86, Bc:87, dd:88, Nc:89, ya:90, Ic:91, ba:92, nd:95, qd:96, dc:104, Pc:105, Nb:106, vd:107, jd:108, Zc:109, zd:110, cc:111, Kb:112, bc:113, Lc:114, Jc:115, Gd:116, nc:117, oc:118, rc:119, Ob:120, gc:121, Gc:122, ud:123, Ad:124, Lb:125, Kc:126, tc:127, fd:128, Hd:129, sd:130, Kd:131, jc:132, Dd:133, kd:134, Vc:135, $c:136, Yb:137, qc:138, od:139, Xb:140, hd:141, pd:142, Ed:143}, ub = {"0":"Success", 1:"Not super-user", 2:"No such file or directory", 3:"No such process", -4:"Interrupted system call", 5:"I/O error", 6:"No such device or address", 7:"Arg list too long", 8:"Exec format error", 9:"Bad file number", 10:"No children", 11:"No more processes", 12:"Not enough core", 13:"Permission denied", 14:"Bad address", 15:"Block device required", 16:"Mount device busy", 17:"File exists", 18:"Cross-device link", 19:"No such device", 20:"Not a directory", 21:"Is a directory", 22:"Invalid argument", 23:"Too many open files in system", 24:"Too many open files", 25:"Not a typewriter", -26:"Text file busy", 27:"File too large", 28:"No space left on device", 29:"Illegal seek", 30:"Read only file system", 31:"Too many links", 32:"Broken pipe", 33:"Math arg out of domain of func", 34:"Math result not representable", 35:"No message of desired type", 36:"Identifier removed", 37:"Channel number out of range", 38:"Level 2 not synchronized", 39:"Level 3 halted", 40:"Level 3 reset", 41:"Link number out of range", 42:"Protocol driver not attached", 43:"No CSI structure available", 44:"Level 2 halted", -45:"Deadlock condition", 46:"No record locks available", 50:"Invalid exchange", 51:"Invalid request descriptor", 52:"Exchange full", 53:"No anode", 54:"Invalid request code", 55:"Invalid slot", 56:"File locking deadlock error", 57:"Bad font file fmt", 60:"Device not a stream", 61:"No data (for no delay io)", 62:"Timer expired", 63:"Out of streams resources", 64:"Machine is not on the network", 65:"Package not installed", 66:"The object is remote", 67:"The link has been severed", 68:"Advertise error", -69:"Srmount error", 70:"Communication error on send", 71:"Protocol error", 74:"Multihop attempted", 75:"Inode is remote (not really error)", 76:"Cross mount point (not really error)", 77:"Trying to read unreadable message", 79:"Inappropriate file type or format", 80:"Given log. name not unique", 81:"f.d. invalid for this operation", 82:"Remote address changed", 83:"Can\t access a needed shared lib", 84:"Accessing a corrupted shared lib", 85:".lib section in a.out corrupted", 86:"Attempting to link in too many libs", -87:"Attempting to exec a shared library", 88:"Function not implemented", 89:"No more files", 90:"Directory not empty", 91:"File or path name too long", 92:"Too many symbolic links", 95:"Operation not supported on transport endpoint", 96:"Protocol family not supported", 104:"Connection reset by peer", 105:"No buffer space available", 106:"Address family not supported by protocol family", 107:"Protocol wrong type for socket", 108:"Socket operation on non-socket", 109:"Protocol not available", 110:"Can't send after socket shutdown", -111:"Connection refused", 112:"Address already in use", 113:"Connection aborted", 114:"Network is unreachable", 115:"Network interface is not configured", 116:"Connection timed out", 117:"Host is down", 118:"Host is unreachable", 119:"Connection already in progress", 120:"Socket already connected", 121:"Destination address required", 122:"Message too long", 123:"Unknown protocol", 124:"Socket type not supported", 125:"Address not available", 126:"ENETRESET", 127:"Socket is already connected", 128:"Socket is not connected", -129:"TOOMANYREFS", 130:"EPROCLIM", 131:"EUSERS", 132:"EDQUOT", 133:"ESTALE", 134:"Not supported", 135:"No medium (in tape drive)", 136:"No such host or network path", 137:"Filename exists with different case", 138:"EILSEQ", 139:"Value too large for defined data type", 140:"Operation canceled", 141:"State not recoverable", 142:"Previous owner died", 143:"Streams pipe error"}; -function vb(a, b, c) { - var d = O(a, {parent:l}).d, a = "/" === a ? "/" : wb(a)[2], e = xb(d, a); - e && g(new Q(e)); - d.l.Ta || g(new Q(N.L)); - return d.l.Ta(d, a, b, c) -} -function yb(a, b) { - b = b & 4095 | 32768; - return vb(a, b, 0) -} -function zb(a, b) { - b = b & 1023 | 16384; - return vb(a, b, 0) -} -function Ab(a, b, c) { - return vb(a, b | 8192, c) -} -function Bb(a, b) { - var c = O(b, {parent:l}).d, d = "/" === b ? "/" : wb(b)[2], e = xb(c, d); - e && g(new Q(e)); - c.l.Wa || g(new Q(N.L)); - return c.l.Wa(c, d, a) -} -function Cb(a, b) { - var c; - c = "string" === typeof a ? O(a, {N:l}).d : a; - c.l.Y || g(new Q(N.L)); - c.l.Y(c, {mode:b & 4095 | c.mode & -4096, timestamp:Date.now()}) -} -function Db(a, b) { - var c, a = Eb(a), d; - "string" === typeof b ? (d = Fb[b], "undefined" === typeof d && g(Error("Unknown file open mode: " + b))) : d = b; - b = d; - c = b & 512 ? c & 4095 | 32768 : 0; - var e; - try { - var f = O(a, {N:!(b & 65536)}); - e = f.d; - a = f.path - }catch(h) { - } - b & 512 && (e ? b & 2048 && g(new Q(N.va)) : e = vb(a, c, 0)); - e || g(new Q(N.ca)); - 8192 === (e.mode & 61440) && (b &= -1025); - e ? 40960 === (e.mode & 61440) ? c = N.ba : 16384 === (e.mode & 61440) && (0 !== (b & 3) || b & 1024) ? c = N.aa : (c = ["r", "w", "rw"][b & 3], b & 1024 && (c += "w"), c = Gb(e, c)) : c = N.ca; - c && g(new Q(c)); - b & 1024 && (c = e, c = "string" === typeof c ? O(c, {N:l}).d : c, c.l.Y || g(new Q(N.L)), 16384 === (c.mode & 61440) && g(new Q(N.aa)), 32768 !== (c.mode & 61440) && g(new Q(N.A)), (f = Gb(c, "w")) && g(new Q(f)), c.l.Y(c, {size:0, timestamp:Date.now()})); - var i = {path:a, d:e, M:b, seekable:l, position:0, e:e.e, Gb:[], error:p}, j; - a: { - e = k || 4096; - for(c = k || 1;c <= e;c++) { - if(!R[c]) { - j = c; - break a - } - } - g(new Q(N.Za)) - } - i.s = j; - Object.defineProperty(i, "object", {get:function() { - return i.d - }, set:function(a) { - i.d = a - }}); - Object.defineProperty(i, "isRead", {get:function() { - return 1 !== (i.M & 3) - }}); - Object.defineProperty(i, "isWrite", {get:function() { - return 0 !== (i.M & 3) - }}); - Object.defineProperty(i, "isAppend", {get:function() { - return i.M & 8 - }}); - R[j] = i; - i.e.open && i.e.open(i); - return i -} -function Hb(a) { - try { - a.e.close && a.e.close(a) - }catch(b) { - g(b) - }finally { - R[a.s] = m - } -} -function Ib(a, b, c, d, e) { - (0 > d || 0 > e) && g(new Q(N.A)); - 0 === (a.M & 3) && g(new Q(N.$)); - 16384 === (a.d.mode & 61440) && g(new Q(N.aa)); - a.e.write || g(new Q(N.A)); - var f = l; - "undefined" === typeof e ? (e = a.position, f = p) : a.seekable || g(new Q(N.da)); - a.M & 8 && ((!a.seekable || !a.e.na) && g(new Q(N.da)), a.e.na(a, 0, 2)); - b = a.e.write(a, b, c, d, e); - f || (a.position += b); - return b -} -function wb(a) { - return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1) -} -function Jb(a, b) { - for(var c = 0, d = a.length - 1;0 <= d;d--) { - var e = a[d]; - "." === e ? a.splice(d, 1) : ".." === e ? (a.splice(d, 1), c++) : c && (a.splice(d, 1), c--) - } - if(b) { - for(;c--;c) { - a.unshift("..") - } - } - return a -} -function Eb(a) { - var b = "/" === a.charAt(0), c = "/" === a.substr(-1), a = Jb(a.split("/").filter(function(a) { - return!!a - }), !b).join("/"); - !a && !b && (a = "."); - a && c && (a += "/"); - return(b ? "/" : "") + a -} -function S() { - var a = Array.prototype.slice.call(arguments, 0); - return Eb(a.filter(function(a) { - "string" !== typeof a && g(new TypeError("Arguments to path.join must be strings")); - return a - }).join("/")) -} -function Kb() { - for(var a = "", b = p, c = arguments.length - 1;-1 <= c && !b;c--) { - var d = 0 <= c ? arguments[c] : "/"; - "string" !== typeof d && g(new TypeError("Arguments to path.resolve must be strings")); - d && (a = d + "/" + a, b = "/" === d.charAt(0)) - } - a = Jb(a.split("/").filter(function(a) { - return!!a - }), !b).join("/"); - return(b ? "/" : "") + a || "." -} -var Lb = []; -function Mb(a, b) { - Lb[a] = {input:[], H:[], O:b}; - Nb[a] = {e:Ob} -} -var Ob = {open:function(a) { - Pb || (Pb = new pa); - var b = Lb[a.d.X]; - b || g(new Q(N.wa)); - a.q = b; - a.seekable = p -}, close:function(a) { - a.q.H.length && a.q.O.W(a.q, 10) -}, Q:function(a, b, c, d) { - (!a.q || !a.q.O.Na) && g(new Q(N.za)); - for(var e = 0, f = 0;f < d;f++) { - var h; - try { - h = a.q.O.Na(a.q) - }catch(i) { - g(new Q(N.I)) - } - h === k && 0 === e && g(new Q(N.ua)); - if(h === m || h === k) { - break - } - e++; - b[c + f] = h - } - e && (a.d.timestamp = Date.now()); - return e -}, write:function(a, b, c, d) { - (!a.q || !a.q.O.W) && g(new Q(N.za)); - for(var e = 0;e < d;e++) { - try { - a.q.O.W(a.q, b[c + e]) - }catch(f) { - g(new Q(N.I)) - } - } - d && (a.d.timestamp = Date.now()); - return e -}}, Pb, T = {z:function() { - return T.ka(m, "/", 16895, 0) -}, ka:function(a, b, c, d) { - (24576 === (c & 61440) || 4096 === (c & 61440)) && g(new Q(N.L)); - c = Qb(a, b, c, d); - c.l = T.l; - 16384 === (c.mode & 61440) ? (c.e = T.e, c.g = {}) : 32768 === (c.mode & 61440) ? (c.e = T.e, c.g = []) : 40960 === (c.mode & 61440) ? c.e = T.e : 8192 === (c.mode & 61440) && (c.e = Rb); - c.timestamp = Date.now(); - a && (a.g[b] = c); - return c -}, l:{ge:function(a) { - var b = {}; - b.ce = 8192 === (a.mode & 61440) ? a.id : 1; - b.je = a.id; - b.mode = a.mode; - b.pe = 1; - b.uid = 0; - b.he = 0; - b.X = a.X; - b.size = 16384 === (a.mode & 61440) ? 4096 : 32768 === (a.mode & 61440) ? a.g.length : 40960 === (a.mode & 61440) ? a.link.length : 0; - b.Yd = new Date(a.timestamp); - b.oe = new Date(a.timestamp); - b.ae = new Date(a.timestamp); - b.ib = 4096; - b.Zd = Math.ceil(b.size / b.ib); - return b -}, Y:function(a, b) { - b.mode !== k && (a.mode = b.mode); - b.timestamp !== k && (a.timestamp = b.timestamp); - if(b.size !== k) { - var c = a.g; - if(b.size < c.length) { - c.length = b.size - }else { - for(;b.size > c.length;) { - c.push(0) - } - } - } -}, tb:function() { - g(new Q(N.ca)) -}, Ta:function(a, b, c, d) { - return T.ka(a, b, c, d) -}, rename:function(a, b, c) { - if(16384 === (a.mode & 61440)) { - var d; - try { - d = Sb(b, c) - }catch(e) { - } - if(d) { - for(var f in d.g) { - g(new Q(N.ya)) - } - } - } - delete a.parent.g[a.name]; - a.name = c; - b.g[c] = a -}, ze:function(a, b) { - delete a.g[b] -}, ve:function(a, b) { - var c = Sb(a, b), d; - for(d in c.g) { - g(new Q(N.ya)) - } - delete a.g[b] -}, Wa:function(a, b, c) { - a = T.ka(a, b, 41471, 0); - a.link = c; - return a -}, Va:function(a) { - 40960 !== (a.mode & 61440) && g(new Q(N.A)); - return a.link -}}, e:{open:function(a) { - if(16384 === (a.d.mode & 61440)) { - var b = [".", ".."], c; - for(c in a.d.g) { - a.d.g.hasOwnProperty(c) && b.push(c) - } - a.lb = b - } -}, Q:function(a, b, c, d, e) { - a = a.d.g; - d = Math.min(a.length - e, d); - if(a.subarray) { - b.set(a.subarray(e, e + d), c) - }else { - for(var f = 0;f < d;f++) { - b[c + f] = a[e + f] - } - } - return d -}, write:function(a, b, c, d, e) { - for(var f = a.d.g;f.length < e;) { - f.push(0) - } - for(var h = 0;h < d;h++) { - f[e + h] = b[c + h] - } - a.d.timestamp = Date.now(); - return d -}, na:function(a, b, c) { - 1 === c ? b += a.position : 2 === c && 32768 === (a.d.mode & 61440) && (b += a.d.g.length); - 0 > b && g(new Q(N.A)); - a.Gb = []; - return a.position = b -}, ue:function(a) { - return a.lb -}, Wd:function(a, b, c) { - a = a.d.g; - for(b += c;b > a.length;) { - a.push(0) - } -}, ne:function(a, b, c, d, e, f, h) { - 32768 !== (a.d.mode & 61440) && g(new Q(N.wa)); - a = a.d.g; - if(h & 2) { - if(0 < e || e + d < a.length) { - a = a.subarray ? a.subarray(e, e + d) : Array.prototype.slice.call(a, e, e + d) - } - e = l; - (d = Oa(d)) || g(new Q(N.$a)); - b.set(a, d) - }else { - w(a.buffer === b || a.buffer === b.buffer), e = p, d = a.byteOffset - } - return{te:d, Xd:e} -}}}, Tb = F(1, "i32*", E), Ub = F(1, "i32*", E); -nb = F(1, "i32*", E); -var Vb = m, Nb = [m], R = [m], Wb = 1, Xb = [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], Yb = l; -function Q(a) { - this.mb = a; - for(var b in N) { - if(N[b] === a) { - this.code = b; - break - } - } - this.message = ub[a] -} -function Zb(a) { - a instanceof Q || g(a + " : " + Error().stack); - M(a.mb) -} -function $b(a, b) { - for(var c = 0, d = 0;d < b.length;d++) { - c = (c << 5) - c + b.charCodeAt(d) | 0 - } - return(a + c) % Xb.length -} -function Sb(a, b) { - var c = Gb(a, "x"); - c && g(new Q(c)); - for(c = Xb[$b(a.id, b)];c;c = c.wb) { - if(c.parent.id === a.id && c.name === b) { - return c - } - } - return a.l.tb(a, b) -} -function Qb(a, b, c, d) { - var e = {id:Wb++, name:b, mode:c, l:{}, e:{}, X:d, parent:m, z:m}; - a || (a = e); - e.parent = a; - e.z = a.z; - Object.defineProperty(e, "read", {get:function() { - return 365 === (e.mode & 365) - }, set:function(a) { - a ? e.mode |= 365 : e.mode &= -366 - }}); - Object.defineProperty(e, "write", {get:function() { - return 146 === (e.mode & 146) - }, set:function(a) { - a ? e.mode |= 146 : e.mode &= -147 - }}); - a = $b(e.parent.id, e.name); - e.wb = Xb[a]; - return Xb[a] = e -} -function O(a, b) { - a = Kb("/", a); - b = b || {pa:0}; - 8 < b.pa && g(new Q(N.ba)); - for(var c = Jb(a.split("/").filter(function(a) { - return!!a - }), p), d = Vb, e = "/", f = 0;f < c.length;f++) { - var h = f === c.length - 1; - if(h && b.parent) { - break - } - d = Sb(d, c[f]); - e = S(e, c[f]); - d.ub && (d = d.z.root); - if(!h || b.N) { - for(h = 0;40960 === (d.mode & 61440);) { - d = O(e, {N:p}).d; - d.l.Va || g(new Q(N.A)); - var d = d.l.Va(d), i = Kb; - var j = wb(e), e = j[0], j = j[1]; - !e && !j ? e = "." : (j && (j = j.substr(0, j.length - 1)), e += j); - e = i(e, d); - d = O(e, {pa:b.pa}).d; - 40 < h++ && g(new Q(N.ba)) - } - } - } - return{path:e, d:d} -} -function ac(a) { - for(var b;;) { - if(a === a.parent) { - return b ? S(a.z.Ua, b) : a.z.Ua - } - b = b ? S(a.name, b) : a.name; - a = a.parent - } -} -var Fb = {r:0, rs:8192, "r+":2, w:1537, wx:3585, xw:3585, "w+":1538, "wx+":3586, "xw+":3586, a:521, ax:2569, xa:2569, "a+":522, "ax+":2570, "xa+":2570}; -function Gb(a, b) { - return Yb ? 0 : -1 !== b.indexOf("r") && !(a.mode & 292) || -1 !== b.indexOf("w") && !(a.mode & 146) || -1 !== b.indexOf("x") && !(a.mode & 73) ? N.Ya : 0 -} -function xb(a, b) { - try { - return Sb(a, b), N.va - }catch(c) { - } - return Gb(a, "wx") -} -var Rb = {open:function(a) { - a.e = Nb[a.d.X].e; - a.e.open && a.e.open(a) -}, na:function() { - g(new Q(N.da)) -}}, bc; -function cc(a, b) { - var c = 0; - a && (c |= 365); - b && (c |= 146); - return c -} -function dc(a, b, c, d, e) { - a = S("string" === typeof a ? a : ac(a), b); - d = cc(d, e); - e = yb(a, d); - if(c) { - if("string" === typeof c) { - for(var b = Array(c.length), f = 0, h = c.length;f < h;++f) { - b[f] = c.charCodeAt(f) - } - c = b - } - Cb(a, d | 146); - b = Db(a, "w"); - Ib(b, c, 0, c.length, 0); - Hb(b); - Cb(a, d) - } - return e -} -function ec(a, b, c, d) { - a = S("string" === typeof a ? a : ac(a), b); - ec.Sa || (ec.Sa = 64); - b = ec.Sa++ << 8 | 0; - Nb[b] = {e:{open:function(a) { - a.seekable = p - }, close:function() { - d && (d.buffer && d.buffer.length) && d(10) - }, Q:function(a, b, d, i) { - for(var j = 0, n = 0;n < i;n++) { - var y; - try { - y = c() - }catch(v) { - g(new Q(N.I)) - } - y === k && 0 === j && g(new Q(N.ua)); - if(y === m || y === k) { - break - } - j++; - b[d + n] = y - } - j && (a.d.timestamp = Date.now()); - return j - }, write:function(a, b, c, i) { - for(var j = 0;j < i;j++) { - try { - d(b[c + j]) - }catch(n) { - g(new Q(N.I)) - } - } - i && (a.d.timestamp = Date.now()); - return j - }}}; - return Ab(a, c && d ? 511 : c ? 219 : 365, b) -} -function fc(a, b, c) { - a = R[a]; - if(!a) { - return-1 - } - a.sender(G.subarray(b, b + c)); - return c -} -function gc(a, b, c) { - var d = R[a]; - if(!d) { - return M(N.$), -1 - } - if(d && "socket" in d) { - return fc(a, b, c) - } - try { - return Ib(d, A, b, c) - }catch(e) { - return Zb(e), -1 - } -} -function hc(a, b, c, d) { - c *= b; - if(0 == c) { - return 0 - } - a = gc(d, a, c); - if(-1 == a) { - if(b = R[d]) { - b.error = l - } - return 0 - } - return Math.floor(a / b) -} -s._strlen = ic; -function jc(a) { - return 0 > a || 0 === a && -Infinity === 1 / a -} -function kc(a, b) { - function c(a) { - var c; - "double" === a ? c = Ja[b + e >> 3] : "i64" == a ? (c = [B[b + e >> 2], B[b + (e + 8) >> 2]], e += 8) : (a = "i32", c = B[b + e >> 2]); - e += Math.max(Math.max(la(a), ma), 8); - return c - } - for(var d = a, e = 0, f = [], h, i;;) { - var j = d; - h = A[d]; - if(0 === h) { - break - } - i = A[d + 1 | 0]; - if(37 == h) { - var n = p, y = p, v = p, C = p; - a:for(;;) { - switch(i) { - case 43: - n = l; - break; - case 45: - y = l; - break; - case 35: - v = l; - break; - case 48: - if(C) { - break a - }else { - C = l; - break - } - ; - default: - break a - } - d++; - i = A[d + 1 | 0] - } - var D = 0; - if(42 == i) { - D = c("i32"), d++, i = A[d + 1 | 0] - }else { - for(;48 <= i && 57 >= i;) { - D = 10 * D + (i - 48), d++, i = A[d + 1 | 0] - } - } - var K = p; - if(46 == i) { - var H = 0, K = l; - d++; - i = A[d + 1 | 0]; - if(42 == i) { - H = c("i32"), d++ - }else { - for(;;) { - i = A[d + 1 | 0]; - if(48 > i || 57 < i) { - break - } - H = 10 * H + (i - 48); - d++ - } - } - i = A[d + 1 | 0] - }else { - H = 6 - } - var x; - switch(String.fromCharCode(i)) { - case "h": - i = A[d + 2 | 0]; - 104 == i ? (d++, x = 1) : x = 2; - break; - case "l": - i = A[d + 2 | 0]; - 108 == i ? (d++, x = 8) : x = 4; - break; - case "L": - ; - case "q": - ; - case "j": - x = 8; - break; - case "z": - ; - case "t": - ; - case "I": - x = 4; - break; - default: - x = m - } - x && d++; - i = A[d + 1 | 0]; - switch(String.fromCharCode(i)) { - case "d": - ; - case "i": - ; - case "u": - ; - case "o": - ; - case "x": - ; - case "X": - ; - case "p": - j = 100 == i || 105 == i; - x = x || 4; - var P = h = c("i" + 8 * x), r; - 8 == x && (h = 117 == i ? +(h[0] >>> 0) + 4294967296 * +(h[1] >>> 0) : +(h[0] >>> 0) + 4294967296 * +(h[1] | 0)); - 4 >= x && (h = (j ? eb : db)(h & Math.pow(256, x) - 1, 8 * x)); - var ta = Math.abs(h), j = ""; - if(100 == i || 105 == i) { - r = 8 == x && lc ? lc.stringify(P[0], P[1], m) : eb(h, 8 * x).toString(10) - }else { - if(117 == i) { - r = 8 == x && lc ? lc.stringify(P[0], P[1], l) : db(h, 8 * x).toString(10), h = Math.abs(h) - }else { - if(111 == i) { - r = (v ? "0" : "") + ta.toString(8) - }else { - if(120 == i || 88 == i) { - j = v && 0 != h ? "0x" : ""; - if(8 == x && lc) { - if(P[1]) { - r = (P[1] >>> 0).toString(16); - for(v = (P[0] >>> 0).toString(16);8 > v.length;) { - v = "0" + v - } - r += v - }else { - r = (P[0] >>> 0).toString(16) - } - }else { - if(0 > h) { - h = -h; - r = (ta - 1).toString(16); - P = []; - for(v = 0;v < r.length;v++) { - P.push((15 - parseInt(r[v], 16)).toString(16)) - } - for(r = P.join("");r.length < 2 * x;) { - r = "f" + r - } - }else { - r = ta.toString(16) - } - } - 88 == i && (j = j.toUpperCase(), r = r.toUpperCase()) - }else { - 112 == i && (0 === ta ? r = "(nil)" : (j = "0x", r = ta.toString(16))) - } - } - } - } - if(K) { - for(;r.length < H;) { - r = "0" + r - } - } - for(n && (j = 0 > h ? "-" + j : "+" + j);j.length + r.length < D;) { - y ? r += " " : C ? r = "0" + r : j = " " + j - } - r = j + r; - r.split("").forEach(function(a) { - f.push(a.charCodeAt(0)) - }); - break; - case "f": - ; - case "F": - ; - case "e": - ; - case "E": - ; - case "g": - ; - case "G": - h = c("double"); - if(isNaN(h)) { - r = "nan", C = p - }else { - if(isFinite(h)) { - K = p; - x = Math.min(H, 20); - if(103 == i || 71 == i) { - K = l, H = H || 1, x = parseInt(h.toExponential(x).split("e")[1], 10), H > x && -4 <= x ? (i = (103 == i ? "f" : "F").charCodeAt(0), H -= x + 1) : (i = (103 == i ? "e" : "E").charCodeAt(0), H--), x = Math.min(H, 20) - } - if(101 == i || 69 == i) { - r = h.toExponential(x), /[eE][-+]\d$/.test(r) && (r = r.slice(0, -1) + "0" + r.slice(-1)) - }else { - if(102 == i || 70 == i) { - r = h.toFixed(x), 0 === h && jc(h) && (r = "-" + r) - } - } - j = r.split("e"); - if(K && !v) { - for(;1 < j[0].length && -1 != j[0].indexOf(".") && ("0" == j[0].slice(-1) || "." == j[0].slice(-1));) { - j[0] = j[0].slice(0, -1) - } - }else { - for(v && -1 == r.indexOf(".") && (j[0] += ".");H > x++;) { - j[0] += "0" - } - } - r = j[0] + (1 < j.length ? "e" + j[1] : ""); - 69 == i && (r = r.toUpperCase()); - n && 0 <= h && (r = "+" + r) - }else { - r = (0 > h ? "-" : "") + "inf", C = p - } - } - for(;r.length < D;) { - r = y ? r + " " : C && ("-" == r[0] || "+" == r[0]) ? r[0] + "0" + r.slice(1) : (C ? "0" : " ") + r - } - 97 > i && (r = r.toUpperCase()); - r.split("").forEach(function(a) { - f.push(a.charCodeAt(0)) - }); - break; - case "s": - C = (n = c("i8*")) ? ic(n) : 6; - K && (C = Math.min(C, H)); - if(!y) { - for(;C < D--;) { - f.push(32) - } - } - if(n) { - for(v = 0;v < C;v++) { - f.push(G[n++ | 0]) - } - }else { - f = f.concat(J("(null)".substr(0, C), l)) - } - if(y) { - for(;C < D--;) { - f.push(32) - } - } - break; - case "c": - for(y && f.push(c("i8"));0 < --D;) { - f.push(32) - } - y || f.push(c("i8")); - break; - case "n": - y = c("i32*"); - B[y >> 2] = f.length; - break; - case "%": - f.push(h); - break; - default: - for(v = j;v < d + 2;v++) { - f.push(A[v]) - } - } - d += 2 - }else { - f.push(h), d += 1 - } - } - return f -} -function mc(a, b, c) { - c = kc(b, c); - b = ja(); - a = hc(F(c, "i8", La), 1, c.length, a); - ka(b); - return a -} -function nc(a) { - nc.ia || (z = z + 4095 >> 12 << 12, nc.ia = l, w(ua), nc.hb = ua, ua = function() { - wa("cannot dynamically allocate, sbrk now has control") - }); - var b = z; - 0 != a && nc.hb(a); - return b -} -function U() { - return B[U.m >> 2] -} -function oc() { - return!!oc.ta -} -function pc(a) { - var b = p; - try { - a == __ZTIi && (b = l) - }catch(c) { - } - try { - a == __ZTIj && (b = l) - }catch(d) { - } - try { - a == __ZTIl && (b = l) - }catch(e) { - } - try { - a == __ZTIm && (b = l) - }catch(f) { - } - try { - a == __ZTIx && (b = l) - }catch(h) { - } - try { - a == __ZTIy && (b = l) - }catch(i) { - } - try { - a == __ZTIf && (b = l) - }catch(j) { - } - try { - a == __ZTId && (b = l) - }catch(n) { - } - try { - a == __ZTIe && (b = l) - }catch(y) { - } - try { - a == __ZTIc && (b = l) - }catch(v) { - } - try { - a == __ZTIa && (b = l) - }catch(C) { - } - try { - a == __ZTIh && (b = l) - }catch(D) { - } - try { - a == __ZTIs && (b = l) - }catch(K) { - } - try { - a == __ZTIt && (b = l) - }catch(H) { - } - return b -} -function qc(a, b, c) { - if(0 == c) { - return p - } - if(0 == b || b == a) { - return l - } - switch(pc(b) ? b : B[B[b >> 2] - 8 >> 2]) { - case 0: - return 0 == B[B[a >> 2] - 8 >> 2] ? qc(B[a + 8 >> 2], B[b + 8 >> 2], c) : p; - case 1: - return p; - case 2: - return qc(a, B[b + 8 >> 2], c); - default: - return p - } -} -function rc(a, b, c) { - if(!rc.sb) { - try { - B[__ZTVN10__cxxabiv119__pointer_type_infoE >> 2] = 0 - }catch(d) { - } - try { - B[pb >> 2] = 1 - }catch(e) { - } - try { - B[ob >> 2] = 2 - }catch(f) { - } - rc.sb = l - } - B[U.m >> 2] = a; - B[U.m + 4 >> 2] = b; - B[U.m + 8 >> 2] = c; - "uncaught_exception" in oc ? oc.ta++ : oc.ta = 1; - g(a + " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.") -} -function sc(a) { - try { - return tc(a) - }catch(b) { - } -} -function uc() { - if(uc.Bb) { - uc.Bb = p - }else { - V.setThrew(0); - B[U.m + 4 >> 2] = 0; - var a = B[U.m >> 2], b = B[U.m + 8 >> 2]; - b && (na("vi", b, [a]), B[U.m + 8 >> 2] = 0); - a && (sc(a), B[U.m >> 2] = 0) - } -} -var vc = F(1, "i32*", E); -function wc(a) { - var b, c; - wc.ia ? (c = B[vc >> 2], b = B[c >> 2]) : (wc.ia = l, W.USER = "root", W.PATH = "/", W.PWD = "/", W.HOME = "/home/emscripten", W.LANG = "en_US.UTF-8", W._ = "./this.program", b = F(1024, "i8", E), c = F(256, "i8*", E), B[c >> 2] = b, B[vc >> 2] = c); - var d = [], e = 0, f; - for(f in a) { - if("string" === typeof a[f]) { - var h = f + "=" + a[f]; - d.push(h); - e += h.length - } - } - 1024 < e && g(Error("Environment size exceeded TOTAL_ENV_SIZE!")); - for(a = 0;a < d.length;a++) { - h = d[a]; - for(e = 0;e < h.length;e++) { - A[b + e | 0] = h.charCodeAt(e) - } - A[b + e | 0] = 0; - B[c + 4 * a >> 2] = b; - b += h.length + 1 - } - B[c + 4 * d.length >> 2] = 0 -} -var W = {}; -function xc(a) { - if(0 === a) { - return 0 - } - a = Fa(a); - if(!W.hasOwnProperty(a)) { - return 0 - } - xc.J && tc(xc.J); - xc.J = F(J(W[a]), "i8", Ka); - return xc.J -} -function yc(a, b, c) { - if(a in ub) { - if(ub[a].length > c - 1) { - return M(N.ab) - } - a = ub[a]; - for(c = 0;c < a.length;c++) { - A[b + c | 0] = a.charCodeAt(c) - } - return A[b + c | 0] = 0 - } - return M(N.A) -} -function zc(a) { - zc.buffer || (zc.buffer = Oa(256)); - yc(a, zc.buffer, 256); - return zc.buffer -} -function Ac(a) { - s.exit(a) -} -function Bc(a, b) { - var c = db(a & 255); - A[Bc.J | 0] = c; - if(-1 == gc(b, Bc.J, 1)) { - if(c = R[b]) { - c.error = l - } - return-1 - } - return c -} -var Cc = p, Dc = p, Ec = p, Fc = p, Gc = k, Hc = k; -function Ic(a) { - return{jpg:"image/jpeg", jpeg:"image/jpeg", png:"image/png", bmp:"image/bmp", ogg:"audio/ogg", wav:"audio/wav", mp3:"audio/mpeg"}[a.substr(a.lastIndexOf(".") + 1)] -} -var Jc = []; -function Kc() { - var a = s.canvas; - Jc.forEach(function(b) { - b(a.width, a.height) - }) -} -function Lc() { - var a = s.canvas; - this.Ib = a.width; - this.Hb = a.height; - a.width = screen.width; - a.height = screen.height; - "undefined" != typeof SDL && (a = Qa[SDL.screen + 0 * ma >> 2], B[SDL.screen + 0 * ma >> 2] = a | 8388608); - Kc() -} -function Mc() { - var a = s.canvas; - a.width = this.Ib; - a.height = this.Hb; - "undefined" != typeof SDL && (a = Qa[SDL.screen + 0 * ma >> 2], B[SDL.screen + 0 * ma >> 2] = a & -8388609); - Kc() -} -var Nc, Oc, Pc, Qc, rb = ra(4); -B[rb >> 2] = 0; -var Vb = Qb(m, "/", 16895, 0), Rc = T, Sc = {type:Rc, se:{}, Ua:"/", root:m}, Tc; -Tc = O("/", {N:p}); -var Uc = Rc.z(Sc); -Uc.z = Sc; -Sc.root = Uc; -Tc && (Tc.d.z = Sc, Tc.d.ub = l, Vb = Sc.root); -zb("/tmp", 511); -zb("/dev", 511); -Nb[259] = {e:{Q:function() { - return 0 -}, write:function() { - return 0 -}}}; -Ab("/dev/null", 438, 259); -Mb(1280, {Na:function(a) { - if(!a.input.length) { - var b = m; - if(ca) { - if(process.Eb.be) { - return - } - b = process.Eb.Q() - }else { - "undefined" != typeof window && "function" == typeof window.prompt ? (b = window.prompt("Input: "), b !== m && (b += "\n")) : "function" == typeof readline && (b = readline(), b !== m && (b += "\n")) - } - if(!b) { - return m - } - a.input = J(b, l) - } - return a.input.shift() -}, W:function(a, b) { - b === m || 10 === b ? (s.print(a.H.join("")), a.H = []) : a.H.push(Pb.oa(b)) -}}); -Mb(1536, {W:function(a, b) { - b === m || 10 === b ? (s.printErr(a.H.join("")), a.H = []) : a.H.push(Pb.oa(b)) -}}); -Ab("/dev/tty", 438, 1280); -Ab("/dev/tty1", 438, 1536); -zb("/dev/shm", 511); -zb("/dev/shm/tmp", 511); -Xa.unshift({V:function() { - if(!s.noFSInit && !bc) { - w(!bc, "FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"); - bc = l; - s.stdin = s.stdin; - s.stdout = s.stdout; - s.stderr = s.stderr; - s.stdin ? ec("/dev", "stdin", s.stdin) : Bb("/dev/tty", "/dev/stdin"); - s.stdout ? ec("/dev", "stdout", m, s.stdout) : Bb("/dev/tty", "/dev/stdout"); - s.stderr ? ec("/dev", "stderr", m, s.stderr) : Bb("/dev/tty1", "/dev/stderr"); - var a = Db("/dev/stdin", "r"); - B[Tb >> 2] = a.s; - w(1 === a.s, "invalid handle for stdin (" + a.s + ")"); - a = Db("/dev/stdout", "w"); - B[Ub >> 2] = a.s; - w(2 === a.s, "invalid handle for stdout (" + a.s + ")"); - a = Db("/dev/stderr", "w"); - B[nb >> 2] = a.s; - w(3 === a.s, "invalid handle for stderr (" + a.s + ")") - } -}}); -Ya.push({V:function() { - Yb = p -}}); -Za.push({V:function() { - bc = p; - for(var a = 0;a < R.length;a++) { - var b = R[a]; - b && Hb(b) - } -}}); -s.FS_createFolder = function(a, b, c, d) { - a = S("string" === typeof a ? a : ac(a), b); - return zb(a, cc(c, d)) -}; -s.FS_createPath = function(a, b) { - for(var a = "string" === typeof a ? a : ac(a), c = b.split("/").reverse();c.length;) { - var d = c.pop(); - if(d) { - var e = S(a, d); - try { - zb(e, 511) - }catch(f) { - } - a = e - } - } - return e -}; -s.FS_createDataFile = dc; -s.FS_createPreloadedFile = function(a, b, c, d, e, f, h, i) { - function j() { - Ec = document.pointerLockElement === v || document.mozPointerLockElement === v || document.webkitPointerLockElement === v - } - function n(c) { - function j(c) { - i || dc(a, b, c, d, e); - f && f(); - jb("cp " + C) - } - var n = p; - s.preloadPlugins.forEach(function(a) { - !n && a.canHandle(C) && (a.handle(c, C, j, function() { - h && h(); - jb("cp " + C) - }), n = l) - }); - n || j(c) - } - s.preloadPlugins || (s.preloadPlugins = []); - if(!Nc && !ea) { - Nc = l; - try { - new Blob, Oc = l - }catch(y) { - Oc = p, console.log("warning: no blob constructor, cannot create blobs with mimetypes") - } - Pc = "undefined" != typeof MozBlobBuilder ? MozBlobBuilder : "undefined" != typeof WebKitBlobBuilder ? WebKitBlobBuilder : !Oc ? console.log("warning: no BlobBuilder") : m; - Qc = "undefined" != typeof window ? window.URL ? window.URL : window.webkitURL : console.log("warning: cannot create object URLs"); - s.preloadPlugins.push({canHandle:function(a) { - return!s.re && /\.(jpg|jpeg|png|bmp)$/i.test(a) - }, handle:function(a, b, c, d) { - var e = m; - if(Oc) { - try { - e = new Blob([a], {type:Ic(b)}), e.size !== a.length && (e = new Blob([(new Uint8Array(a)).buffer], {type:Ic(b)})) - }catch(f) { - var h = "Blob constructor present but fails: " + f + "; falling back to blob builder"; - oa || (oa = {}); - oa[h] || (oa[h] = 1, s.P(h)) - } - } - e || (e = new Pc, e.append((new Uint8Array(a)).buffer), e = e.getBlob()); - var i = Qc.createObjectURL(e), j = new Image; - j.onload = function() { - w(j.complete, "Image " + b + " could not be decoded"); - var d = document.createElement("canvas"); - d.width = j.width; - d.height = j.height; - d.getContext("2d").drawImage(j, 0, 0); - s.preloadedImages[b] = d; - Qc.revokeObjectURL(i); - c && c(a) - }; - j.onerror = function() { - console.log("Image " + i + " could not be decoded"); - d && d() - }; - j.src = i - }}); - s.preloadPlugins.push({canHandle:function(a) { - return!s.qe && a.substr(-4) in {".ogg":1, ".wav":1, ".mp3":1} - }, handle:function(a, b, c, d) { - function e(d) { - h || (h = l, s.preloadedAudios[b] = d, c && c(a)) - } - function f() { - h || (h = l, s.preloadedAudios[b] = new Audio, d && d()) - } - var h = p; - if(Oc) { - try { - var i = new Blob([a], {type:Ic(b)}) - }catch(j) { - return f() - } - var i = Qc.createObjectURL(i), n = new Audio; - n.addEventListener("canplaythrough", function() { - e(n) - }, p); - n.onerror = function() { - if(!h) { - console.log("warning: browser could not fully decode audio " + b + ", trying slower base64 approach"); - for(var c = "", d = 0, f = 0, i = 0;i < a.length;i++) { - d = d << 8 | a[i]; - for(f += 8;6 <= f;) { - var j = d >> f - 6 & 63, f = f - 6, c = c + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[j] - } - } - 2 == f ? (c += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(d & 3) << 4], c += "==") : 4 == f && (c += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(d & 15) << 2], c += "="); - n.src = "data:audio/x-" + b.substr(-3) + ";base64," + c; - e(n) - } - }; - n.src = i; - setTimeout(function() { - za || e(n) - }, 1E4) - }else { - return f() - } - }}); - var v = s.canvas; - v.qa = v.requestPointerLock || v.mozRequestPointerLock || v.webkitRequestPointerLock; - v.La = document.exitPointerLock || document.mozExitPointerLock || document.webkitExitPointerLock || aa(); - v.La = v.La.bind(document); - document.addEventListener("pointerlockchange", j, p); - document.addEventListener("mozpointerlockchange", j, p); - document.addEventListener("webkitpointerlockchange", j, p); - s.elementPointerLock && v.addEventListener("click", function(a) { - !Ec && v.qa && (v.qa(), a.preventDefault()) - }, p) - } - var C, D = S.apply(m, [a, b]); - "/" == D[0] && (D = D.substr(1)); - C = D; - ib("cp " + C); - if("string" == typeof c) { - var K = h, H = function() { - K ? K() : g('Loading data file "' + c + '" failed.') - }, x = new XMLHttpRequest; - x.open("GET", c, l); - x.responseType = "arraybuffer"; - x.onload = function() { - if(200 == x.status || 0 == x.status && x.response) { - var a = x.response; - w(a, 'Loading data file "' + c + '" failed (no arrayBuffer).'); - a = new Uint8Array(a); - n(a); - jb("al " + c) - }else { - H() - } - }; - x.onerror = H; - x.send(m); - ib("al " + c) - }else { - n(c) - } -}; -s.FS_createLazyFile = function(a, b, c, d, e) { - var f, h; - "undefined" !== typeof XMLHttpRequest ? (ea || g("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"), f = function() { - this.ma = p; - this.T = [] - }, f.prototype.get = function(a) { - if(!(a > this.length - 1 || 0 > a)) { - var b = a % this.S; - return this.pb(Math.floor(a / this.S))[b] - } - }, f.prototype.Cb = function(a) { - this.pb = a - }, f.prototype.Fa = function() { - var a = new XMLHttpRequest; - a.open("HEAD", c, p); - a.send(m); - 200 <= a.status && 300 > a.status || 304 === a.status || g(Error("Couldn't load " + c + ". Status: " + a.status)); - var b = Number(a.getResponseHeader("Content-length")), d, e = 1048576; - if(!((d = a.getResponseHeader("Accept-Ranges")) && "bytes" === d)) { - e = b - } - var f = this; - f.Cb(function(a) { - var d = a * e, h = (a + 1) * e - 1, h = Math.min(h, b - 1); - if("undefined" === typeof f.T[a]) { - var i = f.T; - d > h && g(Error("invalid range (" + d + ", " + h + ") or no bytes requested!")); - h > b - 1 && g(Error("only " + b + " bytes available! programmer error!")); - var j = new XMLHttpRequest; - j.open("GET", c, p); - b !== e && j.setRequestHeader("Range", "bytes=" + d + "-" + h); - "undefined" != typeof Uint8Array && (j.responseType = "arraybuffer"); - j.overrideMimeType && j.overrideMimeType("text/plain; charset=x-user-defined"); - j.send(m); - 200 <= j.status && 300 > j.status || 304 === j.status || g(Error("Couldn't load " + c + ". Status: " + j.status)); - d = j.response !== k ? new Uint8Array(j.response || []) : J(j.responseText || "", l); - i[a] = d - } - "undefined" === typeof f.T[a] && g(Error("doXHR failed!")); - return f.T[a] - }); - this.gb = b; - this.fb = e; - this.ma = l - }, f = new f, Object.defineProperty(f, "length", {get:function() { - this.ma || this.Fa(); - return this.gb - }}), Object.defineProperty(f, "chunkSize", {get:function() { - this.ma || this.Fa(); - return this.fb - }}), h = k) : (h = c, f = k); - var i, a = S("string" === typeof a ? a : ac(a), b); - i = yb(a, cc(d, e)); - f ? i.g = f : h && (i.g = m, i.url = h); - var j = {}; - Object.keys(i.e).forEach(function(a) { - var b = i.e[a]; - j[a] = function() { - var a; - if(i.ke || i.le || i.link || i.g) { - a = l - }else { - a = l; - "undefined" !== typeof XMLHttpRequest && g(Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")); - if(s.read) { - try { - i.g = J(s.read(i.url), l) - }catch(c) { - a = p - } - }else { - g(Error("Cannot load without read() or XMLHttpRequest.")) - } - a || M(N.I) - } - a || g(new Q(N.I)); - return b.apply(m, arguments) - } - }); - j.Q = function(a, b, c, d, e) { - a = a.d.g; - d = Math.min(a.length - e, d); - if(a.slice) { - for(var f = 0;f < d;f++) { - b[c + f] = a[e + f] - } - }else { - for(f = 0;f < d;f++) { - b[c + f] = a.get(e + f) - } - } - return d - }; - i.e = j; - return i -}; -s.FS_createLink = function(a, b, c) { - a = S("string" === typeof a ? a : ac(a), b); - return Bb(c, a) -}; -s.FS_createDevice = ec; -U.m = F(12, "void*", E); -wc(W); -Bc.J = F([0], "i8", E); -s.requestFullScreen = function(a, b) { - function c() { - Dc = p; - (document.webkitFullScreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.mozFullscreenElement || document.fullScreenElement || document.fullscreenElement) === d ? (d.Ga = document.cancelFullScreen || document.mozCancelFullScreen || document.webkitCancelFullScreen, d.Ga = d.Ga.bind(document), Gc && d.qa(), Dc = l, Hc && Lc()) : Hc && Mc(); - if(s.onFullScreen) { - s.onFullScreen(Dc) - } - } - Gc = a; - Hc = b; - "undefined" === typeof Gc && (Gc = l); - "undefined" === typeof Hc && (Hc = p); - var d = s.canvas; - Fc || (Fc = l, document.addEventListener("fullscreenchange", c, p), document.addEventListener("mozfullscreenchange", c, p), document.addEventListener("webkitfullscreenchange", c, p)); - d.Ab = d.requestFullScreen || d.mozRequestFullScreen || (d.webkitRequestFullScreen ? function() { - d.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT) - } : m); - d.Ab() -}; -s.requestAnimationFrame = function(a) { - window.requestAnimationFrame || (window.requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame || window.oRequestAnimationFrame || window.setTimeout); - window.requestAnimationFrame(a) -}; -s.pauseMainLoop = aa(); -s.resumeMainLoop = function() { - Cc && (Cc = p, m()) -}; -s.getUserMedia = function() { - window.Ma || (window.Ma = navigator.getUserMedia || navigator.mozGetUserMedia); - window.Ma(k) -}; -Sa = u = xa(sa); -Ta = Sa + 5242880; -Ua = z = xa(Ta); -w(Ua < va); -var Vc = F([8, 7, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "i8", 3), Wc = F([8, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 6, 0, 1, 0, -2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 7, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, -0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0], "i8", 3), Xc = Math.min; -var V = (function(global,env,buffer) { -// EMSCRIPTEN_START_ASM - "use asm"; - var a = new global.Int8Array(buffer); - var b = new global.Int16Array(buffer); - var c = new global.Int32Array(buffer); - var d = new global.Uint8Array(buffer); - var e = new global.Uint16Array(buffer); - var f = new global.Uint32Array(buffer); - var g = new global.Float32Array(buffer); - var h = new global.Float64Array(buffer); - var i = env.STACKTOP | 0; - var j = env.STACK_MAX | 0; - var k = env.tempDoublePtr | 0; - var l = env.ABORT | 0; - var m = env.cttz_i8 | 0; - var n = env.ctlz_i8 | 0; - var o = env._stderr | 0; - var p = env.__ZTVN10__cxxabiv120__si_class_type_infoE | 0; - var q = env.__ZTVN10__cxxabiv117__class_type_infoE | 0; - var r = env.___progname | 0; - var s = +env.NaN; - var t = +env.Infinity; - var u = 0; - var v = 0; - var w = 0; - var x = 0; - var y = 0, z = 0, A = 0, B = 0, C = 0.0, D = 0, E = 0, F = 0, G = 0.0; - var H = 0; - var I = 0; - var J = 0; - var K = 0; - var L = 0; - var M = 0; - var N = 0; - var O = 0; - var P = 0; - var Q = 0; - var R = global.Math.floor; - var S = global.Math.abs; - var T = global.Math.sqrt; - var U = global.Math.pow; - var V = global.Math.cos; - var W = global.Math.sin; - var X = global.Math.tan; - var Y = global.Math.acos; - var Z = global.Math.asin; - var _ = global.Math.atan; - var $ = global.Math.atan2; - var aa = global.Math.exp; - var ab = global.Math.log; - var ac = global.Math.ceil; - var ad = global.Math.imul; - var ae = env.abort; - var af = env.assert; - var ag = env.asmPrintInt; - var ah = env.asmPrintFloat; - var ai = env.min; - var aj = env.invoke_vi; - var ak = env.invoke_vii; - var al = env.invoke_ii; - var am = env.invoke_viii; - var an = env.invoke_v; - var ao = env.invoke_iii; - var ap = env._strncmp; - var aq = env._llvm_va_end; - var ar = env._sysconf; - var as = env.___cxa_throw; - var at = env._strerror; - var au = env._abort; - var av = env._fprintf; - var aw = env._llvm_eh_exception; - var ax = env.___cxa_free_exception; - var ay = env._fflush; - var az = env.___buildEnvironment; - var aA = env.__reallyNegative; - var aB = env._strchr; - var aC = env._fputc; - var aD = env.___setErrNo; - var aE = env._fwrite; - var aF = env._send; - var aG = env._write; - var aH = env._exit; - var aI = env.___cxa_find_matching_catch; - var aJ = env.___cxa_allocate_exception; - var aK = env._isspace; - var aL = env.__formatString; - var aM = env.___resumeException; - var aN = env._llvm_uadd_with_overflow_i32; - var aO = env.___cxa_does_inherit; - var aP = env._getenv; - var aQ = env._vfprintf; - var aR = env.___cxa_begin_catch; - var aS = env.__ZSt18uncaught_exceptionv; - var aT = env._pwrite; - var aU = env.___cxa_call_unexpected; - var aV = env._sbrk; - var aW = env._strerror_r; - var aX = env.___errno_location; - var aY = env.___gxx_personality_v0; - var aZ = env.___cxa_is_number_type; - var a_ = env._time; - var a$ = env.__exit; - var a0 = env.___cxa_end_catch; -// EMSCRIPTEN_START_FUNCS -function a7(a) { - a = a | 0; - var b = 0; - b = i; - i = i + a | 0; - i = i + 7 >> 3 << 3; - return b | 0; -} -function a8() { - return i | 0; -} -function a9(a) { - a = a | 0; - i = a; -} -function ba(a, b) { - a = a | 0; - b = b | 0; - if ((u | 0) == 0) { - u = a; - v = b; - } -} -function bb(b) { - b = b | 0; - a[k] = a[b]; - a[k + 1 | 0] = a[b + 1 | 0]; - a[k + 2 | 0] = a[b + 2 | 0]; - a[k + 3 | 0] = a[b + 3 | 0]; -} -function bc(b) { - b = b | 0; - a[k] = a[b]; - a[k + 1 | 0] = a[b + 1 | 0]; - a[k + 2 | 0] = a[b + 2 | 0]; - a[k + 3 | 0] = a[b + 3 | 0]; - a[k + 4 | 0] = a[b + 4 | 0]; - a[k + 5 | 0] = a[b + 5 | 0]; - a[k + 6 | 0] = a[b + 6 | 0]; - a[k + 7 | 0] = a[b + 7 | 0]; -} -function bd(a) { - a = a | 0; - H = a; -} -function be(a) { - a = a | 0; - I = a; -} -function bf(a) { - a = a | 0; - J = a; -} -function bg(a) { - a = a | 0; - K = a; -} -function bh(a) { - a = a | 0; - L = a; -} -function bi(a) { - a = a | 0; - M = a; -} -function bj(a) { - a = a | 0; - N = a; -} -function bk(a) { - a = a | 0; - O = a; -} -function bl(a) { - a = a | 0; - P = a; -} -function bm(a) { - a = a | 0; - Q = a; -} -function bn() { - c[170] = q + 8; - c[172] = p + 8; - c[176] = p + 8; -} -function bo(b, c, d) { - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0; - if ((d | 0) == 0) { - return; - } else { - e = 0; - } - do { - a[b + e | 0] = a[c + e | 0] | 0; - e = e + 1 | 0; - } while (e >>> 0 < d >>> 0); - return; -} -function bp(b, c, d) { - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0, f = 0; - if ((d | 0) == 0) { - return; - } else { - e = 0; - } - do { - f = b + e | 0; - a[f] = a[f] ^ a[c + e | 0]; - e = e + 1 | 0; - } while (e >>> 0 < d >>> 0); - return; -} -function bq(a) { - a = a | 0; - var b = 0, c = 0, e = 0, f = 0; - b = d[a + 1 | 0] | 0; - c = d[a + 2 | 0] | 0; - e = d[a + 3 | 0] | 0; - f = cN(b << 8 | 0 >>> 24 | (d[a] | 0) | (c << 16 | 0 >>> 16) | (e << 24 | 0 >>> 8) | (0 << 8 | 0 >>> 24), 0 << 8 | b >>> 24 | (0 << 16 | c >>> 16) | (0 << 24 | e >>> 8) | (d[a + 4 | 0] | 0) | ((d[a + 5 | 0] | 0) << 8 | 0 >>> 24), 0 << 16 | 0 >>> 16, (d[a + 6 | 0] | 0) << 16 | 0 >>> 16) | 0; - e = cN(f, H, 0 << 24 | 0 >>> 8, (d[a + 7 | 0] | 0) << 24 | 0 >>> 8) | 0; - return (H = H, e) | 0; -} -function br(a) { - a = a | 0; - return (d[a + 1 | 0] | 0) << 8 | (d[a] | 0) | (d[a + 2 | 0] | 0) << 16 | (d[a + 3 | 0] | 0) << 24 | 0; -} -function bs(b, c) { - b = b | 0; - c = c | 0; - a[b] = c & 255; - a[b + 1 | 0] = c >>> 8 & 255; - a[b + 2 | 0] = c >>> 16 & 255; - a[b + 3 | 0] = c >>> 24 & 255; - return; -} -function bt(a) { - a = a | 0; - c[a + 36 >> 2] = 0; - c[a + 32 >> 2] = 0; - c[a >> 2] = 1779033703; - c[a + 4 >> 2] = -1150833019; - c[a + 8 >> 2] = 1013904242; - c[a + 12 >> 2] = -1521486534; - c[a + 16 >> 2] = 1359893119; - c[a + 20 >> 2] = -1694144372; - c[a + 24 >> 2] = 528734635; - c[a + 28 >> 2] = 1541459225; - return; -} -function bu(a, b, d, e, f, g, h, i, j, k) { - a = a | 0; - b = b | 0; - d = d | 0; - e = e | 0; - f = f | 0; - g = g | 0; - h = h | 0; - i = i | 0; - j = j | 0; - k = k | 0; - var l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0; - l = cX(i, 0, h, 0) | 0; - m = H; - n = 0; - if (m >>> 0 > n >>> 0 | m >>> 0 == n >>> 0 & l >>> 0 > 1073741823 >>> 0) { - c[(aX() | 0) >> 2] = 27; - o = -1; - return o | 0; - } - l = cN(f, g, -1, -1) | 0; - if ((l & f | 0) != 0 | (H & g | 0) != 0 | (f | 0) == 0 & (g | 0) == 0) { - c[(aX() | 0) >> 2] = 22; - o = -1; - return o | 0; - } - do { - if (!((33554431 / (i >>> 0) | 0) >>> 0 < h >>> 0 | h >>> 0 > 16777215)) { - l = 0; - if (l >>> 0 < g >>> 0 | l >>> 0 == g >>> 0 & (33554431 / (h >>> 0) | 0) >>> 0 < f >>> 0) { - break; - } - l = h << 7; - n = bL(ad(l, i) | 0) | 0; - if ((n | 0) == 0) { - o = -1; - return o | 0; - } - m = bL(h << 8) | 0; - do { - if ((m | 0) != 0) { - p = cX(l, 0, f, g) | 0; - q = bL(p) | 0; - if ((q | 0) == 0) { - bM(m); - break; - } - p = ad(i << 7, h) | 0; - bJ(a, b, d, e, 1, 0, n, p); - if ((i | 0) != 0) { - r = h << 7; - s = 0; - do { - bv(n + (ad(r, s) | 0) | 0, h, f, g, q, m); - s = s + 1 | 0; - } while (s >>> 0 < i >>> 0); - } - bJ(a, b, n, p, 1, 0, j, k); - bM(q); - bM(m); - bM(n); - o = 0; - return o | 0; - } - } while (0); - bM(n); - o = -1; - return o | 0; - } - } while (0); - c[(aX() | 0) >> 2] = 12; - o = -1; - return o | 0; -} -function bv(a, b, c, d, e, f) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - f = f | 0; - var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0; - g = b << 7; - h = f + g | 0; - bo(f, a, g); - if ((c | 0) == 0 & (d | 0) == 0) { - bo(a, f, g); - return; - } - i = g; - j = 0; - k = 0; - l = 0; - do { - m = cX(l, k, i, j) | 0; - bo(e + m | 0, f, g); - bw(f, h, b); - l = cN(l, k, 1, 0) | 0; - k = H; - } while (k >>> 0 < d >>> 0 | k >>> 0 == d >>> 0 & l >>> 0 < c >>> 0); - if ((c | 0) == 0 & (d | 0) == 0) { - bo(a, f, g); - return; - } - l = cN(c, d, -1, -1) | 0; - k = H; - j = g; - i = 0; - m = 0; - n = 0; - do { - o = bx(f, b) | 0; - p = cX(o & l, H & k, j, i) | 0; - bp(f, e + p | 0, g); - bw(f, h, b); - n = cN(n, m, 1, 0) | 0; - m = H; - } while (m >>> 0 < d >>> 0 | m >>> 0 == d >>> 0 & n >>> 0 < c >>> 0); - bo(a, f, g); - return; -} -function bw(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0; - d = i; - i = i + 64 | 0; - e = d | 0; - f = c << 1; - bo(e, a + ((c << 7) - 64) | 0, 64); - if ((f | 0) != 0) { - g = 0; - do { - h = g << 6; - bp(e, a + h | 0, 64); - by(e); - bo(b + h | 0, e, 64); - g = g + 1 | 0; - } while (g >>> 0 < f >>> 0); - } - if ((c | 0) == 0) { - i = d; - return; - } else { - j = 0; - } - do { - bo(a + (j << 6) | 0, b + (j << 7) | 0, 64); - j = j + 1 | 0; - } while (j >>> 0 < c >>> 0); - if ((c | 0) == 0) { - i = d; - return; - } else { - k = 0; - } - do { - bo(a + (k + c << 6) | 0, b + (k << 7 | 64) | 0, 64); - k = k + 1 | 0; - } while (k >>> 0 < c >>> 0); - i = d; - return; -} -function bx(a, b) { - a = a | 0; - b = b | 0; - var c = 0; - c = bq(a + ((b << 7) - 64) | 0) | 0; - return (H = H, c) | 0; -} -function by(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, aa = 0, ab = 0; - b = i; - i = i + 128 | 0; - d = b | 0; - e = b + 64 | 0; - f = 0; - do { - c[d + (f << 2) >> 2] = br(a + (f << 2) | 0) | 0; - f = f + 1 | 0; - } while (f >>> 0 < 16); - f = d; - g = e; - cK(g | 0, f | 0, 64) | 0; - f = e | 0; - g = e + 48 | 0; - h = e + 16 | 0; - j = e + 32 | 0; - k = e + 20 | 0; - l = e + 4 | 0; - m = e + 36 | 0; - n = e + 52 | 0; - o = e + 40 | 0; - p = e + 24 | 0; - q = e + 56 | 0; - r = e + 8 | 0; - s = e + 60 | 0; - t = e + 44 | 0; - u = e + 12 | 0; - v = e + 28 | 0; - w = 0; - x = c[f >> 2] | 0; - y = c[g >> 2] | 0; - z = c[h >> 2] | 0; - A = c[j >> 2] | 0; - B = c[k >> 2] | 0; - C = c[l >> 2] | 0; - D = c[m >> 2] | 0; - E = c[n >> 2] | 0; - F = c[o >> 2] | 0; - G = c[p >> 2] | 0; - H = c[q >> 2] | 0; - I = c[r >> 2] | 0; - J = c[s >> 2] | 0; - K = c[t >> 2] | 0; - L = c[u >> 2] | 0; - M = c[v >> 2] | 0; - do { - N = y + x | 0; - O = (N << 7 | N >>> 25) ^ z; - N = O + x | 0; - P = (N << 9 | N >>> 23) ^ A; - N = P + O | 0; - Q = (N << 13 | N >>> 19) ^ y; - N = Q + P | 0; - R = (N << 18 | N >>> 14) ^ x; - N = C + B | 0; - S = (N << 7 | N >>> 25) ^ D; - N = S + B | 0; - T = (N << 9 | N >>> 23) ^ E; - N = T + S | 0; - U = (N << 13 | N >>> 19) ^ C; - N = U + T | 0; - V = (N << 18 | N >>> 14) ^ B; - N = G + F | 0; - W = (N << 7 | N >>> 25) ^ H; - N = W + F | 0; - X = (N << 9 | N >>> 23) ^ I; - N = X + W | 0; - Y = (N << 13 | N >>> 19) ^ G; - N = Y + X | 0; - Z = (N << 18 | N >>> 14) ^ F; - N = K + J | 0; - _ = (N << 7 | N >>> 25) ^ L; - N = _ + J | 0; - $ = (N << 9 | N >>> 23) ^ M; - N = $ + _ | 0; - aa = (N << 13 | N >>> 19) ^ K; - N = aa + $ | 0; - ab = (N << 18 | N >>> 14) ^ J; - N = _ + R | 0; - C = (N << 7 | N >>> 25) ^ U; - U = C + R | 0; - I = (U << 9 | U >>> 23) ^ X; - X = I + C | 0; - L = (X << 13 | X >>> 19) ^ _; - _ = L + I | 0; - x = (_ << 18 | _ >>> 14) ^ R; - R = O + V | 0; - G = (R << 7 | R >>> 25) ^ Y; - Y = G + V | 0; - M = (Y << 9 | Y >>> 23) ^ $; - $ = M + G | 0; - z = ($ << 13 | $ >>> 19) ^ O; - O = z + M | 0; - B = (O << 18 | O >>> 14) ^ V; - V = S + Z | 0; - K = (V << 7 | V >>> 25) ^ aa; - aa = K + Z | 0; - A = (aa << 9 | aa >>> 23) ^ P; - P = A + K | 0; - D = (P << 13 | P >>> 19) ^ S; - S = D + A | 0; - F = (S << 18 | S >>> 14) ^ Z; - Z = W + ab | 0; - y = (Z << 7 | Z >>> 25) ^ Q; - Q = y + ab | 0; - E = (Q << 9 | Q >>> 23) ^ T; - T = E + y | 0; - H = (T << 13 | T >>> 19) ^ W; - W = H + E | 0; - J = (W << 18 | W >>> 14) ^ ab; - w = w + 2 | 0; - } while (w >>> 0 < 8); - c[f >> 2] = x; - c[g >> 2] = y; - c[h >> 2] = z; - c[j >> 2] = A; - c[k >> 2] = B; - c[l >> 2] = C; - c[m >> 2] = D; - c[n >> 2] = E; - c[o >> 2] = F; - c[p >> 2] = G; - c[q >> 2] = H; - c[r >> 2] = I; - c[s >> 2] = J; - c[t >> 2] = K; - c[u >> 2] = L; - c[v >> 2] = M; - M = d | 0; - c[M >> 2] = (c[M >> 2] | 0) + (c[e >> 2] | 0); - M = d + 4 | 0; - c[M >> 2] = (c[M >> 2] | 0) + (c[e + 4 >> 2] | 0); - M = d + 8 | 0; - c[M >> 2] = (c[M >> 2] | 0) + (c[e + 8 >> 2] | 0); - M = d + 12 | 0; - c[M >> 2] = (c[M >> 2] | 0) + (c[e + 12 >> 2] | 0); - M = d + 16 | 0; - c[M >> 2] = (c[M >> 2] | 0) + (c[e + 16 >> 2] | 0); - M = d + 20 | 0; - c[M >> 2] = (c[M >> 2] | 0) + (c[e + 20 >> 2] | 0); - M = d + 24 | 0; - c[M >> 2] = (c[M >> 2] | 0) + (c[e + 24 >> 2] | 0); - M = d + 28 | 0; - c[M >> 2] = (c[M >> 2] | 0) + (c[e + 28 >> 2] | 0); - M = d + 32 | 0; - c[M >> 2] = (c[M >> 2] | 0) + (c[e + 32 >> 2] | 0); - M = d + 36 | 0; - c[M >> 2] = (c[M >> 2] | 0) + (c[e + 36 >> 2] | 0); - M = d + 40 | 0; - c[M >> 2] = (c[M >> 2] | 0) + (c[e + 40 >> 2] | 0); - M = d + 44 | 0; - c[M >> 2] = (c[M >> 2] | 0) + (c[e + 44 >> 2] | 0); - M = d + 48 | 0; - c[M >> 2] = (c[M >> 2] | 0) + (c[e + 48 >> 2] | 0); - M = d + 52 | 0; - c[M >> 2] = (c[M >> 2] | 0) + (c[e + 52 >> 2] | 0); - M = d + 56 | 0; - c[M >> 2] = (c[M >> 2] | 0) + (c[e + 56 >> 2] | 0); - M = d + 60 | 0; - c[M >> 2] = (c[M >> 2] | 0) + (c[e + 60 >> 2] | 0); - e = 0; - do { - bs(a + (e << 2) | 0, c[d + (e << 2) >> 2] | 0); - e = e + 1 | 0; - } while (e >>> 0 < 16); - i = b; - return; -} -function bz(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0; - e = a + 32 | 0; - f = a + 36 | 0; - g = c[f >> 2] | 0; - h = g >>> 3 & 63; - i = aN(g | 0, d << 3 | 0) | 0; - c[f >> 2] = i; - if (H) { - i = e | 0; - c[i >> 2] = (c[i >> 2] | 0) + 1; - } - i = e | 0; - c[i >> 2] = (c[i >> 2] | 0) + (d >>> 29); - i = 64 - h | 0; - e = a + 40 + h | 0; - if (i >>> 0 > d >>> 0) { - cK(e | 0, b | 0, d) | 0; - return; - } - cK(e | 0, b | 0, i) | 0; - e = a | 0; - h = a + 40 | 0; - bA(e, h); - a = b + i | 0; - b = d - i | 0; - if (b >>> 0 > 63) { - i = b; - d = a; - while (1) { - bA(e, d); - f = d + 64 | 0; - g = i - 64 | 0; - if (g >>> 0 > 63) { - i = g; - d = f; - } else { - j = g; - k = f; - break; - } - } - } else { - j = b; - k = a; - } - cK(h | 0, k | 0, j) | 0; - return; -} -function bA(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0; - d = i; - i = i + 288 | 0; - e = d | 0; - f = d + 256 | 0; - g = e | 0; - bK(g, b); - b = 16; - do { - h = c[e + (b - 2 << 2) >> 2] | 0; - j = c[e + (b - 15 << 2) >> 2] | 0; - c[e + (b << 2) >> 2] = (c[e + (b - 16 << 2) >> 2] | 0) + (c[e + (b - 7 << 2) >> 2] | 0) + ((h >>> 19 | h << 13) ^ h >>> 10 ^ (h >>> 17 | h << 15)) + ((j >>> 18 | j << 14) ^ j >>> 3 ^ (j >>> 7 | j << 25)); - b = b + 1 | 0; - } while ((b | 0) < 64); - b = f; - j = a; - cK(b | 0, j | 0, 32) | 0; - j = f + 28 | 0; - b = f + 16 | 0; - h = c[b >> 2] | 0; - k = f + 20 | 0; - l = f + 24 | 0; - m = c[l >> 2] | 0; - n = (c[j >> 2] | 0) + 1116352408 + (c[g >> 2] | 0) + ((h >>> 6 | h << 26) ^ (h >>> 11 | h << 21) ^ (h >>> 25 | h << 7)) + ((m ^ c[k >> 2]) & h ^ m) | 0; - m = f | 0; - h = c[m >> 2] | 0; - g = f + 4 | 0; - o = c[g >> 2] | 0; - p = f + 8 | 0; - q = c[p >> 2] | 0; - r = f + 12 | 0; - c[r >> 2] = (c[r >> 2] | 0) + n; - s = ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + n + ((q | o) & h | q & o) | 0; - c[j >> 2] = s; - o = c[r >> 2] | 0; - q = c[k >> 2] | 0; - h = (c[l >> 2] | 0) + 1899447441 + (c[e + 4 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[b >> 2]) & o ^ q) | 0; - q = c[m >> 2] | 0; - o = c[g >> 2] | 0; - c[p >> 2] = (c[p >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((o | q) & s | o & q) | 0; - c[l >> 2] = n; - q = c[p >> 2] | 0; - o = c[b >> 2] | 0; - s = (c[k >> 2] | 0) - 1245643825 + (c[e + 8 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[r >> 2]) & q ^ o) | 0; - o = c[j >> 2] | 0; - q = c[m >> 2] | 0; - c[g >> 2] = (c[g >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((q | o) & n | q & o) | 0; - c[k >> 2] = h; - o = c[g >> 2] | 0; - q = c[r >> 2] | 0; - n = (c[b >> 2] | 0) - 373957723 + (c[e + 12 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[p >> 2]) & o ^ q) | 0; - q = c[l >> 2] | 0; - o = c[j >> 2] | 0; - c[m >> 2] = (c[m >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((o | q) & h | o & q) | 0; - c[b >> 2] = s; - q = c[m >> 2] | 0; - o = c[p >> 2] | 0; - h = (c[r >> 2] | 0) + 961987163 + (c[e + 16 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[g >> 2]) & q ^ o) | 0; - o = c[k >> 2] | 0; - q = c[l >> 2] | 0; - c[j >> 2] = (c[j >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((q | o) & s | q & o) | 0; - c[r >> 2] = n; - o = c[j >> 2] | 0; - q = c[g >> 2] | 0; - s = (c[p >> 2] | 0) + 1508970993 + (c[e + 20 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[m >> 2]) & o ^ q) | 0; - q = c[b >> 2] | 0; - o = c[k >> 2] | 0; - c[l >> 2] = (c[l >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((o | q) & n | o & q) | 0; - c[p >> 2] = h; - q = c[l >> 2] | 0; - o = c[m >> 2] | 0; - n = (c[g >> 2] | 0) - 1841331548 + (c[e + 24 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[j >> 2]) & q ^ o) | 0; - o = c[r >> 2] | 0; - q = c[b >> 2] | 0; - c[k >> 2] = (c[k >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((q | o) & h | q & o) | 0; - c[g >> 2] = s; - o = c[k >> 2] | 0; - q = c[j >> 2] | 0; - h = (c[m >> 2] | 0) - 1424204075 + (c[e + 28 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[l >> 2]) & o ^ q) | 0; - q = c[p >> 2] | 0; - o = c[r >> 2] | 0; - c[b >> 2] = (c[b >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((o | q) & s | o & q) | 0; - c[m >> 2] = n; - q = c[b >> 2] | 0; - o = c[l >> 2] | 0; - s = (c[j >> 2] | 0) - 670586216 + (c[e + 32 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[k >> 2]) & q ^ o) | 0; - o = c[g >> 2] | 0; - q = c[p >> 2] | 0; - c[r >> 2] = (c[r >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((q | o) & n | q & o) | 0; - c[j >> 2] = h; - o = c[r >> 2] | 0; - q = c[k >> 2] | 0; - n = (c[l >> 2] | 0) + 310598401 + (c[e + 36 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[b >> 2]) & o ^ q) | 0; - q = c[m >> 2] | 0; - o = c[g >> 2] | 0; - c[p >> 2] = (c[p >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((o | q) & h | o & q) | 0; - c[l >> 2] = s; - q = c[p >> 2] | 0; - o = c[b >> 2] | 0; - h = (c[k >> 2] | 0) + 607225278 + (c[e + 40 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[r >> 2]) & q ^ o) | 0; - o = c[j >> 2] | 0; - q = c[m >> 2] | 0; - c[g >> 2] = (c[g >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((q | o) & s | q & o) | 0; - c[k >> 2] = n; - o = c[g >> 2] | 0; - q = c[r >> 2] | 0; - s = (c[b >> 2] | 0) + 1426881987 + (c[e + 44 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[p >> 2]) & o ^ q) | 0; - q = c[l >> 2] | 0; - o = c[j >> 2] | 0; - c[m >> 2] = (c[m >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((o | q) & n | o & q) | 0; - c[b >> 2] = h; - q = c[m >> 2] | 0; - o = c[p >> 2] | 0; - n = (c[r >> 2] | 0) + 1925078388 + (c[e + 48 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[g >> 2]) & q ^ o) | 0; - o = c[k >> 2] | 0; - q = c[l >> 2] | 0; - c[j >> 2] = (c[j >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((q | o) & h | q & o) | 0; - c[r >> 2] = s; - o = c[j >> 2] | 0; - q = c[g >> 2] | 0; - h = (c[p >> 2] | 0) - 2132889090 + (c[e + 52 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[m >> 2]) & o ^ q) | 0; - q = c[b >> 2] | 0; - o = c[k >> 2] | 0; - c[l >> 2] = (c[l >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((o | q) & s | o & q) | 0; - c[p >> 2] = n; - q = c[l >> 2] | 0; - o = c[m >> 2] | 0; - s = (c[g >> 2] | 0) - 1680079193 + (c[e + 56 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[j >> 2]) & q ^ o) | 0; - o = c[r >> 2] | 0; - q = c[b >> 2] | 0; - c[k >> 2] = (c[k >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((q | o) & n | q & o) | 0; - c[g >> 2] = h; - o = c[k >> 2] | 0; - q = c[j >> 2] | 0; - n = (c[m >> 2] | 0) - 1046744716 + (c[e + 60 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[l >> 2]) & o ^ q) | 0; - q = c[p >> 2] | 0; - o = c[r >> 2] | 0; - c[b >> 2] = (c[b >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((o | q) & h | o & q) | 0; - c[m >> 2] = s; - q = c[b >> 2] | 0; - o = c[l >> 2] | 0; - h = (c[j >> 2] | 0) - 459576895 + (c[e + 64 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[k >> 2]) & q ^ o) | 0; - o = c[g >> 2] | 0; - q = c[p >> 2] | 0; - c[r >> 2] = (c[r >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((q | o) & s | q & o) | 0; - c[j >> 2] = n; - o = c[r >> 2] | 0; - q = c[k >> 2] | 0; - s = (c[l >> 2] | 0) - 272742522 + (c[e + 68 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[b >> 2]) & o ^ q) | 0; - q = c[m >> 2] | 0; - o = c[g >> 2] | 0; - c[p >> 2] = (c[p >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((o | q) & n | o & q) | 0; - c[l >> 2] = h; - q = c[p >> 2] | 0; - o = c[b >> 2] | 0; - n = (c[k >> 2] | 0) + 264347078 + (c[e + 72 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[r >> 2]) & q ^ o) | 0; - o = c[j >> 2] | 0; - q = c[m >> 2] | 0; - c[g >> 2] = (c[g >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((q | o) & h | q & o) | 0; - c[k >> 2] = s; - o = c[g >> 2] | 0; - q = c[r >> 2] | 0; - h = (c[b >> 2] | 0) + 604807628 + (c[e + 76 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[p >> 2]) & o ^ q) | 0; - q = c[l >> 2] | 0; - o = c[j >> 2] | 0; - c[m >> 2] = (c[m >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((o | q) & s | o & q) | 0; - c[b >> 2] = n; - q = c[m >> 2] | 0; - o = c[p >> 2] | 0; - s = (c[r >> 2] | 0) + 770255983 + (c[e + 80 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[g >> 2]) & q ^ o) | 0; - o = c[k >> 2] | 0; - q = c[l >> 2] | 0; - c[j >> 2] = (c[j >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((q | o) & n | q & o) | 0; - c[r >> 2] = h; - o = c[j >> 2] | 0; - q = c[g >> 2] | 0; - n = (c[p >> 2] | 0) + 1249150122 + (c[e + 84 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[m >> 2]) & o ^ q) | 0; - q = c[b >> 2] | 0; - o = c[k >> 2] | 0; - c[l >> 2] = (c[l >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((o | q) & h | o & q) | 0; - c[p >> 2] = s; - q = c[l >> 2] | 0; - o = c[m >> 2] | 0; - h = (c[g >> 2] | 0) + 1555081692 + (c[e + 88 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[j >> 2]) & q ^ o) | 0; - o = c[r >> 2] | 0; - q = c[b >> 2] | 0; - c[k >> 2] = (c[k >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((q | o) & s | q & o) | 0; - c[g >> 2] = n; - o = c[k >> 2] | 0; - q = c[j >> 2] | 0; - s = (c[m >> 2] | 0) + 1996064986 + (c[e + 92 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[l >> 2]) & o ^ q) | 0; - q = c[p >> 2] | 0; - o = c[r >> 2] | 0; - c[b >> 2] = (c[b >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((o | q) & n | o & q) | 0; - c[m >> 2] = h; - q = c[b >> 2] | 0; - o = c[l >> 2] | 0; - n = (c[j >> 2] | 0) - 1740746414 + (c[e + 96 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[k >> 2]) & q ^ o) | 0; - o = c[g >> 2] | 0; - q = c[p >> 2] | 0; - c[r >> 2] = (c[r >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((q | o) & h | q & o) | 0; - c[j >> 2] = s; - o = c[r >> 2] | 0; - q = c[k >> 2] | 0; - h = (c[l >> 2] | 0) - 1473132947 + (c[e + 100 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[b >> 2]) & o ^ q) | 0; - q = c[m >> 2] | 0; - o = c[g >> 2] | 0; - c[p >> 2] = (c[p >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((o | q) & s | o & q) | 0; - c[l >> 2] = n; - q = c[p >> 2] | 0; - o = c[b >> 2] | 0; - s = (c[k >> 2] | 0) - 1341970488 + (c[e + 104 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[r >> 2]) & q ^ o) | 0; - o = c[j >> 2] | 0; - q = c[m >> 2] | 0; - c[g >> 2] = (c[g >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((q | o) & n | q & o) | 0; - c[k >> 2] = h; - o = c[g >> 2] | 0; - q = c[r >> 2] | 0; - n = (c[b >> 2] | 0) - 1084653625 + (c[e + 108 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[p >> 2]) & o ^ q) | 0; - q = c[l >> 2] | 0; - o = c[j >> 2] | 0; - c[m >> 2] = (c[m >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((o | q) & h | o & q) | 0; - c[b >> 2] = s; - q = c[m >> 2] | 0; - o = c[p >> 2] | 0; - h = (c[r >> 2] | 0) - 958395405 + (c[e + 112 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[g >> 2]) & q ^ o) | 0; - o = c[k >> 2] | 0; - q = c[l >> 2] | 0; - c[j >> 2] = (c[j >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((q | o) & s | q & o) | 0; - c[r >> 2] = n; - o = c[j >> 2] | 0; - q = c[g >> 2] | 0; - s = (c[p >> 2] | 0) - 710438585 + (c[e + 116 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[m >> 2]) & o ^ q) | 0; - q = c[b >> 2] | 0; - o = c[k >> 2] | 0; - c[l >> 2] = (c[l >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((o | q) & n | o & q) | 0; - c[p >> 2] = h; - q = c[l >> 2] | 0; - o = c[m >> 2] | 0; - n = (c[g >> 2] | 0) + 113926993 + (c[e + 120 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[j >> 2]) & q ^ o) | 0; - o = c[r >> 2] | 0; - q = c[b >> 2] | 0; - c[k >> 2] = (c[k >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((q | o) & h | q & o) | 0; - c[g >> 2] = s; - o = c[k >> 2] | 0; - q = c[j >> 2] | 0; - h = (c[m >> 2] | 0) + 338241895 + (c[e + 124 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[l >> 2]) & o ^ q) | 0; - q = c[p >> 2] | 0; - o = c[r >> 2] | 0; - c[b >> 2] = (c[b >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((o | q) & s | o & q) | 0; - c[m >> 2] = n; - q = c[b >> 2] | 0; - o = c[l >> 2] | 0; - s = (c[j >> 2] | 0) + 666307205 + (c[e + 128 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[k >> 2]) & q ^ o) | 0; - o = c[g >> 2] | 0; - q = c[p >> 2] | 0; - c[r >> 2] = (c[r >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((q | o) & n | q & o) | 0; - c[j >> 2] = h; - o = c[r >> 2] | 0; - q = c[k >> 2] | 0; - n = (c[l >> 2] | 0) + 773529912 + (c[e + 132 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[b >> 2]) & o ^ q) | 0; - q = c[m >> 2] | 0; - o = c[g >> 2] | 0; - c[p >> 2] = (c[p >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((o | q) & h | o & q) | 0; - c[l >> 2] = s; - q = c[p >> 2] | 0; - o = c[b >> 2] | 0; - h = (c[k >> 2] | 0) + 1294757372 + (c[e + 136 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[r >> 2]) & q ^ o) | 0; - o = c[j >> 2] | 0; - q = c[m >> 2] | 0; - c[g >> 2] = (c[g >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((q | o) & s | q & o) | 0; - c[k >> 2] = n; - o = c[g >> 2] | 0; - q = c[r >> 2] | 0; - s = (c[b >> 2] | 0) + 1396182291 + (c[e + 140 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[p >> 2]) & o ^ q) | 0; - q = c[l >> 2] | 0; - o = c[j >> 2] | 0; - c[m >> 2] = (c[m >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((o | q) & n | o & q) | 0; - c[b >> 2] = h; - q = c[m >> 2] | 0; - o = c[p >> 2] | 0; - n = (c[r >> 2] | 0) + 1695183700 + (c[e + 144 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[g >> 2]) & q ^ o) | 0; - o = c[k >> 2] | 0; - q = c[l >> 2] | 0; - c[j >> 2] = (c[j >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((q | o) & h | q & o) | 0; - c[r >> 2] = s; - o = c[j >> 2] | 0; - q = c[g >> 2] | 0; - h = (c[p >> 2] | 0) + 1986661051 + (c[e + 148 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[m >> 2]) & o ^ q) | 0; - q = c[b >> 2] | 0; - o = c[k >> 2] | 0; - c[l >> 2] = (c[l >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((o | q) & s | o & q) | 0; - c[p >> 2] = n; - q = c[l >> 2] | 0; - o = c[m >> 2] | 0; - s = (c[g >> 2] | 0) - 2117940946 + (c[e + 152 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[j >> 2]) & q ^ o) | 0; - o = c[r >> 2] | 0; - q = c[b >> 2] | 0; - c[k >> 2] = (c[k >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((q | o) & n | q & o) | 0; - c[g >> 2] = h; - o = c[k >> 2] | 0; - q = c[j >> 2] | 0; - n = (c[m >> 2] | 0) - 1838011259 + (c[e + 156 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[l >> 2]) & o ^ q) | 0; - q = c[p >> 2] | 0; - o = c[r >> 2] | 0; - c[b >> 2] = (c[b >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((o | q) & h | o & q) | 0; - c[m >> 2] = s; - q = c[b >> 2] | 0; - o = c[l >> 2] | 0; - h = (c[j >> 2] | 0) - 1564481375 + (c[e + 160 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[k >> 2]) & q ^ o) | 0; - o = c[g >> 2] | 0; - q = c[p >> 2] | 0; - c[r >> 2] = (c[r >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((q | o) & s | q & o) | 0; - c[j >> 2] = n; - o = c[r >> 2] | 0; - q = c[k >> 2] | 0; - s = (c[l >> 2] | 0) - 1474664885 + (c[e + 164 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[b >> 2]) & o ^ q) | 0; - q = c[m >> 2] | 0; - o = c[g >> 2] | 0; - c[p >> 2] = (c[p >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((o | q) & n | o & q) | 0; - c[l >> 2] = h; - q = c[p >> 2] | 0; - o = c[b >> 2] | 0; - n = (c[k >> 2] | 0) - 1035236496 + (c[e + 168 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[r >> 2]) & q ^ o) | 0; - o = c[j >> 2] | 0; - q = c[m >> 2] | 0; - c[g >> 2] = (c[g >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((q | o) & h | q & o) | 0; - c[k >> 2] = s; - o = c[g >> 2] | 0; - q = c[r >> 2] | 0; - h = (c[b >> 2] | 0) - 949202525 + (c[e + 172 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[p >> 2]) & o ^ q) | 0; - q = c[l >> 2] | 0; - o = c[j >> 2] | 0; - c[m >> 2] = (c[m >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((o | q) & s | o & q) | 0; - c[b >> 2] = n; - q = c[m >> 2] | 0; - o = c[p >> 2] | 0; - s = (c[r >> 2] | 0) - 778901479 + (c[e + 176 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[g >> 2]) & q ^ o) | 0; - o = c[k >> 2] | 0; - q = c[l >> 2] | 0; - c[j >> 2] = (c[j >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((q | o) & n | q & o) | 0; - c[r >> 2] = h; - o = c[j >> 2] | 0; - q = c[g >> 2] | 0; - n = (c[p >> 2] | 0) - 694614492 + (c[e + 180 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[m >> 2]) & o ^ q) | 0; - q = c[b >> 2] | 0; - o = c[k >> 2] | 0; - c[l >> 2] = (c[l >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((o | q) & h | o & q) | 0; - c[p >> 2] = s; - q = c[l >> 2] | 0; - o = c[m >> 2] | 0; - h = (c[g >> 2] | 0) - 200395387 + (c[e + 184 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[j >> 2]) & q ^ o) | 0; - o = c[r >> 2] | 0; - q = c[b >> 2] | 0; - c[k >> 2] = (c[k >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((q | o) & s | q & o) | 0; - c[g >> 2] = n; - o = c[k >> 2] | 0; - q = c[j >> 2] | 0; - s = (c[m >> 2] | 0) + 275423344 + (c[e + 188 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[l >> 2]) & o ^ q) | 0; - q = c[p >> 2] | 0; - o = c[r >> 2] | 0; - c[b >> 2] = (c[b >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((o | q) & n | o & q) | 0; - c[m >> 2] = h; - q = c[b >> 2] | 0; - o = c[l >> 2] | 0; - n = (c[j >> 2] | 0) + 430227734 + (c[e + 192 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[k >> 2]) & q ^ o) | 0; - o = c[g >> 2] | 0; - q = c[p >> 2] | 0; - c[r >> 2] = (c[r >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((q | o) & h | q & o) | 0; - c[j >> 2] = s; - o = c[r >> 2] | 0; - q = c[k >> 2] | 0; - h = (c[l >> 2] | 0) + 506948616 + (c[e + 196 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[b >> 2]) & o ^ q) | 0; - q = c[m >> 2] | 0; - o = c[g >> 2] | 0; - c[p >> 2] = (c[p >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((o | q) & s | o & q) | 0; - c[l >> 2] = n; - q = c[p >> 2] | 0; - o = c[b >> 2] | 0; - s = (c[k >> 2] | 0) + 659060556 + (c[e + 200 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[r >> 2]) & q ^ o) | 0; - o = c[j >> 2] | 0; - q = c[m >> 2] | 0; - c[g >> 2] = (c[g >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((q | o) & n | q & o) | 0; - c[k >> 2] = h; - o = c[g >> 2] | 0; - q = c[r >> 2] | 0; - n = (c[b >> 2] | 0) + 883997877 + (c[e + 204 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[p >> 2]) & o ^ q) | 0; - q = c[l >> 2] | 0; - o = c[j >> 2] | 0; - c[m >> 2] = (c[m >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((o | q) & h | o & q) | 0; - c[b >> 2] = s; - q = c[m >> 2] | 0; - o = c[p >> 2] | 0; - h = (c[r >> 2] | 0) + 958139571 + (c[e + 208 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[g >> 2]) & q ^ o) | 0; - o = c[k >> 2] | 0; - q = c[l >> 2] | 0; - c[j >> 2] = (c[j >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((q | o) & s | q & o) | 0; - c[r >> 2] = n; - o = c[j >> 2] | 0; - q = c[g >> 2] | 0; - s = (c[p >> 2] | 0) + 1322822218 + (c[e + 212 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[m >> 2]) & o ^ q) | 0; - q = c[b >> 2] | 0; - o = c[k >> 2] | 0; - c[l >> 2] = (c[l >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((o | q) & n | o & q) | 0; - c[p >> 2] = h; - q = c[l >> 2] | 0; - o = c[m >> 2] | 0; - n = (c[g >> 2] | 0) + 1537002063 + (c[e + 216 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[j >> 2]) & q ^ o) | 0; - o = c[r >> 2] | 0; - q = c[b >> 2] | 0; - c[k >> 2] = (c[k >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((q | o) & h | q & o) | 0; - c[g >> 2] = s; - o = c[k >> 2] | 0; - q = c[j >> 2] | 0; - h = (c[m >> 2] | 0) + 1747873779 + (c[e + 220 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[l >> 2]) & o ^ q) | 0; - q = c[p >> 2] | 0; - o = c[r >> 2] | 0; - c[b >> 2] = (c[b >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((o | q) & s | o & q) | 0; - c[m >> 2] = n; - q = c[b >> 2] | 0; - o = c[l >> 2] | 0; - s = (c[j >> 2] | 0) + 1955562222 + (c[e + 224 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[k >> 2]) & q ^ o) | 0; - o = c[g >> 2] | 0; - q = c[p >> 2] | 0; - c[r >> 2] = (c[r >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((q | o) & n | q & o) | 0; - c[j >> 2] = h; - o = c[r >> 2] | 0; - q = c[k >> 2] | 0; - n = (c[l >> 2] | 0) + 2024104815 + (c[e + 228 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[b >> 2]) & o ^ q) | 0; - q = c[m >> 2] | 0; - o = c[g >> 2] | 0; - c[p >> 2] = (c[p >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((o | q) & h | o & q) | 0; - c[l >> 2] = s; - q = c[p >> 2] | 0; - o = c[b >> 2] | 0; - h = (c[k >> 2] | 0) - 2067236844 + (c[e + 232 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[r >> 2]) & q ^ o) | 0; - o = c[j >> 2] | 0; - q = c[m >> 2] | 0; - c[g >> 2] = (c[g >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((q | o) & s | q & o) | 0; - c[k >> 2] = n; - o = c[g >> 2] | 0; - q = c[r >> 2] | 0; - s = (c[b >> 2] | 0) - 1933114872 + (c[e + 236 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[p >> 2]) & o ^ q) | 0; - q = c[l >> 2] | 0; - o = c[j >> 2] | 0; - c[m >> 2] = (c[m >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((o | q) & n | o & q) | 0; - c[b >> 2] = h; - q = c[m >> 2] | 0; - o = c[p >> 2] | 0; - n = (c[r >> 2] | 0) - 1866530822 + (c[e + 240 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[g >> 2]) & q ^ o) | 0; - o = c[k >> 2] | 0; - q = c[l >> 2] | 0; - c[j >> 2] = (c[j >> 2] | 0) + n; - s = n + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((q | o) & h | q & o) | 0; - c[r >> 2] = s; - o = c[j >> 2] | 0; - q = c[g >> 2] | 0; - h = (c[p >> 2] | 0) - 1538233109 + (c[e + 244 >> 2] | 0) + ((o >>> 6 | o << 26) ^ (o >>> 11 | o << 21) ^ (o >>> 25 | o << 7)) + ((q ^ c[m >> 2]) & o ^ q) | 0; - q = c[b >> 2] | 0; - o = c[k >> 2] | 0; - c[l >> 2] = (c[l >> 2] | 0) + h; - n = h + ((s >>> 2 | s << 30) ^ (s >>> 13 | s << 19) ^ (s >>> 22 | s << 10)) + ((o | q) & s | o & q) | 0; - c[p >> 2] = n; - q = c[l >> 2] | 0; - o = c[m >> 2] | 0; - s = (c[g >> 2] | 0) - 1090935817 + (c[e + 248 >> 2] | 0) + ((q >>> 6 | q << 26) ^ (q >>> 11 | q << 21) ^ (q >>> 25 | q << 7)) + ((o ^ c[j >> 2]) & q ^ o) | 0; - o = c[r >> 2] | 0; - q = c[b >> 2] | 0; - c[k >> 2] = (c[k >> 2] | 0) + s; - h = s + ((n >>> 2 | n << 30) ^ (n >>> 13 | n << 19) ^ (n >>> 22 | n << 10)) + ((q | o) & n | q & o) | 0; - c[g >> 2] = h; - g = c[k >> 2] | 0; - k = c[j >> 2] | 0; - j = (c[m >> 2] | 0) - 965641998 + (c[e + 252 >> 2] | 0) + ((g >>> 6 | g << 26) ^ (g >>> 11 | g << 21) ^ (g >>> 25 | g << 7)) + ((k ^ c[l >> 2]) & g ^ k) | 0; - k = c[p >> 2] | 0; - p = c[r >> 2] | 0; - c[b >> 2] = (c[b >> 2] | 0) + j; - b = j + ((h >>> 2 | h << 30) ^ (h >>> 13 | h << 19) ^ (h >>> 22 | h << 10)) + ((p | k) & h | p & k) | 0; - c[m >> 2] = b; - c[a >> 2] = (c[a >> 2] | 0) + b; - b = a + 4 | 0; - c[b >> 2] = (c[b >> 2] | 0) + (c[f + 4 >> 2] | 0); - b = a + 8 | 0; - c[b >> 2] = (c[b >> 2] | 0) + (c[f + 8 >> 2] | 0); - b = a + 12 | 0; - c[b >> 2] = (c[b >> 2] | 0) + (c[f + 12 >> 2] | 0); - b = a + 16 | 0; - c[b >> 2] = (c[b >> 2] | 0) + (c[f + 16 >> 2] | 0); - b = a + 20 | 0; - c[b >> 2] = (c[b >> 2] | 0) + (c[f + 20 >> 2] | 0); - b = a + 24 | 0; - c[b >> 2] = (c[b >> 2] | 0) + (c[f + 24 >> 2] | 0); - b = a + 28 | 0; - c[b >> 2] = (c[b >> 2] | 0) + (c[f + 28 >> 2] | 0); - i = d; - return; -} -function bB(b, c) { - b = b | 0; - c = c | 0; - a[b + 3 | 0] = c & 255; - a[b + 2 | 0] = c >>> 8 & 255; - a[b + 1 | 0] = c >>> 16 & 255; - a[b] = c >>> 24 & 255; - return; -} -function bC(a) { - a = a | 0; - return (d[a + 2 | 0] | 0) << 8 | (d[a + 3 | 0] | 0) | (d[a + 1 | 0] | 0) << 16 | (d[a] | 0) << 24 | 0; -} -function bD(a, b) { - a = a | 0; - b = b | 0; - bE(b); - bF(a, b | 0, 32); - cL(b | 0, 0, 104); - return; -} -function bE(a) { - a = a | 0; - var b = 0, d = 0, e = 0; - b = i; - i = i + 8 | 0; - d = b | 0; - bF(d, a + 32 | 0, 8); - e = (c[a + 36 >> 2] | 0) >>> 3 & 63; - bz(a, 720, (e >>> 0 < 56 ? 56 : 120) - e | 0); - bz(a, d, 8); - i = b; - return; -} -function bF(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0; - e = d >>> 2; - if ((e | 0) == 0) { - return; - } else { - f = 0; - } - do { - bB(a + (f << 2) | 0, c[b + (f << 2) >> 2] | 0); - f = f + 1 | 0; - } while (f >>> 0 < e >>> 0); - return; -} -function bG(b, c, d) { - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0; - e = i; - i = i + 96 | 0; - f = e | 0; - if (d >>> 0 > 64) { - g = b | 0; - bt(g); - bz(g, c, d); - h = e + 64 | 0; - bD(h, g); - j = h; - k = 32; - } else { - j = c; - k = d; - } - d = b | 0; - bt(d); - c = f | 0; - cL(c | 0, 54, 64); - if ((k | 0) != 0) { - h = 0; - do { - g = f + h | 0; - a[g] = a[g] ^ a[j + h | 0]; - h = h + 1 | 0; - } while (h >>> 0 < k >>> 0); - } - bz(d, c, 64); - d = b + 104 | 0; - bt(d); - cL(c | 0, 92, 64); - if ((k | 0) == 0) { - bz(d, c, 64); - i = e; - return; - } else { - l = 0; - } - do { - b = f + l | 0; - a[b] = a[b] ^ a[j + l | 0]; - l = l + 1 | 0; - } while (l >>> 0 < k >>> 0); - bz(d, c, 64); - i = e; - return; -} -function bH(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - bz(a | 0, b, c); - return; -} -function bI(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0, e = 0; - c = i; - i = i + 32 | 0; - d = c | 0; - bD(d, b | 0); - e = b + 104 | 0; - bz(e, d, 32); - bD(a, e); - i = c; - return; -} -function bJ(b, c, d, e, f, g, h, j) { - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - f = f | 0; - g = g | 0; - h = h | 0; - j = j | 0; - var k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0; - k = i; - i = i + 488 | 0; - l = k | 0; - m = k + 208 | 0; - n = k + 424 | 0; - o = k + 456 | 0; - bG(l, b, c); - bH(l, d, e); - if ((j | 0) == 0) { - i = k; - return; - } - e = k + 416 | 0; - d = m; - p = l; - l = n | 0; - q = o | 0; - r = 0; - s = g >>> 0 < r >>> 0 | g >>> 0 == r >>> 0 & f >>> 0 < 2 >>> 0; - r = 0; - t = 0; - do { - r = r + 1 | 0; - bB(e, r); - cK(d | 0, p | 0, 208) | 0; - bH(m, e, 4); - bI(l, m); - cK(q | 0, l | 0, 32) | 0; - if (!s) { - u = 0; - v = 2; - do { - bG(m, b, c); - bH(m, l, 32); - bI(l, m); - w = 0; - do { - x = o + w | 0; - a[x] = a[x] ^ a[n + w | 0]; - w = w + 1 | 0; - } while ((w | 0) < 32); - v = cN(v, u, 1, 0) | 0; - u = H; - } while (!(u >>> 0 > g >>> 0 | u >>> 0 == g >>> 0 & v >>> 0 > f >>> 0)); - } - v = j - t | 0; - u = v >>> 0 > 32 ? 32 : v; - v = h + t | 0; - cK(v | 0, q | 0, u) | 0; - t = r << 5; - } while (t >>> 0 < j >>> 0); - i = k; - return; -} -function bK(a, b) { - a = a | 0; - b = b | 0; - var d = 0; - d = 0; - do { - c[a + (d << 2) >> 2] = bC(b + (d << 2) | 0) | 0; - d = d + 1 | 0; - } while (d >>> 0 < 16); - return; -} -function bL(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, aa = 0, ab = 0, ac = 0, ad = 0, ae = 0, af = 0, ag = 0, ah = 0, ai = 0, aj = 0, ak = 0, al = 0, am = 0, an = 0, ao = 0, ap = 0, aq = 0, as = 0, at = 0, av = 0, aw = 0, ax = 0, ay = 0, az = 0, aA = 0, aB = 0, aC = 0, aD = 0, aE = 0, aF = 0, aG = 0, aH = 0, aI = 0; - do { - if (a >>> 0 < 245) { - if (a >>> 0 < 11) { - b = 16; - } else { - b = a + 11 & -8; - } - d = b >>> 3; - e = c[208] | 0; - f = e >>> (d >>> 0); - if ((f & 3 | 0) != 0) { - g = (f & 1 ^ 1) + d | 0; - h = g << 1; - i = 872 + (h << 2) | 0; - j = 872 + (h + 2 << 2) | 0; - h = c[j >> 2] | 0; - k = h + 8 | 0; - l = c[k >> 2] | 0; - do { - if ((i | 0) == (l | 0)) { - c[208] = e & ~(1 << g); - } else { - if (l >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } - m = l + 12 | 0; - if ((c[m >> 2] | 0) == (h | 0)) { - c[m >> 2] = i; - c[j >> 2] = l; - break; - } else { - au(); - return 0; - } - } - } while (0); - l = g << 3; - c[h + 4 >> 2] = l | 3; - j = h + (l | 4) | 0; - c[j >> 2] = c[j >> 2] | 1; - n = k; - return n | 0; - } - if (b >>> 0 <= (c[210] | 0) >>> 0) { - o = b; - break; - } - if ((f | 0) != 0) { - j = 2 << d; - l = f << d & (j | -j); - j = (l & -l) - 1 | 0; - l = j >>> 12 & 16; - i = j >>> (l >>> 0); - j = i >>> 5 & 8; - m = i >>> (j >>> 0); - i = m >>> 2 & 4; - p = m >>> (i >>> 0); - m = p >>> 1 & 2; - q = p >>> (m >>> 0); - p = q >>> 1 & 1; - r = (j | l | i | m | p) + (q >>> (p >>> 0)) | 0; - p = r << 1; - q = 872 + (p << 2) | 0; - m = 872 + (p + 2 << 2) | 0; - p = c[m >> 2] | 0; - i = p + 8 | 0; - l = c[i >> 2] | 0; - do { - if ((q | 0) == (l | 0)) { - c[208] = e & ~(1 << r); - } else { - if (l >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } - j = l + 12 | 0; - if ((c[j >> 2] | 0) == (p | 0)) { - c[j >> 2] = q; - c[m >> 2] = l; - break; - } else { - au(); - return 0; - } - } - } while (0); - l = r << 3; - m = l - b | 0; - c[p + 4 >> 2] = b | 3; - q = p; - e = q + b | 0; - c[q + (b | 4) >> 2] = m | 1; - c[q + l >> 2] = m; - l = c[210] | 0; - if ((l | 0) != 0) { - q = c[213] | 0; - d = l >>> 3; - l = d << 1; - f = 872 + (l << 2) | 0; - k = c[208] | 0; - h = 1 << d; - do { - if ((k & h | 0) == 0) { - c[208] = k | h; - s = f; - t = 872 + (l + 2 << 2) | 0; - } else { - d = 872 + (l + 2 << 2) | 0; - g = c[d >> 2] | 0; - if (g >>> 0 >= (c[212] | 0) >>> 0) { - s = g; - t = d; - break; - } - au(); - return 0; - } - } while (0); - c[t >> 2] = q; - c[s + 12 >> 2] = q; - c[q + 8 >> 2] = s; - c[q + 12 >> 2] = f; - } - c[210] = m; - c[213] = e; - n = i; - return n | 0; - } - l = c[209] | 0; - if ((l | 0) == 0) { - o = b; - break; - } - h = (l & -l) - 1 | 0; - l = h >>> 12 & 16; - k = h >>> (l >>> 0); - h = k >>> 5 & 8; - p = k >>> (h >>> 0); - k = p >>> 2 & 4; - r = p >>> (k >>> 0); - p = r >>> 1 & 2; - d = r >>> (p >>> 0); - r = d >>> 1 & 1; - g = c[1136 + ((h | l | k | p | r) + (d >>> (r >>> 0)) << 2) >> 2] | 0; - r = g; - d = g; - p = (c[g + 4 >> 2] & -8) - b | 0; - while (1) { - g = c[r + 16 >> 2] | 0; - if ((g | 0) == 0) { - k = c[r + 20 >> 2] | 0; - if ((k | 0) == 0) { - break; - } else { - u = k; - } - } else { - u = g; - } - g = (c[u + 4 >> 2] & -8) - b | 0; - k = g >>> 0 < p >>> 0; - r = u; - d = k ? u : d; - p = k ? g : p; - } - r = d; - i = c[212] | 0; - if (r >>> 0 < i >>> 0) { - au(); - return 0; - } - e = r + b | 0; - m = e; - if (r >>> 0 >= e >>> 0) { - au(); - return 0; - } - e = c[d + 24 >> 2] | 0; - f = c[d + 12 >> 2] | 0; - do { - if ((f | 0) == (d | 0)) { - q = d + 20 | 0; - g = c[q >> 2] | 0; - if ((g | 0) == 0) { - k = d + 16 | 0; - l = c[k >> 2] | 0; - if ((l | 0) == 0) { - v = 0; - break; - } else { - w = l; - x = k; - } - } else { - w = g; - x = q; - } - while (1) { - q = w + 20 | 0; - g = c[q >> 2] | 0; - if ((g | 0) != 0) { - w = g; - x = q; - continue; - } - q = w + 16 | 0; - g = c[q >> 2] | 0; - if ((g | 0) == 0) { - break; - } else { - w = g; - x = q; - } - } - if (x >>> 0 < i >>> 0) { - au(); - return 0; - } else { - c[x >> 2] = 0; - v = w; - break; - } - } else { - q = c[d + 8 >> 2] | 0; - if (q >>> 0 < i >>> 0) { - au(); - return 0; - } - g = q + 12 | 0; - if ((c[g >> 2] | 0) != (d | 0)) { - au(); - return 0; - } - k = f + 8 | 0; - if ((c[k >> 2] | 0) == (d | 0)) { - c[g >> 2] = f; - c[k >> 2] = q; - v = f; - break; - } else { - au(); - return 0; - } - } - } while (0); - L223 : do { - if ((e | 0) != 0) { - f = d + 28 | 0; - i = 1136 + (c[f >> 2] << 2) | 0; - do { - if ((d | 0) == (c[i >> 2] | 0)) { - c[i >> 2] = v; - if ((v | 0) != 0) { - break; - } - c[209] = c[209] & ~(1 << c[f >> 2]); - break L223; - } else { - if (e >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } - q = e + 16 | 0; - if ((c[q >> 2] | 0) == (d | 0)) { - c[q >> 2] = v; - } else { - c[e + 20 >> 2] = v; - } - if ((v | 0) == 0) { - break L223; - } - } - } while (0); - if (v >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } - c[v + 24 >> 2] = e; - f = c[d + 16 >> 2] | 0; - do { - if ((f | 0) != 0) { - if (f >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } else { - c[v + 16 >> 2] = f; - c[f + 24 >> 2] = v; - break; - } - } - } while (0); - f = c[d + 20 >> 2] | 0; - if ((f | 0) == 0) { - break; - } - if (f >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } else { - c[v + 20 >> 2] = f; - c[f + 24 >> 2] = v; - break; - } - } - } while (0); - if (p >>> 0 < 16) { - e = p + b | 0; - c[d + 4 >> 2] = e | 3; - f = r + (e + 4) | 0; - c[f >> 2] = c[f >> 2] | 1; - } else { - c[d + 4 >> 2] = b | 3; - c[r + (b | 4) >> 2] = p | 1; - c[r + (p + b) >> 2] = p; - f = c[210] | 0; - if ((f | 0) != 0) { - e = c[213] | 0; - i = f >>> 3; - f = i << 1; - q = 872 + (f << 2) | 0; - k = c[208] | 0; - g = 1 << i; - do { - if ((k & g | 0) == 0) { - c[208] = k | g; - y = q; - z = 872 + (f + 2 << 2) | 0; - } else { - i = 872 + (f + 2 << 2) | 0; - l = c[i >> 2] | 0; - if (l >>> 0 >= (c[212] | 0) >>> 0) { - y = l; - z = i; - break; - } - au(); - return 0; - } - } while (0); - c[z >> 2] = e; - c[y + 12 >> 2] = e; - c[e + 8 >> 2] = y; - c[e + 12 >> 2] = q; - } - c[210] = p; - c[213] = m; - } - f = d + 8 | 0; - if ((f | 0) == 0) { - o = b; - break; - } else { - n = f; - } - return n | 0; - } else { - if (a >>> 0 > 4294967231) { - o = -1; - break; - } - f = a + 11 | 0; - g = f & -8; - k = c[209] | 0; - if ((k | 0) == 0) { - o = g; - break; - } - r = -g | 0; - i = f >>> 8; - do { - if ((i | 0) == 0) { - A = 0; - } else { - if (g >>> 0 > 16777215) { - A = 31; - break; - } - f = (i + 1048320 | 0) >>> 16 & 8; - l = i << f; - h = (l + 520192 | 0) >>> 16 & 4; - j = l << h; - l = (j + 245760 | 0) >>> 16 & 2; - B = 14 - (h | f | l) + (j << l >>> 15) | 0; - A = g >>> ((B + 7 | 0) >>> 0) & 1 | B << 1; - } - } while (0); - i = c[1136 + (A << 2) >> 2] | 0; - L271 : do { - if ((i | 0) == 0) { - C = 0; - D = r; - E = 0; - } else { - if ((A | 0) == 31) { - F = 0; - } else { - F = 25 - (A >>> 1) | 0; - } - d = 0; - m = r; - p = i; - q = g << F; - e = 0; - while (1) { - B = c[p + 4 >> 2] & -8; - l = B - g | 0; - if (l >>> 0 < m >>> 0) { - if ((B | 0) == (g | 0)) { - C = p; - D = l; - E = p; - break L271; - } else { - G = p; - H = l; - } - } else { - G = d; - H = m; - } - l = c[p + 20 >> 2] | 0; - B = c[p + 16 + (q >>> 31 << 2) >> 2] | 0; - j = (l | 0) == 0 | (l | 0) == (B | 0) ? e : l; - if ((B | 0) == 0) { - C = G; - D = H; - E = j; - break; - } else { - d = G; - m = H; - p = B; - q = q << 1; - e = j; - } - } - } - } while (0); - if ((E | 0) == 0 & (C | 0) == 0) { - i = 2 << A; - r = k & (i | -i); - if ((r | 0) == 0) { - o = g; - break; - } - i = (r & -r) - 1 | 0; - r = i >>> 12 & 16; - e = i >>> (r >>> 0); - i = e >>> 5 & 8; - q = e >>> (i >>> 0); - e = q >>> 2 & 4; - p = q >>> (e >>> 0); - q = p >>> 1 & 2; - m = p >>> (q >>> 0); - p = m >>> 1 & 1; - I = c[1136 + ((i | r | e | q | p) + (m >>> (p >>> 0)) << 2) >> 2] | 0; - } else { - I = E; - } - if ((I | 0) == 0) { - J = D; - K = C; - } else { - p = I; - m = D; - q = C; - while (1) { - e = (c[p + 4 >> 2] & -8) - g | 0; - r = e >>> 0 < m >>> 0; - i = r ? e : m; - e = r ? p : q; - r = c[p + 16 >> 2] | 0; - if ((r | 0) != 0) { - p = r; - m = i; - q = e; - continue; - } - r = c[p + 20 >> 2] | 0; - if ((r | 0) == 0) { - J = i; - K = e; - break; - } else { - p = r; - m = i; - q = e; - } - } - } - if ((K | 0) == 0) { - o = g; - break; - } - if (J >>> 0 >= ((c[210] | 0) - g | 0) >>> 0) { - o = g; - break; - } - q = K; - m = c[212] | 0; - if (q >>> 0 < m >>> 0) { - au(); - return 0; - } - p = q + g | 0; - k = p; - if (q >>> 0 >= p >>> 0) { - au(); - return 0; - } - e = c[K + 24 >> 2] | 0; - i = c[K + 12 >> 2] | 0; - do { - if ((i | 0) == (K | 0)) { - r = K + 20 | 0; - d = c[r >> 2] | 0; - if ((d | 0) == 0) { - j = K + 16 | 0; - B = c[j >> 2] | 0; - if ((B | 0) == 0) { - L = 0; - break; - } else { - M = B; - N = j; - } - } else { - M = d; - N = r; - } - while (1) { - r = M + 20 | 0; - d = c[r >> 2] | 0; - if ((d | 0) != 0) { - M = d; - N = r; - continue; - } - r = M + 16 | 0; - d = c[r >> 2] | 0; - if ((d | 0) == 0) { - break; - } else { - M = d; - N = r; - } - } - if (N >>> 0 < m >>> 0) { - au(); - return 0; - } else { - c[N >> 2] = 0; - L = M; - break; - } - } else { - r = c[K + 8 >> 2] | 0; - if (r >>> 0 < m >>> 0) { - au(); - return 0; - } - d = r + 12 | 0; - if ((c[d >> 2] | 0) != (K | 0)) { - au(); - return 0; - } - j = i + 8 | 0; - if ((c[j >> 2] | 0) == (K | 0)) { - c[d >> 2] = i; - c[j >> 2] = r; - L = i; - break; - } else { - au(); - return 0; - } - } - } while (0); - L321 : do { - if ((e | 0) != 0) { - i = K + 28 | 0; - m = 1136 + (c[i >> 2] << 2) | 0; - do { - if ((K | 0) == (c[m >> 2] | 0)) { - c[m >> 2] = L; - if ((L | 0) != 0) { - break; - } - c[209] = c[209] & ~(1 << c[i >> 2]); - break L321; - } else { - if (e >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } - r = e + 16 | 0; - if ((c[r >> 2] | 0) == (K | 0)) { - c[r >> 2] = L; - } else { - c[e + 20 >> 2] = L; - } - if ((L | 0) == 0) { - break L321; - } - } - } while (0); - if (L >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } - c[L + 24 >> 2] = e; - i = c[K + 16 >> 2] | 0; - do { - if ((i | 0) != 0) { - if (i >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } else { - c[L + 16 >> 2] = i; - c[i + 24 >> 2] = L; - break; - } - } - } while (0); - i = c[K + 20 >> 2] | 0; - if ((i | 0) == 0) { - break; - } - if (i >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } else { - c[L + 20 >> 2] = i; - c[i + 24 >> 2] = L; - break; - } - } - } while (0); - do { - if (J >>> 0 < 16) { - e = J + g | 0; - c[K + 4 >> 2] = e | 3; - i = q + (e + 4) | 0; - c[i >> 2] = c[i >> 2] | 1; - } else { - c[K + 4 >> 2] = g | 3; - c[q + (g | 4) >> 2] = J | 1; - c[q + (J + g) >> 2] = J; - i = J >>> 3; - if (J >>> 0 < 256) { - e = i << 1; - m = 872 + (e << 2) | 0; - r = c[208] | 0; - j = 1 << i; - do { - if ((r & j | 0) == 0) { - c[208] = r | j; - O = m; - P = 872 + (e + 2 << 2) | 0; - } else { - i = 872 + (e + 2 << 2) | 0; - d = c[i >> 2] | 0; - if (d >>> 0 >= (c[212] | 0) >>> 0) { - O = d; - P = i; - break; - } - au(); - return 0; - } - } while (0); - c[P >> 2] = k; - c[O + 12 >> 2] = k; - c[q + (g + 8) >> 2] = O; - c[q + (g + 12) >> 2] = m; - break; - } - e = p; - j = J >>> 8; - do { - if ((j | 0) == 0) { - Q = 0; - } else { - if (J >>> 0 > 16777215) { - Q = 31; - break; - } - r = (j + 1048320 | 0) >>> 16 & 8; - i = j << r; - d = (i + 520192 | 0) >>> 16 & 4; - B = i << d; - i = (B + 245760 | 0) >>> 16 & 2; - l = 14 - (d | r | i) + (B << i >>> 15) | 0; - Q = J >>> ((l + 7 | 0) >>> 0) & 1 | l << 1; - } - } while (0); - j = 1136 + (Q << 2) | 0; - c[q + (g + 28) >> 2] = Q; - c[q + (g + 20) >> 2] = 0; - c[q + (g + 16) >> 2] = 0; - m = c[209] | 0; - l = 1 << Q; - if ((m & l | 0) == 0) { - c[209] = m | l; - c[j >> 2] = e; - c[q + (g + 24) >> 2] = j; - c[q + (g + 12) >> 2] = e; - c[q + (g + 8) >> 2] = e; - break; - } - if ((Q | 0) == 31) { - R = 0; - } else { - R = 25 - (Q >>> 1) | 0; - } - l = J << R; - m = c[j >> 2] | 0; - while (1) { - if ((c[m + 4 >> 2] & -8 | 0) == (J | 0)) { - break; - } - S = m + 16 + (l >>> 31 << 2) | 0; - j = c[S >> 2] | 0; - if ((j | 0) == 0) { - T = 262; - break; - } else { - l = l << 1; - m = j; - } - } - if ((T | 0) == 262) { - if (S >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } else { - c[S >> 2] = e; - c[q + (g + 24) >> 2] = m; - c[q + (g + 12) >> 2] = e; - c[q + (g + 8) >> 2] = e; - break; - } - } - l = m + 8 | 0; - j = c[l >> 2] | 0; - i = c[212] | 0; - if (m >>> 0 < i >>> 0) { - au(); - return 0; - } - if (j >>> 0 < i >>> 0) { - au(); - return 0; - } else { - c[j + 12 >> 2] = e; - c[l >> 2] = e; - c[q + (g + 8) >> 2] = j; - c[q + (g + 12) >> 2] = m; - c[q + (g + 24) >> 2] = 0; - break; - } - } - } while (0); - q = K + 8 | 0; - if ((q | 0) == 0) { - o = g; - break; - } else { - n = q; - } - return n | 0; - } - } while (0); - K = c[210] | 0; - if (o >>> 0 <= K >>> 0) { - S = K - o | 0; - J = c[213] | 0; - if (S >>> 0 > 15) { - R = J; - c[213] = R + o; - c[210] = S; - c[R + (o + 4) >> 2] = S | 1; - c[R + K >> 2] = S; - c[J + 4 >> 2] = o | 3; - } else { - c[210] = 0; - c[213] = 0; - c[J + 4 >> 2] = K | 3; - S = J + (K + 4) | 0; - c[S >> 2] = c[S >> 2] | 1; - } - n = J + 8 | 0; - return n | 0; - } - J = c[211] | 0; - if (o >>> 0 < J >>> 0) { - S = J - o | 0; - c[211] = S; - J = c[214] | 0; - K = J; - c[214] = K + o; - c[K + (o + 4) >> 2] = S | 1; - c[J + 4 >> 2] = o | 3; - n = J + 8 | 0; - return n | 0; - } - do { - if ((c[200] | 0) == 0) { - J = ar(8) | 0; - if ((J - 1 & J | 0) == 0) { - c[202] = J; - c[201] = J; - c[203] = -1; - c[204] = 2097152; - c[205] = 0; - c[319] = 0; - c[200] = (a_(0) | 0) & -16 ^ 1431655768; - break; - } else { - au(); - return 0; - } - } - } while (0); - J = o + 48 | 0; - S = c[202] | 0; - K = o + 47 | 0; - R = S + K | 0; - Q = -S | 0; - S = R & Q; - if (S >>> 0 <= o >>> 0) { - n = 0; - return n | 0; - } - O = c[318] | 0; - do { - if ((O | 0) != 0) { - P = c[316] | 0; - L = P + S | 0; - if (L >>> 0 <= P >>> 0 | L >>> 0 > O >>> 0) { - n = 0; - } else { - break; - } - return n | 0; - } - } while (0); - L413 : do { - if ((c[319] & 4 | 0) == 0) { - O = c[214] | 0; - L415 : do { - if ((O | 0) == 0) { - T = 292; - } else { - L = O; - P = 1280; - while (1) { - U = P | 0; - M = c[U >> 2] | 0; - if (M >>> 0 <= L >>> 0) { - V = P + 4 | 0; - if ((M + (c[V >> 2] | 0) | 0) >>> 0 > L >>> 0) { - break; - } - } - M = c[P + 8 >> 2] | 0; - if ((M | 0) == 0) { - T = 292; - break L415; - } else { - P = M; - } - } - if ((P | 0) == 0) { - T = 292; - break; - } - L = R - (c[211] | 0) & Q; - if (L >>> 0 >= 2147483647) { - W = 0; - break; - } - m = aV(L | 0) | 0; - e = (m | 0) == ((c[U >> 2] | 0) + (c[V >> 2] | 0) | 0); - X = e ? m : -1; - Y = e ? L : 0; - Z = m; - _ = L; - T = 301; - } - } while (0); - do { - if ((T | 0) == 292) { - O = aV(0) | 0; - if ((O | 0) == -1) { - W = 0; - break; - } - g = O; - L = c[201] | 0; - m = L - 1 | 0; - if ((m & g | 0) == 0) { - $ = S; - } else { - $ = S - g + (m + g & -L) | 0; - } - L = c[316] | 0; - g = L + $ | 0; - if (!($ >>> 0 > o >>> 0 & $ >>> 0 < 2147483647)) { - W = 0; - break; - } - m = c[318] | 0; - if ((m | 0) != 0) { - if (g >>> 0 <= L >>> 0 | g >>> 0 > m >>> 0) { - W = 0; - break; - } - } - m = aV($ | 0) | 0; - g = (m | 0) == (O | 0); - X = g ? O : -1; - Y = g ? $ : 0; - Z = m; - _ = $; - T = 301; - } - } while (0); - L435 : do { - if ((T | 0) == 301) { - m = -_ | 0; - if ((X | 0) != -1) { - aa = Y; - ab = X; - T = 312; - break L413; - } - do { - if ((Z | 0) != -1 & _ >>> 0 < 2147483647 & _ >>> 0 < J >>> 0) { - g = c[202] | 0; - O = K - _ + g & -g; - if (O >>> 0 >= 2147483647) { - ac = _; - break; - } - if ((aV(O | 0) | 0) == -1) { - aV(m | 0) | 0; - W = Y; - break L435; - } else { - ac = O + _ | 0; - break; - } - } else { - ac = _; - } - } while (0); - if ((Z | 0) == -1) { - W = Y; - } else { - aa = ac; - ab = Z; - T = 312; - break L413; - } - } - } while (0); - c[319] = c[319] | 4; - ad = W; - T = 309; - } else { - ad = 0; - T = 309; - } - } while (0); - do { - if ((T | 0) == 309) { - if (S >>> 0 >= 2147483647) { - break; - } - W = aV(S | 0) | 0; - Z = aV(0) | 0; - if (!((Z | 0) != -1 & (W | 0) != -1 & W >>> 0 < Z >>> 0)) { - break; - } - ac = Z - W | 0; - Z = ac >>> 0 > (o + 40 | 0) >>> 0; - Y = Z ? W : -1; - if ((Y | 0) != -1) { - aa = Z ? ac : ad; - ab = Y; - T = 312; - } - } - } while (0); - do { - if ((T | 0) == 312) { - ad = (c[316] | 0) + aa | 0; - c[316] = ad; - if (ad >>> 0 > (c[317] | 0) >>> 0) { - c[317] = ad; - } - ad = c[214] | 0; - L455 : do { - if ((ad | 0) == 0) { - S = c[212] | 0; - if ((S | 0) == 0 | ab >>> 0 < S >>> 0) { - c[212] = ab; - } - c[320] = ab; - c[321] = aa; - c[323] = 0; - c[217] = c[200]; - c[216] = -1; - S = 0; - do { - Y = S << 1; - ac = 872 + (Y << 2) | 0; - c[872 + (Y + 3 << 2) >> 2] = ac; - c[872 + (Y + 2 << 2) >> 2] = ac; - S = S + 1 | 0; - } while (S >>> 0 < 32); - S = ab + 8 | 0; - if ((S & 7 | 0) == 0) { - ae = 0; - } else { - ae = -S & 7; - } - S = aa - 40 - ae | 0; - c[214] = ab + ae; - c[211] = S; - c[ab + (ae + 4) >> 2] = S | 1; - c[ab + (aa - 36) >> 2] = 40; - c[215] = c[204]; - } else { - S = 1280; - while (1) { - af = c[S >> 2] | 0; - ag = S + 4 | 0; - ah = c[ag >> 2] | 0; - if ((ab | 0) == (af + ah | 0)) { - T = 324; - break; - } - ac = c[S + 8 >> 2] | 0; - if ((ac | 0) == 0) { - break; - } else { - S = ac; - } - } - do { - if ((T | 0) == 324) { - if ((c[S + 12 >> 2] & 8 | 0) != 0) { - break; - } - ac = ad; - if (!(ac >>> 0 >= af >>> 0 & ac >>> 0 < ab >>> 0)) { - break; - } - c[ag >> 2] = ah + aa; - ac = c[214] | 0; - Y = (c[211] | 0) + aa | 0; - Z = ac; - W = ac + 8 | 0; - if ((W & 7 | 0) == 0) { - ai = 0; - } else { - ai = -W & 7; - } - W = Y - ai | 0; - c[214] = Z + ai; - c[211] = W; - c[Z + (ai + 4) >> 2] = W | 1; - c[Z + (Y + 4) >> 2] = 40; - c[215] = c[204]; - break L455; - } - } while (0); - if (ab >>> 0 < (c[212] | 0) >>> 0) { - c[212] = ab; - } - S = ab + aa | 0; - Y = 1280; - while (1) { - aj = Y | 0; - if ((c[aj >> 2] | 0) == (S | 0)) { - T = 334; - break; - } - Z = c[Y + 8 >> 2] | 0; - if ((Z | 0) == 0) { - break; - } else { - Y = Z; - } - } - do { - if ((T | 0) == 334) { - if ((c[Y + 12 >> 2] & 8 | 0) != 0) { - break; - } - c[aj >> 2] = ab; - S = Y + 4 | 0; - c[S >> 2] = (c[S >> 2] | 0) + aa; - S = ab + 8 | 0; - if ((S & 7 | 0) == 0) { - ak = 0; - } else { - ak = -S & 7; - } - S = ab + (aa + 8) | 0; - if ((S & 7 | 0) == 0) { - al = 0; - } else { - al = -S & 7; - } - S = ab + (al + aa) | 0; - Z = S; - W = ak + o | 0; - ac = ab + W | 0; - _ = ac; - K = S - (ab + ak) - o | 0; - c[ab + (ak + 4) >> 2] = o | 3; - do { - if ((Z | 0) == (c[214] | 0)) { - J = (c[211] | 0) + K | 0; - c[211] = J; - c[214] = _; - c[ab + (W + 4) >> 2] = J | 1; - } else { - if ((Z | 0) == (c[213] | 0)) { - J = (c[210] | 0) + K | 0; - c[210] = J; - c[213] = _; - c[ab + (W + 4) >> 2] = J | 1; - c[ab + (J + W) >> 2] = J; - break; - } - J = aa + 4 | 0; - X = c[ab + (J + al) >> 2] | 0; - if ((X & 3 | 0) == 1) { - $ = X & -8; - V = X >>> 3; - L500 : do { - if (X >>> 0 < 256) { - U = c[ab + ((al | 8) + aa) >> 2] | 0; - Q = c[ab + (aa + 12 + al) >> 2] | 0; - R = 872 + (V << 1 << 2) | 0; - do { - if ((U | 0) != (R | 0)) { - if (U >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } - if ((c[U + 12 >> 2] | 0) == (Z | 0)) { - break; - } - au(); - return 0; - } - } while (0); - if ((Q | 0) == (U | 0)) { - c[208] = c[208] & ~(1 << V); - break; - } - do { - if ((Q | 0) == (R | 0)) { - am = Q + 8 | 0; - } else { - if (Q >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } - m = Q + 8 | 0; - if ((c[m >> 2] | 0) == (Z | 0)) { - am = m; - break; - } - au(); - return 0; - } - } while (0); - c[U + 12 >> 2] = Q; - c[am >> 2] = U; - } else { - R = S; - m = c[ab + ((al | 24) + aa) >> 2] | 0; - P = c[ab + (aa + 12 + al) >> 2] | 0; - do { - if ((P | 0) == (R | 0)) { - O = al | 16; - g = ab + (J + O) | 0; - L = c[g >> 2] | 0; - if ((L | 0) == 0) { - e = ab + (O + aa) | 0; - O = c[e >> 2] | 0; - if ((O | 0) == 0) { - an = 0; - break; - } else { - ao = O; - ap = e; - } - } else { - ao = L; - ap = g; - } - while (1) { - g = ao + 20 | 0; - L = c[g >> 2] | 0; - if ((L | 0) != 0) { - ao = L; - ap = g; - continue; - } - g = ao + 16 | 0; - L = c[g >> 2] | 0; - if ((L | 0) == 0) { - break; - } else { - ao = L; - ap = g; - } - } - if (ap >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } else { - c[ap >> 2] = 0; - an = ao; - break; - } - } else { - g = c[ab + ((al | 8) + aa) >> 2] | 0; - if (g >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } - L = g + 12 | 0; - if ((c[L >> 2] | 0) != (R | 0)) { - au(); - return 0; - } - e = P + 8 | 0; - if ((c[e >> 2] | 0) == (R | 0)) { - c[L >> 2] = P; - c[e >> 2] = g; - an = P; - break; - } else { - au(); - return 0; - } - } - } while (0); - if ((m | 0) == 0) { - break; - } - P = ab + (aa + 28 + al) | 0; - U = 1136 + (c[P >> 2] << 2) | 0; - do { - if ((R | 0) == (c[U >> 2] | 0)) { - c[U >> 2] = an; - if ((an | 0) != 0) { - break; - } - c[209] = c[209] & ~(1 << c[P >> 2]); - break L500; - } else { - if (m >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } - Q = m + 16 | 0; - if ((c[Q >> 2] | 0) == (R | 0)) { - c[Q >> 2] = an; - } else { - c[m + 20 >> 2] = an; - } - if ((an | 0) == 0) { - break L500; - } - } - } while (0); - if (an >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } - c[an + 24 >> 2] = m; - R = al | 16; - P = c[ab + (R + aa) >> 2] | 0; - do { - if ((P | 0) != 0) { - if (P >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } else { - c[an + 16 >> 2] = P; - c[P + 24 >> 2] = an; - break; - } - } - } while (0); - P = c[ab + (J + R) >> 2] | 0; - if ((P | 0) == 0) { - break; - } - if (P >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } else { - c[an + 20 >> 2] = P; - c[P + 24 >> 2] = an; - break; - } - } - } while (0); - aq = ab + (($ | al) + aa) | 0; - as = $ + K | 0; - } else { - aq = Z; - as = K; - } - J = aq + 4 | 0; - c[J >> 2] = c[J >> 2] & -2; - c[ab + (W + 4) >> 2] = as | 1; - c[ab + (as + W) >> 2] = as; - J = as >>> 3; - if (as >>> 0 < 256) { - V = J << 1; - X = 872 + (V << 2) | 0; - P = c[208] | 0; - m = 1 << J; - do { - if ((P & m | 0) == 0) { - c[208] = P | m; - at = X; - av = 872 + (V + 2 << 2) | 0; - } else { - J = 872 + (V + 2 << 2) | 0; - U = c[J >> 2] | 0; - if (U >>> 0 >= (c[212] | 0) >>> 0) { - at = U; - av = J; - break; - } - au(); - return 0; - } - } while (0); - c[av >> 2] = _; - c[at + 12 >> 2] = _; - c[ab + (W + 8) >> 2] = at; - c[ab + (W + 12) >> 2] = X; - break; - } - V = ac; - m = as >>> 8; - do { - if ((m | 0) == 0) { - aw = 0; - } else { - if (as >>> 0 > 16777215) { - aw = 31; - break; - } - P = (m + 1048320 | 0) >>> 16 & 8; - $ = m << P; - J = ($ + 520192 | 0) >>> 16 & 4; - U = $ << J; - $ = (U + 245760 | 0) >>> 16 & 2; - Q = 14 - (J | P | $) + (U << $ >>> 15) | 0; - aw = as >>> ((Q + 7 | 0) >>> 0) & 1 | Q << 1; - } - } while (0); - m = 1136 + (aw << 2) | 0; - c[ab + (W + 28) >> 2] = aw; - c[ab + (W + 20) >> 2] = 0; - c[ab + (W + 16) >> 2] = 0; - X = c[209] | 0; - Q = 1 << aw; - if ((X & Q | 0) == 0) { - c[209] = X | Q; - c[m >> 2] = V; - c[ab + (W + 24) >> 2] = m; - c[ab + (W + 12) >> 2] = V; - c[ab + (W + 8) >> 2] = V; - break; - } - if ((aw | 0) == 31) { - ax = 0; - } else { - ax = 25 - (aw >>> 1) | 0; - } - Q = as << ax; - X = c[m >> 2] | 0; - while (1) { - if ((c[X + 4 >> 2] & -8 | 0) == (as | 0)) { - break; - } - ay = X + 16 + (Q >>> 31 << 2) | 0; - m = c[ay >> 2] | 0; - if ((m | 0) == 0) { - T = 407; - break; - } else { - Q = Q << 1; - X = m; - } - } - if ((T | 0) == 407) { - if (ay >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } else { - c[ay >> 2] = V; - c[ab + (W + 24) >> 2] = X; - c[ab + (W + 12) >> 2] = V; - c[ab + (W + 8) >> 2] = V; - break; - } - } - Q = X + 8 | 0; - m = c[Q >> 2] | 0; - $ = c[212] | 0; - if (X >>> 0 < $ >>> 0) { - au(); - return 0; - } - if (m >>> 0 < $ >>> 0) { - au(); - return 0; - } else { - c[m + 12 >> 2] = V; - c[Q >> 2] = V; - c[ab + (W + 8) >> 2] = m; - c[ab + (W + 12) >> 2] = X; - c[ab + (W + 24) >> 2] = 0; - break; - } - } - } while (0); - n = ab + (ak | 8) | 0; - return n | 0; - } - } while (0); - Y = ad; - W = 1280; - while (1) { - az = c[W >> 2] | 0; - if (az >>> 0 <= Y >>> 0) { - aA = c[W + 4 >> 2] | 0; - aB = az + aA | 0; - if (aB >>> 0 > Y >>> 0) { - break; - } - } - W = c[W + 8 >> 2] | 0; - } - W = az + (aA - 39) | 0; - if ((W & 7 | 0) == 0) { - aC = 0; - } else { - aC = -W & 7; - } - W = az + (aA - 47 + aC) | 0; - ac = W >>> 0 < (ad + 16 | 0) >>> 0 ? Y : W; - W = ac + 8 | 0; - _ = ab + 8 | 0; - if ((_ & 7 | 0) == 0) { - aD = 0; - } else { - aD = -_ & 7; - } - _ = aa - 40 - aD | 0; - c[214] = ab + aD; - c[211] = _; - c[ab + (aD + 4) >> 2] = _ | 1; - c[ab + (aa - 36) >> 2] = 40; - c[215] = c[204]; - c[ac + 4 >> 2] = 27; - c[W >> 2] = c[320]; - c[W + 4 >> 2] = c[1284 >> 2]; - c[W + 8 >> 2] = c[1288 >> 2]; - c[W + 12 >> 2] = c[1292 >> 2]; - c[320] = ab; - c[321] = aa; - c[323] = 0; - c[322] = W; - W = ac + 28 | 0; - c[W >> 2] = 7; - if ((ac + 32 | 0) >>> 0 < aB >>> 0) { - _ = W; - while (1) { - W = _ + 4 | 0; - c[W >> 2] = 7; - if ((_ + 8 | 0) >>> 0 < aB >>> 0) { - _ = W; - } else { - break; - } - } - } - if ((ac | 0) == (Y | 0)) { - break; - } - _ = ac - ad | 0; - W = Y + (_ + 4) | 0; - c[W >> 2] = c[W >> 2] & -2; - c[ad + 4 >> 2] = _ | 1; - c[Y + _ >> 2] = _; - W = _ >>> 3; - if (_ >>> 0 < 256) { - K = W << 1; - Z = 872 + (K << 2) | 0; - S = c[208] | 0; - m = 1 << W; - do { - if ((S & m | 0) == 0) { - c[208] = S | m; - aE = Z; - aF = 872 + (K + 2 << 2) | 0; - } else { - W = 872 + (K + 2 << 2) | 0; - Q = c[W >> 2] | 0; - if (Q >>> 0 >= (c[212] | 0) >>> 0) { - aE = Q; - aF = W; - break; - } - au(); - return 0; - } - } while (0); - c[aF >> 2] = ad; - c[aE + 12 >> 2] = ad; - c[ad + 8 >> 2] = aE; - c[ad + 12 >> 2] = Z; - break; - } - K = ad; - m = _ >>> 8; - do { - if ((m | 0) == 0) { - aG = 0; - } else { - if (_ >>> 0 > 16777215) { - aG = 31; - break; - } - S = (m + 1048320 | 0) >>> 16 & 8; - Y = m << S; - ac = (Y + 520192 | 0) >>> 16 & 4; - W = Y << ac; - Y = (W + 245760 | 0) >>> 16 & 2; - Q = 14 - (ac | S | Y) + (W << Y >>> 15) | 0; - aG = _ >>> ((Q + 7 | 0) >>> 0) & 1 | Q << 1; - } - } while (0); - m = 1136 + (aG << 2) | 0; - c[ad + 28 >> 2] = aG; - c[ad + 20 >> 2] = 0; - c[ad + 16 >> 2] = 0; - Z = c[209] | 0; - Q = 1 << aG; - if ((Z & Q | 0) == 0) { - c[209] = Z | Q; - c[m >> 2] = K; - c[ad + 24 >> 2] = m; - c[ad + 12 >> 2] = ad; - c[ad + 8 >> 2] = ad; - break; - } - if ((aG | 0) == 31) { - aH = 0; - } else { - aH = 25 - (aG >>> 1) | 0; - } - Q = _ << aH; - Z = c[m >> 2] | 0; - while (1) { - if ((c[Z + 4 >> 2] & -8 | 0) == (_ | 0)) { - break; - } - aI = Z + 16 + (Q >>> 31 << 2) | 0; - m = c[aI >> 2] | 0; - if ((m | 0) == 0) { - T = 442; - break; - } else { - Q = Q << 1; - Z = m; - } - } - if ((T | 0) == 442) { - if (aI >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } else { - c[aI >> 2] = K; - c[ad + 24 >> 2] = Z; - c[ad + 12 >> 2] = ad; - c[ad + 8 >> 2] = ad; - break; - } - } - Q = Z + 8 | 0; - _ = c[Q >> 2] | 0; - m = c[212] | 0; - if (Z >>> 0 < m >>> 0) { - au(); - return 0; - } - if (_ >>> 0 < m >>> 0) { - au(); - return 0; - } else { - c[_ + 12 >> 2] = K; - c[Q >> 2] = K; - c[ad + 8 >> 2] = _; - c[ad + 12 >> 2] = Z; - c[ad + 24 >> 2] = 0; - break; - } - } - } while (0); - ad = c[211] | 0; - if (ad >>> 0 <= o >>> 0) { - break; - } - _ = ad - o | 0; - c[211] = _; - ad = c[214] | 0; - Q = ad; - c[214] = Q + o; - c[Q + (o + 4) >> 2] = _ | 1; - c[ad + 4 >> 2] = o | 3; - n = ad + 8 | 0; - return n | 0; - } - } while (0); - c[(aX() | 0) >> 2] = 12; - n = 0; - return n | 0; -} -function bM(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0; - if ((a | 0) == 0) { - return; - } - b = a - 8 | 0; - d = b; - e = c[212] | 0; - if (b >>> 0 < e >>> 0) { - au(); - } - f = c[a - 4 >> 2] | 0; - g = f & 3; - if ((g | 0) == 1) { - au(); - } - h = f & -8; - i = a + (h - 8) | 0; - j = i; - L672 : do { - if ((f & 1 | 0) == 0) { - k = c[b >> 2] | 0; - if ((g | 0) == 0) { - return; - } - l = -8 - k | 0; - m = a + l | 0; - n = m; - o = k + h | 0; - if (m >>> 0 < e >>> 0) { - au(); - } - if ((n | 0) == (c[213] | 0)) { - p = a + (h - 4) | 0; - if ((c[p >> 2] & 3 | 0) != 3) { - q = n; - r = o; - break; - } - c[210] = o; - c[p >> 2] = c[p >> 2] & -2; - c[a + (l + 4) >> 2] = o | 1; - c[i >> 2] = o; - return; - } - p = k >>> 3; - if (k >>> 0 < 256) { - k = c[a + (l + 8) >> 2] | 0; - s = c[a + (l + 12) >> 2] | 0; - t = 872 + (p << 1 << 2) | 0; - do { - if ((k | 0) != (t | 0)) { - if (k >>> 0 < e >>> 0) { - au(); - } - if ((c[k + 12 >> 2] | 0) == (n | 0)) { - break; - } - au(); - } - } while (0); - if ((s | 0) == (k | 0)) { - c[208] = c[208] & ~(1 << p); - q = n; - r = o; - break; - } - do { - if ((s | 0) == (t | 0)) { - u = s + 8 | 0; - } else { - if (s >>> 0 < e >>> 0) { - au(); - } - v = s + 8 | 0; - if ((c[v >> 2] | 0) == (n | 0)) { - u = v; - break; - } - au(); - } - } while (0); - c[k + 12 >> 2] = s; - c[u >> 2] = k; - q = n; - r = o; - break; - } - t = m; - p = c[a + (l + 24) >> 2] | 0; - v = c[a + (l + 12) >> 2] | 0; - do { - if ((v | 0) == (t | 0)) { - w = a + (l + 20) | 0; - x = c[w >> 2] | 0; - if ((x | 0) == 0) { - y = a + (l + 16) | 0; - z = c[y >> 2] | 0; - if ((z | 0) == 0) { - A = 0; - break; - } else { - B = z; - C = y; - } - } else { - B = x; - C = w; - } - while (1) { - w = B + 20 | 0; - x = c[w >> 2] | 0; - if ((x | 0) != 0) { - B = x; - C = w; - continue; - } - w = B + 16 | 0; - x = c[w >> 2] | 0; - if ((x | 0) == 0) { - break; - } else { - B = x; - C = w; - } - } - if (C >>> 0 < e >>> 0) { - au(); - } else { - c[C >> 2] = 0; - A = B; - break; - } - } else { - w = c[a + (l + 8) >> 2] | 0; - if (w >>> 0 < e >>> 0) { - au(); - } - x = w + 12 | 0; - if ((c[x >> 2] | 0) != (t | 0)) { - au(); - } - y = v + 8 | 0; - if ((c[y >> 2] | 0) == (t | 0)) { - c[x >> 2] = v; - c[y >> 2] = w; - A = v; - break; - } else { - au(); - } - } - } while (0); - if ((p | 0) == 0) { - q = n; - r = o; - break; - } - v = a + (l + 28) | 0; - m = 1136 + (c[v >> 2] << 2) | 0; - do { - if ((t | 0) == (c[m >> 2] | 0)) { - c[m >> 2] = A; - if ((A | 0) != 0) { - break; - } - c[209] = c[209] & ~(1 << c[v >> 2]); - q = n; - r = o; - break L672; - } else { - if (p >>> 0 < (c[212] | 0) >>> 0) { - au(); - } - k = p + 16 | 0; - if ((c[k >> 2] | 0) == (t | 0)) { - c[k >> 2] = A; - } else { - c[p + 20 >> 2] = A; - } - if ((A | 0) == 0) { - q = n; - r = o; - break L672; - } - } - } while (0); - if (A >>> 0 < (c[212] | 0) >>> 0) { - au(); - } - c[A + 24 >> 2] = p; - t = c[a + (l + 16) >> 2] | 0; - do { - if ((t | 0) != 0) { - if (t >>> 0 < (c[212] | 0) >>> 0) { - au(); - } else { - c[A + 16 >> 2] = t; - c[t + 24 >> 2] = A; - break; - } - } - } while (0); - t = c[a + (l + 20) >> 2] | 0; - if ((t | 0) == 0) { - q = n; - r = o; - break; - } - if (t >>> 0 < (c[212] | 0) >>> 0) { - au(); - } else { - c[A + 20 >> 2] = t; - c[t + 24 >> 2] = A; - q = n; - r = o; - break; - } - } else { - q = d; - r = h; - } - } while (0); - d = q; - if (d >>> 0 >= i >>> 0) { - au(); - } - A = a + (h - 4) | 0; - e = c[A >> 2] | 0; - if ((e & 1 | 0) == 0) { - au(); - } - do { - if ((e & 2 | 0) == 0) { - if ((j | 0) == (c[214] | 0)) { - B = (c[211] | 0) + r | 0; - c[211] = B; - c[214] = q; - c[q + 4 >> 2] = B | 1; - if ((q | 0) == (c[213] | 0)) { - c[213] = 0; - c[210] = 0; - } - if (B >>> 0 <= (c[215] | 0) >>> 0) { - return; - } - bS(0) | 0; - return; - } - if ((j | 0) == (c[213] | 0)) { - B = (c[210] | 0) + r | 0; - c[210] = B; - c[213] = q; - c[q + 4 >> 2] = B | 1; - c[d + B >> 2] = B; - return; - } - B = (e & -8) + r | 0; - C = e >>> 3; - L777 : do { - if (e >>> 0 < 256) { - u = c[a + h >> 2] | 0; - g = c[a + (h | 4) >> 2] | 0; - b = 872 + (C << 1 << 2) | 0; - do { - if ((u | 0) != (b | 0)) { - if (u >>> 0 < (c[212] | 0) >>> 0) { - au(); - } - if ((c[u + 12 >> 2] | 0) == (j | 0)) { - break; - } - au(); - } - } while (0); - if ((g | 0) == (u | 0)) { - c[208] = c[208] & ~(1 << C); - break; - } - do { - if ((g | 0) == (b | 0)) { - D = g + 8 | 0; - } else { - if (g >>> 0 < (c[212] | 0) >>> 0) { - au(); - } - f = g + 8 | 0; - if ((c[f >> 2] | 0) == (j | 0)) { - D = f; - break; - } - au(); - } - } while (0); - c[u + 12 >> 2] = g; - c[D >> 2] = u; - } else { - b = i; - f = c[a + (h + 16) >> 2] | 0; - t = c[a + (h | 4) >> 2] | 0; - do { - if ((t | 0) == (b | 0)) { - p = a + (h + 12) | 0; - v = c[p >> 2] | 0; - if ((v | 0) == 0) { - m = a + (h + 8) | 0; - k = c[m >> 2] | 0; - if ((k | 0) == 0) { - E = 0; - break; - } else { - F = k; - G = m; - } - } else { - F = v; - G = p; - } - while (1) { - p = F + 20 | 0; - v = c[p >> 2] | 0; - if ((v | 0) != 0) { - F = v; - G = p; - continue; - } - p = F + 16 | 0; - v = c[p >> 2] | 0; - if ((v | 0) == 0) { - break; - } else { - F = v; - G = p; - } - } - if (G >>> 0 < (c[212] | 0) >>> 0) { - au(); - } else { - c[G >> 2] = 0; - E = F; - break; - } - } else { - p = c[a + h >> 2] | 0; - if (p >>> 0 < (c[212] | 0) >>> 0) { - au(); - } - v = p + 12 | 0; - if ((c[v >> 2] | 0) != (b | 0)) { - au(); - } - m = t + 8 | 0; - if ((c[m >> 2] | 0) == (b | 0)) { - c[v >> 2] = t; - c[m >> 2] = p; - E = t; - break; - } else { - au(); - } - } - } while (0); - if ((f | 0) == 0) { - break; - } - t = a + (h + 20) | 0; - u = 1136 + (c[t >> 2] << 2) | 0; - do { - if ((b | 0) == (c[u >> 2] | 0)) { - c[u >> 2] = E; - if ((E | 0) != 0) { - break; - } - c[209] = c[209] & ~(1 << c[t >> 2]); - break L777; - } else { - if (f >>> 0 < (c[212] | 0) >>> 0) { - au(); - } - g = f + 16 | 0; - if ((c[g >> 2] | 0) == (b | 0)) { - c[g >> 2] = E; - } else { - c[f + 20 >> 2] = E; - } - if ((E | 0) == 0) { - break L777; - } - } - } while (0); - if (E >>> 0 < (c[212] | 0) >>> 0) { - au(); - } - c[E + 24 >> 2] = f; - b = c[a + (h + 8) >> 2] | 0; - do { - if ((b | 0) != 0) { - if (b >>> 0 < (c[212] | 0) >>> 0) { - au(); - } else { - c[E + 16 >> 2] = b; - c[b + 24 >> 2] = E; - break; - } - } - } while (0); - b = c[a + (h + 12) >> 2] | 0; - if ((b | 0) == 0) { - break; - } - if (b >>> 0 < (c[212] | 0) >>> 0) { - au(); - } else { - c[E + 20 >> 2] = b; - c[b + 24 >> 2] = E; - break; - } - } - } while (0); - c[q + 4 >> 2] = B | 1; - c[d + B >> 2] = B; - if ((q | 0) != (c[213] | 0)) { - H = B; - break; - } - c[210] = B; - return; - } else { - c[A >> 2] = e & -2; - c[q + 4 >> 2] = r | 1; - c[d + r >> 2] = r; - H = r; - } - } while (0); - r = H >>> 3; - if (H >>> 0 < 256) { - d = r << 1; - e = 872 + (d << 2) | 0; - A = c[208] | 0; - E = 1 << r; - do { - if ((A & E | 0) == 0) { - c[208] = A | E; - I = e; - J = 872 + (d + 2 << 2) | 0; - } else { - r = 872 + (d + 2 << 2) | 0; - h = c[r >> 2] | 0; - if (h >>> 0 >= (c[212] | 0) >>> 0) { - I = h; - J = r; - break; - } - au(); - } - } while (0); - c[J >> 2] = q; - c[I + 12 >> 2] = q; - c[q + 8 >> 2] = I; - c[q + 12 >> 2] = e; - return; - } - e = q; - I = H >>> 8; - do { - if ((I | 0) == 0) { - K = 0; - } else { - if (H >>> 0 > 16777215) { - K = 31; - break; - } - J = (I + 1048320 | 0) >>> 16 & 8; - d = I << J; - E = (d + 520192 | 0) >>> 16 & 4; - A = d << E; - d = (A + 245760 | 0) >>> 16 & 2; - r = 14 - (E | J | d) + (A << d >>> 15) | 0; - K = H >>> ((r + 7 | 0) >>> 0) & 1 | r << 1; - } - } while (0); - I = 1136 + (K << 2) | 0; - c[q + 28 >> 2] = K; - c[q + 20 >> 2] = 0; - c[q + 16 >> 2] = 0; - r = c[209] | 0; - d = 1 << K; - do { - if ((r & d | 0) == 0) { - c[209] = r | d; - c[I >> 2] = e; - c[q + 24 >> 2] = I; - c[q + 12 >> 2] = q; - c[q + 8 >> 2] = q; - } else { - if ((K | 0) == 31) { - L = 0; - } else { - L = 25 - (K >>> 1) | 0; - } - A = H << L; - J = c[I >> 2] | 0; - while (1) { - if ((c[J + 4 >> 2] & -8 | 0) == (H | 0)) { - break; - } - M = J + 16 + (A >>> 31 << 2) | 0; - E = c[M >> 2] | 0; - if ((E | 0) == 0) { - N = 621; - break; - } else { - A = A << 1; - J = E; - } - } - if ((N | 0) == 621) { - if (M >>> 0 < (c[212] | 0) >>> 0) { - au(); - } else { - c[M >> 2] = e; - c[q + 24 >> 2] = J; - c[q + 12 >> 2] = q; - c[q + 8 >> 2] = q; - break; - } - } - A = J + 8 | 0; - B = c[A >> 2] | 0; - E = c[212] | 0; - if (J >>> 0 < E >>> 0) { - au(); - } - if (B >>> 0 < E >>> 0) { - au(); - } else { - c[B + 12 >> 2] = e; - c[A >> 2] = e; - c[q + 8 >> 2] = B; - c[q + 12 >> 2] = J; - c[q + 24 >> 2] = 0; - break; - } - } - } while (0); - q = (c[216] | 0) - 1 | 0; - c[216] = q; - if ((q | 0) == 0) { - O = 1288; - } else { - return; - } - while (1) { - q = c[O >> 2] | 0; - if ((q | 0) == 0) { - break; - } else { - O = q + 8 | 0; - } - } - c[216] = -1; - return; -} -function bN(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0; - do { - if ((a | 0) == 0) { - d = 0; - } else { - e = ad(b, a) | 0; - if ((b | a) >>> 0 <= 65535) { - d = e; - break; - } - d = ((e >>> 0) / (a >>> 0) | 0 | 0) == (b | 0) ? e : -1; - } - } while (0); - b = bL(d) | 0; - if ((b | 0) == 0) { - return b | 0; - } - if ((c[b - 4 >> 2] & 3 | 0) == 0) { - return b | 0; - } - cL(b | 0, 0, d | 0); - return b | 0; -} -function bO(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0; - if ((a | 0) == 0) { - d = bL(b) | 0; - return d | 0; - } - if (b >>> 0 > 4294967231) { - c[(aX() | 0) >> 2] = 12; - d = 0; - return d | 0; - } - if (b >>> 0 < 11) { - e = 16; - } else { - e = b + 11 & -8; - } - f = bT(a - 8 | 0, e) | 0; - if ((f | 0) != 0) { - d = f + 8 | 0; - return d | 0; - } - f = bL(b) | 0; - if ((f | 0) == 0) { - d = 0; - return d | 0; - } - e = c[a - 4 >> 2] | 0; - g = (e & -8) - ((e & 3 | 0) == 0 ? 8 : 4) | 0; - e = g >>> 0 < b >>> 0 ? g : b; - cK(f | 0, a | 0, e) | 0; - bM(a); - d = f; - return d | 0; -} -function bP(a, b) { - a = a | 0; - b = b | 0; - var d = 0; - if ((a | 0) == 0) { - return 0; - } - if (b >>> 0 > 4294967231) { - c[(aX() | 0) >> 2] = 12; - return 0; - } - if (b >>> 0 < 11) { - d = 16; - } else { - d = b + 11 & -8; - } - b = a - 8 | 0; - return ((bT(b, d) | 0) == (b | 0) ? a : 0) | 0; -} -function bQ(a, b) { - a = a | 0; - b = b | 0; - var c = 0; - if (a >>> 0 < 9) { - c = bL(b) | 0; - return c | 0; - } else { - c = bR(a, b) | 0; - return c | 0; - } - return 0; -} -function bR(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; - d = a >>> 0 < 16 ? 16 : a; - if ((d - 1 & d | 0) == 0) { - e = d; - } else { - a = 16; - while (1) { - if (a >>> 0 < d >>> 0) { - a = a << 1; - } else { - e = a; - break; - } - } - } - if ((-64 - e | 0) >>> 0 <= b >>> 0) { - c[(aX() | 0) >> 2] = 12; - f = 0; - return f | 0; - } - if (b >>> 0 < 11) { - g = 16; - } else { - g = b + 11 & -8; - } - b = bL(e + 12 + g | 0) | 0; - if ((b | 0) == 0) { - f = 0; - return f | 0; - } - a = b - 8 | 0; - d = a; - h = e - 1 | 0; - do { - if ((b & h | 0) == 0) { - i = d; - } else { - j = b + h & -e; - k = j - 8 | 0; - l = a; - if ((k - l | 0) >>> 0 > 15) { - m = k; - } else { - m = j + (e - 8) | 0; - } - j = m; - k = m - l | 0; - l = b - 4 | 0; - n = c[l >> 2] | 0; - o = (n & -8) - k | 0; - if ((n & 3 | 0) == 0) { - c[m >> 2] = (c[a >> 2] | 0) + k; - c[m + 4 >> 2] = o; - i = j; - break; - } else { - n = m + 4 | 0; - c[n >> 2] = o | c[n >> 2] & 1 | 2; - n = m + (o + 4) | 0; - c[n >> 2] = c[n >> 2] | 1; - c[l >> 2] = k | c[l >> 2] & 1 | 2; - l = b + (k - 4) | 0; - c[l >> 2] = c[l >> 2] | 1; - b9(d, k); - i = j; - break; - } - } - } while (0); - d = i + 4 | 0; - b = c[d >> 2] | 0; - do { - if ((b & 3 | 0) != 0) { - m = b & -8; - if (m >>> 0 <= (g + 16 | 0) >>> 0) { - break; - } - a = m - g | 0; - e = i; - c[d >> 2] = g | b & 1 | 2; - c[e + (g | 4) >> 2] = a | 3; - h = e + (m | 4) | 0; - c[h >> 2] = c[h >> 2] | 1; - b9(e + g | 0, a); - } - } while (0); - f = i + 8 | 0; - return f | 0; -} -function bS(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0; - do { - if ((c[200] | 0) == 0) { - b = ar(8) | 0; - if ((b - 1 & b | 0) == 0) { - c[202] = b; - c[201] = b; - c[203] = -1; - c[204] = 2097152; - c[205] = 0; - c[319] = 0; - c[200] = (a_(0) | 0) & -16 ^ 1431655768; - break; - } else { - au(); - return 0; - } - } - } while (0); - if (a >>> 0 >= 4294967232) { - d = 0; - return d | 0; - } - b = c[214] | 0; - if ((b | 0) == 0) { - d = 0; - return d | 0; - } - e = c[211] | 0; - do { - if (e >>> 0 > (a + 40 | 0) >>> 0) { - f = c[202] | 0; - g = ad((((-40 - a - 1 + e + f | 0) >>> 0) / (f >>> 0) | 0) - 1 | 0, f) | 0; - h = b; - i = 1280; - while (1) { - j = c[i >> 2] | 0; - if (j >>> 0 <= h >>> 0) { - if ((j + (c[i + 4 >> 2] | 0) | 0) >>> 0 > h >>> 0) { - k = i; - break; - } - } - j = c[i + 8 >> 2] | 0; - if ((j | 0) == 0) { - k = 0; - break; - } else { - i = j; - } - } - if ((c[k + 12 >> 2] & 8 | 0) != 0) { - break; - } - i = aV(0) | 0; - h = k + 4 | 0; - if ((i | 0) != ((c[k >> 2] | 0) + (c[h >> 2] | 0) | 0)) { - break; - } - j = aV(-(g >>> 0 > 2147483646 ? -2147483648 - f | 0 : g) | 0) | 0; - l = aV(0) | 0; - if (!((j | 0) != -1 & l >>> 0 < i >>> 0)) { - break; - } - j = i - l | 0; - if ((i | 0) == (l | 0)) { - break; - } - c[h >> 2] = (c[h >> 2] | 0) - j; - c[316] = (c[316] | 0) - j; - h = c[214] | 0; - m = (c[211] | 0) - j | 0; - j = h; - n = h + 8 | 0; - if ((n & 7 | 0) == 0) { - o = 0; - } else { - o = -n & 7; - } - n = m - o | 0; - c[214] = j + o; - c[211] = n; - c[j + (o + 4) >> 2] = n | 1; - c[j + (m + 4) >> 2] = 40; - c[215] = c[204]; - d = (i | 0) != (l | 0) | 0; - return d | 0; - } - } while (0); - if ((c[211] | 0) >>> 0 <= (c[215] | 0) >>> 0) { - d = 0; - return d | 0; - } - c[215] = -1; - d = 0; - return d | 0; -} -function bT(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0; - d = a + 4 | 0; - e = c[d >> 2] | 0; - f = e & -8; - g = a; - h = g + f | 0; - i = h; - j = c[212] | 0; - if (g >>> 0 < j >>> 0) { - au(); - return 0; - } - k = e & 3; - if (!((k | 0) != 1 & g >>> 0 < h >>> 0)) { - au(); - return 0; - } - l = g + (f | 4) | 0; - m = c[l >> 2] | 0; - if ((m & 1 | 0) == 0) { - au(); - return 0; - } - if ((k | 0) == 0) { - if (b >>> 0 < 256) { - n = 0; - return n | 0; - } - do { - if (f >>> 0 >= (b + 4 | 0) >>> 0) { - if ((f - b | 0) >>> 0 > c[202] << 1 >>> 0) { - break; - } else { - n = a; - } - return n | 0; - } - } while (0); - n = 0; - return n | 0; - } - if (f >>> 0 >= b >>> 0) { - k = f - b | 0; - if (k >>> 0 <= 15) { - n = a; - return n | 0; - } - c[d >> 2] = e & 1 | b | 2; - c[g + (b + 4) >> 2] = k | 3; - c[l >> 2] = c[l >> 2] | 1; - b9(g + b | 0, k); - n = a; - return n | 0; - } - if ((i | 0) == (c[214] | 0)) { - k = (c[211] | 0) + f | 0; - if (k >>> 0 <= b >>> 0) { - n = 0; - return n | 0; - } - l = k - b | 0; - c[d >> 2] = e & 1 | b | 2; - c[g + (b + 4) >> 2] = l | 1; - c[214] = g + b; - c[211] = l; - n = a; - return n | 0; - } - if ((i | 0) == (c[213] | 0)) { - l = (c[210] | 0) + f | 0; - if (l >>> 0 < b >>> 0) { - n = 0; - return n | 0; - } - k = l - b | 0; - if (k >>> 0 > 15) { - c[d >> 2] = e & 1 | b | 2; - c[g + (b + 4) >> 2] = k | 1; - c[g + l >> 2] = k; - o = g + (l + 4) | 0; - c[o >> 2] = c[o >> 2] & -2; - p = g + b | 0; - q = k; - } else { - c[d >> 2] = e & 1 | l | 2; - e = g + (l + 4) | 0; - c[e >> 2] = c[e >> 2] | 1; - p = 0; - q = 0; - } - c[210] = q; - c[213] = p; - n = a; - return n | 0; - } - if ((m & 2 | 0) != 0) { - n = 0; - return n | 0; - } - p = (m & -8) + f | 0; - if (p >>> 0 < b >>> 0) { - n = 0; - return n | 0; - } - q = p - b | 0; - e = m >>> 3; - L1056 : do { - if (m >>> 0 < 256) { - l = c[g + (f + 8) >> 2] | 0; - k = c[g + (f + 12) >> 2] | 0; - o = 872 + (e << 1 << 2) | 0; - do { - if ((l | 0) != (o | 0)) { - if (l >>> 0 < j >>> 0) { - au(); - return 0; - } - if ((c[l + 12 >> 2] | 0) == (i | 0)) { - break; - } - au(); - return 0; - } - } while (0); - if ((k | 0) == (l | 0)) { - c[208] = c[208] & ~(1 << e); - break; - } - do { - if ((k | 0) == (o | 0)) { - r = k + 8 | 0; - } else { - if (k >>> 0 < j >>> 0) { - au(); - return 0; - } - s = k + 8 | 0; - if ((c[s >> 2] | 0) == (i | 0)) { - r = s; - break; - } - au(); - return 0; - } - } while (0); - c[l + 12 >> 2] = k; - c[r >> 2] = l; - } else { - o = h; - s = c[g + (f + 24) >> 2] | 0; - t = c[g + (f + 12) >> 2] | 0; - do { - if ((t | 0) == (o | 0)) { - u = g + (f + 20) | 0; - v = c[u >> 2] | 0; - if ((v | 0) == 0) { - w = g + (f + 16) | 0; - x = c[w >> 2] | 0; - if ((x | 0) == 0) { - y = 0; - break; - } else { - z = x; - A = w; - } - } else { - z = v; - A = u; - } - while (1) { - u = z + 20 | 0; - v = c[u >> 2] | 0; - if ((v | 0) != 0) { - z = v; - A = u; - continue; - } - u = z + 16 | 0; - v = c[u >> 2] | 0; - if ((v | 0) == 0) { - break; - } else { - z = v; - A = u; - } - } - if (A >>> 0 < j >>> 0) { - au(); - return 0; - } else { - c[A >> 2] = 0; - y = z; - break; - } - } else { - u = c[g + (f + 8) >> 2] | 0; - if (u >>> 0 < j >>> 0) { - au(); - return 0; - } - v = u + 12 | 0; - if ((c[v >> 2] | 0) != (o | 0)) { - au(); - return 0; - } - w = t + 8 | 0; - if ((c[w >> 2] | 0) == (o | 0)) { - c[v >> 2] = t; - c[w >> 2] = u; - y = t; - break; - } else { - au(); - return 0; - } - } - } while (0); - if ((s | 0) == 0) { - break; - } - t = g + (f + 28) | 0; - l = 1136 + (c[t >> 2] << 2) | 0; - do { - if ((o | 0) == (c[l >> 2] | 0)) { - c[l >> 2] = y; - if ((y | 0) != 0) { - break; - } - c[209] = c[209] & ~(1 << c[t >> 2]); - break L1056; - } else { - if (s >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } - k = s + 16 | 0; - if ((c[k >> 2] | 0) == (o | 0)) { - c[k >> 2] = y; - } else { - c[s + 20 >> 2] = y; - } - if ((y | 0) == 0) { - break L1056; - } - } - } while (0); - if (y >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } - c[y + 24 >> 2] = s; - o = c[g + (f + 16) >> 2] | 0; - do { - if ((o | 0) != 0) { - if (o >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } else { - c[y + 16 >> 2] = o; - c[o + 24 >> 2] = y; - break; - } - } - } while (0); - o = c[g + (f + 20) >> 2] | 0; - if ((o | 0) == 0) { - break; - } - if (o >>> 0 < (c[212] | 0) >>> 0) { - au(); - return 0; - } else { - c[y + 20 >> 2] = o; - c[o + 24 >> 2] = y; - break; - } - } - } while (0); - if (q >>> 0 < 16) { - c[d >> 2] = p | c[d >> 2] & 1 | 2; - y = g + (p | 4) | 0; - c[y >> 2] = c[y >> 2] | 1; - n = a; - return n | 0; - } else { - c[d >> 2] = c[d >> 2] & 1 | b | 2; - c[g + (b + 4) >> 2] = q | 3; - d = g + (p | 4) | 0; - c[d >> 2] = c[d >> 2] | 1; - b9(g + b | 0, q); - n = a; - return n | 0; - } - return 0; -} -function bU() { - return c[316] | 0; -} -function bV() { - return c[317] | 0; -} -function bW() { - var a = 0; - a = c[318] | 0; - return ((a | 0) == 0 ? -1 : a) | 0; -} -function bX(a) { - a = a | 0; - var b = 0, d = 0; - if ((a | 0) == -1) { - b = 0; - } else { - d = c[202] | 0; - b = a - 1 + d & -d; - } - c[318] = b; - return b | 0; -} -function bY(a) { - a = a | 0; - var b = 0, d = 0, e = 0; - do { - if ((a | 0) == 0) { - b = 0; - } else { - d = c[a - 4 >> 2] | 0; - e = d & 3; - if ((e | 0) == 1) { - b = 0; - break; - } - b = (d & -8) - ((e | 0) == 0 ? 8 : 4) | 0; - } - } while (0); - return b | 0; -} -function bZ(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0; - do { - if ((b | 0) == 8) { - e = bL(d) | 0; - } else { - f = b >>> 2; - if ((b & 3 | 0) != 0 | (f | 0) == 0) { - g = 22; - return g | 0; - } - if ((f + 1073741823 & f | 0) != 0) { - g = 22; - return g | 0; - } - if ((-64 - b | 0) >>> 0 < d >>> 0) { - g = 12; - return g | 0; - } else { - e = bR(b >>> 0 < 16 ? 16 : b, d) | 0; - break; - } - } - } while (0); - if ((e | 0) == 0) { - g = 12; - return g | 0; - } - c[a >> 2] = e; - g = 0; - return g | 0; -} -function b_(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0; - e = i; - i = i + 8 | 0; - f = e | 0; - c[f >> 2] = b; - b = b2(a, f, 3, d) | 0; - i = e; - return b | 0; -} -function b$(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - return b2(a, b, 0, c) | 0; -} -function b0(a) { - a = a | 0; - var b = 0, d = 0, e = 0; - if ((c[200] | 0) != 0) { - b = c[201] | 0; - d = bQ(b, a) | 0; - return d | 0; - } - e = ar(8) | 0; - if ((e - 1 & e | 0) != 0) { - au(); - return 0; - } - c[202] = e; - c[201] = e; - c[203] = -1; - c[204] = 2097152; - c[205] = 0; - c[319] = 0; - c[200] = (a_(0) | 0) & -16 ^ 1431655768; - b = c[201] | 0; - d = bQ(b, a) | 0; - return d | 0; -} -function b1(a) { - a = a | 0; - var b = 0; - do { - if ((c[200] | 0) == 0) { - b = ar(8) | 0; - if ((b - 1 & b | 0) == 0) { - c[202] = b; - c[201] = b; - c[203] = -1; - c[204] = 2097152; - c[205] = 0; - c[319] = 0; - c[200] = (a_(0) | 0) & -16 ^ 1431655768; - break; - } else { - au(); - return 0; - } - } - } while (0); - b = c[201] | 0; - return bQ(b, a - 1 + b & -b) | 0; -} -function b2(a, b, d, e) { - a = a | 0; - b = b | 0; - d = d | 0; - e = e | 0; - var f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0; - do { - if ((c[200] | 0) == 0) { - f = ar(8) | 0; - if ((f - 1 & f | 0) == 0) { - c[202] = f; - c[201] = f; - c[203] = -1; - c[204] = 2097152; - c[205] = 0; - c[319] = 0; - c[200] = (a_(0) | 0) & -16 ^ 1431655768; - break; - } else { - au(); - return 0; - } - } - } while (0); - f = (a | 0) == 0; - do { - if ((e | 0) == 0) { - if (f) { - g = bL(0) | 0; - return g | 0; - } else { - h = a << 2; - if (h >>> 0 < 11) { - i = 0; - j = 16; - break; - } - i = 0; - j = h + 11 & -8; - break; - } - } else { - if (f) { - g = e; - } else { - i = e; - j = 0; - break; - } - return g | 0; - } - } while (0); - do { - if ((d & 1 | 0) == 0) { - if (f) { - k = 0; - l = 0; - break; - } else { - m = 0; - n = 0; - } - while (1) { - e = c[b + (n << 2) >> 2] | 0; - if (e >>> 0 < 11) { - o = 16; - } else { - o = e + 11 & -8; - } - e = o + m | 0; - h = n + 1 | 0; - if ((h | 0) == (a | 0)) { - k = 0; - l = e; - break; - } else { - m = e; - n = h; - } - } - } else { - h = c[b >> 2] | 0; - if (h >>> 0 < 11) { - p = 16; - } else { - p = h + 11 & -8; - } - k = p; - l = ad(p, a) | 0; - } - } while (0); - p = bL(j - 4 + l | 0) | 0; - if ((p | 0) == 0) { - g = 0; - return g | 0; - } - n = p - 8 | 0; - m = c[p - 4 >> 2] & -8; - if ((d & 2 | 0) != 0) { - cL(p | 0, 0, -4 - j + m | 0); - } - if ((i | 0) == 0) { - c[p + (l - 4) >> 2] = m - l | 3; - q = p + l | 0; - r = l; - } else { - q = i; - r = m; - } - c[q >> 2] = p; - p = a - 1 | 0; - L1216 : do { - if ((p | 0) == 0) { - s = n; - t = r; - } else { - if ((k | 0) == 0) { - u = n; - v = r; - w = 0; - } else { - a = n; - m = r; - i = 0; - while (1) { - l = m - k | 0; - c[a + 4 >> 2] = k | 3; - j = a + k | 0; - d = i + 1 | 0; - c[q + (d << 2) >> 2] = a + (k + 8); - if ((d | 0) == (p | 0)) { - s = j; - t = l; - break L1216; - } else { - a = j; - m = l; - i = d; - } - } - } - while (1) { - i = c[b + (w << 2) >> 2] | 0; - if (i >>> 0 < 11) { - x = 16; - } else { - x = i + 11 & -8; - } - i = v - x | 0; - c[u + 4 >> 2] = x | 3; - m = u + x | 0; - a = w + 1 | 0; - c[q + (a << 2) >> 2] = u + (x + 8); - if ((a | 0) == (p | 0)) { - s = m; - t = i; - break; - } else { - u = m; - v = i; - w = a; - } - } - } - } while (0); - c[s + 4 >> 2] = t | 3; - g = q; - return g | 0; -} -function b3(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0; - d = a + (b << 2) | 0; - L1229 : do { - if ((b | 0) != 0) { - e = a; - L1230 : while (1) { - f = c[e >> 2] | 0; - L1232 : do { - if ((f | 0) == 0) { - g = e + 4 | 0; - } else { - h = f - 8 | 0; - i = h; - j = f - 4 | 0; - k = c[j >> 2] & -8; - c[e >> 2] = 0; - if (h >>> 0 < (c[212] | 0) >>> 0) { - l = 935; - break L1230; - } - h = c[j >> 2] | 0; - if ((h & 3 | 0) == 1) { - l = 936; - break L1230; - } - m = e + 4 | 0; - n = h - 8 & -8; - do { - if ((m | 0) != (d | 0)) { - if ((c[m >> 2] | 0) != (f + (n + 8) | 0)) { - break; - } - o = (c[f + (n | 4) >> 2] & -8) + k | 0; - c[j >> 2] = h & 1 | o | 2; - p = f + (o - 4) | 0; - c[p >> 2] = c[p >> 2] | 1; - c[m >> 2] = f; - g = m; - break L1232; - } - } while (0); - b9(i, k); - g = m; - } - } while (0); - if ((g | 0) == (d | 0)) { - break L1229; - } else { - e = g; - } - } - if ((l | 0) == 935) { - au(); - return 0; - } else if ((l | 0) == 936) { - au(); - return 0; - } - } - } while (0); - if ((c[211] | 0) >>> 0 <= (c[215] | 0) >>> 0) { - return 0; - } - bS(0) | 0; - return 0; -} -function b4(a) { - a = a | 0; - var b = 0, d = 0; - if ((c[200] | 0) != 0) { - b = bS(a) | 0; - return b | 0; - } - d = ar(8) | 0; - if ((d - 1 & d | 0) != 0) { - au(); - return 0; - } - c[202] = d; - c[201] = d; - c[203] = -1; - c[204] = 2097152; - c[205] = 0; - c[319] = 0; - c[200] = (a_(0) | 0) & -16 ^ 1431655768; - b = bS(a) | 0; - return b | 0; -} -function b5(a) { - a = a | 0; - var b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0; - do { - if ((c[200] | 0) == 0) { - b = ar(8) | 0; - if ((b - 1 & b | 0) == 0) { - c[202] = b; - c[201] = b; - c[203] = -1; - c[204] = 2097152; - c[205] = 0; - c[319] = 0; - c[200] = (a_(0) | 0) & -16 ^ 1431655768; - break; - } else { - au(); - } - } - } while (0); - b = c[214] | 0; - if ((b | 0) == 0) { - d = 0; - e = 0; - f = 0; - g = 0; - h = 0; - i = 0; - j = 0; - } else { - k = c[211] | 0; - l = k + 40 | 0; - m = 1; - n = l; - o = l; - l = 1280; - while (1) { - p = c[l >> 2] | 0; - q = p + 8 | 0; - if ((q & 7 | 0) == 0) { - r = 0; - } else { - r = -q & 7; - } - q = p + (c[l + 4 >> 2] | 0) | 0; - s = m; - t = n; - u = o; - v = p + r | 0; - while (1) { - if (v >>> 0 >= q >>> 0 | (v | 0) == (b | 0)) { - w = s; - x = t; - y = u; - break; - } - z = c[v + 4 >> 2] | 0; - if ((z | 0) == 7) { - w = s; - x = t; - y = u; - break; - } - A = z & -8; - B = A + u | 0; - if ((z & 3 | 0) == 1) { - C = A + t | 0; - D = s + 1 | 0; - } else { - C = t; - D = s; - } - z = v + A | 0; - if (z >>> 0 < p >>> 0) { - w = D; - x = C; - y = B; - break; - } else { - s = D; - t = C; - u = B; - v = z; - } - } - v = c[l + 8 >> 2] | 0; - if ((v | 0) == 0) { - break; - } else { - m = w; - n = x; - o = y; - l = v; - } - } - l = c[316] | 0; - d = k; - e = y; - f = w; - g = l - y | 0; - h = c[317] | 0; - i = l - x | 0; - j = x; - } - c[a >> 2] = e; - c[a + 4 >> 2] = f; - f = a + 8 | 0; - c[f >> 2] = 0; - c[f + 4 >> 2] = 0; - c[a + 16 >> 2] = g; - c[a + 20 >> 2] = h; - c[a + 24 >> 2] = 0; - c[a + 28 >> 2] = i; - c[a + 32 >> 2] = j; - c[a + 36 >> 2] = d; - return; -} -function b6() { - var a = 0, b = 0, d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0; - a = i; - do { - if ((c[200] | 0) == 0) { - b = ar(8) | 0; - if ((b - 1 & b | 0) == 0) { - c[202] = b; - c[201] = b; - c[203] = -1; - c[204] = 2097152; - c[205] = 0; - c[319] = 0; - c[200] = (a_(0) | 0) & -16 ^ 1431655768; - break; - } else { - au(); - } - } - } while (0); - b = c[214] | 0; - if ((b | 0) == 0) { - d = 0; - e = 0; - f = 0; - } else { - g = c[317] | 0; - h = c[316] | 0; - j = h - 40 - (c[211] | 0) | 0; - k = 1280; - while (1) { - l = c[k >> 2] | 0; - m = l + 8 | 0; - if ((m & 7 | 0) == 0) { - n = 0; - } else { - n = -m & 7; - } - m = l + (c[k + 4 >> 2] | 0) | 0; - p = j; - q = l + n | 0; - while (1) { - if (q >>> 0 >= m >>> 0 | (q | 0) == (b | 0)) { - r = p; - break; - } - s = c[q + 4 >> 2] | 0; - if ((s | 0) == 7) { - r = p; - break; - } - t = s & -8; - u = p - ((s & 3 | 0) == 1 ? t : 0) | 0; - s = q + t | 0; - if (s >>> 0 < l >>> 0) { - r = u; - break; - } else { - p = u; - q = s; - } - } - q = c[k + 8 >> 2] | 0; - if ((q | 0) == 0) { - d = r; - e = h; - f = g; - break; - } else { - j = r; - k = q; - } - } - } - av(c[o >> 2] | 0, 520, (y = i, i = i + 8 | 0, c[y >> 2] = f, y) | 0) | 0; - av(c[o >> 2] | 0, 488, (y = i, i = i + 8 | 0, c[y >> 2] = e, y) | 0) | 0; - av(c[o >> 2] | 0, 400, (y = i, i = i + 8 | 0, c[y >> 2] = d, y) | 0) | 0; - i = a; - return; -} -function b7(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0; - do { - if ((c[200] | 0) == 0) { - d = ar(8) | 0; - if ((d - 1 & d | 0) == 0) { - c[202] = d; - c[201] = d; - c[203] = -1; - c[204] = 2097152; - c[205] = 0; - c[319] = 0; - c[200] = (a_(0) | 0) & -16 ^ 1431655768; - break; - } else { - au(); - return 0; - } - } - } while (0); - if ((a | 0) == (-1 | 0)) { - c[204] = b; - e = 1; - return e | 0; - } else if ((a | 0) == (-2 | 0)) { - if ((c[201] | 0) >>> 0 > b >>> 0) { - e = 0; - return e | 0; - } - if ((b - 1 & b | 0) != 0) { - e = 0; - return e | 0; - } - c[202] = b; - e = 1; - return e | 0; - } else if ((a | 0) == (-3 | 0)) { - c[203] = b; - e = 1; - return e | 0; - } else { - e = 0; - return e | 0; - } - return 0; -} -function b8() { - return (F = c[328] | 0, c[328] = F + 0, F) | 0; -} -function b9(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0; - d = a; - e = d + b | 0; - f = e; - g = c[a + 4 >> 2] | 0; - L1325 : do { - if ((g & 1 | 0) == 0) { - h = c[a >> 2] | 0; - if ((g & 3 | 0) == 0) { - return; - } - i = d + (-h | 0) | 0; - j = i; - k = h + b | 0; - l = c[212] | 0; - if (i >>> 0 < l >>> 0) { - au(); - } - if ((j | 0) == (c[213] | 0)) { - m = d + (b + 4) | 0; - if ((c[m >> 2] & 3 | 0) != 3) { - n = j; - o = k; - break; - } - c[210] = k; - c[m >> 2] = c[m >> 2] & -2; - c[d + (4 - h) >> 2] = k | 1; - c[e >> 2] = k; - return; - } - m = h >>> 3; - if (h >>> 0 < 256) { - p = c[d + (8 - h) >> 2] | 0; - q = c[d + (12 - h) >> 2] | 0; - r = 872 + (m << 1 << 2) | 0; - do { - if ((p | 0) != (r | 0)) { - if (p >>> 0 < l >>> 0) { - au(); - } - if ((c[p + 12 >> 2] | 0) == (j | 0)) { - break; - } - au(); - } - } while (0); - if ((q | 0) == (p | 0)) { - c[208] = c[208] & ~(1 << m); - n = j; - o = k; - break; - } - do { - if ((q | 0) == (r | 0)) { - s = q + 8 | 0; - } else { - if (q >>> 0 < l >>> 0) { - au(); - } - t = q + 8 | 0; - if ((c[t >> 2] | 0) == (j | 0)) { - s = t; - break; - } - au(); - } - } while (0); - c[p + 12 >> 2] = q; - c[s >> 2] = p; - n = j; - o = k; - break; - } - r = i; - m = c[d + (24 - h) >> 2] | 0; - t = c[d + (12 - h) >> 2] | 0; - do { - if ((t | 0) == (r | 0)) { - u = 16 - h | 0; - v = d + (u + 4) | 0; - w = c[v >> 2] | 0; - if ((w | 0) == 0) { - x = d + u | 0; - u = c[x >> 2] | 0; - if ((u | 0) == 0) { - y = 0; - break; - } else { - z = u; - A = x; - } - } else { - z = w; - A = v; - } - while (1) { - v = z + 20 | 0; - w = c[v >> 2] | 0; - if ((w | 0) != 0) { - z = w; - A = v; - continue; - } - v = z + 16 | 0; - w = c[v >> 2] | 0; - if ((w | 0) == 0) { - break; - } else { - z = w; - A = v; - } - } - if (A >>> 0 < l >>> 0) { - au(); - } else { - c[A >> 2] = 0; - y = z; - break; - } - } else { - v = c[d + (8 - h) >> 2] | 0; - if (v >>> 0 < l >>> 0) { - au(); - } - w = v + 12 | 0; - if ((c[w >> 2] | 0) != (r | 0)) { - au(); - } - x = t + 8 | 0; - if ((c[x >> 2] | 0) == (r | 0)) { - c[w >> 2] = t; - c[x >> 2] = v; - y = t; - break; - } else { - au(); - } - } - } while (0); - if ((m | 0) == 0) { - n = j; - o = k; - break; - } - t = d + (28 - h) | 0; - l = 1136 + (c[t >> 2] << 2) | 0; - do { - if ((r | 0) == (c[l >> 2] | 0)) { - c[l >> 2] = y; - if ((y | 0) != 0) { - break; - } - c[209] = c[209] & ~(1 << c[t >> 2]); - n = j; - o = k; - break L1325; - } else { - if (m >>> 0 < (c[212] | 0) >>> 0) { - au(); - } - i = m + 16 | 0; - if ((c[i >> 2] | 0) == (r | 0)) { - c[i >> 2] = y; - } else { - c[m + 20 >> 2] = y; - } - if ((y | 0) == 0) { - n = j; - o = k; - break L1325; - } - } - } while (0); - if (y >>> 0 < (c[212] | 0) >>> 0) { - au(); - } - c[y + 24 >> 2] = m; - r = 16 - h | 0; - t = c[d + r >> 2] | 0; - do { - if ((t | 0) != 0) { - if (t >>> 0 < (c[212] | 0) >>> 0) { - au(); - } else { - c[y + 16 >> 2] = t; - c[t + 24 >> 2] = y; - break; - } - } - } while (0); - t = c[d + (r + 4) >> 2] | 0; - if ((t | 0) == 0) { - n = j; - o = k; - break; - } - if (t >>> 0 < (c[212] | 0) >>> 0) { - au(); - } else { - c[y + 20 >> 2] = t; - c[t + 24 >> 2] = y; - n = j; - o = k; - break; - } - } else { - n = a; - o = b; - } - } while (0); - a = c[212] | 0; - if (e >>> 0 < a >>> 0) { - au(); - } - y = d + (b + 4) | 0; - z = c[y >> 2] | 0; - do { - if ((z & 2 | 0) == 0) { - if ((f | 0) == (c[214] | 0)) { - A = (c[211] | 0) + o | 0; - c[211] = A; - c[214] = n; - c[n + 4 >> 2] = A | 1; - if ((n | 0) != (c[213] | 0)) { - return; - } - c[213] = 0; - c[210] = 0; - return; - } - if ((f | 0) == (c[213] | 0)) { - A = (c[210] | 0) + o | 0; - c[210] = A; - c[213] = n; - c[n + 4 >> 2] = A | 1; - c[n + A >> 2] = A; - return; - } - A = (z & -8) + o | 0; - s = z >>> 3; - L1424 : do { - if (z >>> 0 < 256) { - g = c[d + (b + 8) >> 2] | 0; - t = c[d + (b + 12) >> 2] | 0; - h = 872 + (s << 1 << 2) | 0; - do { - if ((g | 0) != (h | 0)) { - if (g >>> 0 < a >>> 0) { - au(); - } - if ((c[g + 12 >> 2] | 0) == (f | 0)) { - break; - } - au(); - } - } while (0); - if ((t | 0) == (g | 0)) { - c[208] = c[208] & ~(1 << s); - break; - } - do { - if ((t | 0) == (h | 0)) { - B = t + 8 | 0; - } else { - if (t >>> 0 < a >>> 0) { - au(); - } - m = t + 8 | 0; - if ((c[m >> 2] | 0) == (f | 0)) { - B = m; - break; - } - au(); - } - } while (0); - c[g + 12 >> 2] = t; - c[B >> 2] = g; - } else { - h = e; - m = c[d + (b + 24) >> 2] | 0; - l = c[d + (b + 12) >> 2] | 0; - do { - if ((l | 0) == (h | 0)) { - i = d + (b + 20) | 0; - p = c[i >> 2] | 0; - if ((p | 0) == 0) { - q = d + (b + 16) | 0; - v = c[q >> 2] | 0; - if ((v | 0) == 0) { - C = 0; - break; - } else { - D = v; - E = q; - } - } else { - D = p; - E = i; - } - while (1) { - i = D + 20 | 0; - p = c[i >> 2] | 0; - if ((p | 0) != 0) { - D = p; - E = i; - continue; - } - i = D + 16 | 0; - p = c[i >> 2] | 0; - if ((p | 0) == 0) { - break; - } else { - D = p; - E = i; - } - } - if (E >>> 0 < a >>> 0) { - au(); - } else { - c[E >> 2] = 0; - C = D; - break; - } - } else { - i = c[d + (b + 8) >> 2] | 0; - if (i >>> 0 < a >>> 0) { - au(); - } - p = i + 12 | 0; - if ((c[p >> 2] | 0) != (h | 0)) { - au(); - } - q = l + 8 | 0; - if ((c[q >> 2] | 0) == (h | 0)) { - c[p >> 2] = l; - c[q >> 2] = i; - C = l; - break; - } else { - au(); - } - } - } while (0); - if ((m | 0) == 0) { - break; - } - l = d + (b + 28) | 0; - g = 1136 + (c[l >> 2] << 2) | 0; - do { - if ((h | 0) == (c[g >> 2] | 0)) { - c[g >> 2] = C; - if ((C | 0) != 0) { - break; - } - c[209] = c[209] & ~(1 << c[l >> 2]); - break L1424; - } else { - if (m >>> 0 < (c[212] | 0) >>> 0) { - au(); - } - t = m + 16 | 0; - if ((c[t >> 2] | 0) == (h | 0)) { - c[t >> 2] = C; - } else { - c[m + 20 >> 2] = C; - } - if ((C | 0) == 0) { - break L1424; - } - } - } while (0); - if (C >>> 0 < (c[212] | 0) >>> 0) { - au(); - } - c[C + 24 >> 2] = m; - h = c[d + (b + 16) >> 2] | 0; - do { - if ((h | 0) != 0) { - if (h >>> 0 < (c[212] | 0) >>> 0) { - au(); - } else { - c[C + 16 >> 2] = h; - c[h + 24 >> 2] = C; - break; - } - } - } while (0); - h = c[d + (b + 20) >> 2] | 0; - if ((h | 0) == 0) { - break; - } - if (h >>> 0 < (c[212] | 0) >>> 0) { - au(); - } else { - c[C + 20 >> 2] = h; - c[h + 24 >> 2] = C; - break; - } - } - } while (0); - c[n + 4 >> 2] = A | 1; - c[n + A >> 2] = A; - if ((n | 0) != (c[213] | 0)) { - F = A; - break; - } - c[210] = A; - return; - } else { - c[y >> 2] = z & -2; - c[n + 4 >> 2] = o | 1; - c[n + o >> 2] = o; - F = o; - } - } while (0); - o = F >>> 3; - if (F >>> 0 < 256) { - z = o << 1; - y = 872 + (z << 2) | 0; - C = c[208] | 0; - b = 1 << o; - do { - if ((C & b | 0) == 0) { - c[208] = C | b; - G = y; - H = 872 + (z + 2 << 2) | 0; - } else { - o = 872 + (z + 2 << 2) | 0; - d = c[o >> 2] | 0; - if (d >>> 0 >= (c[212] | 0) >>> 0) { - G = d; - H = o; - break; - } - au(); - } - } while (0); - c[H >> 2] = n; - c[G + 12 >> 2] = n; - c[n + 8 >> 2] = G; - c[n + 12 >> 2] = y; - return; - } - y = n; - G = F >>> 8; - do { - if ((G | 0) == 0) { - I = 0; - } else { - if (F >>> 0 > 16777215) { - I = 31; - break; - } - H = (G + 1048320 | 0) >>> 16 & 8; - z = G << H; - b = (z + 520192 | 0) >>> 16 & 4; - C = z << b; - z = (C + 245760 | 0) >>> 16 & 2; - o = 14 - (b | H | z) + (C << z >>> 15) | 0; - I = F >>> ((o + 7 | 0) >>> 0) & 1 | o << 1; - } - } while (0); - G = 1136 + (I << 2) | 0; - c[n + 28 >> 2] = I; - c[n + 20 >> 2] = 0; - c[n + 16 >> 2] = 0; - o = c[209] | 0; - z = 1 << I; - if ((o & z | 0) == 0) { - c[209] = o | z; - c[G >> 2] = y; - c[n + 24 >> 2] = G; - c[n + 12 >> 2] = n; - c[n + 8 >> 2] = n; - return; - } - if ((I | 0) == 31) { - J = 0; - } else { - J = 25 - (I >>> 1) | 0; - } - I = F << J; - J = c[G >> 2] | 0; - while (1) { - if ((c[J + 4 >> 2] & -8 | 0) == (F | 0)) { - break; - } - K = J + 16 + (I >>> 31 << 2) | 0; - G = c[K >> 2] | 0; - if ((G | 0) == 0) { - L = 1120; - break; - } else { - I = I << 1; - J = G; - } - } - if ((L | 0) == 1120) { - if (K >>> 0 < (c[212] | 0) >>> 0) { - au(); - } - c[K >> 2] = y; - c[n + 24 >> 2] = J; - c[n + 12 >> 2] = n; - c[n + 8 >> 2] = n; - return; - } - K = J + 8 | 0; - L = c[K >> 2] | 0; - I = c[212] | 0; - if (J >>> 0 < I >>> 0) { - au(); - } - if (L >>> 0 < I >>> 0) { - au(); - } - c[L + 12 >> 2] = y; - c[K >> 2] = y; - c[n + 8 >> 2] = L; - c[n + 12 >> 2] = J; - c[n + 24 >> 2] = 0; - return; -} -function ca(a) { - a = a | 0; - var b = 0, d = 0, e = 0; - b = (a | 0) == 0 ? 1 : a; - while (1) { - d = bL(b) | 0; - if ((d | 0) != 0) { - e = 1164; - break; - } - a = (F = c[328] | 0, c[328] = F + 0, F); - if ((a | 0) == 0) { - break; - } - a5[a & 1](); - } - if ((e | 0) == 1164) { - return d | 0; - } - d = aJ(4) | 0; - c[d >> 2] = 560; - as(d | 0, 688, 6); - return 0; -} -function cb(a, b) { - a = a | 0; - b = b | 0; - return ca(a) | 0; -} -function cc(a) { - a = a | 0; - return; -} -function cd(a) { - a = a | 0; - return 360 | 0; -} -function ce(a) { - a = a | 0; - return 448 | 0; -} -function cf(a) { - a = a | 0; - return (F = c[328] | 0, c[328] = a, F) | 0; -} -function cg(a) { - a = a | 0; - c[a >> 2] = 560; - return; -} -function ch(a) { - a = a | 0; - c[a >> 2] = 592; - return; -} -function ci(a) { - a = a | 0; - if ((a | 0) != 0) { - bM(a); - } - return; -} -function cj(a, b) { - a = a | 0; - b = b | 0; - ci(a); - return; -} -function ck(a) { - a = a | 0; - ci(a); - return; -} -function cl(a, b) { - a = a | 0; - b = b | 0; - ck(a); - return; -} -function cm(a) { - a = a | 0; - ci(a); - return; -} -function cn(a) { - a = a | 0; - ci(a); - return; -} -function co(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - return cp(a, b, c, 0, 0, 0) | 0; -} -function cp(b, d, e, f, g, h) { - b = b | 0; - d = d | 0; - e = e | 0; - f = f | 0; - g = g | 0; - h = h | 0; - var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, aa = 0, ab = 0, ac = 0, ad = 0; - j = i; - if ((e | 0) == 0) { - k = -1; - i = j; - return k | 0; - } - l = c[44] | 0; - if ((l | 0) == 0) { - c[196] = 1; - c[44] = 1; - m = 1; - n = 1; - o = 1190; - } else { - p = c[196] | 0; - q = c[74] | 0; - if ((q | 0) == -1 | (p | 0) != 0) { - m = p; - n = l; - o = 1190; - } else { - r = q; - s = p; - t = l; - } - } - if ((o | 0) == 1190) { - l = (aP(344) | 0) != 0 | 0; - c[74] = l; - r = l; - s = m; - t = n; - } - n = a[e] | 0; - if (n << 24 >> 24 == 45) { - u = h | 2; - o = 1194; - } else { - m = (r | 0) != 0 | n << 24 >> 24 == 43 ? h & -2 : h; - if (n << 24 >> 24 == 43) { - u = m; - o = 1194; - } else { - v = e; - w = m; - } - } - if ((o | 0) == 1194) { - v = e + 1 | 0; - w = u; - } - c[198] = 0; - if ((s | 0) == 0) { - x = t; - o = 1198; - } else { - c[50] = -1; - c[48] = -1; - z = t; - A = s; - o = 1197; - } - while (1) { - if ((o | 0) == 1197) { - o = 0; - if ((A | 0) == 0) { - x = z; - o = 1198; - continue; - } else { - B = z; - } - } else if ((o | 0) == 1198) { - o = 0; - s = c[40] | 0; - if ((a[s] | 0) == 0) { - B = x; - } else { - C = s; - D = x; - break; - } - } - c[196] = 0; - if ((B | 0) >= (b | 0)) { - o = 1200; - break; - } - E = d + (B << 2) | 0; - F = c[E >> 2] | 0; - c[40] = F; - if ((a[F] | 0) == 45) { - G = F + 1 | 0; - H = a[G] | 0; - if (H << 24 >> 24 != 0) { - o = 1232; - break; - } - if ((aB(v | 0, 45) | 0) != 0) { - o = 1232; - break; - } - } - c[40] = 824; - if ((w & 2 | 0) != 0) { - o = 1217; - break; - } - if ((w & 1 | 0) == 0) { - k = -1; - o = 1298; - break; - } - s = c[48] | 0; - do { - if ((s | 0) == -1) { - c[48] = B; - I = B; - J = 0; - } else { - t = c[50] | 0; - if ((t | 0) == -1) { - I = B; - J = 0; - break; - } - u = t - s | 0; - e = B - t | 0; - m = (u | 0) % (e | 0) | 0; - if ((m | 0) == 0) { - K = e; - } else { - n = e; - h = m; - while (1) { - m = (n | 0) % (h | 0) | 0; - if ((m | 0) == 0) { - K = h; - break; - } else { - n = h; - h = m; - } - } - } - h = (B - s | 0) / (K | 0) | 0; - do { - if ((K | 0) > 0) { - n = -u | 0; - if ((h | 0) > 0) { - L = 0; - } else { - M = B; - N = t; - O = s; - P = 0; - break; - } - do { - m = L + t | 0; - r = d + (m << 2) | 0; - l = 0; - p = m; - m = c[r >> 2] | 0; - while (1) { - q = ((p | 0) < (t | 0) ? e : n) + p | 0; - Q = d + (q << 2) | 0; - R = c[Q >> 2] | 0; - c[Q >> 2] = m; - c[r >> 2] = R; - Q = l + 1 | 0; - if ((Q | 0) < (h | 0)) { - l = Q; - p = q; - m = R; - } else { - break; - } - } - L = L + 1 | 0; - } while ((L | 0) < (K | 0)); - M = c[44] | 0; - N = c[50] | 0; - O = c[48] | 0; - P = c[196] | 0; - } else { - M = B; - N = t; - O = s; - P = 0; - } - } while (0); - c[48] = M - N + O; - c[50] = -1; - I = M; - J = P; - } - } while (0); - s = I + 1 | 0; - c[44] = s; - z = s; - A = J; - o = 1197; - } - do { - if ((o | 0) == 1298) { - i = j; - return k | 0; - } else if ((o | 0) == 1232) { - J = c[48] | 0; - A = c[50] | 0; - if ((J | 0) != -1 & (A | 0) == -1) { - c[50] = B; - S = a[G] | 0; - T = B; - } else { - S = H; - T = A; - } - if (S << 24 >> 24 == 0) { - C = F; - D = B; - break; - } - c[40] = G; - if ((a[G] | 0) != 45) { - C = G; - D = B; - break; - } - if ((a[F + 2 | 0] | 0) != 0) { - C = G; - D = B; - break; - } - A = B + 1 | 0; - c[44] = A; - c[40] = 824; - if ((T | 0) != -1) { - z = T - J | 0; - I = A - T | 0; - P = (z | 0) % (I | 0) | 0; - if ((P | 0) == 0) { - U = I; - } else { - M = I; - O = P; - while (1) { - P = (M | 0) % (O | 0) | 0; - if ((P | 0) == 0) { - U = O; - break; - } else { - M = O; - O = P; - } - } - } - O = (A - J | 0) / (U | 0) | 0; - do { - if ((U | 0) > 0) { - M = -z | 0; - if ((O | 0) > 0) { - V = 0; - } else { - W = T; - X = J; - Y = A; - break; - } - do { - P = V + T | 0; - N = d + (P << 2) | 0; - K = 0; - L = P; - P = c[N >> 2] | 0; - while (1) { - x = ((L | 0) < (T | 0) ? I : M) + L | 0; - s = d + (x << 2) | 0; - t = c[s >> 2] | 0; - c[s >> 2] = P; - c[N >> 2] = t; - s = K + 1 | 0; - if ((s | 0) < (O | 0)) { - K = s; - L = x; - P = t; - } else { - break; - } - } - V = V + 1 | 0; - } while ((V | 0) < (U | 0)); - W = c[50] | 0; - X = c[48] | 0; - Y = c[44] | 0; - } else { - W = T; - X = J; - Y = A; - } - } while (0); - c[44] = X - W + Y; - } - c[50] = -1; - c[48] = -1; - k = -1; - i = j; - return k | 0; - } else if ((o | 0) == 1200) { - c[40] = 824; - A = c[50] | 0; - J = c[48] | 0; - do { - if ((A | 0) == -1) { - if ((J | 0) == -1) { - break; - } - c[44] = J; - } else { - O = A - J | 0; - I = B - A | 0; - z = (O | 0) % (I | 0) | 0; - if ((z | 0) == 0) { - Z = I; - } else { - M = I; - P = z; - while (1) { - z = (M | 0) % (P | 0) | 0; - if ((z | 0) == 0) { - Z = P; - break; - } else { - M = P; - P = z; - } - } - } - P = (B - J | 0) / (Z | 0) | 0; - do { - if ((Z | 0) > 0) { - M = -O | 0; - if ((P | 0) > 0) { - _ = 0; - } else { - $ = A; - aa = J; - ab = B; - break; - } - do { - z = _ + A | 0; - L = d + (z << 2) | 0; - K = 0; - N = z; - z = c[L >> 2] | 0; - while (1) { - t = ((N | 0) < (A | 0) ? I : M) + N | 0; - x = d + (t << 2) | 0; - s = c[x >> 2] | 0; - c[x >> 2] = z; - c[L >> 2] = s; - x = K + 1 | 0; - if ((x | 0) < (P | 0)) { - K = x; - N = t; - z = s; - } else { - break; - } - } - _ = _ + 1 | 0; - } while ((_ | 0) < (Z | 0)); - $ = c[50] | 0; - aa = c[48] | 0; - ab = c[44] | 0; - } else { - $ = A; - aa = J; - ab = B; - } - } while (0); - c[44] = aa - $ + ab; - } - } while (0); - c[50] = -1; - c[48] = -1; - k = -1; - i = j; - return k | 0; - } else if ((o | 0) == 1217) { - c[44] = B + 1; - c[198] = c[E >> 2]; - k = 1; - i = j; - return k | 0; - } - } while (0); - E = (f | 0) != 0; - L1659 : do { - if (E) { - if ((C | 0) == (c[d + (D << 2) >> 2] | 0)) { - ac = C; - break; - } - B = a[C] | 0; - do { - if (B << 24 >> 24 == 45) { - c[40] = C + 1; - ad = 0; - } else { - if ((w & 4 | 0) == 0) { - ac = C; - break L1659; - } - if (B << 24 >> 24 == 58) { - ad = 0; - break; - } - ad = (aB(v | 0, B << 24 >> 24 | 0) | 0) != 0 | 0; - } - } while (0); - B = cv(d, v, f, g, ad) | 0; - if ((B | 0) == -1) { - ac = c[40] | 0; - break; - } - c[40] = 824; - k = B; - i = j; - return k | 0; - } else { - ac = C; - } - } while (0); - C = ac + 1 | 0; - c[40] = C; - ad = a[ac] | 0; - ac = ad << 24 >> 24; - if ((ad << 24 >> 24 | 0) == 45) { - if ((a[C] | 0) == 0) { - o = 1260; - } - } else if ((ad << 24 >> 24 | 0) == 58) { - o = 1263; - } else { - o = 1260; - } - do { - if ((o | 0) == 1260) { - w = aB(v | 0, ac | 0) | 0; - if ((w | 0) == 0) { - if (ad << 24 >> 24 != 45) { - o = 1263; - break; - } - if ((a[C] | 0) == 0) { - k = -1; - } else { - break; - } - i = j; - return k | 0; - } - D = a[w + 1 | 0] | 0; - if (E & ad << 24 >> 24 == 87 & D << 24 >> 24 == 59) { - do { - if ((a[C] | 0) == 0) { - B = (c[44] | 0) + 1 | 0; - c[44] = B; - if ((B | 0) < (b | 0)) { - c[40] = c[d + (B << 2) >> 2]; - break; - } - c[40] = 824; - do { - if ((c[46] | 0) != 0) { - if ((a[v] | 0) == 58) { - break; - } - cx(48, (y = i, i = i + 8 | 0, c[y >> 2] = ac, y) | 0); - } - } while (0); - c[42] = ac; - k = (a[v] | 0) == 58 ? 58 : 63; - i = j; - return k | 0; - } - } while (0); - B = cv(d, v, f, g, 0) | 0; - c[40] = 824; - k = B; - i = j; - return k | 0; - } - if (D << 24 >> 24 != 58) { - if ((a[C] | 0) != 0) { - k = ac; - i = j; - return k | 0; - } - c[44] = (c[44] | 0) + 1; - k = ac; - i = j; - return k | 0; - } - c[198] = 0; - do { - if ((a[C] | 0) == 0) { - if ((a[w + 2 | 0] | 0) == 58) { - break; - } - B = (c[44] | 0) + 1 | 0; - c[44] = B; - if ((B | 0) < (b | 0)) { - c[198] = c[d + (B << 2) >> 2]; - break; - } - c[40] = 824; - do { - if ((c[46] | 0) != 0) { - if ((a[v] | 0) == 58) { - break; - } - cx(48, (y = i, i = i + 8 | 0, c[y >> 2] = ac, y) | 0); - } - } while (0); - c[42] = ac; - k = (a[v] | 0) == 58 ? 58 : 63; - i = j; - return k | 0; - } else { - c[198] = C; - } - } while (0); - c[40] = 824; - c[44] = (c[44] | 0) + 1; - k = ac; - i = j; - return k | 0; - } - } while (0); - do { - if ((o | 0) == 1263) { - if ((a[C] | 0) != 0) { - break; - } - c[44] = (c[44] | 0) + 1; - } - } while (0); - do { - if ((c[46] | 0) != 0) { - if ((a[v] | 0) == 58) { - break; - } - cx(272, (y = i, i = i + 8 | 0, c[y >> 2] = ac, y) | 0); - } - } while (0); - c[42] = ac; - k = 63; - i = j; - return k | 0; -} -function cq(a, b, c, d, e) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - return cp(a, b, c, d, e, 1) | 0; -} -function cr(a, b, c, d, e) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - e = e | 0; - return cp(a, b, c, d, e, 5) | 0; -} -function cs(a) { - a = a | 0; - return ca(a) | 0; -} -function ct(a, b) { - a = a | 0; - b = b | 0; - return cs(a) | 0; -} -function cu() { - var a = 0; - a = aJ(4) | 0; - c[a >> 2] = 560; - as(a | 0, 688, 6); -} -function cv(b, d, e, f, g) { - b = b | 0; - d = d | 0; - e = e | 0; - f = f | 0; - g = g | 0; - var h = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, z = 0; - h = i; - j = c[40] | 0; - k = c[44] | 0; - l = k + 1 | 0; - c[44] = l; - m = aB(j | 0, 61) | 0; - if ((m | 0) == 0) { - n = cM(j | 0) | 0; - o = 0; - } else { - n = m - j | 0; - o = m + 1 | 0; - } - m = c[e >> 2] | 0; - L1739 : do { - if ((m | 0) != 0) { - L1741 : do { - if ((g | 0) != 0 & (n | 0) == 1) { - p = 0; - q = m; - while (1) { - if ((a[j] | 0) == (a[q] | 0)) { - if ((cM(q | 0) | 0) == 1) { - r = p; - break L1741; - } - } - p = p + 1 | 0; - q = c[e + (p << 4) >> 2] | 0; - if ((q | 0) == 0) { - break L1739; - } - } - } else { - q = 0; - p = -1; - s = m; - while (1) { - if ((ap(j | 0, s | 0, n | 0) | 0) == 0) { - if ((cM(s | 0) | 0) == (n | 0)) { - r = q; - break L1741; - } - if ((p | 0) == -1) { - t = q; - } else { - break; - } - } else { - t = p; - } - u = q + 1 | 0; - v = c[e + (u << 4) >> 2] | 0; - if ((v | 0) == 0) { - r = t; - break L1741; - } else { - q = u; - p = t; - s = v; - } - } - do { - if ((c[46] | 0) != 0) { - if ((a[d] | 0) == 58) { - break; - } - cx(304, (y = i, i = i + 16 | 0, c[y >> 2] = n, c[y + 8 >> 2] = j, y) | 0); - } - } while (0); - c[42] = 0; - w = 63; - i = h; - return w | 0; - } - } while (0); - if ((r | 0) == -1) { - break; - } - s = e + (r << 4) + 4 | 0; - p = c[s >> 2] | 0; - q = (o | 0) == 0; - if (!((p | 0) != 0 | q)) { - do { - if ((c[46] | 0) != 0) { - if ((a[d] | 0) == 58) { - break; - } - cx(208, (y = i, i = i + 16 | 0, c[y >> 2] = n, c[y + 8 >> 2] = j, y) | 0); - } - } while (0); - if ((c[e + (r << 4) + 8 >> 2] | 0) == 0) { - x = c[e + (r << 4) + 12 >> 2] | 0; - } else { - x = 0; - } - c[42] = x; - w = (a[d] | 0) == 58 ? 58 : 63; - i = h; - return w | 0; - } - do { - if ((p - 1 | 0) >>> 0 < 2) { - if (!q) { - c[198] = o; - break; - } - if ((p | 0) != 1) { - break; - } - c[44] = k + 2; - c[198] = c[b + (l << 2) >> 2]; - } - } while (0); - if (!((c[s >> 2] | 0) == 1 & (c[198] | 0) == 0)) { - if ((f | 0) != 0) { - c[f >> 2] = r; - } - p = c[e + (r << 4) + 8 >> 2] | 0; - q = c[e + (r << 4) + 12 >> 2] | 0; - if ((p | 0) == 0) { - w = q; - i = h; - return w | 0; - } - c[p >> 2] = q; - w = 0; - i = h; - return w | 0; - } - do { - if ((c[46] | 0) != 0) { - if ((a[d] | 0) == 58) { - break; - } - cx(8, (y = i, i = i + 8 | 0, c[y >> 2] = j, y) | 0); - } - } while (0); - if ((c[e + (r << 4) + 8 >> 2] | 0) == 0) { - z = c[e + (r << 4) + 12 >> 2] | 0; - } else { - z = 0; - } - c[42] = z; - c[44] = (c[44] | 0) - 1; - w = (a[d] | 0) == 58 ? 58 : 63; - i = h; - return w | 0; - } - } while (0); - if ((g | 0) != 0) { - c[44] = k; - w = -1; - i = h; - return w | 0; - } - do { - if ((c[46] | 0) != 0) { - if ((a[d] | 0) == 58) { - break; - } - cx(248, (y = i, i = i + 8 | 0, c[y >> 2] = j, y) | 0); - } - } while (0); - c[42] = 0; - w = 63; - i = h; - return w | 0; -} -function cw(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0; - d = i; - i = i + 16 | 0; - e = d | 0; - f = e; - c[f >> 2] = b; - c[f + 4 >> 2] = 0; - cy(a, e | 0); - i = d; - return; -} -function cx(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0; - d = i; - i = i + 16 | 0; - e = d | 0; - f = e; - c[f >> 2] = b; - c[f + 4 >> 2] = 0; - cz(a, e | 0); - i = d; - return; -} -function cy(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0, f = 0; - d = i; - e = c[(aX() | 0) >> 2] | 0; - f = c[r >> 2] | 0; - av(c[o >> 2] | 0, 432, (y = i, i = i + 8 | 0, c[y >> 2] = f, y) | 0) | 0; - if ((a | 0) != 0) { - f = c[o >> 2] | 0; - aQ(f | 0, a | 0, b | 0) | 0; - b = c[o >> 2] | 0; - aE(472, 2, 1, b | 0) | 0; - } - b = c[o >> 2] | 0; - a = at(e | 0) | 0; - av(b | 0, 384, (y = i, i = i + 8 | 0, c[y >> 2] = a, y) | 0) | 0; - i = d; - return; -} -function cz(a, b) { - a = a | 0; - b = b | 0; - var d = 0, e = 0; - d = i; - e = c[r >> 2] | 0; - av(c[o >> 2] | 0, 376, (y = i, i = i + 8 | 0, c[y >> 2] = e, y) | 0) | 0; - if ((a | 0) != 0) { - e = c[o >> 2] | 0; - aQ(e | 0, a | 0, b | 0) | 0; - } - aC(10, c[o >> 2] | 0) | 0; - i = d; - return; -} -function cA(b, d) { - b = b | 0; - d = d | 0; - var e = 0, f = 0, g = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0.0, r = 0, s = 0, t = 0, u = 0, v = 0.0, w = 0, x = 0, y = 0, z = 0.0, A = 0.0, B = 0, C = 0, D = 0, E = 0.0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0.0, O = 0, P = 0, Q = 0.0, R = 0.0, S = 0.0; - e = b; - while (1) { - f = e + 1 | 0; - if ((aK(a[e] | 0) | 0) == 0) { - break; - } else { - e = f; - } - } - g = a[e] | 0; - if ((g << 24 >> 24 | 0) == 45) { - i = f; - j = 1; - } else if ((g << 24 >> 24 | 0) == 43) { - i = f; - j = 0; - } else { - i = e; - j = 0; - } - e = -1; - f = 0; - g = i; - while (1) { - k = a[g] | 0; - if (((k << 24 >> 24) - 48 | 0) >>> 0 < 10) { - l = e; - } else { - if (k << 24 >> 24 != 46 | (e | 0) > -1) { - break; - } else { - l = f; - } - } - e = l; - f = f + 1 | 0; - g = g + 1 | 0; - } - l = g + (-f | 0) | 0; - i = (e | 0) < 0; - m = ((i ^ 1) << 31 >> 31) + f | 0; - n = (m | 0) > 18; - o = (n ? -18 : -m | 0) + (i ? f : e) | 0; - e = n ? 18 : m; - do { - if ((e | 0) == 0) { - p = b; - q = 0.0; - } else { - if ((e | 0) > 9) { - m = l; - n = e; - f = 0; - while (1) { - i = a[m] | 0; - r = m + 1 | 0; - if (i << 24 >> 24 == 46) { - s = a[r] | 0; - t = m + 2 | 0; - } else { - s = i; - t = r; - } - u = (f * 10 | 0) - 48 + (s << 24 >> 24) | 0; - r = n - 1 | 0; - if ((r | 0) > 9) { - m = t; - n = r; - f = u; - } else { - break; - } - } - v = +(u | 0) * 1.0e9; - w = 9; - x = t; - y = 1393; - } else { - if ((e | 0) > 0) { - v = 0.0; - w = e; - x = l; - y = 1393; - } else { - z = 0.0; - A = 0.0; - } - } - if ((y | 0) == 1393) { - f = x; - n = w; - m = 0; - while (1) { - r = a[f] | 0; - i = f + 1 | 0; - if (r << 24 >> 24 == 46) { - B = a[i] | 0; - C = f + 2 | 0; - } else { - B = r; - C = i; - } - D = (m * 10 | 0) - 48 + (B << 24 >> 24) | 0; - i = n - 1 | 0; - if ((i | 0) > 0) { - f = C; - n = i; - m = D; - } else { - break; - } - } - z = +(D | 0); - A = v; - } - E = A + z; - do { - if ((k << 24 >> 24 | 0) == 69 | (k << 24 >> 24 | 0) == 101) { - m = g + 1 | 0; - n = a[m] | 0; - if ((n << 24 >> 24 | 0) == 43) { - F = g + 2 | 0; - G = 0; - } else if ((n << 24 >> 24 | 0) == 45) { - F = g + 2 | 0; - G = 1; - } else { - F = m; - G = 0; - } - m = a[F] | 0; - if (((m << 24 >> 24) - 48 | 0) >>> 0 < 10) { - H = F; - I = 0; - J = m; - } else { - K = 0; - L = F; - M = G; - break; - } - while (1) { - m = (I * 10 | 0) - 48 + (J << 24 >> 24) | 0; - n = H + 1 | 0; - f = a[n] | 0; - if (((f << 24 >> 24) - 48 | 0) >>> 0 < 10) { - H = n; - I = m; - J = f; - } else { - K = m; - L = n; - M = G; - break; - } - } - } else { - K = 0; - L = g; - M = 0; - } - } while (0); - n = o + ((M | 0) == 0 ? K : -K | 0) | 0; - m = (n | 0) < 0 ? -n | 0 : n; - if ((m | 0) > 511) { - c[(aX() | 0) >> 2] = 34; - N = 1.0; - O = 88; - P = 511; - y = 1410; - } else { - if ((m | 0) == 0) { - Q = 1.0; - } else { - N = 1.0; - O = 88; - P = m; - y = 1410; - } - } - if ((y | 0) == 1410) { - while (1) { - y = 0; - if ((P & 1 | 0) == 0) { - R = N; - } else { - R = N * +h[O >> 3]; - } - m = P >> 1; - if ((m | 0) == 0) { - Q = R; - break; - } else { - N = R; - O = O + 8 | 0; - P = m; - y = 1410; - } - } - } - if ((n | 0) > -1) { - p = L; - q = E * Q; - break; - } else { - p = L; - q = E / Q; - break; - } - } - } while (0); - if ((d | 0) != 0) { - c[d >> 2] = p; - } - if ((j | 0) == 0) { - S = q; - return +S; - } - S = -0.0 - q; - return +S; -} -function cB(a, b) { - a = a | 0; - b = b | 0; - return +(+cA(a, b)); -} -function cC(a, b) { - a = a | 0; - b = b | 0; - return +(+cA(a, b)); -} -function cD(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - return +(+cA(a, b)); -} -function cE(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - return +(+cA(a, b)); -} -function cF(a) { - a = a | 0; - return +(+cA(a, 0)); -} -function cG(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0; - e = i; - i = i + 16 | 0; - f = e | 0; - e = f; - c[e >> 2] = d; - c[e + 4 >> 2] = 0; - cI(a, b, f | 0); -} -function cH(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0; - e = i; - i = i + 16 | 0; - f = e | 0; - e = f; - c[e >> 2] = d; - c[e + 4 >> 2] = 0; - cJ(a, b, f | 0); -} -function cI(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0, f = 0; - e = c[(aX() | 0) >> 2] | 0; - f = c[r >> 2] | 0; - av(c[o >> 2] | 0, 336, (y = i, i = i + 8 | 0, c[y >> 2] = f, y) | 0) | 0; - if ((b | 0) != 0) { - f = c[o >> 2] | 0; - aQ(f | 0, b | 0, d | 0) | 0; - d = c[o >> 2] | 0; - aE(480, 2, 1, d | 0) | 0; - } - d = c[o >> 2] | 0; - b = at(e | 0) | 0; - av(d | 0, 392, (y = i, i = i + 8 | 0, c[y >> 2] = b, y) | 0) | 0; - aH(a | 0); -} -function cJ(a, b, d) { - a = a | 0; - b = b | 0; - d = d | 0; - var e = 0; - e = c[r >> 2] | 0; - av(c[o >> 2] | 0, 440, (y = i, i = i + 8 | 0, c[y >> 2] = e, y) | 0) | 0; - if ((b | 0) != 0) { - e = c[o >> 2] | 0; - aQ(e | 0, b | 0, d | 0) | 0; - } - aC(10, c[o >> 2] | 0) | 0; - aH(a | 0); -} -function cK(b, d, e) { - b = b | 0; - d = d | 0; - e = e | 0; - var f = 0; - f = b | 0; - if ((b & 3) == (d & 3)) { - while (b & 3) { - if ((e | 0) == 0) return f | 0; - a[b] = a[d] | 0; - b = b + 1 | 0; - d = d + 1 | 0; - e = e - 1 | 0; - } - while ((e | 0) >= 4) { - c[b >> 2] = c[d >> 2]; - b = b + 4 | 0; - d = d + 4 | 0; - e = e - 4 | 0; - } - } - while ((e | 0) > 0) { - a[b] = a[d] | 0; - b = b + 1 | 0; - d = d + 1 | 0; - e = e - 1 | 0; - } - return f | 0; -} -function cL(b, d, e) { - b = b | 0; - d = d | 0; - e = e | 0; - var f = 0, g = 0, h = 0; - f = b + e | 0; - if ((e | 0) >= 20) { - d = d & 255; - e = b & 3; - g = d | d << 8 | d << 16 | d << 24; - h = f & ~3; - if (e) { - e = b + 4 - e | 0; - while ((b | 0) < (e | 0)) { - a[b] = d; - b = b + 1 | 0; - } - } - while ((b | 0) < (h | 0)) { - c[b >> 2] = g; - b = b + 4 | 0; - } - } - while ((b | 0) < (f | 0)) { - a[b] = d; - b = b + 1 | 0; - } -} -function cM(b) { - b = b | 0; - var c = 0; - c = b; - while (a[c] | 0) { - c = c + 1 | 0; - } - return c - b | 0; -} -function cN(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0; - e = a + c >>> 0; - return (H = b + d + (e >>> 0 < a >>> 0 | 0) >>> 0, e | 0) | 0; -} -function cO(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0; - e = b - d >>> 0; - e = b - d - (c >>> 0 > a >>> 0 | 0) >>> 0; - return (H = e, a - c >>> 0 | 0) | 0; -} -function cP(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - if ((c | 0) < 32) { - H = b << c | (a & (1 << c) - 1 << 32 - c) >>> 32 - c; - return a << c; - } - H = a << c - 32; - return 0; -} -function cQ(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - if ((c | 0) < 32) { - H = b >>> c; - return a >>> c | (b & (1 << c) - 1) << 32 - c; - } - H = 0; - return b >>> c - 32 | 0; -} -function cR(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - if ((c | 0) < 32) { - H = b >> c; - return a >>> c | (b & (1 << c) - 1) << 32 - c; - } - H = (b | 0) < 0 ? -1 : 0; - return b >> c - 32 | 0; -} -function cS(b) { - b = b | 0; - var c = 0; - c = a[n + (b >>> 24) | 0] | 0; - if ((c | 0) < 8) return c | 0; - c = a[n + (b >> 16 & 255) | 0] | 0; - if ((c | 0) < 8) return c + 8 | 0; - c = a[n + (b >> 8 & 255) | 0] | 0; - if ((c | 0) < 8) return c + 16 | 0; - return (a[n + (b & 255) | 0] | 0) + 24 | 0; -} -function cT(b) { - b = b | 0; - var c = 0; - c = a[m + (b & 255) | 0] | 0; - if ((c | 0) < 8) return c | 0; - c = a[m + (b >> 8 & 255) | 0] | 0; - if ((c | 0) < 8) return c + 8 | 0; - c = a[m + (b >> 16 & 255) | 0] | 0; - if ((c | 0) < 8) return c + 16 | 0; - return (a[m + (b >>> 24) | 0] | 0) + 24 | 0; -} -function cU(a, b) { - a = a | 0; - b = b | 0; - var c = 0, d = 0, e = 0, f = 0; - c = a & 65535; - d = b & 65535; - e = ad(d, c) | 0; - f = a >>> 16; - a = (e >>> 16) + (ad(d, f) | 0) | 0; - d = b >>> 16; - b = ad(d, c) | 0; - return (H = (a >>> 16) + (ad(d, f) | 0) + (((a & 65535) + b | 0) >>> 16) | 0, a + b << 16 | e & 65535 | 0) | 0; -} -function cV(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0, f = 0, g = 0, h = 0, i = 0; - e = b >> 31 | ((b | 0) < 0 ? -1 : 0) << 1; - f = ((b | 0) < 0 ? -1 : 0) >> 31 | ((b | 0) < 0 ? -1 : 0) << 1; - g = d >> 31 | ((d | 0) < 0 ? -1 : 0) << 1; - h = ((d | 0) < 0 ? -1 : 0) >> 31 | ((d | 0) < 0 ? -1 : 0) << 1; - i = cO(e ^ a, f ^ b, e, f) | 0; - b = H; - a = g ^ e; - e = h ^ f; - f = cO((c_(i, b, cO(g ^ c, h ^ d, g, h) | 0, H, 0) | 0) ^ a, H ^ e, a, e) | 0; - return (H = H, f) | 0; -} -function cW(a, b, d, e) { - a = a | 0; - b = b | 0; - d = d | 0; - e = e | 0; - var f = 0, g = 0, h = 0, j = 0, k = 0, l = 0, m = 0; - f = i; - i = i + 8 | 0; - g = f | 0; - h = b >> 31 | ((b | 0) < 0 ? -1 : 0) << 1; - j = ((b | 0) < 0 ? -1 : 0) >> 31 | ((b | 0) < 0 ? -1 : 0) << 1; - k = e >> 31 | ((e | 0) < 0 ? -1 : 0) << 1; - l = ((e | 0) < 0 ? -1 : 0) >> 31 | ((e | 0) < 0 ? -1 : 0) << 1; - m = cO(h ^ a, j ^ b, h, j) | 0; - b = H; - a = cO(k ^ d, l ^ e, k, l) | 0; - c_(m, b, a, H, g) | 0; - a = cO(c[g >> 2] ^ h, c[g + 4 >> 2] ^ j, h, j) | 0; - j = H; - i = f; - return (H = j, a) | 0; -} -function cX(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0, f = 0; - e = a; - a = c; - c = cU(e, a) | 0; - f = H; - return (H = (ad(b, a) | 0) + (ad(d, e) | 0) + f | f & 0, c | 0 | 0) | 0; -} -function cY(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var e = 0; - e = c_(a, b, c, d, 0) | 0; - return (H = H, e) | 0; -} -function cZ(a, b, d, e) { - a = a | 0; - b = b | 0; - d = d | 0; - e = e | 0; - var f = 0, g = 0; - f = i; - i = i + 8 | 0; - g = f | 0; - c_(a, b, d, e, g) | 0; - i = f; - return (H = c[g + 4 >> 2] | 0, c[g >> 2] | 0) | 0; -} -function c_(a, b, d, e, f) { - a = a | 0; - b = b | 0; - d = d | 0; - e = e | 0; - f = f | 0; - var g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, I = 0, J = 0, K = 0, L = 0, M = 0; - g = a; - h = b; - i = h; - j = d; - k = e; - l = k; - if ((i | 0) == 0) { - m = (f | 0) != 0; - if ((l | 0) == 0) { - if (m) { - c[f >> 2] = (g >>> 0) % (j >>> 0); - c[f + 4 >> 2] = 0; - } - n = 0; - o = (g >>> 0) / (j >>> 0) >>> 0; - return (H = n, o) | 0; - } else { - if (!m) { - n = 0; - o = 0; - return (H = n, o) | 0; - } - c[f >> 2] = a | 0; - c[f + 4 >> 2] = b & 0; - n = 0; - o = 0; - return (H = n, o) | 0; - } - } - m = (l | 0) == 0; - do { - if ((j | 0) == 0) { - if (m) { - if ((f | 0) != 0) { - c[f >> 2] = (i >>> 0) % (j >>> 0); - c[f + 4 >> 2] = 0; - } - n = 0; - o = (i >>> 0) / (j >>> 0) >>> 0; - return (H = n, o) | 0; - } - if ((g | 0) == 0) { - if ((f | 0) != 0) { - c[f >> 2] = 0; - c[f + 4 >> 2] = (i >>> 0) % (l >>> 0); - } - n = 0; - o = (i >>> 0) / (l >>> 0) >>> 0; - return (H = n, o) | 0; - } - p = l - 1 | 0; - if ((p & l | 0) == 0) { - if ((f | 0) != 0) { - c[f >> 2] = a | 0; - c[f + 4 >> 2] = p & i | b & 0; - } - n = 0; - o = i >>> ((cT(l | 0) | 0) >>> 0); - return (H = n, o) | 0; - } - p = (cS(l | 0) | 0) - (cS(i | 0) | 0) | 0; - if (p >>> 0 <= 30) { - q = p + 1 | 0; - r = 31 - p | 0; - s = q; - t = i << r | g >>> (q >>> 0); - u = i >>> (q >>> 0); - v = 0; - w = g << r; - break; - } - if ((f | 0) == 0) { - n = 0; - o = 0; - return (H = n, o) | 0; - } - c[f >> 2] = a | 0; - c[f + 4 >> 2] = h | b & 0; - n = 0; - o = 0; - return (H = n, o) | 0; - } else { - if (!m) { - r = (cS(l | 0) | 0) - (cS(i | 0) | 0) | 0; - if (r >>> 0 <= 31) { - q = r + 1 | 0; - p = 31 - r | 0; - x = r - 31 >> 31; - s = q; - t = g >>> (q >>> 0) & x | i << p; - u = i >>> (q >>> 0) & x; - v = 0; - w = g << p; - break; - } - if ((f | 0) == 0) { - n = 0; - o = 0; - return (H = n, o) | 0; - } - c[f >> 2] = a | 0; - c[f + 4 >> 2] = h | b & 0; - n = 0; - o = 0; - return (H = n, o) | 0; - } - p = j - 1 | 0; - if ((p & j | 0) != 0) { - x = (cS(j | 0) | 0) + 33 - (cS(i | 0) | 0) | 0; - q = 64 - x | 0; - r = 32 - x | 0; - y = r >> 31; - z = x - 32 | 0; - A = z >> 31; - s = x; - t = r - 1 >> 31 & i >>> (z >>> 0) | (i << r | g >>> (x >>> 0)) & A; - u = A & i >>> (x >>> 0); - v = g << q & y; - w = (i << q | g >>> (z >>> 0)) & y | g << r & x - 33 >> 31; - break; - } - if ((f | 0) != 0) { - c[f >> 2] = p & g; - c[f + 4 >> 2] = 0; - } - if ((j | 0) == 1) { - n = h | b & 0; - o = a | 0 | 0; - return (H = n, o) | 0; - } else { - p = cT(j | 0) | 0; - n = i >>> (p >>> 0) | 0; - o = i << 32 - p | g >>> (p >>> 0) | 0; - return (H = n, o) | 0; - } - } - } while (0); - if ((s | 0) == 0) { - B = w; - C = v; - D = u; - E = t; - F = 0; - G = 0; - } else { - g = d | 0 | 0; - d = k | e & 0; - e = cN(g, d, -1, -1) | 0; - k = H; - i = w; - w = v; - v = u; - u = t; - t = s; - s = 0; - while (1) { - I = w >>> 31 | i << 1; - J = s | w << 1; - j = u << 1 | i >>> 31 | 0; - a = u >>> 31 | v << 1 | 0; - cO(e, k, j, a) | 0; - b = H; - h = b >> 31 | ((b | 0) < 0 ? -1 : 0) << 1; - K = h & 1; - L = cO(j, a, h & g, (((b | 0) < 0 ? -1 : 0) >> 31 | ((b | 0) < 0 ? -1 : 0) << 1) & d) | 0; - M = H; - b = t - 1 | 0; - if ((b | 0) == 0) { - break; - } else { - i = I; - w = J; - v = M; - u = L; - t = b; - s = K; - } - } - B = I; - C = J; - D = M; - E = L; - F = 0; - G = K; - } - K = C; - C = 0; - if ((f | 0) != 0) { - c[f >> 2] = E; - c[f + 4 >> 2] = D; - } - n = (K | 0) >>> 31 | (B | C) << 1 | (C << 1 | K >>> 31) & 0 | F; - o = (K << 1 | 0 >>> 31) & -2 | G; - return (H = n, o) | 0; -} -function c$(a, b) { - a = a | 0; - b = b | 0; - a1[a & 15](b | 0); -} -function c0(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - a2[a & 15](b | 0, c | 0); -} -function c1(a, b) { - a = a | 0; - b = b | 0; - return a3[a & 7](b | 0) | 0; -} -function c2(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - a4[a & 15](b | 0, c | 0, d | 0); -} -function c3(a) { - a = a | 0; - a5[a & 1](); -} -function c4(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - return a6[a & 1](b | 0, c | 0) | 0; -} -function c5(a) { - a = a | 0; - ae(0); -} -function c6(a, b) { - a = a | 0; - b = b | 0; - ae(1); -} -function c7(a) { - a = a | 0; - ae(2); - return 0; -} -function c8(a, b, c) { - a = a | 0; - b = b | 0; - c = c | 0; - ae(3); -} -function c9() { - ae(4); -} -function da(a, b) { - a = a | 0; - b = b | 0; - ae(5); - return 0; -} -// EMSCRIPTEN_END_FUNCS - var a1 = [ c5, c5, ch, c5, cn, c5, cc, c5, cg, c5, cm, c5, c5, c5, c5, c5 ]; - var a2 = [ c6, c6, cw, c6, cy, c6, cx, c6, cz, c6, c6, c6, c6, c6, c6, c6 ]; - var a3 = [ c7, c7, cd, c7, ce, c7, c7, c7 ]; - var a4 = [ c8, c8, cJ, c8, cI, c8, cG, c8, cH, c8, c8, c8, c8, c8, c8, c8 ]; - var a5 = [ c9, c9 ]; - var a6 = [ da, da ]; - return { - _crypto_scrypt: bu, - _strlen: cM, - _free: bM, - _realloc: bO, - _memset: cL, - _malloc: bL, - _memcpy: cK, - _calloc: bN, - runPostSets: bn, - stackAlloc: a7, - stackSave: a8, - stackRestore: a9, - setThrew: ba, - setTempRet0: bd, - setTempRet1: be, - setTempRet2: bf, - setTempRet3: bg, - setTempRet4: bh, - setTempRet5: bi, - setTempRet6: bj, - setTempRet7: bk, - setTempRet8: bl, - setTempRet9: bm, - dynCall_vi: c$, - dynCall_vii: c0, - dynCall_ii: c1, - dynCall_viii: c2, - dynCall_v: c3, - dynCall_iii: c4 - }; -// EMSCRIPTEN_END_ASM -})({Math:Math, Int8Array:Int8Array, Int16Array:Int16Array, Int32Array:Int32Array, Uint8Array:Uint8Array, Uint16Array:Uint16Array, Uint32Array:Uint32Array, Float32Array:Float32Array, Float64Array:Float64Array}, {abort:wa, assert:w, asmPrintInt:function(a, b) { - s.print("int " + a + "," + b) -}, asmPrintFloat:function(a, b) { - s.print("float " + a + "," + b) -}, min:Xc, invoke_vi:function(a, b) { - try { - s.dynCall_vi(a, b) - }catch(c) { - "number" !== typeof c && "longjmp" !== c && g(c), V.setThrew(1, 0) - } -}, invoke_vii:function(a, b, c) { - try { - s.dynCall_vii(a, b, c) - }catch(d) { - "number" !== typeof d && "longjmp" !== d && g(d), V.setThrew(1, 0) - } -}, invoke_ii:function(a, b) { - try { - return s.dynCall_ii(a, b) - }catch(c) { - "number" !== typeof c && "longjmp" !== c && g(c), V.setThrew(1, 0) - } -}, invoke_viii:function(a, b, c, d) { - try { - s.dynCall_viii(a, b, c, d) - }catch(e) { - "number" !== typeof e && "longjmp" !== e && g(e), V.setThrew(1, 0) - } -}, invoke_v:function(a) { - try { - s.dynCall_v(a) - }catch(b) { - "number" !== typeof b && "longjmp" !== b && g(b), V.setThrew(1, 0) - } -}, invoke_iii:function(a, b, c) { - try { - return s.dynCall_iii(a, b, c) - }catch(d) { - "number" !== typeof d && "longjmp" !== d && g(d), V.setThrew(1, 0) - } -}, _strncmp:function(a, b, c) { - for(var d = 0;d < c;) { - var e = G[a + d | 0], f = G[b + d | 0]; - if(e == f && 0 == e) { - break - } - if(0 == e) { - return-1 - } - if(0 == f) { - return 1 - } - if(e == f) { - d++ - }else { - return e > f ? 1 : -1 - } - } - return 0 -}, _llvm_va_end:aa(), _sysconf:function(a) { - switch(a) { - case 8: - return 4096; - case 54: - ; - case 56: - ; - case 21: - ; - case 61: - ; - case 63: - ; - case 22: - ; - case 67: - ; - case 23: - ; - case 24: - ; - case 25: - ; - case 26: - ; - case 27: - ; - case 69: - ; - case 28: - ; - case 101: - ; - case 70: - ; - case 71: - ; - case 29: - ; - case 30: - ; - case 199: - ; - case 75: - ; - case 76: - ; - case 32: - ; - case 43: - ; - case 44: - ; - case 80: - ; - case 46: - ; - case 47: - ; - case 45: - ; - case 48: - ; - case 49: - ; - case 42: - ; - case 82: - ; - case 33: - ; - case 7: - ; - case 108: - ; - case 109: - ; - case 107: - ; - case 112: - ; - case 119: - ; - case 121: - return 200809; - case 13: - ; - case 104: - ; - case 94: - ; - case 95: - ; - case 34: - ; - case 35: - ; - case 77: - ; - case 81: - ; - case 83: - ; - case 84: - ; - case 85: - ; - case 86: - ; - case 87: - ; - case 88: - ; - case 89: - ; - case 90: - ; - case 91: - ; - case 94: - ; - case 95: - ; - case 110: - ; - case 111: - ; - case 113: - ; - case 114: - ; - case 115: - ; - case 116: - ; - case 117: - ; - case 118: - ; - case 120: - ; - case 40: - ; - case 16: - ; - case 79: - ; - case 19: - return-1; - case 92: - ; - case 93: - ; - case 5: - ; - case 72: - ; - case 6: - ; - case 74: - ; - case 92: - ; - case 93: - ; - case 96: - ; - case 97: - ; - case 98: - ; - case 99: - ; - case 102: - ; - case 103: - ; - case 105: - return 1; - case 38: - ; - case 66: - ; - case 50: - ; - case 51: - ; - case 4: - return 1024; - case 15: - ; - case 64: - ; - case 41: - return 32; - case 55: - ; - case 37: - ; - case 17: - return 2147483647; - case 18: - ; - case 1: - return 47839; - case 59: - ; - case 57: - return 99; - case 68: - ; - case 58: - return 2048; - case 0: - return 2097152; - case 3: - return 65536; - case 14: - return 32768; - case 73: - return 32767; - case 39: - return 16384; - case 60: - return 1E3; - case 106: - return 700; - case 52: - return 256; - case 62: - return 255; - case 2: - return 100; - case 65: - return 64; - case 36: - return 20; - case 100: - return 16; - case 20: - return 6; - case 53: - return 4; - case 10: - return 1 - } - M(N.A); - return-1 -}, ___cxa_throw:rc, _strerror:zc, _abort:function() { - s.abort() -}, _fprintf:mc, _llvm_eh_exception:U, ___cxa_free_exception:sc, _fflush:aa(), ___buildEnvironment:wc, __reallyNegative:jc, _strchr:function(a, b) { - a--; - do { - a++; - var c = A[a]; - if(c == b) { - return a - } - }while(c); - return 0 -}, _fputc:Bc, ___setErrNo:M, _fwrite:hc, _send:fc, _write:gc, _exit:function(a) { - Ac(a) -}, ___cxa_find_matching_catch:function(a, b) { - -1 == a && (a = B[U.m >> 2]); - -1 == b && (b = B[U.m + 4 >> 2]); - var c = Array.prototype.slice.call(arguments, 2); - 0 != b && !pc(b) && 0 == B[B[b >> 2] - 8 >> 2] && (a = B[a >> 2]); - for(var d = 0;d < c.length;d++) { - if(qc(c[d], b, a)) { - return(V.setTempRet0(c[d]), a) | 0 - } - } - return(V.setTempRet0(b), a) | 0 -}, ___cxa_allocate_exception:function(a) { - return Oa(a) -}, _isspace:function(a) { - return 32 == a || 9 <= a && 13 >= a -}, __formatString:kc, ___resumeException:function(a) { - 0 == B[U.m >> 2] && (B[U.m >> 2] = a); - g(a + " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.") -}, _llvm_uadd_with_overflow_i32:function(a, b) { - a >>>= 0; - b >>>= 0; - return(V.setTempRet0(4294967295 < a + b), a + b >>> 0) | 0 -}, ___cxa_does_inherit:qc, _getenv:xc, _vfprintf:function(a, b, c) { - return mc(a, b, B[c >> 2]) -}, ___cxa_begin_catch:function(a) { - oc.ta--; - return a -}, __ZSt18uncaught_exceptionv:oc, _pwrite:function(a, b, c, d) { - a = R[a]; - if(!a) { - return M(N.$), -1 - } - try { - return Ib(a, A, b, c, d) - }catch(e) { - return Zb(e), -1 - } -}, ___cxa_call_unexpected:function(a) { - s.P("Unexpected exception thrown, this is not properly supported - aborting"); - za = l; - g(a) -}, _sbrk:nc, _strerror_r:yc, ___errno_location:function() { - return rb -}, ___gxx_personality_v0:aa(), ___cxa_is_number_type:pc, _time:function(a) { - var b = Math.floor(Date.now() / 1E3); - a && (B[a >> 2] = b); - return b -}, __exit:Ac, ___cxa_end_catch:uc, STACKTOP:u, STACK_MAX:Ta, tempDoublePtr:qb, ABORT:za, cttz_i8:Wc, ctlz_i8:Vc, NaN:NaN, Infinity:Infinity, _stderr:nb, __ZTVN10__cxxabiv120__si_class_type_infoE:ob, __ZTVN10__cxxabiv117__class_type_infoE:pb, ___progname:k}, I); -s._crypto_scrypt = V._crypto_scrypt; -var ic = s._strlen = V._strlen, tc = s._free = V._free; -s._realloc = V._realloc; -var tb = s._memset = V._memset, Oa = s._malloc = V._malloc, sb = s._memcpy = V._memcpy; -s._calloc = V._calloc; -var mb = s.runPostSets = V.runPostSets; -s.dynCall_vi = V.dynCall_vi; -s.dynCall_vii = V.dynCall_vii; -s.dynCall_ii = V.dynCall_ii; -s.dynCall_viii = V.dynCall_viii; -s.dynCall_v = V.dynCall_v; -s.dynCall_iii = V.dynCall_iii; -var qa = function(a) { - return V.stackAlloc(a) -}, ja = function() { - return V.stackSave() -}, ka = function(a) { - V.stackRestore(a) -}, lc; -function X(a, b) { - a != m && ("number" == typeof a ? this.p(a) : b == m && "string" != typeof a ? this.k(a, 256) : this.k(a, b)) -} -function Yc() { - return new X(m) -} -function Zc(a, b) { - var c = $c[a.charCodeAt(b)]; - return c == m ? -1 : c -} -function ad(a) { - var b = Yc(); - b.D(a); - return b -} -function Y(a, b) { - this.h = a | 0; - this.j = b | 0 -} -Y.Ca = {}; -Y.D = function(a) { - if(-128 <= a && 128 > a) { - var b = Y.Ca[a]; - if(b) { - return b - } - } - b = new Y(a | 0, 0 > a ? -1 : 0); - -128 <= a && 128 > a && (Y.Ca[a] = b); - return b -}; -Y.p = function(a) { - return isNaN(a) || !isFinite(a) ? Y.ZERO : a <= -Y.Ea ? Y.MIN_VALUE : a + 1 >= Y.Ea ? Y.MAX_VALUE : 0 > a ? Y.p(-a).i() : new Y(a % Y.B | 0, a / Y.B | 0) -}; -Y.v = function(a, b) { - return new Y(a, b) -}; -Y.k = function(a, b) { - 0 == a.length && g(Error("number format error: empty string")); - var c = b || 10; - (2 > c || 36 < c) && g(Error("radix out of range: " + c)); - if("-" == a.charAt(0)) { - return Y.k(a.substring(1), c).i() - } - 0 <= a.indexOf("-") && g(Error('number format error: interior "-" character: ' + a)); - for(var d = Y.p(Math.pow(c, 8)), e = Y.ZERO, f = 0;f < a.length;f += 8) { - var h = Math.min(8, a.length - f), i = parseInt(a.substring(f, f + h), c); - 8 > h ? (h = Y.p(Math.pow(c, h)), e = e.multiply(h).add(Y.p(i))) : (e = e.multiply(d), e = e.add(Y.p(i))) - } - return e -}; -Y.ea = 65536; -Y.Od = 16777216; -Y.B = Y.ea * Y.ea; -Y.Pd = Y.B / 2; -Y.Qd = Y.B * Y.ea; -Y.eb = Y.B * Y.B; -Y.Ea = Y.eb / 2; -Y.ZERO = Y.D(0); -Y.ONE = Y.D(1); -Y.Da = Y.D(-1); -Y.MAX_VALUE = Y.v(-1, 2147483647); -Y.MIN_VALUE = Y.v(0, -2147483648); -Y.cb = Y.D(16777216); -q = Y.prototype; -q.Z = function() { - return this.j * Y.B + this.ob() -}; -q.toString = function(a) { - a = a || 10; - (2 > a || 36 < a) && g(Error("radix out of range: " + a)); - if(this.G()) { - return"0" - } - if(this.n()) { - if(this.o(Y.MIN_VALUE)) { - var b = Y.p(a), c = this.F(b), b = c.multiply(b).R(this); - return c.toString(a) + b.h.toString(a) - } - return"-" + this.i().toString(a) - } - for(var c = Y.p(Math.pow(a, 6)), b = this, d = "";;) { - var e = b.F(c), f = b.R(e.multiply(c)).h.toString(a), b = e; - if(b.G()) { - return f + d - } - for(;6 > f.length;) { - f = "0" + f - } - d = "" + f + d - } -}; -q.ob = function() { - return 0 <= this.h ? this.h : Y.B + this.h -}; -q.G = function() { - return 0 == this.j && 0 == this.h -}; -q.n = function() { - return 0 > this.j -}; -q.Pa = function() { - return 1 == (this.h & 1) -}; -q.o = function(a) { - return this.j == a.j && this.h == a.h -}; -q.Ra = function() { - return 0 > this.ja(Y.cb) -}; -q.qb = function(a) { - return 0 < this.ja(a) -}; -q.rb = function(a) { - return 0 <= this.ja(a) -}; -q.ja = function(a) { - if(this.o(a)) { - return 0 - } - var b = this.n(), c = a.n(); - return b && !c ? -1 : !b && c ? 1 : this.R(a).n() ? -1 : 1 -}; -q.i = function() { - return this.o(Y.MIN_VALUE) ? Y.MIN_VALUE : this.xb().add(Y.ONE) -}; -q.add = function(a) { - var b = this.j >>> 16, c = this.j & 65535, d = this.h >>> 16, e = a.j >>> 16, f = a.j & 65535, h = a.h >>> 16, i; - i = 0 + ((this.h & 65535) + (a.h & 65535)); - a = 0 + (i >>> 16); - a += d + h; - d = 0 + (a >>> 16); - d += c + f; - c = 0 + (d >>> 16); - c = c + (b + e) & 65535; - return Y.v((a & 65535) << 16 | i & 65535, c << 16 | d & 65535) -}; -q.R = function(a) { - return this.add(a.i()) -}; -q.multiply = function(a) { - if(this.G() || a.G()) { - return Y.ZERO - } - if(this.o(Y.MIN_VALUE)) { - return a.Pa() ? Y.MIN_VALUE : Y.ZERO - } - if(a.o(Y.MIN_VALUE)) { - return this.Pa() ? Y.MIN_VALUE : Y.ZERO - } - if(this.n()) { - return a.n() ? this.i().multiply(a.i()) : this.i().multiply(a).i() - } - if(a.n()) { - return this.multiply(a.i()).i() - } - if(this.Ra() && a.Ra()) { - return Y.p(this.Z() * a.Z()) - } - var b = this.j >>> 16, c = this.j & 65535, d = this.h >>> 16, e = this.h & 65535, f = a.j >>> 16, h = a.j & 65535, i = a.h >>> 16, a = a.h & 65535, j, n, y, v; - v = 0 + e * a; - y = 0 + (v >>> 16); - y += d * a; - n = 0 + (y >>> 16); - y = (y & 65535) + e * i; - n += y >>> 16; - y &= 65535; - n += c * a; - j = 0 + (n >>> 16); - n = (n & 65535) + d * i; - j += n >>> 16; - n &= 65535; - n += e * h; - j += n >>> 16; - n &= 65535; - j = j + (b * a + c * i + d * h + e * f) & 65535; - return Y.v(y << 16 | v & 65535, j << 16 | n) -}; -q.F = function(a) { - a.G() && g(Error("division by zero")); - if(this.G()) { - return Y.ZERO - } - if(this.o(Y.MIN_VALUE)) { - if(a.o(Y.ONE) || a.o(Y.Da)) { - return Y.MIN_VALUE - } - if(a.o(Y.MIN_VALUE)) { - return Y.ONE - } - var b = this.Db().F(a).shiftLeft(1); - if(b.o(Y.ZERO)) { - return a.n() ? Y.ONE : Y.Da - } - var c = this.R(a.multiply(b)); - return b.add(c.F(a)) - } - if(a.o(Y.MIN_VALUE)) { - return Y.ZERO - } - if(this.n()) { - return a.n() ? this.i().F(a.i()) : this.i().F(a).i() - } - if(a.n()) { - return this.F(a.i()).i() - } - for(var d = Y.ZERO, c = this;c.rb(a);) { - for(var b = Math.max(1, Math.floor(c.Z() / a.Z())), e = Math.ceil(Math.log(b) / Math.LN2), e = 48 >= e ? 1 : Math.pow(2, e - 48), f = Y.p(b), h = f.multiply(a);h.n() || h.qb(c);) { - b -= e, f = Y.p(b), h = f.multiply(a) - } - f.G() && (f = Y.ONE); - d = d.add(f); - c = c.R(h) - } - return d -}; -q.xb = function() { - return Y.v(~this.h, ~this.j) -}; -q.shiftLeft = function(a) { - a &= 63; - if(0 == a) { - return this - } - var b = this.h; - return 32 > a ? Y.v(b << a, this.j << a | b >>> 32 - a) : Y.v(0, b << a - 32) -}; -q.Db = function() { - var a; - a = 1; - if(0 == a) { - return this - } - var b = this.j; - return 32 > a ? Y.v(this.h >>> a | b << 32 - a, b >> a) : Y.v(b >> a - 32, 0 <= b ? 0 : -1) -}; -q = X.prototype; -q.ga = function(a, b, c, d) { - for(var e = 0, f = 0;0 <= --d;) { - var h = a * this[e++] + b[c] + f, f = Math.floor(h / 67108864); - b[c++] = h & 67108863 - } - return f -}; -q.f = 26; -q.u = 67108863; -q.K = 67108864; -q.bb = Math.pow(2, 52); -q.Aa = 26; -q.Ba = 0; -var $c = [], bd, Z; -bd = 48; -for(Z = 0;9 >= Z;++Z) { - $c[bd++] = Z -} -bd = 97; -for(Z = 10;36 > Z;++Z) { - $c[bd++] = Z -} -bd = 65; -for(Z = 10;36 > Z;++Z) { - $c[bd++] = Z -} -q = X.prototype; -q.copyTo = function(a) { - for(var b = this.b - 1;0 <= b;--b) { - a[b] = this[b] - } - a.b = this.b; - a.c = this.c -}; -q.D = function(a) { - this.b = 1; - this.c = 0 > a ? -1 : 0; - 0 < a ? this[0] = a : -1 > a ? this[0] = a + DV : this.b = 0 -}; -q.k = function(a, b) { - var c; - if(16 == b) { - c = 4 - }else { - if(8 == b) { - c = 3 - }else { - if(256 == b) { - c = 8 - }else { - if(2 == b) { - c = 1 - }else { - if(32 == b) { - c = 5 - }else { - if(4 == b) { - c = 2 - }else { - this.nb(a, b); - return - } - } - } - } - } - } - this.c = this.b = 0; - for(var d = a.length, e = p, f = 0;0 <= --d;) { - var h = 8 == c ? a[d] & 255 : Zc(a, d); - 0 > h ? "-" == a.charAt(d) && (e = l) : (e = p, 0 == f ? this[this.b++] = h : f + c > this.f ? (this[this.b - 1] |= (h & (1 << this.f - f) - 1) << f, this[this.b++] = h >> this.f - f) : this[this.b - 1] |= h << f, f += c, f >= this.f && (f -= this.f)) - } - 8 == c && 0 != (a[0] & 128) && (this.c = -1, 0 < f && (this[this.b - 1] |= (1 << this.f - f) - 1 << f)); - this.C(); - e && X.ZERO.t(this, this) -}; -q.C = function() { - for(var a = this.c & this.u;0 < this.b && this[this.b - 1] == a;) { - --this.b - } -}; -q.la = function(a, b) { - var c; - for(c = this.b - 1;0 <= c;--c) { - b[c + a] = this[c] - } - for(c = a - 1;0 <= c;--c) { - b[c] = 0 - } - b.b = this.b + a; - b.c = this.c -}; -q.jb = function(a, b) { - for(var c = a;c < this.b;++c) { - b[c - a] = this[c] - } - b.b = Math.max(this.b - a, 0); - b.c = this.c -}; -q.Qa = function(a, b) { - var c = a % this.f, d = this.f - c, e = (1 << d) - 1, f = Math.floor(a / this.f), h = this.c << c & this.u, i; - for(i = this.b - 1;0 <= i;--i) { - b[i + f + 1] = this[i] >> d | h, h = (this[i] & e) << c - } - for(i = f - 1;0 <= i;--i) { - b[i] = 0 - } - b[f] = h; - b.b = this.b + f + 1; - b.c = this.c; - b.C() -}; -q.zb = function(a, b) { - b.c = this.c; - var c = Math.floor(a / this.f); - if(c >= this.b) { - b.b = 0 - }else { - var d = a % this.f, e = this.f - d, f = (1 << d) - 1; - b[0] = this[c] >> d; - for(var h = c + 1;h < this.b;++h) { - b[h - c - 1] |= (this[h] & f) << e, b[h - c] = this[h] >> d - } - 0 < d && (b[this.b - c - 1] |= (this.c & f) << e); - b.b = this.b - c; - b.C() - } -}; -q.t = function(a, b) { - for(var c = 0, d = 0, e = Math.min(a.b, this.b);c < e;) { - d += this[c] - a[c], b[c++] = d & this.u, d >>= this.f - } - if(a.b < this.b) { - for(d -= a.c;c < this.b;) { - d += this[c], b[c++] = d & this.u, d >>= this.f - } - d += this.c - }else { - for(d += this.c;c < a.b;) { - d -= a[c], b[c++] = d & this.u, d >>= this.f - } - d -= a.c - } - b.c = 0 > d ? -1 : 0; - -1 > d ? b[c++] = this.K + d : 0 < d && (b[c++] = d); - b.b = c; - b.C() -}; -q.vb = function(a) { - var b = $.Xa, c = this.abs(), d = b.abs(), e = c.b; - for(a.b = e + d.b;0 <= --e;) { - a[e] = 0 - } - for(e = 0;e < d.b;++e) { - a[e + c.b] = c.ga(d[e], a, e, c.b) - } - a.c = 0; - a.C(); - this.c != b.c && X.ZERO.t(a, a) -}; -q.Ja = function(a, b, c) { - var d = a.abs(); - if(!(0 >= d.b)) { - var e = this.abs(); - if(e.b < d.b) { - b != m && b.D(0), c != m && this.copyTo(c) - }else { - c == m && (c = Yc()); - var f = Yc(), h = this.c, a = a.c, i = d[d.b - 1], j = 1, n; - if(0 != (n = i >>> 16)) { - i = n, j += 16 - } - if(0 != (n = i >> 8)) { - i = n, j += 8 - } - if(0 != (n = i >> 4)) { - i = n, j += 4 - } - if(0 != (n = i >> 2)) { - i = n, j += 2 - } - 0 != i >> 1 && (j += 1); - i = this.f - j; - 0 < i ? (d.Qa(i, f), e.Qa(i, c)) : (d.copyTo(f), e.copyTo(c)); - d = f.b; - e = f[d - 1]; - if(0 != e) { - n = e * (1 << this.Aa) + (1 < d ? f[d - 2] >> this.Ba : 0); - j = this.bb / n; - n = (1 << this.Aa) / n; - var y = 1 << this.Ba, v = c.b, C = v - d, D = b == m ? Yc() : b; - f.la(C, D); - 0 <= c.U(D) && (c[c.b++] = 1, c.t(D, c)); - X.ONE.la(d, D); - for(D.t(f, f);f.b < d;) { - f[f.b++] = 0 - } - for(;0 <= --C;) { - var K = c[--v] == e ? this.u : Math.floor(c[v] * j + (c[v - 1] + y) * n); - if((c[v] += f.ga(K, c, C, d)) < K) { - f.la(C, D); - for(c.t(D, c);c[v] < --K;) { - c.t(D, c) - } - } - } - b != m && (c.jb(d, b), h != a && X.ZERO.t(b, b)); - c.b = d; - c.C(); - 0 < i && c.zb(i, c); - 0 > h && X.ZERO.t(c, c) - } - } - } -}; -q.toString = function(a) { - if(0 > this.c) { - return"-" + this.i().toString(a) - } - if(16 == a) { - a = 4 - }else { - if(8 == a) { - a = 3 - }else { - if(2 == a) { - a = 1 - }else { - if(32 == a) { - a = 5 - }else { - if(4 == a) { - a = 2 - }else { - return this.Fb(a) - } - } - } - } - } - var b = (1 << a) - 1, c, d = p, e = "", f = this.b, h = this.f - f * this.f % a; - if(0 < f--) { - if(h < this.f && 0 < (c = this[f] >> h)) { - d = l, e = "0123456789abcdefghijklmnopqrstuvwxyz".charAt(c) - } - for(;0 <= f;) { - h < a ? (c = (this[f] & (1 << h) - 1) << a - h, c |= this[--f] >> (h += this.f - a)) : (c = this[f] >> (h -= a) & b, 0 >= h && (h += this.f, --f)), 0 < c && (d = l), d && (e += "0123456789abcdefghijklmnopqrstuvwxyz".charAt(c)) - } - } - return d ? e : "0" -}; -q.i = function() { - var a = Yc(); - X.ZERO.t(this, a); - return a -}; -q.abs = function() { - return 0 > this.c ? this.i() : this -}; -q.U = function(a) { - var b = this.c - a.c; - if(0 != b) { - return b - } - var c = this.b, b = c - a.b; - if(0 != b) { - return 0 > this.c ? -b : b - } - for(;0 <= --c;) { - if(0 != (b = this[c] - a[c])) { - return b - } - } - return 0 -}; -X.ZERO = ad(0); -X.ONE = ad(1); -q = X.prototype; -q.nb = function(a, b) { - this.D(0); - b == m && (b = 10); - for(var c = this.S(b), d = Math.pow(b, c), e = p, f = 0, h = 0, i = 0;i < a.length;++i) { - var j = Zc(a, i); - 0 > j ? "-" == a.charAt(i) && 0 == this.ra() && (e = l) : (h = b * h + j, ++f >= c && (this.Ia(d), this.Ha(h), h = f = 0)) - } - 0 < f && (this.Ia(Math.pow(b, f)), this.Ha(h)); - e && X.ZERO.t(this, this) -}; -q.S = function(a) { - return Math.floor(Math.LN2 * this.f / Math.log(a)) -}; -q.ra = function() { - return 0 > this.c ? -1 : 0 >= this.b || 1 == this.b && 0 >= this[0] ? 0 : 1 -}; -q.Ia = function(a) { - this[this.b] = this.ga(a - 1, this, 0, this.b); - ++this.b; - this.C() -}; -q.Ha = function(a) { - var b = 0; - if(0 != a) { - for(;this.b <= b;) { - this[this.b++] = 0 - } - for(this[b] += a;this[b] >= this.K;) { - this[b] -= this.K, ++b >= this.b && (this[this.b++] = 0), ++this[b] - } - } -}; -q.Fb = function(a) { - a == m && (a = 10); - if(0 == this.ra() || 2 > a || 36 < a) { - return"0" - } - var b = this.S(a), b = Math.pow(a, b), c = ad(b), d = Yc(), e = Yc(), f = ""; - for(this.Ja(c, d, e);0 < d.ra();) { - f = (b + e.Oa()).toString(a).substr(1) + f, d.Ja(c, d, e) - } - return e.Oa().toString(a) + f -}; -q.Oa = function() { - if(0 > this.c) { - if(1 == this.b) { - return this[0] - this.K - } - if(0 == this.b) { - return-1 - } - }else { - if(1 == this.b) { - return this[0] - } - if(0 == this.b) { - return 0 - } - } - return(this[1] & (1 << 32 - this.f) - 1) << this.f | this[0] -}; -q.fa = function(a, b) { - for(var c = 0, d = 0, e = Math.min(a.b, this.b);c < e;) { - d += this[c] + a[c], b[c++] = d & this.u, d >>= this.f - } - if(a.b < this.b) { - for(d += a.c;c < this.b;) { - d += this[c], b[c++] = d & this.u, d >>= this.f - } - d += this.c - }else { - for(d += this.c;c < a.b;) { - d += a[c], b[c++] = d & this.u, d >>= this.f - } - d += a.c - } - b.c = 0 > d ? -1 : 0; - 0 < d ? b[c++] = d : -1 > d && (b[c++] = this.K + d); - b.b = c; - b.C() -}; -var $ = {abs:function(a, b) { - var c = new Y(a, b), c = c.n() ? c.i() : c; - B[qb >> 2] = c.h; - B[qb + 4 >> 2] = c.j -}, Ka:function() { - $.kb || ($.kb = l, $.Xa = new X, $.Xa.k("4294967296", 10), $.sa = new X, $.sa.k("18446744073709551616", 10), $.xe = new X, $.ye = new X) -}, me:function(a, b) { - var c = new X; - c.k(b.toString(), 10); - var d = new X; - c.vb(d); - c = new X; - c.k(a.toString(), 10); - var e = new X; - c.fa(d, e); - return e -}, stringify:function(a, b, c) { - a = (new Y(a, b)).toString(); - c && "-" == a[0] && ($.Ka(), c = new X, c.k(a, 10), a = new X, $.sa.fa(c, a), a = a.toString(10)); - return a -}, k:function(a, b, c, d, e) { - $.Ka(); - var f = new X; - f.k(a, b); - a = new X; - a.k(c, 10); - c = new X; - c.k(d, 10); - e && 0 > f.U(X.ZERO) && (d = new X, f.fa($.sa, d), f = d); - d = p; - 0 > f.U(a) ? (f = a, d = l) : 0 < f.U(c) && (f = c, d = l); - f = Y.k(f.toString()); - B[qb >> 2] = f.h; - B[qb + 4 >> 2] = f.j; - d && g("range error") -}}; -lc = $; -var cd, dd; -s.callMain = s.$d = function(a) { - function b() { - for(var a = 0;3 > a;a++) { - d.push(0) - } - } - w(0 == L, "cannot call main when async dependencies remain! (listen on __ATMAIN__)"); - w(0 == Wa.length, "cannot call main when preRun functions remain to be called"); - a = a || []; - ab || (ab = l, Va(Xa)); - var c = a.length + 1, d = [F(J("/bin/this.program"), "i8", Ka)]; - b(); - for(var e = 0;e < c - 1;e += 1) { - d.push(F(J(a[e]), "i8", Ka)), b() - } - d.push(0); - d = F(d, "i32", Ka); - cd = u; - dd = l; - var f; - try { - f = s._main(c, d, 0) - }catch(h) { - if(h && "object" == typeof h && "ExitStatus" == h.type) { - return s.print("Exit Status: " + h.value), h.value - } - "SimulateInfiniteLoop" == h ? s.noExitRuntime = l : g(h) - }finally { - dd = p - } - s.noExitRuntime || ed(f) -}; -function lb(a) { - function b() { - ab || (ab = l, Va(Xa)); - Va(Ya); - gb = l; - s._main && kb && s.callMain(a); - if(s.postRun) { - for("function" == typeof s.postRun && (s.postRun = [s.postRun]);s.postRun.length;) { - cb(s.postRun.shift()) - } - } - Va($a) - } - a = a || s.arguments; - if(0 < L) { - s.P("run() called, but dependencies remain, so not running") - }else { - if(s.preRun) { - for("function" == typeof s.preRun && (s.preRun = [s.preRun]);s.preRun.length;) { - bb(s.preRun.shift()) - } - } - Va(Wa); - 0 < L || (s.setStatus ? (s.setStatus("Running..."), setTimeout(function() { - setTimeout(function() { - s.setStatus("") - }, 1); - za || b() - }, 1)) : b()) - } -} -s.run = s.we = lb; -function ed(a) { - za = l; - u = cd; - Va(Za); - dd && g({type:"ExitStatus", value:a}) -} -s.exit = s.de = ed; -function wa(a) { - a && s.print(a); - za = l; - g("abort() at " + Error().stack) -} -s.abort = s.abort = wa; -if(s.preInit) { - for("function" == typeof s.preInit && (s.preInit = [s.preInit]);0 < s.preInit.length;) { - s.preInit.pop()() - } -} -var kb = l; -s.noInitialRun && (kb = p); -lb(); -var scrypt = (function () { - var exports = {}; - - //--------------------------------------------------------------------------- - // Horrifying UTF-8 and hex codecs - - function encode_utf8(s) { - return encode_latin1(unescape(encodeURIComponent(s))); - } - - function encode_latin1(s) { - var result = new Uint8Array(s.length); - for (var i = 0; i < s.length; i++) { - var c = s.charCodeAt(i); - if ((c & 0xff) !== c) throw {message: "Cannot encode string in Latin1", str: s}; - result[i] = (c & 0xff); - } - return result; - } - - function decode_utf8(bs) { - return decodeURIComponent(escape(decode_latin1(bs))); - } - - function decode_latin1(bs) { - var encoded = []; - for (var i = 0; i < bs.length; i++) { - encoded.push(String.fromCharCode(bs[i])); - } - return encoded.join(''); - } - - function to_hex(bs) { - var encoded = []; - for (var i = 0; i < bs.length; i++) { - encoded.push("0123456789abcdef"[(bs[i] >> 4) & 15]); - encoded.push("0123456789abcdef"[bs[i] & 15]); - } - return encoded.join(''); - } - - //--------------------------------------------------------------------------- - - function injectBytes(bs, leftPadding) { - var p = leftPadding || 0; - var address = scrypt_raw._malloc(bs.length + p); - scrypt_raw.HEAPU8.set(bs, address + p); - for (var i = address; i < address + p; i++) { - scrypt_raw.HEAPU8[i] = 0; - } - return address; - } - - function check_injectBytes(function_name, what, thing, expected_length, leftPadding) { - check_length(function_name, what, thing, expected_length); - return injectBytes(thing, leftPadding); - } - - function extractBytes(address, length) { - var result = new Uint8Array(length); - result.set(scrypt_raw.HEAPU8.subarray(address, address + length)); - return result; - } - - //--------------------------------------------------------------------------- - - function check(function_name, result) { - if (result !== 0) { - throw {message: "scrypt_raw." + function_name + " signalled an error"}; - } - } - - function check_length(function_name, what, thing, expected_length) { - if (thing.length !== expected_length) { - throw {message: "scrypt." + function_name + " expected " + - expected_length + "-byte " + what + " but got length " + thing.length}; - } - } - - function Target(length) { - this.length = length; - this.address = scrypt_raw._malloc(length); - } - - Target.prototype.extractBytes = function (offset) { - var result = extractBytes(this.address + (offset || 0), this.length - (offset || 0)); - scrypt_raw._free(this.address); - this.address = null; - return result; - }; - - function free_all(addresses) { - for (var i = 0; i < addresses.length; i++) { - scrypt_raw._free(addresses[i]); - } - } - - //--------------------------------------------------------------------------- - - function random_bytes(count) { - var bs = new Uint8Array(count); - if(typeof(window.crypto) !== "undefined") { - if(typeof(window.crypto.getRandomValues) !== "undefined") { - window.crypto.getRandomValues(bs); - return bs; - } - } - if(typeof(window.msCrypto) !== "undefined") { - if(typeof(window.msCrypto.getRandomValues) !== "undefined") { - window.msCrypto.getRandomValues(bs); - return bs; - } - } - throw { message: "No suitable random number generator found!"}; - } - - function crypto_scrypt(passwd, salt, n, r, p, buflen) { - var buf = new Target(buflen); - var pa = injectBytes(passwd); - var sa = injectBytes(salt); - check("_crypto_scrypt", - scrypt_raw._crypto_scrypt(pa, passwd.length, - sa, salt.length, - n, 0, // 64 bits; zero upper half - r, - p, - buf.address, buf.length)); - free_all([pa, sa]); - return buf.extractBytes(); - } - - //--------------------------------------------------------------------------- - - exports.encode_utf8 = encode_utf8; - exports.encode_latin1 = encode_latin1; - exports.decode_utf8 = decode_utf8; - exports.decode_latin1 = decode_latin1; - exports.to_hex = to_hex; - - exports.random_bytes = random_bytes; - exports.crypto_scrypt = crypto_scrypt; - - return exports; -})(); - return scrypt; -}); - diff --git a/ucoinj-ui-wicket/src/main/webapp/js/ucoinj.js b/ucoinj-ui-wicket/src/main/webapp/js/ucoinj.js deleted file mode 100644 index 4b56a5eaab98e440761a2263884b9bd51b9ce5fb..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/js/ucoinj.js +++ /dev/null @@ -1,343 +0,0 @@ -/* - * #%L - * uCoinj :: UI Wicket - * %% - * Copyright (C) 2014 - 2016 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/*! - * uCoinj JavaScript Library v2.1.4 - * http://ucoinj.com/ - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * - * Copyright 2005, 2014 uCoinj Foundation, Inc. and other contributors - * Released under the MIT license - * http://ucoinj.org/license - * - * Date: 2015-04-28T16:01Z - */ - -(function( global, factory ) { - - if ( typeof module === "object" && typeof module.exports === "object" ) { - // For CommonJS and CommonJS-like environments where a proper `window` - // is present, execute the factory and get uCoinj. - // For environments that do not have a `window` with a `document` - // (such as Node.js), expose a factory as module.exports. - // This accentuates the need for the creation of a real `window`. - // e.g. var uCoinj = require("ucoinj")(window); - // See ticket #14549 for more info. - module.exports = global.document ? - factory( global, true ) : - function( w ) { - if ( !w.document ) { - throw new Error( "uCoinj requires a window with a document" ); - } - return factory( w ); - }; - } else { - factory( global ); - } - -// Pass this if window is not defined yet -}(typeof window !== "undefined" ? window : this, function( window, noGlobal ) { - -// Support: Firefox 18+ -// Can't be in strict mode, several libs including ASP.NET trace -// the stack via arguments.caller.callee and Firefox dies if -// you try to trace through "use strict" call chains. (#13335) -// - -var - // Use the correct document accordingly with window argument (sandbox) - document = window.document, - strundefined = typeof undefined, - version = "1.0", - nacl, - scrypt, - base58, - base64, - - // Define a local copy of uCoinj - uCoinj = function(document) { - // The uCoinj object is actually just the init constructor 'enhanced' - // Need init if uCoinj is called (just allow error to be thrown if not included) - return new uCoinj.fn.init(document); - }; - -uCoinj.fn = uCoinj.prototype = { - // The current version of jQuery being used - ucoinj: version, - constructor: uCoinj, - nacl: null, - scrypt: null, - base58: null, - base64: null, - wallet: { - keypair: null, - uid: null, - pubkey: null - }, - crypto_sign_BYTES: 64, - SEED_LENGTH: 32, // Length of the key - SCRYPT_PARAMS: { - "N":4096, - "r":16, - "p":1 - } -}; - -uCoinj.fn.encode_utf8 = function(arr) { - var i, s = []; - for (i = 0; i < arr.length; i++) s.push(String.fromCharCode(arr[i])); - return decodeURIComponent(escape(s.join(''))); -}; - -uCoinj.fn.decode_utf8 = function(s) { - var i, d = unescape(encodeURIComponent(s)), b = new Uint8Array(d.length); - for (i = 0; i < d.length; i++) b[i] = d.charCodeAt(i); - return b; -}; - -var - // A central reference to the root jQuery(document) - //rootuCoinj, - wallet = uCoinj.fn.wallet, - - get_scrypt = function() { - if (typeof module !== 'undefined' && module.exports) { - // add node.js implementations - require('scrypt-em'); - return scrypt_module_factory(); - } - else if (scrypt_module_factory !== null){ - return scrypt_module_factory(); - } - else { - return setTimetout(get_scrypt, 100); - } - }, - - get_nacl = function() { - if (typeof module !== 'undefined' && module.exports) { - // add node.js implementations - require('nacl_factory'); - return nacl_factory.instantiate(); - } - else if (nacl_factory !== null){ - return nacl_factory.instantiate(); - } - else { - return setTimetout(get_nacl, 100); - } - }, - - get_base58 = function() { - if (typeof module !== 'undefined' && module.exports) { - // add node.js implementations - require('base58'); - return Base58; - } - else if (Base58 !== null){ - return Base58; - } - else { - return setTimetout(get_base58, 100); - } - }, - - get_base64 = function() { - if (typeof module !== 'undefined' && module.exports) { - // add node.js implementations - require('base58'); - return Base64; - } - else if (Base64 !== null){ - return Base64; - } - else { - return setTimetout(get_base64, 100); - } - }, - - // Constructor - init = uCoinj.fn.init = function(document) { - - // load libraries - scrypt = uCoinj.fn.scrypt = get_scrypt(); - nacl = uCoinj.fn.nacl = get_nacl(); - base58 = uCoinj.fn.base58 = get_base58(); - base64 = uCoinj.fn.base64 = get_base64(); - - //var test = uCoinj.fn.test(); - //if (!test) { - // alert('Your navigator is not compatible: cryptographic features failed. Please report a bug.'); - //} - }, - - connect = uCoinj.fn.connect = function(salt, password) { - var seed = uCoinj.fn.scrypt.crypto_scrypt( - uCoinj.fn.nacl.encode_utf8(password), - uCoinj.fn.nacl.encode_utf8(salt), - 4096, 16, 1, 32 // see SCRYPT_PARAMS - ); - uCoinj.fn.wallet.keypair = uCoinj.fn.nacl.crypto_sign_keypair_from_seed(seed); - uCoinj.fn.wallet.pubkey = uCoinj.fn.base58.encode(uCoinj.fn.wallet.keypair.signPk); - }, - - isConnected = uCoinj.fn.isConnected = function() { - return uCoinj.fn.wallet.keypair !== null; - } - - disconnect = uCoinj.fn.disconnect = function() { - return uCoinj.fn.wallet.keypair !== null; - }, - - sign = uCoinj.fn.sign = function (message) { - if (!isConnected()) { - throw new Error('Not connected. Please connect using uCoinj().connect() method.') - } - var m = uCoinj.fn.decode_utf8(message); - var sk = uCoinj.fn.wallet.keypair.signSk; - var signedMsg = uCoinj.fn.nacl.crypto_sign(m, sk); - var sig = new Uint8Array(uCoinj.fn.crypto_sign_BYTES); - for (var i = 0; i < sig.length; i++) sig[i] = signedMsg[i]; - return uCoinj.fn.base64.encode(sig); - }, - - verify = uCoinj.fn.verify = function (message, signature, publicKey) { - if (!isConnected()) { - throw new Error('Not connected. Please connect using uCoinj().connect() method.') - } - - var msg = uCoinj.fn.decode_utf8(message); - var sig = uCoinj.fn.base64.decode(signature); - var pub = uCoinj.fn.base58.decode(publicKey); - var m = new Uint8Array(uCoinj.fn.crypto_sign_BYTES + msg.length); - var sm = new Uint8Array(uCoinj.fn.crypto_sign_BYTES + msg.length); - var i; - for (i = 0; i < uCoinj.fn.crypto_sign_BYTES; i++) sm[i] = sig[i]; - for (i = 0; i < msg.length; i++) sm[i+uCoinj.fn.crypto_sign_BYTES] = msg[i]; - - // Call to verification lib... - var verified = uCoinj.fn.nacl.crypto_sign_open(sm, pub) !== null; - - return verified; - }, - - /** - * Unit test methods: should return true - */ - test = uCoinj.fn.test = function() { - var result = true; - var msg = 'my message to encrypt !'; - var expectedSignature = 'aAxVThibiZGbpJWrFo8MzZe8RDIoJ1gMC1UIr0utDBQilG44PjA/7o+pOoPAOXgDE3sosGeLHTw1Q/RhFBa4CA=='; - var expectedPubKey = 'G2CBgZBPLe6FSFUgpx2Jf1Aqsgta6iib3vmDRA1yLiqU'; - var expectedSecKey = '58LDg8QLmF5pv6Dn9h7X4yFKfMTdP8fdAiWVcyDoTRJu454fwRihCLULH4MW37zncsg4ruoTGJPZneWk22QmG1w4'; - connect('abc', 'def'); - if (!isConnected()) { - console.log('[uCoinj] Test failed: Could not generate key pair.'); - return false; - } - if (wallet.pubkey !== expectedPubKey) { - console.log('[uCoinj] Test failed: Bad public key, expected '+ expectedPubKey +' but get '+wallet.pubkey); - result = false; - } - var secKey = base58.encode(wallet.keypair.signSk); - if (secKey !== expectedSecKey) { - console.log('[uCoinj] Test failed: Bad secret key, expected '+ expectedSecKey +' but get '+secKey); - result = false; - } - - var signature = sign(msg); - if (signature !== expectedSignature) { - console.log('[uCoinj] Test failed: Bad signature, expected '+ expectedSignature +' but get '+signature); - result =false; - } - - var verified = verify(msg, expectedSignature, wallet.pubkey); - if (!verified) { - console.log('[uCoinj] Test failed: signature verification failed, expected to be valid but return invalid'); - result = false; - } - return result; - } -; - - - -// Give the init function the jQuery prototype for later instantiation -init.prototype = uCoinj.fn; - - -// Initialize central reference -//rootjQuery = uCoinj( document ); - - -// Register as a named AMD module, since uCoinj can be concatenated with other -// files that may use define, but not via a proper concatenation script that -// understands anonymous AMD modules. A named AMD is safest and most robust -// way to register. Lowercase ucoinj is used because AMD module names are -// derived from file names, and uCoinj is normally delivered in a lowercase -// file name. Do this after creating the global so that if an AMD module wants -// to call noConflict to hide this version of uCoinj, it will work. - -// Note that for maximum portability, libraries that are not uCoinj should -// declare themselves as anonymous modules, and avoid setting a global if an -// AMD loader is present. uCoinj is a special case. For more information, see -// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon - -if ( typeof define === "function" && define.amd ) { - define( "ucoinj", [], function() { - return uCoinj; - }); -} - - -var - // Map over uCoinj in case of overwrite - _uCoinj = window.uCoinj, - - // Map over the $ in case of overwrite - _uc = window.uc; - -uCoinj.noConflict = function( deep ) { - if ( window._uc === uCoinj ) { - window.uc = _uc; - } - - if ( deep && window.uCoinj === uCoinj ) { - window.uCoinj = _uCoinj; - } - - return uCoinj; -}; - -// Expose uCoinj and $ identifiers, even in AMD -// and CommonJS for browser emulators -if ( typeof noGlobal === strundefined ) { - window.uCoinj = window.uc = uCoinj; -} - - - - -return uCoinj; - -})); diff --git a/ucoinj-ui-wicket/src/main/webapp/js/zepto.min.js b/ucoinj-ui-wicket/src/main/webapp/js/zepto.min.js deleted file mode 100644 index e210d9ae3ca7d9240cf0fa0b71f3a46e8e66f8b5..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/main/webapp/js/zepto.min.js +++ /dev/null @@ -1,23 +0,0 @@ -/* - * #%L - * UCoin Java Client :: Web - * %% - * Copyright (C) 2014 - 2015 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -/* Zepto v1.1.3 - zepto event ajax form ie - zeptojs.com/license */ -var Zepto=function(){function L(t){return null==t?String(t):j[T.call(t)]||"object"}function Z(t){return"function"==L(t)}function $(t){return null!=t&&t==t.window}function _(t){return null!=t&&t.nodeType==t.DOCUMENT_NODE}function D(t){return"object"==L(t)}function R(t){return D(t)&&!$(t)&&Object.getPrototypeOf(t)==Object.prototype}function M(t){return"number"==typeof t.length}function k(t){return s.call(t,function(t){return null!=t})}function z(t){return t.length>0?n.fn.concat.apply([],t):t}function F(t){return t.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function q(t){return t in f?f[t]:f[t]=new RegExp("(^|\\s)"+t+"(\\s|$)")}function H(t,e){return"number"!=typeof e||c[F(t)]?e:e+"px"}function I(t){var e,n;return u[t]||(e=a.createElement(t),a.body.appendChild(e),n=getComputedStyle(e,"").getPropertyValue("display"),e.parentNode.removeChild(e),"none"==n&&(n="block"),u[t]=n),u[t]}function V(t){return"children"in t?o.call(t.children):n.map(t.childNodes,function(t){return 1==t.nodeType?t:void 0})}function U(n,i,r){for(e in i)r&&(R(i[e])||A(i[e]))?(R(i[e])&&!R(n[e])&&(n[e]={}),A(i[e])&&!A(n[e])&&(n[e]=[]),U(n[e],i[e],r)):i[e]!==t&&(n[e]=i[e])}function B(t,e){return null==e?n(t):n(t).filter(e)}function J(t,e,n,i){return Z(e)?e.call(t,n,i):e}function X(t,e,n){null==n?t.removeAttribute(e):t.setAttribute(e,n)}function W(e,n){var i=e.className,r=i&&i.baseVal!==t;return n===t?r?i.baseVal:i:void(r?i.baseVal=n:e.className=n)}function Y(t){var e;try{return t?"true"==t||("false"==t?!1:"null"==t?null:/^0/.test(t)||isNaN(e=Number(t))?/^[\[\{]/.test(t)?n.parseJSON(t):t:e):t}catch(i){return t}}function G(t,e){e(t);for(var n in t.childNodes)G(t.childNodes[n],e)}var t,e,n,i,C,N,r=[],o=r.slice,s=r.filter,a=window.document,u={},f={},c={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},l=/^\s*<(\w+|!)[^>]*>/,h=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,p=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,d=/^(?:body|html)$/i,m=/([A-Z])/g,g=["val","css","html","text","data","width","height","offset"],v=["after","prepend","before","append"],y=a.createElement("table"),x=a.createElement("tr"),b={tr:a.createElement("tbody"),tbody:y,thead:y,tfoot:y,td:x,th:x,"*":a.createElement("div")},w=/complete|loaded|interactive/,E=/^[\w-]*$/,j={},T=j.toString,S={},O=a.createElement("div"),P={tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},A=Array.isArray||function(t){return t instanceof Array};return S.matches=function(t,e){if(!e||!t||1!==t.nodeType)return!1;var n=t.webkitMatchesSelector||t.mozMatchesSelector||t.oMatchesSelector||t.matchesSelector;if(n)return n.call(t,e);var i,r=t.parentNode,o=!r;return o&&(r=O).appendChild(t),i=~S.qsa(r,e).indexOf(t),o&&O.removeChild(t),i},C=function(t){return t.replace(/-+(.)?/g,function(t,e){return e?e.toUpperCase():""})},N=function(t){return s.call(t,function(e,n){return t.indexOf(e)==n})},S.fragment=function(e,i,r){var s,u,f;return h.test(e)&&(s=n(a.createElement(RegExp.$1))),s||(e.replace&&(e=e.replace(p,"<$1></$2>")),i===t&&(i=l.test(e)&&RegExp.$1),i in b||(i="*"),f=b[i],f.innerHTML=""+e,s=n.each(o.call(f.childNodes),function(){f.removeChild(this)})),R(r)&&(u=n(s),n.each(r,function(t,e){g.indexOf(t)>-1?u[t](e):u.attr(t,e)})),s},S.Z=function(t,e){return t=t||[],t.__proto__=n.fn,t.selector=e||"",t},S.isZ=function(t){return t instanceof S.Z},S.init=function(e,i){var r;if(!e)return S.Z();if("string"==typeof e)if(e=e.trim(),"<"==e[0]&&l.test(e))r=S.fragment(e,RegExp.$1,i),e=null;else{if(i!==t)return n(i).find(e);r=S.qsa(a,e)}else{if(Z(e))return n(a).ready(e);if(S.isZ(e))return e;if(A(e))r=k(e);else if(D(e))r=[e],e=null;else if(l.test(e))r=S.fragment(e.trim(),RegExp.$1,i),e=null;else{if(i!==t)return n(i).find(e);r=S.qsa(a,e)}}return S.Z(r,e)},n=function(t,e){return S.init(t,e)},n.extend=function(t){var e,n=o.call(arguments,1);return"boolean"==typeof t&&(e=t,t=n.shift()),n.forEach(function(n){U(t,n,e)}),t},S.qsa=function(t,e){var n,i="#"==e[0],r=!i&&"."==e[0],s=i||r?e.slice(1):e,a=E.test(s);return _(t)&&a&&i?(n=t.getElementById(s))?[n]:[]:1!==t.nodeType&&9!==t.nodeType?[]:o.call(a&&!i?r?t.getElementsByClassName(s):t.getElementsByTagName(e):t.querySelectorAll(e))},n.contains=function(t,e){return t!==e&&t.contains(e)},n.type=L,n.isFunction=Z,n.isWindow=$,n.isArray=A,n.isPlainObject=R,n.isEmptyObject=function(t){var e;for(e in t)return!1;return!0},n.inArray=function(t,e,n){return r.indexOf.call(e,t,n)},n.camelCase=C,n.trim=function(t){return null==t?"":String.prototype.trim.call(t)},n.uuid=0,n.support={},n.expr={},n.map=function(t,e){var n,r,o,i=[];if(M(t))for(r=0;r<t.length;r++)n=e(t[r],r),null!=n&&i.push(n);else for(o in t)n=e(t[o],o),null!=n&&i.push(n);return z(i)},n.each=function(t,e){var n,i;if(M(t)){for(n=0;n<t.length;n++)if(e.call(t[n],n,t[n])===!1)return t}else for(i in t)if(e.call(t[i],i,t[i])===!1)return t;return t},n.grep=function(t,e){return s.call(t,e)},window.JSON&&(n.parseJSON=JSON.parse),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(t,e){j["[object "+e+"]"]=e.toLowerCase()}),n.fn={forEach:r.forEach,reduce:r.reduce,push:r.push,sort:r.sort,indexOf:r.indexOf,concat:r.concat,map:function(t){return n(n.map(this,function(e,n){return t.call(e,n,e)}))},slice:function(){return n(o.apply(this,arguments))},ready:function(t){return w.test(a.readyState)&&a.body?t(n):a.addEventListener("DOMContentLoaded",function(){t(n)},!1),this},get:function(e){return e===t?o.call(this):this[e>=0?e:e+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each(function(){null!=this.parentNode&&this.parentNode.removeChild(this)})},each:function(t){return r.every.call(this,function(e,n){return t.call(e,n,e)!==!1}),this},filter:function(t){return Z(t)?this.not(this.not(t)):n(s.call(this,function(e){return S.matches(e,t)}))},add:function(t,e){return n(N(this.concat(n(t,e))))},is:function(t){return this.length>0&&S.matches(this[0],t)},not:function(e){var i=[];if(Z(e)&&e.call!==t)this.each(function(t){e.call(this,t)||i.push(this)});else{var r="string"==typeof e?this.filter(e):M(e)&&Z(e.item)?o.call(e):n(e);this.forEach(function(t){r.indexOf(t)<0&&i.push(t)})}return n(i)},has:function(t){return this.filter(function(){return D(t)?n.contains(this,t):n(this).find(t).size()})},eq:function(t){return-1===t?this.slice(t):this.slice(t,+t+1)},first:function(){var t=this[0];return t&&!D(t)?t:n(t)},last:function(){var t=this[this.length-1];return t&&!D(t)?t:n(t)},find:function(t){var e,i=this;return e="object"==typeof t?n(t).filter(function(){var t=this;return r.some.call(i,function(e){return n.contains(e,t)})}):1==this.length?n(S.qsa(this[0],t)):this.map(function(){return S.qsa(this,t)})},closest:function(t,e){var i=this[0],r=!1;for("object"==typeof t&&(r=n(t));i&&!(r?r.indexOf(i)>=0:S.matches(i,t));)i=i!==e&&!_(i)&&i.parentNode;return n(i)},parents:function(t){for(var e=[],i=this;i.length>0;)i=n.map(i,function(t){return(t=t.parentNode)&&!_(t)&&e.indexOf(t)<0?(e.push(t),t):void 0});return B(e,t)},parent:function(t){return B(N(this.pluck("parentNode")),t)},children:function(t){return B(this.map(function(){return V(this)}),t)},contents:function(){return this.map(function(){return o.call(this.childNodes)})},siblings:function(t){return B(this.map(function(t,e){return s.call(V(e.parentNode),function(t){return t!==e})}),t)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(t){return n.map(this,function(e){return e[t]})},show:function(){return this.each(function(){"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=I(this.nodeName))})},replaceWith:function(t){return this.before(t).remove()},wrap:function(t){var e=Z(t);if(this[0]&&!e)var i=n(t).get(0),r=i.parentNode||this.length>1;return this.each(function(o){n(this).wrapAll(e?t.call(this,o):r?i.cloneNode(!0):i)})},wrapAll:function(t){if(this[0]){n(this[0]).before(t=n(t));for(var e;(e=t.children()).length;)t=e.first();n(t).append(this)}return this},wrapInner:function(t){var e=Z(t);return this.each(function(i){var r=n(this),o=r.contents(),s=e?t.call(this,i):t;o.length?o.wrapAll(s):r.append(s)})},unwrap:function(){return this.parent().each(function(){n(this).replaceWith(n(this).children())}),this},clone:function(){return this.map(function(){return this.cloneNode(!0)})},hide:function(){return this.css("display","none")},toggle:function(e){return this.each(function(){var i=n(this);(e===t?"none"==i.css("display"):e)?i.show():i.hide()})},prev:function(t){return n(this.pluck("previousElementSibling")).filter(t||"*")},next:function(t){return n(this.pluck("nextElementSibling")).filter(t||"*")},html:function(t){return 0===arguments.length?this.length>0?this[0].innerHTML:null:this.each(function(e){var i=this.innerHTML;n(this).empty().append(J(this,t,e,i))})},text:function(e){return 0===arguments.length?this.length>0?this[0].textContent:null:this.each(function(){this.textContent=e===t?"":""+e})},attr:function(n,i){var r;return"string"==typeof n&&i===t?0==this.length||1!==this[0].nodeType?t:"value"==n&&"INPUT"==this[0].nodeName?this.val():!(r=this[0].getAttribute(n))&&n in this[0]?this[0][n]:r:this.each(function(t){if(1===this.nodeType)if(D(n))for(e in n)X(this,e,n[e]);else X(this,n,J(this,i,t,this.getAttribute(n)))})},removeAttr:function(t){return this.each(function(){1===this.nodeType&&X(this,t)})},prop:function(e,n){return e=P[e]||e,n===t?this[0]&&this[0][e]:this.each(function(t){this[e]=J(this,n,t,this[e])})},data:function(e,n){var i=this.attr("data-"+e.replace(m,"-$1").toLowerCase(),n);return null!==i?Y(i):t},val:function(t){return 0===arguments.length?this[0]&&(this[0].multiple?n(this[0]).find("option").filter(function(){return this.selected}).pluck("value"):this[0].value):this.each(function(e){this.value=J(this,t,e,this.value)})},offset:function(t){if(t)return this.each(function(e){var i=n(this),r=J(this,t,e,i.offset()),o=i.offsetParent().offset(),s={top:r.top-o.top,left:r.left-o.left};"static"==i.css("position")&&(s.position="relative"),i.css(s)});if(0==this.length)return null;var e=this[0].getBoundingClientRect();return{left:e.left+window.pageXOffset,top:e.top+window.pageYOffset,width:Math.round(e.width),height:Math.round(e.height)}},css:function(t,i){if(arguments.length<2){var r=this[0],o=getComputedStyle(r,"");if(!r)return;if("string"==typeof t)return r.style[C(t)]||o.getPropertyValue(t);if(A(t)){var s={};return n.each(A(t)?t:[t],function(t,e){s[e]=r.style[C(e)]||o.getPropertyValue(e)}),s}}var a="";if("string"==L(t))i||0===i?a=F(t)+":"+H(t,i):this.each(function(){this.style.removeProperty(F(t))});else for(e in t)t[e]||0===t[e]?a+=F(e)+":"+H(e,t[e])+";":this.each(function(){this.style.removeProperty(F(e))});return this.each(function(){this.style.cssText+=";"+a})},index:function(t){return t?this.indexOf(n(t)[0]):this.parent().children().indexOf(this[0])},hasClass:function(t){return t?r.some.call(this,function(t){return this.test(W(t))},q(t)):!1},addClass:function(t){return t?this.each(function(e){i=[];var r=W(this),o=J(this,t,e,r);o.split(/\s+/g).forEach(function(t){n(this).hasClass(t)||i.push(t)},this),i.length&&W(this,r+(r?" ":"")+i.join(" "))}):this},removeClass:function(e){return this.each(function(n){return e===t?W(this,""):(i=W(this),J(this,e,n,i).split(/\s+/g).forEach(function(t){i=i.replace(q(t)," ")}),void W(this,i.trim()))})},toggleClass:function(e,i){return e?this.each(function(r){var o=n(this),s=J(this,e,r,W(this));s.split(/\s+/g).forEach(function(e){(i===t?!o.hasClass(e):i)?o.addClass(e):o.removeClass(e)})}):this},scrollTop:function(e){if(this.length){var n="scrollTop"in this[0];return e===t?n?this[0].scrollTop:this[0].pageYOffset:this.each(n?function(){this.scrollTop=e}:function(){this.scrollTo(this.scrollX,e)})}},scrollLeft:function(e){if(this.length){var n="scrollLeft"in this[0];return e===t?n?this[0].scrollLeft:this[0].pageXOffset:this.each(n?function(){this.scrollLeft=e}:function(){this.scrollTo(e,this.scrollY)})}},position:function(){if(this.length){var t=this[0],e=this.offsetParent(),i=this.offset(),r=d.test(e[0].nodeName)?{top:0,left:0}:e.offset();return i.top-=parseFloat(n(t).css("margin-top"))||0,i.left-=parseFloat(n(t).css("margin-left"))||0,r.top+=parseFloat(n(e[0]).css("border-top-width"))||0,r.left+=parseFloat(n(e[0]).css("border-left-width"))||0,{top:i.top-r.top,left:i.left-r.left}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent||a.body;t&&!d.test(t.nodeName)&&"static"==n(t).css("position");)t=t.offsetParent;return t})}},n.fn.detach=n.fn.remove,["width","height"].forEach(function(e){var i=e.replace(/./,function(t){return t[0].toUpperCase()});n.fn[e]=function(r){var o,s=this[0];return r===t?$(s)?s["inner"+i]:_(s)?s.documentElement["scroll"+i]:(o=this.offset())&&o[e]:this.each(function(t){s=n(this),s.css(e,J(this,r,t,s[e]()))})}}),v.forEach(function(t,e){var i=e%2;n.fn[t]=function(){var t,o,r=n.map(arguments,function(e){return t=L(e),"object"==t||"array"==t||null==e?e:S.fragment(e)}),s=this.length>1;return r.length<1?this:this.each(function(t,a){o=i?a:a.parentNode,a=0==e?a.nextSibling:1==e?a.firstChild:2==e?a:null,r.forEach(function(t){if(s)t=t.cloneNode(!0);else if(!o)return n(t).remove();G(o.insertBefore(t,a),function(t){null==t.nodeName||"SCRIPT"!==t.nodeName.toUpperCase()||t.type&&"text/javascript"!==t.type||t.src||window.eval.call(window,t.innerHTML)})})})},n.fn[i?t+"To":"insert"+(e?"Before":"After")]=function(e){return n(e)[t](this),this}}),S.Z.prototype=n.fn,S.uniq=N,S.deserializeValue=Y,n.zepto=S,n}();window.Zepto=Zepto,void 0===window.$&&(window.$=Zepto),function(t){function l(t){return t._zid||(t._zid=e++)}function h(t,e,n,i){if(e=p(e),e.ns)var r=d(e.ns);return(s[l(t)]||[]).filter(function(t){return!(!t||e.e&&t.e!=e.e||e.ns&&!r.test(t.ns)||n&&l(t.fn)!==l(n)||i&&t.sel!=i)})}function p(t){var e=(""+t).split(".");return{e:e[0],ns:e.slice(1).sort().join(" ")}}function d(t){return new RegExp("(?:^| )"+t.replace(" "," .* ?")+"(?: |$)")}function m(t,e){return t.del&&!u&&t.e in f||!!e}function g(t){return c[t]||u&&f[t]||t}function v(e,i,r,o,a,u,f){var h=l(e),d=s[h]||(s[h]=[]);i.split(/\s/).forEach(function(i){if("ready"==i)return t(document).ready(r);var s=p(i);s.fn=r,s.sel=a,s.e in c&&(r=function(e){var n=e.relatedTarget;return!n||n!==this&&!t.contains(this,n)?s.fn.apply(this,arguments):void 0}),s.del=u;var l=u||r;s.proxy=function(t){if(t=j(t),!t.isImmediatePropagationStopped()){t.data=o;var i=l.apply(e,t._args==n?[t]:[t].concat(t._args));return i===!1&&(t.preventDefault(),t.stopPropagation()),i}},s.i=d.length,d.push(s),"addEventListener"in e&&e.addEventListener(g(s.e),s.proxy,m(s,f))})}function y(t,e,n,i,r){var o=l(t);(e||"").split(/\s/).forEach(function(e){h(t,e,n,i).forEach(function(e){delete s[o][e.i],"removeEventListener"in t&&t.removeEventListener(g(e.e),e.proxy,m(e,r))})})}function j(e,i){return(i||!e.isDefaultPrevented)&&(i||(i=e),t.each(E,function(t,n){var r=i[t];e[t]=function(){return this[n]=x,r&&r.apply(i,arguments)},e[n]=b}),(i.defaultPrevented!==n?i.defaultPrevented:"returnValue"in i?i.returnValue===!1:i.getPreventDefault&&i.getPreventDefault())&&(e.isDefaultPrevented=x)),e}function T(t){var e,i={originalEvent:t};for(e in t)w.test(e)||t[e]===n||(i[e]=t[e]);return j(i,t)}var n,e=1,i=Array.prototype.slice,r=t.isFunction,o=function(t){return"string"==typeof t},s={},a={},u="onfocusin"in window,f={focus:"focusin",blur:"focusout"},c={mouseenter:"mouseover",mouseleave:"mouseout"};a.click=a.mousedown=a.mouseup=a.mousemove="MouseEvents",t.event={add:v,remove:y},t.proxy=function(e,n){if(r(e)){var i=function(){return e.apply(n,arguments)};return i._zid=l(e),i}if(o(n))return t.proxy(e[n],e);throw new TypeError("expected function")},t.fn.bind=function(t,e,n){return this.on(t,e,n)},t.fn.unbind=function(t,e){return this.off(t,e)},t.fn.one=function(t,e,n,i){return this.on(t,e,n,i,1)};var x=function(){return!0},b=function(){return!1},w=/^([A-Z]|returnValue$|layer[XY]$)/,E={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};t.fn.delegate=function(t,e,n){return this.on(e,t,n)},t.fn.undelegate=function(t,e,n){return this.off(e,t,n)},t.fn.live=function(e,n){return t(document.body).delegate(this.selector,e,n),this},t.fn.die=function(e,n){return t(document.body).undelegate(this.selector,e,n),this},t.fn.on=function(e,s,a,u,f){var c,l,h=this;return e&&!o(e)?(t.each(e,function(t,e){h.on(t,s,a,e,f)}),h):(o(s)||r(u)||u===!1||(u=a,a=s,s=n),(r(a)||a===!1)&&(u=a,a=n),u===!1&&(u=b),h.each(function(n,r){f&&(c=function(t){return y(r,t.type,u),u.apply(this,arguments)}),s&&(l=function(e){var n,o=t(e.target).closest(s,r).get(0);return o&&o!==r?(n=t.extend(T(e),{currentTarget:o,liveFired:r}),(c||u).apply(o,[n].concat(i.call(arguments,1)))):void 0}),v(r,e,u,a,s,l||c)}))},t.fn.off=function(e,i,s){var a=this;return e&&!o(e)?(t.each(e,function(t,e){a.off(t,i,e)}),a):(o(i)||r(s)||s===!1||(s=i,i=n),s===!1&&(s=b),a.each(function(){y(this,e,s,i)}))},t.fn.trigger=function(e,n){return e=o(e)||t.isPlainObject(e)?t.Event(e):j(e),e._args=n,this.each(function(){"dispatchEvent"in this?this.dispatchEvent(e):t(this).triggerHandler(e,n)})},t.fn.triggerHandler=function(e,n){var i,r;return this.each(function(s,a){i=T(o(e)?t.Event(e):e),i._args=n,i.target=a,t.each(h(a,e.type||e),function(t,e){return r=e.proxy(i),i.isImmediatePropagationStopped()?!1:void 0})}),r},"focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach(function(e){t.fn[e]=function(t){return t?this.bind(e,t):this.trigger(e)}}),["focus","blur"].forEach(function(e){t.fn[e]=function(t){return t?this.bind(e,t):this.each(function(){try{this[e]()}catch(t){}}),this}}),t.Event=function(t,e){o(t)||(e=t,t=e.type);var n=document.createEvent(a[t]||"Events"),i=!0;if(e)for(var r in e)"bubbles"==r?i=!!e[r]:n[r]=e[r];return n.initEvent(t,i,!0),j(n)}}(Zepto),function(t){function l(e,n,i){var r=t.Event(n);return t(e).trigger(r,i),!r.isDefaultPrevented()}function h(t,e,i,r){return t.global?l(e||n,i,r):void 0}function p(e){e.global&&0===t.active++&&h(e,null,"ajaxStart")}function d(e){e.global&&!--t.active&&h(e,null,"ajaxStop")}function m(t,e){var n=e.context;return e.beforeSend.call(n,t,e)===!1||h(e,n,"ajaxBeforeSend",[t,e])===!1?!1:void h(e,n,"ajaxSend",[t,e])}function g(t,e,n,i){var r=n.context,o="success";n.success.call(r,t,o,e),i&&i.resolveWith(r,[t,o,e]),h(n,r,"ajaxSuccess",[e,n,t]),y(o,e,n)}function v(t,e,n,i,r){var o=i.context;i.error.call(o,n,e,t),r&&r.rejectWith(o,[n,e,t]),h(i,o,"ajaxError",[n,i,t||e]),y(e,n,i)}function y(t,e,n){var i=n.context;n.complete.call(i,e,t),h(n,i,"ajaxComplete",[e,n]),d(n)}function x(){}function b(t){return t&&(t=t.split(";",2)[0]),t&&(t==f?"html":t==u?"json":s.test(t)?"script":a.test(t)&&"xml")||"text"}function w(t,e){return""==e?t:(t+"&"+e).replace(/[&?]{1,2}/,"?")}function E(e){e.processData&&e.data&&"string"!=t.type(e.data)&&(e.data=t.param(e.data,e.traditional)),!e.data||e.type&&"GET"!=e.type.toUpperCase()||(e.url=w(e.url,e.data),e.data=void 0)}function j(e,n,i,r){return t.isFunction(n)&&(r=i,i=n,n=void 0),t.isFunction(i)||(r=i,i=void 0),{url:e,data:n,success:i,dataType:r}}function S(e,n,i,r){var o,s=t.isArray(n),a=t.isPlainObject(n);t.each(n,function(n,u){o=t.type(u),r&&(n=i?r:r+"["+(a||"object"==o||"array"==o?n:"")+"]"),!r&&s?e.add(u.name,u.value):"array"==o||!i&&"object"==o?S(e,u,i,n):e.add(n,u)})}var i,r,e=0,n=window.document,o=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,s=/^(?:text|application)\/javascript/i,a=/^(?:text|application)\/xml/i,u="application/json",f="text/html",c=/^\s*$/;t.active=0,t.ajaxJSONP=function(i,r){if(!("type"in i))return t.ajax(i);var f,h,o=i.jsonpCallback,s=(t.isFunction(o)?o():o)||"jsonp"+ ++e,a=n.createElement("script"),u=window[s],c=function(e){t(a).triggerHandler("error",e||"abort")},l={abort:c};return r&&r.promise(l),t(a).on("load error",function(e,n){clearTimeout(h),t(a).off().remove(),"error"!=e.type&&f?g(f[0],l,i,r):v(null,n||"error",l,i,r),window[s]=u,f&&t.isFunction(u)&&u(f[0]),u=f=void 0}),m(l,i)===!1?(c("abort"),l):(window[s]=function(){f=arguments},a.src=i.url.replace(/\?(.+)=\?/,"?$1="+s),n.head.appendChild(a),i.timeout>0&&(h=setTimeout(function(){c("timeout")},i.timeout)),l)},t.ajaxSettings={type:"GET",beforeSend:x,success:x,error:x,complete:x,context:null,global:!0,xhr:function(){return new window.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript, application/x-javascript",json:u,xml:"application/xml, text/xml",html:f,text:"text/plain"},crossDomain:!1,timeout:0,processData:!0,cache:!0},t.ajax=function(e){var n=t.extend({},e||{}),o=t.Deferred&&t.Deferred();for(i in t.ajaxSettings)void 0===n[i]&&(n[i]=t.ajaxSettings[i]);p(n),n.crossDomain||(n.crossDomain=/^([\w-]+:)?\/\/([^\/]+)/.test(n.url)&&RegExp.$2!=window.location.host),n.url||(n.url=window.location.toString()),E(n),n.cache===!1&&(n.url=w(n.url,"_="+Date.now()));var s=n.dataType,a=/\?.+=\?/.test(n.url);if("jsonp"==s||a)return a||(n.url=w(n.url,n.jsonp?n.jsonp+"=?":n.jsonp===!1?"":"callback=?")),t.ajaxJSONP(n,o);var j,u=n.accepts[s],f={},l=function(t,e){f[t.toLowerCase()]=[t,e]},h=/^([\w-]+:)\/\//.test(n.url)?RegExp.$1:window.location.protocol,d=n.xhr(),y=d.setRequestHeader;if(o&&o.promise(d),n.crossDomain||l("X-Requested-With","XMLHttpRequest"),l("Accept",u||"*/*"),(u=n.mimeType||u)&&(u.indexOf(",")>-1&&(u=u.split(",",2)[0]),d.overrideMimeType&&d.overrideMimeType(u)),(n.contentType||n.contentType!==!1&&n.data&&"GET"!=n.type.toUpperCase())&&l("Content-Type",n.contentType||"application/x-www-form-urlencoded"),n.headers)for(r in n.headers)l(r,n.headers[r]);if(d.setRequestHeader=l,d.onreadystatechange=function(){if(4==d.readyState){d.onreadystatechange=x,clearTimeout(j);var e,i=!1;if(d.status>=200&&d.status<300||304==d.status||0==d.status&&"file:"==h){s=s||b(n.mimeType||d.getResponseHeader("content-type")),e=d.responseText;try{"script"==s?(1,eval)(e):"xml"==s?e=d.responseXML:"json"==s&&(e=c.test(e)?null:t.parseJSON(e))}catch(r){i=r}i?v(i,"parsererror",d,n,o):g(e,d,n,o)}else v(d.statusText||null,d.status?"error":"abort",d,n,o)}},m(d,n)===!1)return d.abort(),v(null,"abort",d,n,o),d;if(n.xhrFields)for(r in n.xhrFields)d[r]=n.xhrFields[r];var T="async"in n?n.async:!0;d.open(n.type,n.url,T,n.username,n.password);for(r in f)y.apply(d,f[r]);return n.timeout>0&&(j=setTimeout(function(){d.onreadystatechange=x,d.abort(),v(null,"timeout",d,n,o)},n.timeout)),d.send(n.data?n.data:null),d},t.get=function(){return t.ajax(j.apply(null,arguments))},t.post=function(){var e=j.apply(null,arguments);return e.type="POST",t.ajax(e)},t.getJSON=function(){var e=j.apply(null,arguments);return e.dataType="json",t.ajax(e)},t.fn.load=function(e,n,i){if(!this.length)return this;var a,r=this,s=e.split(/\s/),u=j(e,n,i),f=u.success;return s.length>1&&(u.url=s[0],a=s[1]),u.success=function(e){r.html(a?t("<div>").html(e.replace(o,"")).find(a):e),f&&f.apply(r,arguments)},t.ajax(u),this};var T=encodeURIComponent;t.param=function(t,e){var n=[];return n.add=function(t,e){this.push(T(t)+"="+T(e))},S(n,t,e),n.join("&").replace(/%20/g,"+")}}(Zepto),function(t){t.fn.serializeArray=function(){var n,e=[];return t([].slice.call(this.get(0).elements)).each(function(){n=t(this);var i=n.attr("type");"fieldset"!=this.nodeName.toLowerCase()&&!this.disabled&&"submit"!=i&&"reset"!=i&&"button"!=i&&("radio"!=i&&"checkbox"!=i||this.checked)&&e.push({name:n.attr("name"),value:n.val()})}),e},t.fn.serialize=function(){var t=[];return this.serializeArray().forEach(function(e){t.push(encodeURIComponent(e.name)+"="+encodeURIComponent(e.value))}),t.join("&")},t.fn.submit=function(e){if(e)this.bind("submit",e);else if(this.length){var n=t.Event("submit");this.eq(0).trigger(n),n.isDefaultPrevented()||this.get(0).submit()}return this}}(Zepto),function(t){"__proto__"in{}||t.extend(t.zepto,{Z:function(e,n){return e=e||[],t.extend(e,t.fn),e.selector=n||"",e.__Z=!0,e},isZ:function(e){return"array"===t.type(e)&&"__Z"in e}});try{getComputedStyle(void 0)}catch(e){var n=getComputedStyle;window.getComputedStyle=function(t){try{return n(t)}catch(e){return null}}}}(Zepto); diff --git a/ucoinj-ui-wicket/src/test/resources/log4j.properties b/ucoinj-ui-wicket/src/test/resources/log4j.properties deleted file mode 100644 index f07ce5b932950c9057841d54abd8bd94233f77a9..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/test/resources/log4j.properties +++ /dev/null @@ -1,29 +0,0 @@ -### -# Global logging configuration -log4j.rootLogger=ERROR, stdout - -# Console output -log4j.appender.stdout=org.apache.log4j.ConsoleAppender -log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %5p (%c:%L) - [%t] %m%n - -# file logging (compatible with Ifremer/RIC) -log4j.appender.file=org.apache.log4j.DailyRollingFileAppender -log4j.appender.file.file=${ucoinj.log.file} -log4j.appender.file.DatePattern='.'yyyy-MM-dd -log4j.appender.file.layout=org.apache.log4j.PatternLayout -log4j.appender.file.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm:ss} %5p (%F:%L) %M %m%n - -# uCoinj levels -log4j.logger.io.ucoin.ucoinj=INFO -#log4j.logger.io.ucoin.ucoinj.core=WARN -log4j.logger.io.ucoin.ucoinj.elasticsearch=DEBUG - -log4j.logger.org.nuiton.util=WARN -log4j.logger.org.nuiton.config=WARN -log4j.logger.org.nuiton.converter=WARN -log4j.logger.org.apache.commons.beanutils=WARN -log4j.logger.org.apache.wicket=WARN -log4j.logger.org.elasticsearch=WARN -log4j.logger.org.springframework=WARN -log4j.logger.org.springframework.security=TRACE \ No newline at end of file diff --git a/ucoinj-ui-wicket/src/test/resources/ucoinj-ui-wicket-test.properties b/ucoinj-ui-wicket/src/test/resources/ucoinj-ui-wicket-test.properties deleted file mode 100644 index 395a80c4b8e8a65b4682231e78bf10a914442db7..0000000000000000000000000000000000000000 --- a/ucoinj-ui-wicket/src/test/resources/ucoinj-ui-wicket-test.properties +++ /dev/null @@ -1,16 +0,0 @@ -ucoinj.basedir=${user.home}/.ucoinj-web - -ucoinj.node.host=metab.ucoin.fr -ucoinj.node.port=9201 - -ucoinj.elasticsearch.embedded.enable=true -ucoinj.elasticsearch.http.enable=true -#ucoinj.elasticsearch.http.enable=false -ucoinj.elasticsearch.local=true - -ucoinj.elasticsearch.cluster.name=ucoinj-elasticsearch-test -#ucoinj.elasticsearch.cluster.name=data.ucoin.fr - -ucoinj.node.elasticsearch.host=localhost -ucoinj.node.elasticsearch.port=9300 -