aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorredmatrix <git@macgirvin.com>2016-07-17 21:40:04 -0700
committerredmatrix <git@macgirvin.com>2016-07-17 21:40:04 -0700
commitde4f9d68bdaade902a8030888f9df035fa1329ec (patch)
tree5021daad0c4002ce9b7c89233b7c8446552b5a07
parent191cd21028ab108c2a7f982c654601d780865eff (diff)
parent571b8cc85b3a770f16aed021bb39b889e0275ed6 (diff)
downloadvolse-hubzilla-de4f9d68bdaade902a8030888f9df035fa1329ec.tar.gz
volse-hubzilla-de4f9d68bdaade902a8030888f9df035fa1329ec.tar.bz2
volse-hubzilla-de4f9d68bdaade902a8030888f9df035fa1329ec.zip
Merge branch 'dev' into perms
-rw-r--r--CHANGELOG41
-rw-r--r--README.md12
-rw-r--r--Zotlabs/Daemon/Cron.php9
-rw-r--r--Zotlabs/Module/Acl.php29
-rw-r--r--Zotlabs/Module/Cloud.php3
-rw-r--r--Zotlabs/Module/Dav.php1
-rw-r--r--Zotlabs/Module/Embedphotos.php2
-rw-r--r--Zotlabs/Module/Home.php13
-rw-r--r--Zotlabs/Module/Lockview.php35
-rw-r--r--Zotlabs/Module/Settings.php101
-rw-r--r--Zotlabs/Storage/Directory.php1
-rw-r--r--Zotlabs/Storage/File.php4
-rw-r--r--Zotlabs/Web/WebServer.php9
-rwxr-xr-xboot.php6
-rw-r--r--doc/service_classes.bb1
-rw-r--r--include/auth.php76
-rw-r--r--include/channel.php25
-rw-r--r--include/perm_upgrade.php (renamed from install/perm_upgrade.php)7
-rw-r--r--include/security.php38
-rw-r--r--include/text.php4
-rw-r--r--include/widgets.php9
-rw-r--r--install/schema_mysql.sql17
-rw-r--r--install/schema_postgres.sql15
-rw-r--r--install/update.php49
-rw-r--r--util/hmessages.po3623
-rwxr-xr-xutil/service_class2
-rw-r--r--view/css/bootstrap-red.css1
-rw-r--r--view/css/conversation.css4
-rw-r--r--view/css/mod_directory.css2
-rw-r--r--view/css/mod_settings.css19
-rw-r--r--view/js/jquery-migrate-1.1.1.js511
-rw-r--r--view/js/jquery.js8
-rw-r--r--view/js/jquery.migrate-3.0.0.js2
-rw-r--r--view/js/main.js22
-rw-r--r--view/js/mod_settings.js3
-rw-r--r--view/php/theme_init.php2
-rw-r--r--view/theme/redbasic/css/style.css4
-rw-r--r--view/theme/redbasic/js/redbasic.js9
-rw-r--r--view/theme/redbasic/php/style.php24
-rwxr-xr-xview/tpl/contact_block.tpl1
-rwxr-xr-xview/tpl/cover_photo_widget.tpl20
-rwxr-xr-xview/tpl/photo_album.tpl2
-rw-r--r--view/tpl/settings_tokens.tpl40
43 files changed, 2401 insertions, 2405 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 7fc5835a7..bfb5ad2b2 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,44 @@
+Hubzilla 1.10
+ Wiki:
+ Lots of enhanced functionality, usability improvements, and bugfixes from v1.8
+ Turned into an optional feature (default on) but disabled in UNO
+ Sync:
+ Items are now relocated (links patched) when syncing to clones
+ Access Tokens:
+ New feature - allows members to create access controlled guest logins and create/share 'dropbox' style links to protected resources.
+ UI:
+ Use icons instead of iconic text constructs
+ Only request geolocation permission when creating a post, not on page load
+ provide 'redeliver' option on Delivery Report page for when things really stuff up
+ CalDAV/CardDAV management pages with heaps of functionality
+ Lib:
+ z_fetch_url() updated to accept different request methods and request bodies
+ item_store(), item_store_update() now return the stored items
+ vcard microformat changes to remain spec compliant
+ microformat meta tags added to post/comments
+ AbConfig API changed to use channel_id rather than channel_hash, which was overly complicated to use
+ SuperCurl class added to provide a framework for re-use of obscure CURL options
+ Allow absolute links to CSS/JS files on CDN
+ Add Let'sEncrypt intermediate cert to lib in case you forget to install it on the server
+ Update fullcalendar and jquery (3.1) libs
+ Update sabre/dav to 3.2.0
+ Change content export from a month/year system to begin/end
+ Use streaming I/O for delivering large photos
+ Allow multiple App description files in a single plugin directory
+ optimise a couple of troublesome/inefficient SQL queries
+ avoid sending clone sync packets to dead sites
+ Resolved Issues:
+ channel home page not providing content to clients with javascript disabled
+ Replace '@' obfuscation with html entity rather than the unicode look-alike
+ xchan_query() failing to detect duplicates, resulting in inefficient queries
+ issues with 'use existing photo' for profile photo
+ layout editor "list all layouts" returned empty
+ oembed - better detect video file URLs so they aren't loaded into memory.
+ handcrafted bbcode tables could end up with way too much whitespace due to CRLF translation
+ refresh permissions whitescreen in 1.8
+ force immediate profile photo update on local site
+ regression: 'save bookmarks' post action missing
+
Hubzilla 1.8
Administration:
Cleanup and resolve some edge cases with addon repository manager
diff --git a/README.md b/README.md
index 8a6c003fc..9929f6a16 100644
--- a/README.md
+++ b/README.md
@@ -47,4 +47,16 @@ Possible website applications include
<em><a href="https://github.com/redmatrix/hubzilla/blob/master/install/INSTALL.txt">Installing Hubzilla</a></em>
</p>
+**Who Are We and What Are Our Principles?**
+
+The Hubzilla community is powered by passionate volunteers creating an open source **commons** of decentralised services which are highly integrated and can rival the feature set of centralised providers. We are open to sponsorship and donations to cover expenses and compensate for our time and energy, however the project core is basically non-profit and is not designed for the purpose of commercial gain or exploitation.
+
+Some sites may include monetisation strategies such as subscriptions and *freemium* models where members pay for resources they consume beyond a basic level. The project community supports such monetisation initiatives (nobody should be forced to pay "out of pocket" to provide a service to others), but we maintain the **commons** to provide open and free access of the software to all.
+
+The software is not designed for data collection of its members or providing advertising. We don't have a need or desire for these things and feel that software built around these goals is poorly designed and represents compromised principles and ethics.
+
+As a project, we are inclusive of all beliefs and cultures and do what we are able to provide an environment that is free from hostility and harrassment. Whether or not we succeed in this endaevour requires constant vigilance and help from all members of the community, working together to build an inter-networking tool with amazing potential.
+
+
+
[![Build Status](https://travis-ci.org/redmatrix/hubzilla.svg)](https://travis-ci.org/redmatrix/hubzilla)
diff --git a/Zotlabs/Daemon/Cron.php b/Zotlabs/Daemon/Cron.php
index d5b41274b..5af8174bf 100644
--- a/Zotlabs/Daemon/Cron.php
+++ b/Zotlabs/Daemon/Cron.php
@@ -62,6 +62,15 @@ class Cron {
}
+ // delete expired access tokens
+
+ q("delete from atoken where atoken_expires != '%s' && atoken_expires < %s",
+ dbesc(NULL_DATE),
+ dbutcnow()
+ );
+
+
+
// Ensure that every channel pings a directory server once a month. This way we can discover
// channels and sites that quietly vanished and prevent the directory from accumulating stale
// or dead entries.
diff --git a/Zotlabs/Module/Acl.php b/Zotlabs/Module/Acl.php
index 0e02a2f66..4e746e218 100644
--- a/Zotlabs/Module/Acl.php
+++ b/Zotlabs/Module/Acl.php
@@ -146,13 +146,40 @@ class Acl extends \Zotlabs\Web\Controller {
if(local_channel()) {
if($extra_channels_sql != '')
$extra_channels_sql = " OR (abook_channel IN ($extra_channels_sql)) and abook_hidden = 0 ";
+
+ $r2 = null;
+
+ $r1 = q("select * from atoken where atoken_uid = %d",
+ intval(local_channel())
+ );
+ if($r1) {
+ require_once('include/security.php');
+ $r2 = array();
+ foreach($r1 as $rr) {
+ $x = atoken_xchan($rr);
+ $r2[] = [
+ 'id' => 'a' . $rr['atoken_id'] ,
+ 'hash' => $x['xchan_hash'],
+ 'name' => $x['xchan_name'],
+ 'micro' => $x['xchan_photo_m'],
+ 'url' => z_root(),
+ 'nick' => $x['xchan_addr'],
+ 'abook_their_perms' => 0,
+ 'abook_flags' => 0,
+ 'abook_self' => 0
+ ];
+ }
+ }
+
$r = q("SELECT abook_id as id, xchan_hash as hash, xchan_name as name, xchan_photo_s as micro, xchan_url as url, xchan_addr as nick, abook_their_perms, xchan_pubforum, abook_flags, abook_self
FROM abook left join xchan on abook_xchan = xchan_hash
WHERE (abook_channel = %d $extra_channels_sql) AND abook_blocked = 0 and abook_pending = 0 and xchan_deleted = 0 $sql_extra2 order by $order_extra2 xchan_name asc" ,
intval(local_channel())
);
-
+ if($r2)
+ $r = array_merge($r2,$r);
+
}
else { // Visitors
$r = q("SELECT xchan_hash as id, xchan_hash as hash, xchan_name as name, xchan_photo_s as micro, xchan_url as url, xchan_addr as nick, 0 as abook_their_perms, 0 as abook_flags, 0 as abook_self
diff --git a/Zotlabs/Module/Cloud.php b/Zotlabs/Module/Cloud.php
index 9845c5658..68d84e070 100644
--- a/Zotlabs/Module/Cloud.php
+++ b/Zotlabs/Module/Cloud.php
@@ -13,6 +13,9 @@ use \Zotlabs\Storage;
// composer autoloader for SabreDAV
require_once('vendor/autoload.php');
+require_once('include/attach.php');
+
+
/**
* @brief Fires up the SabreDAV server.
*
diff --git a/Zotlabs/Module/Dav.php b/Zotlabs/Module/Dav.php
index 9b4b576c8..ba2394388 100644
--- a/Zotlabs/Module/Dav.php
+++ b/Zotlabs/Module/Dav.php
@@ -14,6 +14,7 @@ use \Zotlabs\Storage;
// composer autoloader for SabreDAV
require_once('vendor/autoload.php');
+require_once('include/attach.php');
/**
* @brief Fires up the SabreDAV server.
diff --git a/Zotlabs/Module/Embedphotos.php b/Zotlabs/Module/Embedphotos.php
index 2cd420664..0dac873c5 100644
--- a/Zotlabs/Module/Embedphotos.php
+++ b/Zotlabs/Module/Embedphotos.php
@@ -159,7 +159,7 @@ function embedphotos_widget_album($args) {
'$upload' => array(t('Upload'), z_root() . '/photos/' . \App::$profile['channel_address'] . '/upload/' . bin2hex($album)),
'$order' => false,
'$upload_form' => $upload_form,
- '$usage' => $usage_message
+ '$no_fullscreen_btn' => true
));
return $o;
diff --git a/Zotlabs/Module/Home.php b/Zotlabs/Module/Home.php
index f3ba96fdd..79449c3b2 100644
--- a/Zotlabs/Module/Home.php
+++ b/Zotlabs/Module/Home.php
@@ -28,6 +28,19 @@ class Home extends \Zotlabs\Web\Controller {
goaway($dest);
}
+
+ if(remote_channel() && (! $splash) && $_SESSION['atoken']) {
+ $r = q("select * from atoken where atoken_id = %d",
+ intval($_SESSION['atoken'])
+ );
+ if($r) {
+ $x = channelx_by_n($r[0]['atoken_uid']);
+ if($x) {
+ goaway(z_root() . '/channel/' . $x['channel_address']);
+ }
+ }
+ }
+
if(get_account_id() && ! $splash) {
goaway(z_root() . '/new_channel');
diff --git a/Zotlabs/Module/Lockview.php b/Zotlabs/Module/Lockview.php
index 4776e1c56..d86a3c1d8 100644
--- a/Zotlabs/Module/Lockview.php
+++ b/Zotlabs/Module/Lockview.php
@@ -1,17 +1,31 @@
<?php
namespace Zotlabs\Module;
-
+require_once('include/security.php');
class Lockview extends \Zotlabs\Web\Controller {
function get() {
+
+ $atokens = array();
+
+ if(local_channel()) {
+ $at = q("select * from atoken where atoken_uid = %d",
+ intval(local_channel())
+ );
+ if($at) {
+ foreach($at as $t) {
+ $atokens[] = atoken_xchan($t);
+ }
+ }
+ }
$type = ((argc() > 1) ? argv(1) : 0);
if (is_numeric($type)) {
$item_id = intval($type);
$type='item';
- } else {
+ }
+ else {
$item_id = ((argc() > 2) ? intval(argv(2)) : 0);
}
@@ -98,6 +112,13 @@ class Lockview extends \Zotlabs\Web\Controller {
if($r)
foreach($r as $rr)
$l[] = '<li>' . $rr['xchan_name'] . '</li>';
+ if($atokens) {
+ foreach($atokens as $at) {
+ if(in_array("'" . $at['xchan_hash'] . "'",$allowed_users)) {
+ $l[] = '<li>' . $at['xchan_name'] . '</li>';
+ }
+ }
+ }
}
if(count($deny_groups)) {
$r = q("SELECT gname FROM `groups` WHERE hash IN ( " . implode(', ', $deny_groups) . " )");
@@ -110,6 +131,16 @@ class Lockview extends \Zotlabs\Web\Controller {
if($r)
foreach($r as $rr)
$l[] = '<li><strike>' . $rr['xchan_name'] . '</strike></li>';
+
+ if($atokens) {
+ foreach($atokens as $at) {
+ if(in_array("'" . $at['xchan_hash'] . "'",$deny_users)) {
+ $l[] = '<li><strike>' . $at['xchan_name'] . '</strike></li>';
+ }
+ }
+ }
+
+
}
echo $o . implode($l);
diff --git a/Zotlabs/Module/Settings.php b/Zotlabs/Module/Settings.php
index d5b0cd07a..81d76a2dd 100644
--- a/Zotlabs/Module/Settings.php
+++ b/Zotlabs/Module/Settings.php
@@ -117,6 +117,60 @@ class Settings extends \Zotlabs\Web\Controller {
build_sync_packet();
return;
}
+
+
+ if((argc() > 1) && (argv(1) == 'tokens')) {
+ check_form_security_token_redirectOnErr('/settings/tokens', 'settings_tokens');
+ $token_errs = 0;
+ if(array_key_exists('token',$_POST)) {
+ $atoken_id = (($_POST['atoken_id']) ? intval($_POST['atoken_id']) : 0);
+ $name = trim(escape_tags($_POST['name']));
+ $token = trim($_POST['token']);
+ if((! $name) || (! $token))
+ $token_errs ++;
+ if(trim($_POST['expires']))
+ $expires = datetime_convert(date_default_timezone_get(),'UTC',$_POST['expires']);
+ else
+ $expires = NULL_DATE;
+ $max_atokens = service_class_fetch(local_channel(),'access_tokens');
+ if($max_atokens) {
+ $r = q("select count(atoken_id) as total where atoken_uid = %d",
+ intval(local_channel())
+ );
+ if($r && intval($r[0]['total']) >= $max_tokens) {
+ notice( sprintf( t('This channel is limited to %d tokens'), $max_tokens) . EOL);
+ return;
+ }
+ }
+ }
+ if($token_errs) {
+ notice( t('Name and Password are required.') . EOL);
+ return;
+ }
+ if($atoken_id) {
+ $r = q("update atoken set atoken_name = '%s', atoken_token = '%s' atoken_expires = '%s'
+ where atoken_id = %d and atoken_uid = %d",
+ dbesc($name),
+ dbesc($token),
+ dbesc($expires),
+ intval($atoken_id),
+ intval($channel['channel_id'])
+ );
+ }
+ else {
+ $r = q("insert into atoken ( atoken_aid, atoken_uid, atoken_name, atoken_token, atoken_expires )
+ values ( %d, %d, '%s', '%s', '%s' ) ",
+ intval($channel['channel_account_id']),
+ intval($channel['channel_id']),
+ dbesc($name),
+ dbesc($token),
+ dbesc($expires)
+ );
+ }
+
+ info( t('Token saved.') . EOL);
+ return;
+ }
@@ -706,6 +760,53 @@ class Settings extends \Zotlabs\Web\Controller {
));
return $o;
}
+
+ if((argc() > 1) && (argv(1) === 'tokens')) {
+ $atoken = null;
+ if(argc() > 2) {
+ $id = argv(2);
+
+ $atoken = q("select * from atoken where atoken_id = %d and atoken_uid = %d",
+ intval($id),
+ intval(local_channel())
+ );
+
+ if($atoken)
+ $atoken = $atoken[0];
+
+ if($atoken && argc() > 3 && argv(3) === 'drop') {
+ $r = q("delete from atoken where atoken_id = %d",
+ intval($id)
+ );
+ }
+ }
+ $t = q("select * from atoken where atoken_uid = %d",
+ intval(local_channel())
+ );
+
+ $desc = t('Use this form to create temporary access identifiers to share things with non-members. These identities may be used in Access Control Lists and visitors may login using these credentials to access the private content.');
+
+ $desc2 = t('You may also provide <em>dropbox</em> style access links to friends and associates by adding the Login Password to any specific site URL as shown. Examples:');
+
+ $tpl = get_markup_template("settings_tokens.tpl");
+ $o .= replace_macros($tpl, array(
+ '$form_security_token' => get_form_security_token("settings_tokens"),
+ '$title' => t('Guest Access Tokens'),
+ '$desc' => $desc,
+ '$desc2' => $desc2,
+ '$tokens' => $t,
+ '$atoken' => $atoken,
+ '$url1' => z_root() . '/channel/' . $channel['channel_address'],
+ '$url2' => z_root() . '/photos/' . $channel['channel_address'],
+ '$name' => array('name', t('Login Name') . ' <span class="required">*</span>', (($atoken) ? $atoken['atoken_name'] : ''),''),
+ '$token'=> array('token', t('Login Password') . ' <span class="required">*</span>',(($atoken) ? $atoken['atoken_token'] : autoname(8)), ''),
+ '$expires'=> array('expires', t('Expires (yyyy-mm-dd)'), (($atoken['atoken_expires'] && $atoken['atoken_expires'] != NULL_DATE) ? datetime_convert('UTC',date_default_timezone_get(),$atoken['atoken_expires']) : ''), ''),
+ '$submit' => t('Submit')
+ ));
+ return $o;
+ }
+
+
diff --git a/Zotlabs/Storage/Directory.php b/Zotlabs/Storage/Directory.php
index b524b3cab..6242d5274 100644
--- a/Zotlabs/Storage/Directory.php
+++ b/Zotlabs/Storage/Directory.php
@@ -206,7 +206,6 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
throw new DAV\Exception\Forbidden('Permission denied.');
}
- require_once('include/attach.php');
$mimetype = z_mime_content_type($name);
diff --git a/Zotlabs/Storage/File.php b/Zotlabs/Storage/File.php
index ecd15cc55..5a70a99f1 100644
--- a/Zotlabs/Storage/File.php
+++ b/Zotlabs/Storage/File.php
@@ -337,6 +337,10 @@ class File extends DAV\Node implements DAV\IFile {
}
}
+ if(get_pconfig($this->auth->owner_id,'system','os_delete_prohibit') && \App::$module == 'dav') {
+ throw new DAV\Exception\Forbidden('Permission denied.');
+ }
+
attach_delete($this->auth->owner_id, $this->data['hash']);
$ch = channelx_by_n($this->auth->owner_id);
diff --git a/Zotlabs/Web/WebServer.php b/Zotlabs/Web/WebServer.php
index 88ab4995b..d4f3cb9ea 100644
--- a/Zotlabs/Web/WebServer.php
+++ b/Zotlabs/Web/WebServer.php
@@ -59,7 +59,14 @@ class WebServer {
\App::$query_string = strip_zids(\App::$query_string);
if(! local_channel()) {
$_SESSION['my_address'] = $_GET['zid'];
- zid_init($a);
+ zid_init();
+ }
+ }
+
+ if((x($_GET,'zat')) && (! \App::$install)) {
+ \App::$query_string = strip_zats(\App::$query_string);
+ if(! local_channel()) {
+ zat_init();
}
}
diff --git a/boot.php b/boot.php
index 6abc4137e..8847894db 100755
--- a/boot.php
+++ b/boot.php
@@ -44,10 +44,10 @@ require_once('include/account.php');
define ( 'PLATFORM_NAME', 'hubzilla' );
-define ( 'STD_VERSION', '1.9' );
+define ( 'STD_VERSION', '1.11' );
define ( 'ZOT_REVISION', '1.1' );
-define ( 'DB_UPDATE_VERSION', 1180 );
+define ( 'DB_UPDATE_VERSION', 1181 );
/**
@@ -1703,7 +1703,7 @@ function login($register = false, $form_id = 'main-login', $hiddens=false) {
'$logout' => t('Logout'),
'$login' => t('Login'),
'$form_id' => $form_id,
- '$lname' => array('username', t('Email') , '', ''),
+ '$lname' => array('username', t('Login/Email') , '', ''),
'$lpassword' => array('password', t('Password'), '', ''),
'$remember_me' => array('remember_me', t('Remember me'), '', '',array(t('No'),t('Yes'))),
'$hiddens' => $hiddens,
diff --git a/doc/service_classes.bb b/doc/service_classes.bb
index e5d4ecfad..4dead5d29 100644
--- a/doc/service_classes.bb
+++ b/doc/service_classes.bb
@@ -35,3 +35,4 @@ attach_upload_limit - maximum file upload storage (bytes)
minimum_feedcheck_minutes - lowest setting allowed for polling rss feeds
chatrooms - maximum chatrooms
chatters_inroom - maximum chatters per room
+access_tokens - maximum number of Guest Access Tokens per channel \ No newline at end of file
diff --git a/include/auth.php b/include/auth.php
index 01fcf0094..79d04c728 100644
--- a/include/auth.php
+++ b/include/auth.php
@@ -36,22 +36,33 @@ function account_verify_password($email, $pass) {
// you have to verify the email and then go through the account approval workflow before
// letting them login.
- if(($email_verify) && ($register_policy == REGISTER_OPEN) && ($record['account_flags'] & ACCOUNT_UNVERIFIED))
- return null;
+ // @bug there is no record here
+ //if(($email_verify) && ($register_policy == REGISTER_OPEN) && ($record['account_flags'] & ACCOUNT_UNVERIFIED))
+ // return null;
$r = q("select * from account where account_email = '%s'",
dbesc($email)
);
- if(! ($r && count($r)))
- return null;
-
- foreach($r as $record) {
- if(($record['account_flags'] == ACCOUNT_OK)
- && (hash('whirlpool', $record['account_salt'] . $pass) === $record['account_password'])) {
- logger('password verified for ' . $email);
- return $record;
+ if($r) {
+
+ foreach($r as $record) {
+ if(($record['account_flags'] == ACCOUNT_OK)
+ && (hash('whirlpool', $record['account_salt'] . $pass) === $record['account_password'])) {
+ logger('password verified for ' . $email);
+ return $record;
+ }
}
}
+
+ $x = q("select * from atoken where atoken_name = '%s' and atoken_token = '%s' limit 1",
+ dbesc($email),
+ dbesc($pass)
+ );
+ if($x) {
+ atoken_login($x[0]);
+ return $x[0];
+ }
+
$error = 'password failed for ' . $email;
logger($error);
@@ -123,10 +134,18 @@ if((isset($_SESSION)) && (x($_SESSION, 'authenticated')) &&
authenticate_success($x[0], true, true);
}
}
-
- $r = q("select * from xchan left join hubloc on xchan_hash = hubloc_hash where xchan_hash = '%s' limit 1",
- dbesc($_SESSION['visitor_id'])
- );
+ if(array_key_exists('atoken',$_SESSION)) {
+ $y = q("select * from atoken where atoken_id = %d limit 1",
+ intval($_SESSION['atoken'])
+ );
+ if($y)
+ $r = array(atoken_xchan($y[0]));
+ }
+ else {
+ $r = q("select * from xchan left join hubloc on xchan_hash = hubloc_hash where xchan_hash = '%s' limit 1",
+ dbesc($_SESSION['visitor_id'])
+ );
+ }
if($r) {
App::set_observer($r[0]);
}
@@ -199,20 +218,27 @@ else {
call_hooks('authenticate', $addon_auth);
+ $atoken = false;
+
if(($addon_auth['authenticated']) && (count($addon_auth['user_record']))) {
$record = $addon_auth['user_record'];
}
else {
- $record = App::$account = account_verify_password($_POST['username'], $_POST['password']);
-
- if(App::$account) {
- $_SESSION['account_id'] = App::$account['account_id'];
- }
- else {
- notice( t('Failed authentication') . EOL);
+ $x = account_verify_password($_POST['username'], $_POST['password']);
+ if(array_key_exists('atoken',$x))
+ $atoken = true;
+ if(! $atoken) {
+ $record = App::$account = $x;
+
+ if(App::$account) {
+ $_SESSION['account_id'] = App::$account['account_id'];
+ }
+ else {
+ notice( t('Failed authentication') . EOL);
+ }
+
+ logger('authenticate: ' . print_r(App::$account, true), LOGGER_ALL);
}
-
- logger('authenticate: ' . print_r(App::$account, true), LOGGER_ALL);
}
if((! $record) || (! count($record))) {
@@ -252,7 +278,8 @@ else {
// if we haven't failed up this point, log them in.
$_SESSION['last_login_date'] = datetime_convert();
- authenticate_success($record, true, true);
+ if(! $atoken)
+ authenticate_success($record, true, true);
}
}
@@ -270,6 +297,7 @@ else {
* @return int|bool
* Return channel_id from pconfig or false.
*/
+
function match_openid($authid) {
// Query the uid/channel_id from pconfig for a given value.
$r = q("SELECT uid FROM pconfig WHERE cat = 'system' AND k = 'openid' AND v = '%s' LIMIT 1",
diff --git a/include/channel.php b/include/channel.php
index 28eac9d4c..0defc3863 100644
--- a/include/channel.php
+++ b/include/channel.php
@@ -1310,13 +1310,12 @@ function get_my_address() {
* If somebody arrives at our site using a zid, add their xchan to our DB if we don't have it already.
* And if they aren't already authenticated here, attempt reverse magic auth.
*
- * @param App &$a
*
* @hooks 'zid_init'
* string 'zid' - their zid
* string 'url' - the destination url
*/
-function zid_init(&$a) {
+function zid_init() {
$tmp_str = get_my_address();
if(validate_email($tmp_str)) {
Zotlabs\Daemon\Master::Summon(array('Gprobe',bin2hex($tmp_str)));
@@ -1343,6 +1342,28 @@ function zid_init(&$a) {
}
/**
+ * @brief
+ *
+ * If somebody arrives at our site using a zat, authenticate them
+ *
+ */
+
+function zat_init() {
+ if(local_channel() || remote_channel())
+ return;
+
+ $r = q("select * from atoken where atoken_token = '%s' limit 1",
+ dbesc($_REQUEST['zat'])
+ );
+ if($r) {
+ atoken_login($r[0]);
+ }
+
+}
+
+
+
+/**
* @brief Adds a zid parameter to a url.
*
* @param string $s
diff --git a/install/perm_upgrade.php b/include/perm_upgrade.php
index 38e951be3..1f410f711 100644
--- a/install/perm_upgrade.php
+++ b/include/perm_upgrade.php
@@ -20,8 +20,6 @@ function perm_limits_upgrade($channel) {
}
-
-
function perm_abook_upgrade($abook) {
set_abconfig($abook['abook_channel'],$abook['abook_xchan'],'their_perms','view_stream',intval(($abook['abook_their_perms'] & PERMS_R_STREAM)? 1 : 0));
set_abconfig($abook['abook_channel'],$abook['abook_xchan'],'their_perms','view_profile',intval(($abook['abook_their_perms'] & PERMS_R_PROFILE)? 1 : 0));
@@ -60,4 +58,7 @@ function perm_abook_upgrade($abook) {
set_abconfig($abook['abook_channel'],$abook['abook_xchan'],'my_perms','delegate',intval(($abook['abook_my_perms'] & PERMS_A_DELEGATE)? 1 : 0));
-} \ No newline at end of file
+}
+
+
+
diff --git a/include/security.php b/include/security.php
index 2ab6bf075..3f31c7d9b 100644
--- a/include/security.php
+++ b/include/security.php
@@ -82,6 +82,44 @@ function authenticate_success($user_record, $login_initial = false, $interactive
/* else just return */
}
+function atoken_login($atoken) {
+ if(! $atoken)
+ return false;
+
+ $xchan = atoken_xchan($atoken);
+
+ $_SESSION['authenticated'] = 1;
+ $_SESSION['visitor_id'] = $xchan['xchan_hash'];
+ $_SESSION['atoken'] = $atoken['atoken_id'];
+
+ \App::set_observer($xchan);
+
+ return [ 'atoken' => true ];
+}
+
+
+function atoken_xchan($atoken) {
+
+ $c = channelx_by_n($atoken['atoken_uid']);
+ if($c) {
+ return [
+ 'xchan_hash' => substr($c['channel_hash'],0,16) . '.' . $atoken['atoken_name'],
+ 'xchan_name' => $atoken['atoken_name'],
+ 'xchan_addr' => t('guest:') . $atoken['atoken_name'] . '@' . \App::get_hostname(),
+ 'xchan_network' => 'unknown',
+ 'xchan_hidden' => 1,
+ 'xchan_photo_mimetype' => 'image/jpeg',
+ 'xchan_photo_l' => get_default_profile_photo(300),
+ 'xchan_photo_m' => get_default_profile_photo(80),
+ 'xchan_photo_s' => get_default_profile_photo(48)
+
+ ];
+ }
+
+}
+
+
+
/**
* @brief Change to another channel with current logged-in account.
*
diff --git a/include/text.php b/include/text.php
index ba7d9cc5b..af51f9963 100644
--- a/include/text.php
+++ b/include/text.php
@@ -774,6 +774,10 @@ function strip_zids($s) {
return preg_replace('/[\?&]zid=(.*?)(&|$)/ism','$2',$s);
}
+function strip_zats($s) {
+ return preg_replace('/[\?&]zat=(.*?)(&|$)/ism','$2',$s);
+}
+
// quick and dirty quoted_printable encoding
diff --git a/include/widgets.php b/include/widgets.php
index dbcaef409..3516e82da 100644
--- a/include/widgets.php
+++ b/include/widgets.php
@@ -609,6 +609,15 @@ function widget_settings_menu($arr) {
'selected' => ((argv(1) === 'oauth') ? 'active' : ''),
);
+ if(! UNO) {
+ $tabs[] = array(
+ 'label' => t('Guest Access Tokens'),
+ 'url' => z_root() . '/settings/tokens',
+ 'selected' => ((argv(1) === 'tokens') ? 'active' : ''),
+ );
+ }
+
+
if($role === false || $role === 'custom') {
$tabs[] = array(
'label' => t('Connection Default Permissions'),
diff --git a/install/schema_mysql.sql b/install/schema_mysql.sql
index 1cb1b2807..5e5b9d5be 100644
--- a/install/schema_mysql.sql
+++ b/install/schema_mysql.sql
@@ -141,6 +141,23 @@ CREATE TABLE IF NOT EXISTS `app` (
KEY `app_edited` (`app_edited`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+CREATE TABLE IF NOT EXISTS `atoken` (
+ `atoken_id` int(11) NOT NULL AUTO_INCREMENT,
+ `atoken_aid` int(11) NOT NULL DEFAULT 0,
+ `atoken_uid` int(11) NOT NULL DEFAULT 0,
+ `atoken_name` char(255) NOT NULL DEFAULT '',
+ `atoken_token` char(255) NOT NULL DEFAULT '',
+ `atoken_expires` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`atoken_id`),
+ KEY `atoken_aid` (`atoken_aid`),
+ KEY `atoken_uid` (`atoken_uid`),
+ KEY `atoken_uid_2` (`atoken_uid`),
+ KEY `atoken_name` (`atoken_name`),
+ KEY `atoken_token` (`atoken_token`),
+ KEY `atoken_expires` (`atoken_expires`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
CREATE TABLE IF NOT EXISTS `attach` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`aid` int(10) unsigned NOT NULL DEFAULT '0',
diff --git a/install/schema_postgres.sql b/install/schema_postgres.sql
index c48007317..44711c190 100644
--- a/install/schema_postgres.sql
+++ b/install/schema_postgres.sql
@@ -137,6 +137,21 @@ create index "app_created" on app ("app_created");
create index "app_edited" on app ("app_edited");
create index "app_deleted" on app ("app_deleted");
create index "app_system" on app ("app_system");
+
+CREATE TABLE "atoken" (
+ "atoken_id" serial NOT NULL,
+ "atoken_aid" bigint NOT NULL DEFAULT 0,
+ "atoken_uid" bigint NOT NULL DEFAULT 0,
+ "atoken_name" varchar(255) NOT NULL DEFAULT '',
+ "atoken_token" varchar(255) NOT NULL DEFAULT '',
+ "atoken_expires" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ PRIMARY KEY ("atoken_id"));
+create index atoken_aid on atoken (atoken_aid);
+create index atoken_uid on atoken (atoken_uid);
+create index atoken_name on atoken (atoken_name);
+create index atoken_token on atoken (atoken_token);
+create index atoken_expires on atoken (atoken_expires);
+
CREATE TABLE "attach" (
"id" serial NOT NULL,
"aid" bigint NOT NULL DEFAULT '0',
diff --git a/install/update.php b/install/update.php
index 366764f65..81f9efb21 100644
--- a/install/update.php
+++ b/install/update.php
@@ -1,6 +1,6 @@
<?php
-define( 'UPDATE_VERSION' , 1180 );
+define( 'UPDATE_VERSION' , 1181 );
/**
*
@@ -2364,7 +2364,49 @@ function update_r1178() {
function update_r1179() {
- require_once('install/perm_upgrade.php');
+ if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
+ $r1 = q("CREATE TABLE atoken (
+ atoken_id serial NOT NULL,
+ atoken_aid bigint NOT NULL DEFAULT 0,
+ atoken_uid bigint NOT NULL DEFAULT 0,
+ atoken_name varchar(255) NOT NULL DEFAULT '',
+ atoken_token varchar(255) NOT NULL DEFAULT '',
+ atoken_expires timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ PRIMARY KEY (atoken_id)) ");
+ $r2 = q("create index atoken_aid on atoken (atoken_aid)");
+ $r3 = q("create index atoken_uid on atoken (atoken_uid)");
+ $r4 = q("create index atoken_name on atoken (atoken_name)");
+ $r5 = q("create index atoken_token on atoken (atoken_token)");
+ $r6 = q("create index atoken_expires on atoken (atoken_expires)");
+
+ $r = $r1 && $r2 && $r3 && $r4 && $r5 && $r6;
+
+ }
+ else {
+ $r = q("CREATE TABLE IF NOT EXISTS `atoken` (
+ `atoken_id` int(11) NOT NULL AUTO_INCREMENT,
+ `atoken_aid` int(11) NOT NULL DEFAULT 0,
+ `atoken_uid` int(11) NOT NULL DEFAULT 0,
+ `atoken_name` char(255) NOT NULL DEFAULT '',
+ `atoken_token` char(255) NOT NULL DEFAULT '',
+ `atoken_expires` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`atoken_id`),
+ KEY `atoken_aid` (`atoken_aid`),
+ KEY `atoken_uid` (`atoken_uid`),
+ KEY `atoken_name` (`atoken_name`),
+ KEY `atoken_token` (`atoken_token`),
+ KEY `atoken_expires` (`atoken_expires`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 ");
+ }
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+
+}
+
+function update_r1180() {
+
+ require_once('include/perm_upgrade.php');
$r1 = q("select * from channel where true");
if($r1) {
@@ -2384,6 +2426,5 @@ function update_r1179() {
if($r)
return UPDATE_SUCCESS;
return UPDATE_FAILED;
+}
-
-} \ No newline at end of file
diff --git a/util/hmessages.po b/util/hmessages.po
index 8ab5226e5..b076aadf8 100644
--- a/util/hmessages.po
+++ b/util/hmessages.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-07-08 00:02-0700\n"
+"POT-Creation-Date: 2016-07-15 00:02-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "parent"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2609
+#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2613
msgid "Collection"
msgstr ""
@@ -45,17 +45,17 @@ msgstr ""
msgid "Schedule Outbox"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Module/Photos.php:798
-#: ../../Zotlabs/Module/Photos.php:1243
+#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Module/Photos.php:796
+#: ../../Zotlabs/Module/Photos.php:1241
#: ../../Zotlabs/Module/Embedphotos.php:147 ../../Zotlabs/Lib/Apps.php:490
-#: ../../Zotlabs/Lib/Apps.php:565 ../../include/conversation.php:1035
-#: ../../include/widgets.php:1563
+#: ../../Zotlabs/Lib/Apps.php:565 ../../include/widgets.php:1594
+#: ../../include/conversation.php:1035
msgid "Unknown"
msgstr ""
#: ../../Zotlabs/Storage/Browser.php:226 ../../Zotlabs/Module/Fbrowser.php:85
-#: ../../Zotlabs/Lib/Apps.php:217 ../../include/conversation.php:1654
-#: ../../include/nav.php:93
+#: ../../Zotlabs/Lib/Apps.php:217 ../../include/nav.php:93
+#: ../../include/conversation.php:1654
msgid "Files"
msgstr ""
@@ -70,21 +70,21 @@ msgstr ""
#: ../../Zotlabs/Storage/Browser.php:230 ../../Zotlabs/Storage/Browser.php:306
#: ../../Zotlabs/Module/Layouts.php:184 ../../Zotlabs/Module/Menu.php:118
#: ../../Zotlabs/Module/New_channel.php:142
-#: ../../Zotlabs/Module/Blocks.php:159 ../../Zotlabs/Module/Webpages.php:194
+#: ../../Zotlabs/Module/Blocks.php:159 ../../Zotlabs/Module/Webpages.php:193
msgid "Create"
msgstr ""
#: ../../Zotlabs/Storage/Browser.php:231 ../../Zotlabs/Storage/Browser.php:308
#: ../../Zotlabs/Module/Cover_photo.php:357
-#: ../../Zotlabs/Module/Photos.php:825 ../../Zotlabs/Module/Photos.php:1364
+#: ../../Zotlabs/Module/Photos.php:823 ../../Zotlabs/Module/Photos.php:1362
#: ../../Zotlabs/Module/Profile_photo.php:390
-#: ../../Zotlabs/Module/Embedphotos.php:159 ../../include/widgets.php:1576
+#: ../../Zotlabs/Module/Embedphotos.php:159 ../../include/widgets.php:1607
msgid "Upload"
msgstr ""
#: ../../Zotlabs/Storage/Browser.php:235 ../../Zotlabs/Module/Chat.php:247
-#: ../../Zotlabs/Module/Admin.php:1223 ../../Zotlabs/Module/Settings.php:592
-#: ../../Zotlabs/Module/Settings.php:618
+#: ../../Zotlabs/Module/Admin.php:1223 ../../Zotlabs/Module/Settings.php:627
+#: ../../Zotlabs/Module/Settings.php:653
#: ../../Zotlabs/Module/Sharedwithme.php:99
msgid "Name"
msgstr ""
@@ -94,7 +94,7 @@ msgid "Type"
msgstr ""
#: ../../Zotlabs/Storage/Browser.php:237
-#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1320
+#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1324
msgid "Size"
msgstr ""
@@ -107,27 +107,27 @@ msgstr ""
#: ../../Zotlabs/Module/Connections.php:290
#: ../../Zotlabs/Module/Connections.php:310
#: ../../Zotlabs/Module/Editlayout.php:114
-#: ../../Zotlabs/Module/Editwebpage.php:146
+#: ../../Zotlabs/Module/Editwebpage.php:145
#: ../../Zotlabs/Module/Layouts.php:192 ../../Zotlabs/Module/Menu.php:112
#: ../../Zotlabs/Module/Admin.php:2113 ../../Zotlabs/Module/Blocks.php:160
#: ../../Zotlabs/Module/Editblock.php:109
-#: ../../Zotlabs/Module/Settings.php:652 ../../Zotlabs/Module/Thing.php:260
-#: ../../Zotlabs/Module/Webpages.php:195 ../../Zotlabs/Lib/Apps.php:341
+#: ../../Zotlabs/Module/Settings.php:687 ../../Zotlabs/Module/Thing.php:260
+#: ../../Zotlabs/Module/Webpages.php:194 ../../Zotlabs/Lib/Apps.php:341
#: ../../Zotlabs/Lib/ThreadItem.php:106 ../../include/page_widgets.php:9
-#: ../../include/page_widgets.php:39 ../../include/menu.php:108
-#: ../../include/channel.php:961 ../../include/channel.php:965
+#: ../../include/page_widgets.php:39 ../../include/channel.php:961
+#: ../../include/channel.php:965 ../../include/menu.php:108
msgid "Edit"
msgstr ""
#: ../../Zotlabs/Storage/Browser.php:241 ../../Zotlabs/Module/Connedit.php:578
#: ../../Zotlabs/Module/Connections.php:263
#: ../../Zotlabs/Module/Editlayout.php:137
-#: ../../Zotlabs/Module/Editwebpage.php:170 ../../Zotlabs/Module/Group.php:177
-#: ../../Zotlabs/Module/Photos.php:1173 ../../Zotlabs/Module/Admin.php:1039
+#: ../../Zotlabs/Module/Editwebpage.php:169 ../../Zotlabs/Module/Group.php:177
+#: ../../Zotlabs/Module/Photos.php:1171 ../../Zotlabs/Module/Admin.php:1039
#: ../../Zotlabs/Module/Admin.php:1213 ../../Zotlabs/Module/Admin.php:2114
#: ../../Zotlabs/Module/Blocks.php:162 ../../Zotlabs/Module/Editblock.php:134
-#: ../../Zotlabs/Module/Settings.php:653 ../../Zotlabs/Module/Thing.php:261
-#: ../../Zotlabs/Module/Webpages.php:197 ../../Zotlabs/Lib/Apps.php:342
+#: ../../Zotlabs/Module/Settings.php:688 ../../Zotlabs/Module/Thing.php:261
+#: ../../Zotlabs/Module/Webpages.php:196 ../../Zotlabs/Lib/Apps.php:342
#: ../../Zotlabs/Lib/ThreadItem.php:126 ../../include/conversation.php:660
msgid "Delete"
msgstr ""
@@ -154,7 +154,7 @@ msgstr ""
msgid "Upload file"
msgstr ""
-#: ../../Zotlabs/Web/WebServer.php:120 ../../Zotlabs/Module/Dreport.php:10
+#: ../../Zotlabs/Web/WebServer.php:127 ../../Zotlabs/Module/Dreport.php:10
#: ../../Zotlabs/Module/Dreport.php:66 ../../Zotlabs/Module/Group.php:72
#: ../../Zotlabs/Module/Like.php:284 ../../Zotlabs/Module/Import_items.php:114
#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Subthread.php:62
@@ -162,10 +162,10 @@ msgstr ""
msgid "Permission denied"
msgstr ""
-#: ../../Zotlabs/Web/WebServer.php:121 ../../Zotlabs/Web/Router.php:65
+#: ../../Zotlabs/Web/WebServer.php:128 ../../Zotlabs/Web/Router.php:65
#: ../../Zotlabs/Module/Achievements.php:34
#: ../../Zotlabs/Module/Connedit.php:366 ../../Zotlabs/Module/Id.php:76
-#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Events.php:265
+#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Events.php:264
#: ../../Zotlabs/Module/Bookmarks.php:61 ../../Zotlabs/Module/Editpost.php:17
#: ../../Zotlabs/Module/Page.php:35 ../../Zotlabs/Module/Page.php:91
#: ../../Zotlabs/Module/Connections.php:33
@@ -173,26 +173,26 @@ msgstr ""
#: ../../Zotlabs/Module/Cover_photo.php:290 ../../Zotlabs/Module/Chat.php:100
#: ../../Zotlabs/Module/Chat.php:105 ../../Zotlabs/Module/Editlayout.php:67
#: ../../Zotlabs/Module/Editlayout.php:90
-#: ../../Zotlabs/Module/Editwebpage.php:69
-#: ../../Zotlabs/Module/Editwebpage.php:90
-#: ../../Zotlabs/Module/Editwebpage.php:105
-#: ../../Zotlabs/Module/Editwebpage.php:127 ../../Zotlabs/Module/Group.php:13
+#: ../../Zotlabs/Module/Editwebpage.php:68
+#: ../../Zotlabs/Module/Editwebpage.php:89
+#: ../../Zotlabs/Module/Editwebpage.php:104
+#: ../../Zotlabs/Module/Editwebpage.php:126 ../../Zotlabs/Module/Group.php:13
#: ../../Zotlabs/Module/Appman.php:75 ../../Zotlabs/Module/Pdledit.php:26
-#: ../../Zotlabs/Module/Filestorage.php:24
-#: ../../Zotlabs/Module/Filestorage.php:79
-#: ../../Zotlabs/Module/Filestorage.php:94
-#: ../../Zotlabs/Module/Filestorage.php:121
+#: ../../Zotlabs/Module/Filestorage.php:23
+#: ../../Zotlabs/Module/Filestorage.php:78
+#: ../../Zotlabs/Module/Filestorage.php:93
+#: ../../Zotlabs/Module/Filestorage.php:120
#: ../../Zotlabs/Module/Layouts.php:71 ../../Zotlabs/Module/Layouts.php:78
#: ../../Zotlabs/Module/Layouts.php:89 ../../Zotlabs/Module/Like.php:181
#: ../../Zotlabs/Module/Profiles.php:203 ../../Zotlabs/Module/Profiles.php:601
#: ../../Zotlabs/Module/Item.php:211 ../../Zotlabs/Module/Item.php:219
-#: ../../Zotlabs/Module/Item.php:1072 ../../Zotlabs/Module/Photos.php:75
+#: ../../Zotlabs/Module/Item.php:1067 ../../Zotlabs/Module/Photos.php:73
#: ../../Zotlabs/Module/Invite.php:17 ../../Zotlabs/Module/Invite.php:91
#: ../../Zotlabs/Module/Locs.php:87 ../../Zotlabs/Module/Mail.php:129
#: ../../Zotlabs/Module/Manage.php:10 ../../Zotlabs/Module/Menu.php:78
#: ../../Zotlabs/Module/Message.php:18 ../../Zotlabs/Module/Mood.php:116
-#: ../../Zotlabs/Module/Network.php:17 ../../Zotlabs/Module/Channel.php:105
-#: ../../Zotlabs/Module/Channel.php:226 ../../Zotlabs/Module/Channel.php:267
+#: ../../Zotlabs/Module/Network.php:15 ../../Zotlabs/Module/Channel.php:104
+#: ../../Zotlabs/Module/Channel.php:225 ../../Zotlabs/Module/Channel.php:266
#: ../../Zotlabs/Module/Mitem.php:115 ../../Zotlabs/Module/New_channel.php:77
#: ../../Zotlabs/Module/New_channel.php:104
#: ../../Zotlabs/Module/Notifications.php:70 ../../Zotlabs/Module/Poke.php:137
@@ -205,22 +205,22 @@ msgstr ""
#: ../../Zotlabs/Module/Common.php:39 ../../Zotlabs/Module/Register.php:77
#: ../../Zotlabs/Module/Regmod.php:21
#: ../../Zotlabs/Module/Service_limits.php:11
-#: ../../Zotlabs/Module/Settings.php:572 ../../Zotlabs/Module/Setup.php:215
+#: ../../Zotlabs/Module/Settings.php:607 ../../Zotlabs/Module/Setup.php:215
#: ../../Zotlabs/Module/Sharedwithme.php:11 ../../Zotlabs/Module/Thing.php:274
#: ../../Zotlabs/Module/Thing.php:294 ../../Zotlabs/Module/Thing.php:331
#: ../../Zotlabs/Module/Sources.php:74 ../../Zotlabs/Module/Suggest.php:30
-#: ../../Zotlabs/Module/Webpages.php:74
+#: ../../Zotlabs/Module/Webpages.php:73
#: ../../Zotlabs/Module/Viewconnections.php:28
#: ../../Zotlabs/Module/Viewconnections.php:33
#: ../../Zotlabs/Module/Viewsrc.php:18 ../../Zotlabs/Module/Api.php:13
#: ../../Zotlabs/Module/Api.php:18 ../../Zotlabs/Lib/Chatroom.php:137
-#: ../../include/photos.php:27 ../../include/attach.php:141
-#: ../../include/attach.php:189 ../../include/attach.php:252
-#: ../../include/attach.php:266 ../../include/attach.php:273
-#: ../../include/attach.php:338 ../../include/attach.php:352
-#: ../../include/attach.php:359 ../../include/attach.php:439
-#: ../../include/attach.php:901 ../../include/attach.php:972
-#: ../../include/attach.php:1124 ../../include/items.php:3449
+#: ../../include/photos.php:27 ../../include/items.php:3449
+#: ../../include/attach.php:141 ../../include/attach.php:189
+#: ../../include/attach.php:252 ../../include/attach.php:266
+#: ../../include/attach.php:273 ../../include/attach.php:338
+#: ../../include/attach.php:352 ../../include/attach.php:359
+#: ../../include/attach.php:439 ../../include/attach.php:901
+#: ../../include/attach.php:972 ../../include/attach.php:1124
msgid "Permission denied."
msgstr ""
@@ -248,10 +248,10 @@ msgstr ""
#: ../../Zotlabs/Module/Achievements.php:15
#: ../../Zotlabs/Module/Connect.php:17 ../../Zotlabs/Module/Editlayout.php:31
-#: ../../Zotlabs/Module/Editwebpage.php:33 ../../Zotlabs/Module/Hcard.php:12
-#: ../../Zotlabs/Module/Filestorage.php:60 ../../Zotlabs/Module/Layouts.php:31
+#: ../../Zotlabs/Module/Editwebpage.php:32 ../../Zotlabs/Module/Hcard.php:12
+#: ../../Zotlabs/Module/Filestorage.php:59 ../../Zotlabs/Module/Layouts.php:31
#: ../../Zotlabs/Module/Profile.php:20 ../../Zotlabs/Module/Blocks.php:33
-#: ../../Zotlabs/Module/Editblock.php:31 ../../Zotlabs/Module/Webpages.php:34
+#: ../../Zotlabs/Module/Editblock.php:31 ../../Zotlabs/Module/Webpages.php:33
#: ../../include/channel.php:861
msgid "Requested profile is not available."
msgstr ""
@@ -289,32 +289,32 @@ msgid "is now connected to"
msgstr ""
#: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Connedit.php:660
-#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:460
-#: ../../Zotlabs/Module/Events.php:469
-#: ../../Zotlabs/Module/Filestorage.php:157
-#: ../../Zotlabs/Module/Filestorage.php:165
-#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Photos.php:666
+#: ../../Zotlabs/Module/Events.php:458 ../../Zotlabs/Module/Events.php:459
+#: ../../Zotlabs/Module/Events.php:468
+#: ../../Zotlabs/Module/Filestorage.php:156
+#: ../../Zotlabs/Module/Filestorage.php:164
+#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Photos.php:664
#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
#: ../../Zotlabs/Module/Mitem.php:158 ../../Zotlabs/Module/Mitem.php:159
#: ../../Zotlabs/Module/Mitem.php:232 ../../Zotlabs/Module/Mitem.php:233
#: ../../Zotlabs/Module/Admin.php:459 ../../Zotlabs/Module/Removeme.php:61
-#: ../../Zotlabs/Module/Settings.php:581 ../../Zotlabs/Module/Api.php:89
+#: ../../Zotlabs/Module/Settings.php:616 ../../Zotlabs/Module/Api.php:89
#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
#: ../../include/dir_fns.php:145 ../../view/theme/redbasic/php/config.php:105
#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1708
msgid "No"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Events.php:459
-#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:469
-#: ../../Zotlabs/Module/Filestorage.php:157
-#: ../../Zotlabs/Module/Filestorage.php:165
-#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Photos.php:666
+#: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Events.php:458
+#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:468
+#: ../../Zotlabs/Module/Filestorage.php:156
+#: ../../Zotlabs/Module/Filestorage.php:164
+#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Photos.php:664
#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
#: ../../Zotlabs/Module/Mitem.php:158 ../../Zotlabs/Module/Mitem.php:159
#: ../../Zotlabs/Module/Mitem.php:232 ../../Zotlabs/Module/Mitem.php:233
#: ../../Zotlabs/Module/Admin.php:461 ../../Zotlabs/Module/Removeme.php:61
-#: ../../Zotlabs/Module/Settings.php:581 ../../Zotlabs/Module/Api.php:88
+#: ../../Zotlabs/Module/Settings.php:616 ../../Zotlabs/Module/Api.php:88
#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
#: ../../include/dir_fns.php:145 ../../view/theme/redbasic/php/config.php:105
#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1708
@@ -340,7 +340,7 @@ msgid "Connection has been removed."
msgstr ""
#: ../../Zotlabs/Module/Connedit.php:525 ../../Zotlabs/Lib/Apps.php:221
-#: ../../include/conversation.php:957 ../../include/nav.php:86
+#: ../../include/nav.php:86 ../../include/conversation.php:957
msgid "View Profile"
msgstr ""
@@ -444,12 +444,12 @@ msgstr ""
msgid "Family"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:598 ../../Zotlabs/Module/Settings.php:342
-#: ../../Zotlabs/Module/Settings.php:346 ../../Zotlabs/Module/Settings.php:347
-#: ../../Zotlabs/Module/Settings.php:350 ../../Zotlabs/Module/Settings.php:361
-#: ../../include/selectors.php:123 ../../include/widgets.php:495
-#: ../../include/channel.php:389 ../../include/channel.php:390
-#: ../../include/channel.php:397
+#: ../../Zotlabs/Module/Connedit.php:598 ../../Zotlabs/Module/Settings.php:377
+#: ../../Zotlabs/Module/Settings.php:381 ../../Zotlabs/Module/Settings.php:382
+#: ../../Zotlabs/Module/Settings.php:385 ../../Zotlabs/Module/Settings.php:396
+#: ../../include/widgets.php:495 ../../include/channel.php:389
+#: ../../include/channel.php:390 ../../include/channel.php:397
+#: ../../include/selectors.php:123
msgid "Friends"
msgstr ""
@@ -487,7 +487,7 @@ msgstr ""
msgid "none"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:708 ../../include/widgets.php:614
+#: ../../Zotlabs/Module/Connedit.php:708 ../../include/widgets.php:623
msgid "Connection Default Permissions"
msgstr ""
@@ -570,14 +570,14 @@ msgid "inherited"
msgstr ""
#: ../../Zotlabs/Module/Connedit.php:737 ../../Zotlabs/Module/Connect.php:98
-#: ../../Zotlabs/Module/Events.php:475 ../../Zotlabs/Module/Cal.php:338
+#: ../../Zotlabs/Module/Events.php:474 ../../Zotlabs/Module/Cal.php:338
#: ../../Zotlabs/Module/Chat.php:196 ../../Zotlabs/Module/Chat.php:238
#: ../../Zotlabs/Module/Group.php:85 ../../Zotlabs/Module/Appman.php:126
#: ../../Zotlabs/Module/Pdledit.php:66
-#: ../../Zotlabs/Module/Filestorage.php:162
+#: ../../Zotlabs/Module/Filestorage.php:161
#: ../../Zotlabs/Module/Profiles.php:687 ../../Zotlabs/Module/Import.php:551
-#: ../../Zotlabs/Module/Photos.php:677 ../../Zotlabs/Module/Photos.php:1052
-#: ../../Zotlabs/Module/Photos.php:1092 ../../Zotlabs/Module/Photos.php:1210
+#: ../../Zotlabs/Module/Photos.php:675 ../../Zotlabs/Module/Photos.php:1050
+#: ../../Zotlabs/Module/Photos.php:1090 ../../Zotlabs/Module/Photos.php:1208
#: ../../Zotlabs/Module/Import_items.php:122
#: ../../Zotlabs/Module/Invite.php:146 ../../Zotlabs/Module/Locs.php:121
#: ../../Zotlabs/Module/Mail.php:378 ../../Zotlabs/Module/Mood.php:139
@@ -587,15 +587,16 @@ msgstr ""
#: ../../Zotlabs/Module/Admin.php:1421 ../../Zotlabs/Module/Admin.php:1648
#: ../../Zotlabs/Module/Admin.php:1733 ../../Zotlabs/Module/Admin.php:2116
#: ../../Zotlabs/Module/Poke.php:186 ../../Zotlabs/Module/Pconfig.php:107
-#: ../../Zotlabs/Module/Rate.php:170 ../../Zotlabs/Module/Settings.php:590
-#: ../../Zotlabs/Module/Settings.php:703 ../../Zotlabs/Module/Settings.php:731
-#: ../../Zotlabs/Module/Settings.php:754 ../../Zotlabs/Module/Settings.php:842
-#: ../../Zotlabs/Module/Settings.php:1034 ../../Zotlabs/Module/Setup.php:312
+#: ../../Zotlabs/Module/Rate.php:170 ../../Zotlabs/Module/Settings.php:625
+#: ../../Zotlabs/Module/Settings.php:738 ../../Zotlabs/Module/Settings.php:779
+#: ../../Zotlabs/Module/Settings.php:805 ../../Zotlabs/Module/Settings.php:828
+#: ../../Zotlabs/Module/Settings.php:916
+#: ../../Zotlabs/Module/Settings.php:1108 ../../Zotlabs/Module/Setup.php:312
#: ../../Zotlabs/Module/Setup.php:353 ../../Zotlabs/Module/Thing.php:316
#: ../../Zotlabs/Module/Thing.php:362 ../../Zotlabs/Module/Sources.php:114
#: ../../Zotlabs/Module/Sources.php:149 ../../Zotlabs/Module/Xchan.php:15
-#: ../../Zotlabs/Lib/ThreadItem.php:710 ../../include/js_strings.php:22
-#: ../../include/widgets.php:754 ../../view/theme/redbasic/php/config.php:99
+#: ../../Zotlabs/Lib/ThreadItem.php:710 ../../include/widgets.php:763
+#: ../../include/js_strings.php:22 ../../view/theme/redbasic/php/config.php:99
msgid "Submit"
msgstr ""
@@ -638,13 +639,13 @@ msgid "Last update:"
msgstr ""
#: ../../Zotlabs/Module/Display.php:17 ../../Zotlabs/Module/Directory.php:63
-#: ../../Zotlabs/Module/Photos.php:522 ../../Zotlabs/Module/Ratings.php:86
+#: ../../Zotlabs/Module/Photos.php:520 ../../Zotlabs/Module/Ratings.php:86
#: ../../Zotlabs/Module/Search.php:17
#: ../../Zotlabs/Module/Viewconnections.php:23
msgid "Public access denied."
msgstr ""
-#: ../../Zotlabs/Module/Display.php:40 ../../Zotlabs/Module/Filestorage.php:33
+#: ../../Zotlabs/Module/Display.php:40 ../../Zotlabs/Module/Filestorage.php:32
#: ../../Zotlabs/Module/Admin.php:164 ../../Zotlabs/Module/Admin.php:1255
#: ../../Zotlabs/Module/Admin.php:1561 ../../Zotlabs/Module/Thing.php:89
#: ../../Zotlabs/Module/Viewsrc.php:24 ../../include/items.php:3370
@@ -771,9 +772,9 @@ msgstr ""
msgid "Age:"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:311 ../../include/event.php:52
-#: ../../include/event.php:84 ../../include/bb2diaspora.php:507
-#: ../../include/channel.php:1051
+#: ../../Zotlabs/Module/Directory.php:311 ../../include/channel.php:1051
+#: ../../include/event.php:52 ../../include/event.php:84
+#: ../../include/bb2diaspora.php:507
msgid "Location:"
msgstr ""
@@ -790,9 +791,9 @@ msgid "About:"
msgstr ""
#: ../../Zotlabs/Module/Directory.php:325 ../../Zotlabs/Module/Match.php:68
-#: ../../Zotlabs/Module/Suggest.php:56 ../../include/conversation.php:959
-#: ../../include/connections.php:78 ../../include/widgets.php:147
+#: ../../Zotlabs/Module/Suggest.php:56 ../../include/widgets.php:147
#: ../../include/widgets.php:184 ../../include/channel.php:1036
+#: ../../include/conversation.php:959 ../../include/connections.php:78
msgid "Connect"
msgstr ""
@@ -911,203 +912,203 @@ msgstr ""
msgid "Restricted or Premium Channel"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:26
+#: ../../Zotlabs/Module/Events.php:25
msgid "Calendar entries imported."
msgstr ""
-#: ../../Zotlabs/Module/Events.php:28
+#: ../../Zotlabs/Module/Events.php:27
msgid "No calendar entries found."
msgstr ""
-#: ../../Zotlabs/Module/Events.php:105
+#: ../../Zotlabs/Module/Events.php:104
msgid "Event can not end before it has started."
msgstr ""
-#: ../../Zotlabs/Module/Events.php:107 ../../Zotlabs/Module/Events.php:116
-#: ../../Zotlabs/Module/Events.php:136
+#: ../../Zotlabs/Module/Events.php:106 ../../Zotlabs/Module/Events.php:115
+#: ../../Zotlabs/Module/Events.php:135
msgid "Unable to generate preview."
msgstr ""
-#: ../../Zotlabs/Module/Events.php:114
+#: ../../Zotlabs/Module/Events.php:113
msgid "Event title and start time are required."
msgstr ""
-#: ../../Zotlabs/Module/Events.php:134 ../../Zotlabs/Module/Events.php:259
+#: ../../Zotlabs/Module/Events.php:133 ../../Zotlabs/Module/Events.php:258
msgid "Event not found."
msgstr ""
-#: ../../Zotlabs/Module/Events.php:254 ../../Zotlabs/Module/Like.php:373
-#: ../../Zotlabs/Module/Tagger.php:51 ../../include/conversation.php:123
-#: ../../include/event.php:949 ../../include/text.php:1920
+#: ../../Zotlabs/Module/Events.php:253 ../../Zotlabs/Module/Like.php:373
+#: ../../Zotlabs/Module/Tagger.php:51 ../../include/event.php:949
+#: ../../include/conversation.php:123 ../../include/text.php:1924
msgid "event"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:449
+#: ../../Zotlabs/Module/Events.php:448
msgid "Edit event title"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:449
+#: ../../Zotlabs/Module/Events.php:448
msgid "Event title"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:449 ../../Zotlabs/Module/Events.php:454
+#: ../../Zotlabs/Module/Events.php:448 ../../Zotlabs/Module/Events.php:453
#: ../../Zotlabs/Module/Appman.php:115 ../../Zotlabs/Module/Appman.php:116
#: ../../Zotlabs/Module/Profiles.php:709 ../../Zotlabs/Module/Profiles.php:713
#: ../../include/datetime.php:245
msgid "Required"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:451
+#: ../../Zotlabs/Module/Events.php:450
msgid "Categories (comma-separated list)"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:452
+#: ../../Zotlabs/Module/Events.php:451
msgid "Edit Category"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:452
+#: ../../Zotlabs/Module/Events.php:451
msgid "Category"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:455
+#: ../../Zotlabs/Module/Events.php:454
msgid "Edit start date and time"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:455
+#: ../../Zotlabs/Module/Events.php:454
msgid "Start date and time"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:456 ../../Zotlabs/Module/Events.php:459
+#: ../../Zotlabs/Module/Events.php:455 ../../Zotlabs/Module/Events.php:458
msgid "Finish date and time are not known or not relevant"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:458
+#: ../../Zotlabs/Module/Events.php:457
msgid "Edit finish date and time"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:458
+#: ../../Zotlabs/Module/Events.php:457
msgid "Finish date and time"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:461
+#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:460
msgid "Adjust for viewer timezone"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:460
+#: ../../Zotlabs/Module/Events.php:459
msgid ""
"Important for events that happen in a particular place. Not practical for "
"global holidays."
msgstr ""
-#: ../../Zotlabs/Module/Events.php:462
+#: ../../Zotlabs/Module/Events.php:461
msgid "Edit Description"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:462 ../../Zotlabs/Module/Appman.php:117
+#: ../../Zotlabs/Module/Events.php:461 ../../Zotlabs/Module/Appman.php:117
#: ../../Zotlabs/Module/Rbmark.php:101
msgid "Description"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:464
+#: ../../Zotlabs/Module/Events.php:463
msgid "Edit Location"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:464 ../../Zotlabs/Module/Profiles.php:477
+#: ../../Zotlabs/Module/Events.php:463 ../../Zotlabs/Module/Profiles.php:477
#: ../../Zotlabs/Module/Profiles.php:698 ../../Zotlabs/Module/Locs.php:117
#: ../../Zotlabs/Module/Pubsites.php:41 ../../include/js_strings.php:25
msgid "Location"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:467 ../../Zotlabs/Module/Events.php:469
+#: ../../Zotlabs/Module/Events.php:466 ../../Zotlabs/Module/Events.php:468
msgid "Share this event"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Photos.php:1093
-#: ../../Zotlabs/Module/Webpages.php:202 ../../Zotlabs/Lib/ThreadItem.php:719
-#: ../../include/conversation.php:1198 ../../include/page_widgets.php:43
+#: ../../Zotlabs/Module/Events.php:469 ../../Zotlabs/Module/Photos.php:1091
+#: ../../Zotlabs/Module/Webpages.php:201 ../../Zotlabs/Lib/ThreadItem.php:719
+#: ../../include/page_widgets.php:43 ../../include/conversation.php:1198
msgid "Preview"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:471 ../../include/conversation.php:1247
+#: ../../Zotlabs/Module/Events.php:470 ../../include/conversation.php:1247
msgid "Permission settings"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:476
+#: ../../Zotlabs/Module/Events.php:475
msgid "Advanced Options"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:588 ../../Zotlabs/Module/Cal.php:259
+#: ../../Zotlabs/Module/Events.php:587 ../../Zotlabs/Module/Cal.php:259
msgid "l, F j"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:610
+#: ../../Zotlabs/Module/Events.php:609
msgid "Edit event"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:612
+#: ../../Zotlabs/Module/Events.php:611
msgid "Delete event"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:637 ../../Zotlabs/Module/Cal.php:308
-#: ../../include/text.php:1708
+#: ../../Zotlabs/Module/Events.php:636 ../../Zotlabs/Module/Cal.php:308
+#: ../../include/text.php:1712
msgid "Link to Source"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:646
+#: ../../Zotlabs/Module/Events.php:645
msgid "calendar"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:665 ../../Zotlabs/Module/Cal.php:331
+#: ../../Zotlabs/Module/Events.php:664 ../../Zotlabs/Module/Cal.php:331
msgid "Edit Event"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:665 ../../Zotlabs/Module/Cal.php:331
+#: ../../Zotlabs/Module/Events.php:664 ../../Zotlabs/Module/Cal.php:331
msgid "Create Event"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:666 ../../Zotlabs/Module/Events.php:675
+#: ../../Zotlabs/Module/Events.php:665 ../../Zotlabs/Module/Events.php:674
#: ../../Zotlabs/Module/Cal.php:332 ../../Zotlabs/Module/Cal.php:339
-#: ../../Zotlabs/Module/Photos.php:949
+#: ../../Zotlabs/Module/Photos.php:947
msgid "Previous"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:667 ../../Zotlabs/Module/Events.php:676
+#: ../../Zotlabs/Module/Events.php:666 ../../Zotlabs/Module/Events.php:675
#: ../../Zotlabs/Module/Cal.php:333 ../../Zotlabs/Module/Cal.php:340
-#: ../../Zotlabs/Module/Photos.php:958 ../../Zotlabs/Module/Setup.php:267
+#: ../../Zotlabs/Module/Photos.php:956 ../../Zotlabs/Module/Setup.php:267
msgid "Next"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:668 ../../Zotlabs/Module/Cal.php:334
+#: ../../Zotlabs/Module/Events.php:667 ../../Zotlabs/Module/Cal.php:334
msgid "Export"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:671 ../../Zotlabs/Module/Layouts.php:197
+#: ../../Zotlabs/Module/Events.php:670 ../../Zotlabs/Module/Layouts.php:197
#: ../../Zotlabs/Module/Pubsites.php:47 ../../Zotlabs/Module/Blocks.php:166
-#: ../../Zotlabs/Module/Webpages.php:201 ../../include/page_widgets.php:42
+#: ../../Zotlabs/Module/Webpages.php:200 ../../include/page_widgets.php:42
msgid "View"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:672
+#: ../../Zotlabs/Module/Events.php:671
msgid "Month"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:673
+#: ../../Zotlabs/Module/Events.php:672
msgid "Week"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:674
+#: ../../Zotlabs/Module/Events.php:673
msgid "Day"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:677 ../../Zotlabs/Module/Cal.php:341
+#: ../../Zotlabs/Module/Events.php:676 ../../Zotlabs/Module/Cal.php:341
msgid "Today"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:708
+#: ../../Zotlabs/Module/Events.php:707
msgid "Event removed"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:711
+#: ../../Zotlabs/Module/Events.php:710
msgid "Failed to remove event"
msgstr ""
@@ -1124,7 +1125,7 @@ msgid "My Connections Bookmarks"
msgstr ""
#: ../../Zotlabs/Module/Editpost.php:24 ../../Zotlabs/Module/Editlayout.php:79
-#: ../../Zotlabs/Module/Editwebpage.php:81
+#: ../../Zotlabs/Module/Editwebpage.php:80
#: ../../Zotlabs/Module/Editblock.php:79 ../../Zotlabs/Module/Editblock.php:95
msgid "Item not found"
msgstr ""
@@ -1133,18 +1134,18 @@ msgstr ""
msgid "Item is not editable"
msgstr ""
-#: ../../Zotlabs/Module/Editpost.php:106 ../../Zotlabs/Module/Rpost.php:135
+#: ../../Zotlabs/Module/Editpost.php:106 ../../Zotlabs/Module/Rpost.php:134
msgid "Edit post"
msgstr ""
#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:222
-#: ../../include/conversation.php:1647 ../../include/nav.php:92
+#: ../../include/nav.php:92 ../../include/conversation.php:1647
msgid "Photos"
msgstr ""
#: ../../Zotlabs/Module/Fbrowser.php:66 ../../Zotlabs/Module/Fbrowser.php:88
-#: ../../Zotlabs/Module/Admin.php:1406 ../../Zotlabs/Module/Settings.php:591
-#: ../../Zotlabs/Module/Settings.php:617 ../../Zotlabs/Module/Tagrm.php:15
+#: ../../Zotlabs/Module/Admin.php:1406 ../../Zotlabs/Module/Settings.php:626
+#: ../../Zotlabs/Module/Settings.php:652 ../../Zotlabs/Module/Tagrm.php:15
#: ../../Zotlabs/Module/Tagrm.php:138 ../../Zotlabs/Module/Wiki.php:166
#: ../../Zotlabs/Module/Wiki.php:202 ../../include/conversation.php:1235
#: ../../include/conversation.php:1274
@@ -1181,7 +1182,7 @@ msgstr ""
#: ../../Zotlabs/Module/Filer.php:53 ../../Zotlabs/Module/Admin.php:2033
#: ../../Zotlabs/Module/Admin.php:2053 ../../Zotlabs/Module/Rbmark.php:32
#: ../../Zotlabs/Module/Rbmark.php:104 ../../include/widgets.php:201
-#: ../../include/text.php:922 ../../include/text.php:934
+#: ../../include/text.php:926 ../../include/text.php:938
msgid "Save"
msgstr ""
@@ -1299,14 +1300,14 @@ msgid "Recent activity"
msgstr ""
#: ../../Zotlabs/Module/Connections.php:302 ../../Zotlabs/Lib/Apps.php:209
-#: ../../include/nav.php:188 ../../include/text.php:851
+#: ../../include/nav.php:188 ../../include/text.php:855
msgid "Connections"
msgstr ""
#: ../../Zotlabs/Module/Connections.php:306 ../../Zotlabs/Module/Search.php:44
-#: ../../Zotlabs/Lib/Apps.php:230 ../../include/acl_selectors.php:276
-#: ../../include/nav.php:167 ../../include/text.php:921
-#: ../../include/text.php:933
+#: ../../Zotlabs/Lib/Apps.php:230 ../../include/nav.php:167
+#: ../../include/acl_selectors.php:274 ../../include/text.php:925
+#: ../../include/text.php:937
msgid "Search"
msgstr ""
@@ -1348,30 +1349,30 @@ msgstr ""
msgid "Unable to process image."
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4297
+#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4284
msgid "female"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4298
+#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4285
#, php-format
msgid "%1$s updated her %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4299
+#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4286
msgid "male"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4300
+#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4287
#, php-format
msgid "%1$s updated his %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4302
+#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4289
#, php-format
msgid "%1$s updated their %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/channel.php:1687
+#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/channel.php:1708
msgid "cover photo"
msgstr ""
@@ -1398,7 +1399,7 @@ msgstr ""
#: ../../Zotlabs/Module/Cover_photo.php:361
#: ../../Zotlabs/Module/Profile_photo.php:396
-#: ../../Zotlabs/Module/Settings.php:985
+#: ../../Zotlabs/Module/Settings.php:1059
msgid "or"
msgstr ""
@@ -1469,7 +1470,7 @@ msgstr ""
msgid "This directory server requires an access token"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:25 ../../Zotlabs/Module/Channel.php:29
+#: ../../Zotlabs/Module/Chat.php:25 ../../Zotlabs/Module/Channel.php:28
#: ../../Zotlabs/Module/Wiki.php:20
msgid "You must be logged in to see this page."
msgstr ""
@@ -1509,7 +1510,7 @@ msgstr ""
msgid "Encrypt text"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:207 ../../Zotlabs/Module/Editwebpage.php:147
+#: ../../Zotlabs/Module/Chat.php:207 ../../Zotlabs/Module/Editwebpage.php:146
#: ../../Zotlabs/Module/Mail.php:252 ../../Zotlabs/Module/Mail.php:377
#: ../../Zotlabs/Module/Editblock.php:111 ../../include/conversation.php:1146
msgid "Insert web link"
@@ -1531,10 +1532,10 @@ msgstr ""
msgid "Expiration of chats (minutes)"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:235 ../../Zotlabs/Module/Filestorage.php:153
-#: ../../Zotlabs/Module/Photos.php:671 ../../Zotlabs/Module/Photos.php:1045
+#: ../../Zotlabs/Module/Chat.php:235 ../../Zotlabs/Module/Filestorage.php:152
+#: ../../Zotlabs/Module/Photos.php:669 ../../Zotlabs/Module/Photos.php:1043
#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:359
-#: ../../include/acl_selectors.php:283
+#: ../../include/acl_selectors.php:281
msgid "Permissions"
msgstr ""
@@ -1639,11 +1640,11 @@ msgstr ""
msgid "Edit Layout"
msgstr ""
-#: ../../Zotlabs/Module/Editwebpage.php:143
+#: ../../Zotlabs/Module/Editwebpage.php:142
msgid "Page link"
msgstr ""
-#: ../../Zotlabs/Module/Editwebpage.php:169
+#: ../../Zotlabs/Module/Editwebpage.php:168
msgid "Edit Webpage"
msgstr ""
@@ -1803,59 +1804,59 @@ msgstr ""
msgid "Activate the Firefox $Projectname provider"
msgstr ""
-#: ../../Zotlabs/Module/Acl.php:227
+#: ../../Zotlabs/Module/Acl.php:288
msgid "network"
msgstr ""
-#: ../../Zotlabs/Module/Acl.php:237
+#: ../../Zotlabs/Module/Acl.php:298
msgid "RSS"
msgstr ""
-#: ../../Zotlabs/Module/Filestorage.php:88
+#: ../../Zotlabs/Module/Filestorage.php:87
msgid "Permission Denied."
msgstr ""
-#: ../../Zotlabs/Module/Filestorage.php:104
+#: ../../Zotlabs/Module/Filestorage.php:103
msgid "File not found."
msgstr ""
-#: ../../Zotlabs/Module/Filestorage.php:147
+#: ../../Zotlabs/Module/Filestorage.php:146
msgid "Edit file permissions"
msgstr ""
-#: ../../Zotlabs/Module/Filestorage.php:156
+#: ../../Zotlabs/Module/Filestorage.php:155
msgid "Set/edit permissions"
msgstr ""
-#: ../../Zotlabs/Module/Filestorage.php:157
+#: ../../Zotlabs/Module/Filestorage.php:156
msgid "Include all files and sub folders"
msgstr ""
-#: ../../Zotlabs/Module/Filestorage.php:158
+#: ../../Zotlabs/Module/Filestorage.php:157
msgid "Return to file list"
msgstr ""
-#: ../../Zotlabs/Module/Filestorage.php:160
+#: ../../Zotlabs/Module/Filestorage.php:159
msgid "Copy/paste this code to attach file to a post"
msgstr ""
-#: ../../Zotlabs/Module/Filestorage.php:161
+#: ../../Zotlabs/Module/Filestorage.php:160
msgid "Copy/paste this URL to link file from a web page"
msgstr ""
-#: ../../Zotlabs/Module/Filestorage.php:163
+#: ../../Zotlabs/Module/Filestorage.php:162
msgid "Share this file"
msgstr ""
-#: ../../Zotlabs/Module/Filestorage.php:164
+#: ../../Zotlabs/Module/Filestorage.php:163
msgid "Show URL to this file"
msgstr ""
-#: ../../Zotlabs/Module/Filestorage.php:165
+#: ../../Zotlabs/Module/Filestorage.php:164
msgid "Notify your contacts about this file"
msgstr ""
-#: ../../Zotlabs/Module/Layouts.php:183 ../../include/text.php:2244
+#: ../../Zotlabs/Module/Layouts.php:183 ../../include/text.php:2248
msgid "Layouts"
msgstr ""
@@ -1868,19 +1869,19 @@ msgid "Layout Description"
msgstr ""
#: ../../Zotlabs/Module/Layouts.php:190 ../../Zotlabs/Module/Menu.php:114
-#: ../../Zotlabs/Module/Blocks.php:157 ../../Zotlabs/Module/Webpages.php:206
+#: ../../Zotlabs/Module/Blocks.php:157 ../../Zotlabs/Module/Webpages.php:205
#: ../../include/page_widgets.php:47
msgid "Created"
msgstr ""
#: ../../Zotlabs/Module/Layouts.php:191 ../../Zotlabs/Module/Menu.php:115
-#: ../../Zotlabs/Module/Blocks.php:158 ../../Zotlabs/Module/Webpages.php:207
+#: ../../Zotlabs/Module/Blocks.php:158 ../../Zotlabs/Module/Webpages.php:206
#: ../../include/page_widgets.php:48
msgid "Edited"
msgstr ""
-#: ../../Zotlabs/Module/Layouts.php:193 ../../Zotlabs/Module/Photos.php:1072
-#: ../../Zotlabs/Module/Blocks.php:161 ../../Zotlabs/Module/Webpages.php:196
+#: ../../Zotlabs/Module/Layouts.php:193 ../../Zotlabs/Module/Photos.php:1070
+#: ../../Zotlabs/Module/Blocks.php:161 ../../Zotlabs/Module/Webpages.php:195
#: ../../include/conversation.php:1219
msgid "Share"
msgstr ""
@@ -1926,12 +1927,12 @@ msgstr ""
#: ../../Zotlabs/Module/Like.php:371 ../../Zotlabs/Module/Subthread.php:87
#: ../../Zotlabs/Module/Tagger.php:47 ../../include/conversation.php:120
-#: ../../include/text.php:1917
+#: ../../include/text.php:1921
msgid "photo"
msgstr ""
#: ../../Zotlabs/Module/Like.php:371 ../../Zotlabs/Module/Subthread.php:87
-#: ../../include/conversation.php:148 ../../include/text.php:1923
+#: ../../include/conversation.php:148 ../../include/text.php:1927
msgid "status"
msgstr ""
@@ -2106,8 +2107,8 @@ msgstr ""
msgid "Add profile things"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:697 ../../include/conversation.php:1541
-#: ../../include/widgets.php:105
+#: ../../Zotlabs/Module/Profiles.php:697 ../../include/widgets.php:105
+#: ../../include/conversation.php:1541
msgid "Personal"
msgstr ""
@@ -2382,25 +2383,25 @@ msgstr ""
msgid "System error. Post not saved."
msgstr ""
-#: ../../Zotlabs/Module/Item.php:1243
+#: ../../Zotlabs/Module/Item.php:1238
msgid "Unable to obtain post information from database."
msgstr ""
-#: ../../Zotlabs/Module/Item.php:1250
+#: ../../Zotlabs/Module/Item.php:1245
#, php-format
msgid "You have reached your limit of %1$.0f top level posts."
msgstr ""
-#: ../../Zotlabs/Module/Item.php:1257
+#: ../../Zotlabs/Module/Item.php:1252
#, php-format
msgid "You have reached your limit of %1$.0f webpages."
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:84
+#: ../../Zotlabs/Module/Photos.php:82
msgid "Page owner information could not be retrieved."
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:99 ../../Zotlabs/Module/Photos.php:743
+#: ../../Zotlabs/Module/Photos.php:97 ../../Zotlabs/Module/Photos.php:741
#: ../../Zotlabs/Module/Profile_photo.php:115
#: ../../Zotlabs/Module/Profile_photo.php:212
#: ../../Zotlabs/Module/Profile_photo.php:311
@@ -2408,237 +2409,237 @@ msgstr ""
msgid "Profile Photos"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:105 ../../Zotlabs/Module/Photos.php:149
+#: ../../Zotlabs/Module/Photos.php:103 ../../Zotlabs/Module/Photos.php:147
msgid "Album not found."
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:132
+#: ../../Zotlabs/Module/Photos.php:130
msgid "Delete Album"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:153
+#: ../../Zotlabs/Module/Photos.php:151
msgid ""
"Multiple storage folders exist with this album name, but within different "
"directories. Please remove the desired folder or folders using the Files "
"manager"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:210 ../../Zotlabs/Module/Photos.php:1053
+#: ../../Zotlabs/Module/Photos.php:208 ../../Zotlabs/Module/Photos.php:1051
msgid "Delete Photo"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:533
+#: ../../Zotlabs/Module/Photos.php:531
msgid "No photos selected"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:582
+#: ../../Zotlabs/Module/Photos.php:580
msgid "Access to this item is restricted."
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:621
+#: ../../Zotlabs/Module/Photos.php:619
#, php-format
msgid "%1$.2f MB of %2$.2f MB photo storage used."
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:624
+#: ../../Zotlabs/Module/Photos.php:622
#, php-format
msgid "%1$.2f MB photo storage used."
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:660
+#: ../../Zotlabs/Module/Photos.php:658
msgid "Upload Photos"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:664
+#: ../../Zotlabs/Module/Photos.php:662
msgid "Enter an album name"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:665
+#: ../../Zotlabs/Module/Photos.php:663
msgid "or select an existing album (doubleclick)"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:666
+#: ../../Zotlabs/Module/Photos.php:664
msgid "Create a status post for this upload"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:667
+#: ../../Zotlabs/Module/Photos.php:665
msgid "Caption (optional):"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:668
+#: ../../Zotlabs/Module/Photos.php:666
msgid "Description (optional):"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:695
+#: ../../Zotlabs/Module/Photos.php:693
msgid "Album name could not be decoded"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:743
+#: ../../Zotlabs/Module/Photos.php:741
msgid "Contact Photos"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:766
+#: ../../Zotlabs/Module/Photos.php:764
msgid "Show Newest First"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:768
+#: ../../Zotlabs/Module/Photos.php:766
msgid "Show Oldest First"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:792 ../../Zotlabs/Module/Photos.php:1331
-#: ../../Zotlabs/Module/Embedphotos.php:141 ../../include/widgets.php:1557
+#: ../../Zotlabs/Module/Photos.php:790 ../../Zotlabs/Module/Photos.php:1329
+#: ../../Zotlabs/Module/Embedphotos.php:141 ../../include/widgets.php:1588
msgid "View Photo"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:823
-#: ../../Zotlabs/Module/Embedphotos.php:157 ../../include/widgets.php:1574
+#: ../../Zotlabs/Module/Photos.php:821
+#: ../../Zotlabs/Module/Embedphotos.php:157 ../../include/widgets.php:1605
msgid "Edit Album"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:870
+#: ../../Zotlabs/Module/Photos.php:868
msgid "Permission denied. Access to this item may be restricted."
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:872
+#: ../../Zotlabs/Module/Photos.php:870
msgid "Photo not available"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:930
+#: ../../Zotlabs/Module/Photos.php:928
msgid "Use as profile photo"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:931
+#: ../../Zotlabs/Module/Photos.php:929
msgid "Use as cover photo"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:938
+#: ../../Zotlabs/Module/Photos.php:936
msgid "Private Photo"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:953
+#: ../../Zotlabs/Module/Photos.php:951
msgid "View Full Size"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:998 ../../Zotlabs/Module/Admin.php:1437
+#: ../../Zotlabs/Module/Photos.php:996 ../../Zotlabs/Module/Admin.php:1437
#: ../../Zotlabs/Module/Tagrm.php:137
msgid "Remove"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1032
+#: ../../Zotlabs/Module/Photos.php:1030
msgid "Edit photo"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1034
+#: ../../Zotlabs/Module/Photos.php:1032
msgid "Rotate CW (right)"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1035
+#: ../../Zotlabs/Module/Photos.php:1033
msgid "Rotate CCW (left)"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1038
+#: ../../Zotlabs/Module/Photos.php:1036
msgid "Enter a new album name"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1039
+#: ../../Zotlabs/Module/Photos.php:1037
msgid "or select an existing one (doubleclick)"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1042
+#: ../../Zotlabs/Module/Photos.php:1040
msgid "Caption"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1044
+#: ../../Zotlabs/Module/Photos.php:1042
msgid "Add a Tag"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1048
+#: ../../Zotlabs/Module/Photos.php:1046
msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1051
+#: ../../Zotlabs/Module/Photos.php:1049
msgid "Flag as adult in album view"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1070 ../../Zotlabs/Lib/ThreadItem.php:261
+#: ../../Zotlabs/Module/Photos.php:1068 ../../Zotlabs/Lib/ThreadItem.php:261
msgid "I like this (toggle)"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1071 ../../Zotlabs/Lib/ThreadItem.php:262
+#: ../../Zotlabs/Module/Photos.php:1069 ../../Zotlabs/Lib/ThreadItem.php:262
msgid "I don't like this (toggle)"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1073 ../../Zotlabs/Lib/ThreadItem.php:397
+#: ../../Zotlabs/Module/Photos.php:1071 ../../Zotlabs/Lib/ThreadItem.php:397
#: ../../include/conversation.php:743
msgid "Please wait"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1089 ../../Zotlabs/Module/Photos.php:1207
+#: ../../Zotlabs/Module/Photos.php:1087 ../../Zotlabs/Module/Photos.php:1205
#: ../../Zotlabs/Lib/ThreadItem.php:707
msgid "This is you"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1091 ../../Zotlabs/Module/Photos.php:1209
+#: ../../Zotlabs/Module/Photos.php:1089 ../../Zotlabs/Module/Photos.php:1207
#: ../../Zotlabs/Lib/ThreadItem.php:709 ../../include/js_strings.php:6
msgid "Comment"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:577
+#: ../../Zotlabs/Module/Photos.php:1105 ../../include/conversation.php:577
msgctxt "title"
msgid "Likes"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:577
+#: ../../Zotlabs/Module/Photos.php:1105 ../../include/conversation.php:577
msgctxt "title"
msgid "Dislikes"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:578
+#: ../../Zotlabs/Module/Photos.php:1106 ../../include/conversation.php:578
msgctxt "title"
msgid "Agree"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:578
+#: ../../Zotlabs/Module/Photos.php:1106 ../../include/conversation.php:578
msgctxt "title"
msgid "Disagree"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:578
+#: ../../Zotlabs/Module/Photos.php:1106 ../../include/conversation.php:578
msgctxt "title"
msgid "Abstain"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:579
+#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:579
msgctxt "title"
msgid "Attending"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:579
+#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:579
msgctxt "title"
msgid "Not attending"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:579
+#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:579
msgctxt "title"
msgid "Might attend"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1126 ../../Zotlabs/Module/Photos.php:1138
+#: ../../Zotlabs/Module/Photos.php:1124 ../../Zotlabs/Module/Photos.php:1136
#: ../../Zotlabs/Lib/ThreadItem.php:181 ../../Zotlabs/Lib/ThreadItem.php:193
#: ../../include/conversation.php:1738
msgid "View all"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1130 ../../Zotlabs/Lib/ThreadItem.php:185
-#: ../../include/conversation.php:1762 ../../include/taxonomy.php:403
-#: ../../include/channel.php:1183
+#: ../../Zotlabs/Module/Photos.php:1128 ../../Zotlabs/Lib/ThreadItem.php:185
+#: ../../include/taxonomy.php:403 ../../include/channel.php:1183
+#: ../../include/conversation.php:1762
msgctxt "noun"
msgid "Like"
msgid_plural "Likes"
msgstr[0] ""
msgstr[1] ""
-#: ../../Zotlabs/Module/Photos.php:1135 ../../Zotlabs/Lib/ThreadItem.php:190
+#: ../../Zotlabs/Module/Photos.php:1133 ../../Zotlabs/Lib/ThreadItem.php:190
#: ../../include/conversation.php:1765
msgctxt "noun"
msgid "Dislike"
@@ -2646,39 +2647,39 @@ msgid_plural "Dislikes"
msgstr[0] ""
msgstr[1] ""
-#: ../../Zotlabs/Module/Photos.php:1235
+#: ../../Zotlabs/Module/Photos.php:1233
msgid "Photo Tools"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1244
+#: ../../Zotlabs/Module/Photos.php:1242
msgid "In This Photo:"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1249
+#: ../../Zotlabs/Module/Photos.php:1247
msgid "Map"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1257 ../../Zotlabs/Lib/ThreadItem.php:386
+#: ../../Zotlabs/Module/Photos.php:1255 ../../Zotlabs/Lib/ThreadItem.php:386
msgctxt "noun"
msgid "Likes"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1258 ../../Zotlabs/Lib/ThreadItem.php:387
+#: ../../Zotlabs/Module/Photos.php:1256 ../../Zotlabs/Lib/ThreadItem.php:387
msgctxt "noun"
msgid "Dislikes"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1263 ../../Zotlabs/Lib/ThreadItem.php:392
-#: ../../include/acl_selectors.php:285
+#: ../../Zotlabs/Module/Photos.php:1261 ../../Zotlabs/Lib/ThreadItem.php:392
+#: ../../include/acl_selectors.php:283
msgid "Close"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1337
+#: ../../Zotlabs/Module/Photos.php:1335
msgid "View Album"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1348 ../../Zotlabs/Module/Photos.php:1361
-#: ../../Zotlabs/Module/Photos.php:1362
+#: ../../Zotlabs/Module/Photos.php:1346 ../../Zotlabs/Module/Photos.php:1359
+#: ../../Zotlabs/Module/Photos.php:1360
msgid "Recent Photos"
msgstr ""
@@ -3005,7 +3006,7 @@ msgstr ""
msgid "Submit and proceed"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2243
+#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2247
msgid "Menus"
msgstr ""
@@ -3153,31 +3154,31 @@ msgstr ""
msgid "Set your current mood and tell your friends"
msgstr ""
-#: ../../Zotlabs/Module/Network.php:96
+#: ../../Zotlabs/Module/Network.php:94
msgid "No such group"
msgstr ""
-#: ../../Zotlabs/Module/Network.php:136
+#: ../../Zotlabs/Module/Network.php:134
msgid "No such channel"
msgstr ""
-#: ../../Zotlabs/Module/Network.php:141
+#: ../../Zotlabs/Module/Network.php:139
msgid "forum"
msgstr ""
-#: ../../Zotlabs/Module/Network.php:153
+#: ../../Zotlabs/Module/Network.php:151
msgid "Search Results For:"
msgstr ""
-#: ../../Zotlabs/Module/Network.php:217
+#: ../../Zotlabs/Module/Network.php:215
msgid "Privacy group is empty"
msgstr ""
-#: ../../Zotlabs/Module/Network.php:226
+#: ../../Zotlabs/Module/Network.php:224
msgid "Privacy group: "
msgstr ""
-#: ../../Zotlabs/Module/Network.php:252
+#: ../../Zotlabs/Module/Network.php:250
msgid "Invalid connection."
msgstr ""
@@ -3207,15 +3208,15 @@ msgstr ""
msgid "No matches"
msgstr ""
-#: ../../Zotlabs/Module/Channel.php:41
+#: ../../Zotlabs/Module/Channel.php:40
msgid "Posts and comments"
msgstr ""
-#: ../../Zotlabs/Module/Channel.php:42
+#: ../../Zotlabs/Module/Channel.php:41
msgid "Only posts"
msgstr ""
-#: ../../Zotlabs/Module/Channel.php:102
+#: ../../Zotlabs/Module/Channel.php:101
msgid "Insufficient permissions. Request redirected to profile page."
msgstr ""
@@ -3236,7 +3237,7 @@ msgid "Menu Item Permissions"
msgstr ""
#: ../../Zotlabs/Module/Mitem.php:154 ../../Zotlabs/Module/Mitem.php:227
-#: ../../Zotlabs/Module/Settings.php:1068
+#: ../../Zotlabs/Module/Settings.php:1142
msgid "(click to open/close)"
msgstr ""
@@ -3421,11 +3422,11 @@ msgstr ""
msgid "Site settings updated."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:400 ../../include/text.php:2833
+#: ../../Zotlabs/Module/Admin.php:400 ../../include/text.php:2837
msgid "Default"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:410 ../../Zotlabs/Module/Settings.php:798
+#: ../../Zotlabs/Module/Admin.php:410 ../../Zotlabs/Module/Settings.php:872
msgid "mobile"
msgstr ""
@@ -3457,7 +3458,7 @@ msgstr ""
msgid "My site offers free accounts with optional paid upgrades"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:491 ../../include/widgets.php:1440
+#: ../../Zotlabs/Module/Admin.php:491 ../../include/widgets.php:1471
msgid "Site"
msgstr ""
@@ -3744,12 +3745,12 @@ msgid "0 for no expiration of imported content"
msgstr ""
#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678
-#: ../../Zotlabs/Module/Settings.php:722
+#: ../../Zotlabs/Module/Settings.php:796
msgid "Off"
msgstr ""
#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678
-#: ../../Zotlabs/Module/Settings.php:722
+#: ../../Zotlabs/Module/Settings.php:796
msgid "On"
msgstr ""
@@ -3806,7 +3807,7 @@ msgid ""
"embedded content from that site is explicitly blocked."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:756 ../../include/widgets.php:1443
+#: ../../Zotlabs/Module/Admin.php:756 ../../include/widgets.php:1474
msgid "Security"
msgstr ""
@@ -3973,7 +3974,7 @@ msgid "Account '%s' unblocked"
msgstr ""
#: ../../Zotlabs/Module/Admin.php:1031 ../../Zotlabs/Module/Admin.php:1044
-#: ../../include/widgets.php:1441
+#: ../../include/widgets.php:1472
msgid "Accounts"
msgstr ""
@@ -4079,7 +4080,7 @@ msgstr ""
msgid "Channel '%s' code disallowed"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1210 ../../include/widgets.php:1442
+#: ../../Zotlabs/Module/Admin.php:1210 ../../include/widgets.php:1473
msgid "Channels"
msgstr ""
@@ -4138,7 +4139,7 @@ msgid "Enable"
msgstr ""
#: ../../Zotlabs/Module/Admin.php:1330 ../../Zotlabs/Module/Admin.php:1420
-#: ../../include/widgets.php:1445
+#: ../../include/widgets.php:1476
msgid "Plugins"
msgstr ""
@@ -4147,8 +4148,8 @@ msgid "Toggle"
msgstr ""
#: ../../Zotlabs/Module/Admin.php:1332 ../../Zotlabs/Module/Admin.php:1615
-#: ../../Zotlabs/Lib/Apps.php:216 ../../include/nav.php:210
-#: ../../include/widgets.php:638
+#: ../../Zotlabs/Lib/Apps.php:216 ../../include/widgets.php:647
+#: ../../include/nav.php:210
msgid "Settings"
msgstr ""
@@ -4220,8 +4221,8 @@ msgstr ""
msgid "Install a New Plugin Repository"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1435 ../../Zotlabs/Module/Settings.php:77
-#: ../../Zotlabs/Module/Settings.php:616 ../../Zotlabs/Lib/Apps.php:334
+#: ../../Zotlabs/Module/Admin.php:1435 ../../Zotlabs/Module/Settings.php:75
+#: ../../Zotlabs/Module/Settings.php:651 ../../Zotlabs/Lib/Apps.php:334
msgid "Update"
msgstr ""
@@ -4238,7 +4239,7 @@ msgid "Screenshot"
msgstr ""
#: ../../Zotlabs/Module/Admin.php:1613 ../../Zotlabs/Module/Admin.php:1647
-#: ../../include/widgets.php:1446
+#: ../../include/widgets.php:1477
msgid "Themes"
msgstr ""
@@ -4254,8 +4255,8 @@ msgstr ""
msgid "Log settings updated."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1732 ../../include/widgets.php:1467
-#: ../../include/widgets.php:1477
+#: ../../Zotlabs/Module/Admin.php:1732 ../../include/widgets.php:1498
+#: ../../include/widgets.php:1508
msgid "Logs"
msgstr ""
@@ -4321,7 +4322,7 @@ msgstr ""
msgid "Edit Profile Field"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2106 ../../include/widgets.php:1448
+#: ../../Zotlabs/Module/Admin.php:2106 ../../include/widgets.php:1479
msgid "Profile Fields"
msgstr ""
@@ -4478,7 +4479,7 @@ msgstr ""
msgid "OpenID protocol error. No ID returned."
msgstr ""
-#: ../../Zotlabs/Module/Openid.php:193 ../../include/auth.php:226
+#: ../../Zotlabs/Module/Openid.php:193 ../../include/auth.php:252
msgid "Login failed."
msgstr ""
@@ -4606,7 +4607,7 @@ msgstr ""
msgid "Authenticate"
msgstr ""
-#: ../../Zotlabs/Module/Pubsites.php:22 ../../include/widgets.php:1328
+#: ../../Zotlabs/Module/Pubsites.php:22 ../../include/widgets.php:1337
msgid "Public Hubs"
msgstr ""
@@ -4663,7 +4664,7 @@ msgstr ""
msgid "Block Name"
msgstr ""
-#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2242
+#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2246
msgid "Blocks"
msgstr ""
@@ -4704,8 +4705,8 @@ msgstr ""
msgid "Description: "
msgstr ""
-#: ../../Zotlabs/Module/Apps.php:47 ../../include/nav.php:165
-#: ../../include/widgets.php:102
+#: ../../Zotlabs/Module/Apps.php:47 ../../include/widgets.php:102
+#: ../../include/nav.php:165
msgid "Apps"
msgstr ""
@@ -4890,7 +4891,7 @@ msgid ""
msgstr ""
#: ../../Zotlabs/Module/Removeaccount.php:60
-#: ../../Zotlabs/Module/Settings.php:705
+#: ../../Zotlabs/Module/Settings.php:740
msgid "Remove Account"
msgstr ""
@@ -4918,7 +4919,7 @@ msgid ""
"removed from the network"
msgstr ""
-#: ../../Zotlabs/Module/Removeme.php:62 ../../Zotlabs/Module/Settings.php:1124
+#: ../../Zotlabs/Module/Removeme.php:62 ../../Zotlabs/Module/Settings.php:1198
msgid "Remove Channel"
msgstr ""
@@ -4994,608 +4995,628 @@ msgstr ""
msgid "No service class restrictions found."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:69
+#: ../../Zotlabs/Module/Settings.php:67
msgid "Name is required"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:73
+#: ../../Zotlabs/Module/Settings.php:71
msgid "Key and Secret are required"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:225
+#: ../../Zotlabs/Module/Settings.php:154
+msgid "Token saved."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:260
msgid "Not valid email."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:228
+#: ../../Zotlabs/Module/Settings.php:263
msgid "Protected email address. Cannot change to that email."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:237
+#: ../../Zotlabs/Module/Settings.php:272
msgid "System failure storing new email. Please try again."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:254
+#: ../../Zotlabs/Module/Settings.php:289
msgid "Password verification failed."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:261
+#: ../../Zotlabs/Module/Settings.php:296
msgid "Passwords do not match. Password unchanged."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:265
+#: ../../Zotlabs/Module/Settings.php:300
msgid "Empty passwords are not allowed. Password unchanged."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:279
+#: ../../Zotlabs/Module/Settings.php:314
msgid "Password changed."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:281
+#: ../../Zotlabs/Module/Settings.php:316
msgid "Password update failed. Please try again."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:525
+#: ../../Zotlabs/Module/Settings.php:560
msgid "Settings updated."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:589 ../../Zotlabs/Module/Settings.php:615
-#: ../../Zotlabs/Module/Settings.php:651
+#: ../../Zotlabs/Module/Settings.php:624 ../../Zotlabs/Module/Settings.php:650
+#: ../../Zotlabs/Module/Settings.php:686
msgid "Add application"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:592
+#: ../../Zotlabs/Module/Settings.php:627
msgid "Name of application"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:593 ../../Zotlabs/Module/Settings.php:619
+#: ../../Zotlabs/Module/Settings.php:628 ../../Zotlabs/Module/Settings.php:654
msgid "Consumer Key"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:593 ../../Zotlabs/Module/Settings.php:594
+#: ../../Zotlabs/Module/Settings.php:628 ../../Zotlabs/Module/Settings.php:629
msgid "Automatically generated - change if desired. Max length 20"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:594 ../../Zotlabs/Module/Settings.php:620
+#: ../../Zotlabs/Module/Settings.php:629 ../../Zotlabs/Module/Settings.php:655
msgid "Consumer Secret"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:595 ../../Zotlabs/Module/Settings.php:621
+#: ../../Zotlabs/Module/Settings.php:630 ../../Zotlabs/Module/Settings.php:656
msgid "Redirect"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:595
+#: ../../Zotlabs/Module/Settings.php:630
msgid ""
"Redirect URI - leave blank unless your application specifically requires this"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:596 ../../Zotlabs/Module/Settings.php:622
+#: ../../Zotlabs/Module/Settings.php:631 ../../Zotlabs/Module/Settings.php:657
msgid "Icon url"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:596 ../../Zotlabs/Module/Sources.php:112
+#: ../../Zotlabs/Module/Settings.php:631 ../../Zotlabs/Module/Sources.php:112
#: ../../Zotlabs/Module/Sources.php:147
msgid "Optional"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:607
+#: ../../Zotlabs/Module/Settings.php:642
msgid "Application not found."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:650
+#: ../../Zotlabs/Module/Settings.php:685
msgid "Connected Apps"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:654
+#: ../../Zotlabs/Module/Settings.php:689
msgid "Client key starts with"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:655
+#: ../../Zotlabs/Module/Settings.php:690
msgid "No name"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:656
+#: ../../Zotlabs/Module/Settings.php:691
msgid "Remove authorization"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:669
+#: ../../Zotlabs/Module/Settings.php:704
msgid "No feature settings configured"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:676
+#: ../../Zotlabs/Module/Settings.php:711
msgid "Feature/Addon Settings"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:699
+#: ../../Zotlabs/Module/Settings.php:734
msgid "Account Settings"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:700
+#: ../../Zotlabs/Module/Settings.php:735
msgid "Current Password"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:701
+#: ../../Zotlabs/Module/Settings.php:736
msgid "Enter New Password"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:702
+#: ../../Zotlabs/Module/Settings.php:737
msgid "Confirm New Password"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:702
+#: ../../Zotlabs/Module/Settings.php:737
msgid "Leave password fields blank unless changing"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:704
-#: ../../Zotlabs/Module/Settings.php:1041
+#: ../../Zotlabs/Module/Settings.php:739
+#: ../../Zotlabs/Module/Settings.php:1115
msgid "Email Address:"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:706
+#: ../../Zotlabs/Module/Settings.php:741
msgid "Remove this account including all its channels"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:729
+#: ../../Zotlabs/Module/Settings.php:773 ../../include/widgets.php:614
+msgid "Guest Access Tokens"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:776
+msgid "Login Name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:777
+msgid "Login Password"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:778
+msgid "Expires (yyyy-mm-dd)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings.php:803
msgid "Additional Features"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:753
+#: ../../Zotlabs/Module/Settings.php:827
msgid "Connector Settings"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:792
+#: ../../Zotlabs/Module/Settings.php:866
msgid "No special theme for mobile devices"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:795
+#: ../../Zotlabs/Module/Settings.php:869
#, php-format
msgid "%s - (Experimental)"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:837
+#: ../../Zotlabs/Module/Settings.php:911
msgid "Display Settings"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:838
+#: ../../Zotlabs/Module/Settings.php:912
msgid "Theme Settings"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:839
+#: ../../Zotlabs/Module/Settings.php:913
msgid "Custom Theme Settings"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:840
+#: ../../Zotlabs/Module/Settings.php:914
msgid "Content Settings"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:846
+#: ../../Zotlabs/Module/Settings.php:920
msgid "Display Theme:"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:847
+#: ../../Zotlabs/Module/Settings.php:921
msgid "Mobile Theme:"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:848
+#: ../../Zotlabs/Module/Settings.php:922
msgid "Preload images before rendering the page"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:848
+#: ../../Zotlabs/Module/Settings.php:922
msgid ""
"The subjective page load time will be longer but the page will be ready when "
"displayed"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:849
+#: ../../Zotlabs/Module/Settings.php:923
msgid "Enable user zoom on mobile devices"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:850
+#: ../../Zotlabs/Module/Settings.php:924
msgid "Update browser every xx seconds"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:850
+#: ../../Zotlabs/Module/Settings.php:924
msgid "Minimum of 10 seconds, no maximum"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:851
+#: ../../Zotlabs/Module/Settings.php:925
msgid "Maximum number of conversations to load at any time:"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:851
+#: ../../Zotlabs/Module/Settings.php:925
msgid "Maximum of 100 items"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:852
+#: ../../Zotlabs/Module/Settings.php:926
msgid "Show emoticons (smilies) as images"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:853
+#: ../../Zotlabs/Module/Settings.php:927
msgid "Link post titles to source"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:854
+#: ../../Zotlabs/Module/Settings.php:928
msgid "System Page Layout Editor - (advanced)"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:857
+#: ../../Zotlabs/Module/Settings.php:931
msgid "Use blog/list mode on channel page"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:857 ../../Zotlabs/Module/Settings.php:858
+#: ../../Zotlabs/Module/Settings.php:931 ../../Zotlabs/Module/Settings.php:932
msgid "(comments displayed separately)"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:858
+#: ../../Zotlabs/Module/Settings.php:932
msgid "Use blog/list mode on grid page"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:859
+#: ../../Zotlabs/Module/Settings.php:933
msgid "Channel page max height of content (in pixels)"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:859 ../../Zotlabs/Module/Settings.php:860
+#: ../../Zotlabs/Module/Settings.php:933 ../../Zotlabs/Module/Settings.php:934
msgid "click to expand content exceeding this height"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:860
+#: ../../Zotlabs/Module/Settings.php:934
msgid "Grid page max height of content (in pixels)"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:894
+#: ../../Zotlabs/Module/Settings.php:968
msgid "Nobody except yourself"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:895
+#: ../../Zotlabs/Module/Settings.php:969
msgid "Only those you specifically allow"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:896
+#: ../../Zotlabs/Module/Settings.php:970
msgid "Approved connections"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:897
+#: ../../Zotlabs/Module/Settings.php:971
msgid "Any connections"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:898
+#: ../../Zotlabs/Module/Settings.php:972
msgid "Anybody on this website"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:899
+#: ../../Zotlabs/Module/Settings.php:973
msgid "Anybody in this network"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:900
+#: ../../Zotlabs/Module/Settings.php:974
msgid "Anybody authenticated"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:901
+#: ../../Zotlabs/Module/Settings.php:975
msgid "Anybody on the internet"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:976
+#: ../../Zotlabs/Module/Settings.php:1050
msgid "Publish your default profile in the network directory"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:981
+#: ../../Zotlabs/Module/Settings.php:1055
msgid "Allow us to suggest you as a potential friend to new members?"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:990
+#: ../../Zotlabs/Module/Settings.php:1064
msgid "Your channel address is"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1032
+#: ../../Zotlabs/Module/Settings.php:1106
msgid "Channel Settings"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1039
+#: ../../Zotlabs/Module/Settings.php:1113
msgid "Basic Settings"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1040 ../../include/channel.php:1165
+#: ../../Zotlabs/Module/Settings.php:1114 ../../include/channel.php:1165
msgid "Full Name:"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1042
+#: ../../Zotlabs/Module/Settings.php:1116
msgid "Your Timezone:"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1043
+#: ../../Zotlabs/Module/Settings.php:1117
msgid "Default Post Location:"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1043
+#: ../../Zotlabs/Module/Settings.php:1117
msgid "Geographical location to display on your posts"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1044
+#: ../../Zotlabs/Module/Settings.php:1118
msgid "Use Browser Location:"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1046
+#: ../../Zotlabs/Module/Settings.php:1120
msgid "Adult Content"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1046
+#: ../../Zotlabs/Module/Settings.php:1120
msgid ""
"This channel frequently or regularly publishes adult content. (Please tag "
"any adult material and/or nudity with #NSFW)"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1048
+#: ../../Zotlabs/Module/Settings.php:1122
msgid "Security and Privacy Settings"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1051
+#: ../../Zotlabs/Module/Settings.php:1125
msgid "Your permissions are already configured. Click to view/adjust"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1053
+#: ../../Zotlabs/Module/Settings.php:1127
msgid "Hide my online presence"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1053
+#: ../../Zotlabs/Module/Settings.php:1127
msgid "Prevents displaying in your profile that you are online"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1055
+#: ../../Zotlabs/Module/Settings.php:1129
msgid "Simple Privacy Settings:"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1056
+#: ../../Zotlabs/Module/Settings.php:1130
msgid ""
"Very Public - <em>extremely permissive (should be used with caution)</em>"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1057
+#: ../../Zotlabs/Module/Settings.php:1131
msgid ""
"Typical - <em>default public, privacy when desired (similar to social "
"network permissions but with improved privacy)</em>"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1058
+#: ../../Zotlabs/Module/Settings.php:1132
msgid "Private - <em>default private, never open or public</em>"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1059
+#: ../../Zotlabs/Module/Settings.php:1133
msgid "Blocked - <em>default blocked to/from everybody</em>"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1061
+#: ../../Zotlabs/Module/Settings.php:1135
msgid "Allow others to tag your posts"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1061
+#: ../../Zotlabs/Module/Settings.php:1135
msgid ""
"Often used by the community to retro-actively flag inappropriate content"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1063
+#: ../../Zotlabs/Module/Settings.php:1137
msgid "Advanced Privacy Settings"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1065
+#: ../../Zotlabs/Module/Settings.php:1139
msgid "Expire other channel content after this many days"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1065
+#: ../../Zotlabs/Module/Settings.php:1139
msgid "0 or blank to use the website limit."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1065
+#: ../../Zotlabs/Module/Settings.php:1139
#, php-format
msgid "This website expires after %d days."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1065
+#: ../../Zotlabs/Module/Settings.php:1139
msgid "This website does not expire imported content."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1065
+#: ../../Zotlabs/Module/Settings.php:1139
msgid "The website limit takes precedence if lower than your limit."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1066
+#: ../../Zotlabs/Module/Settings.php:1140
msgid "Maximum Friend Requests/Day:"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1066
+#: ../../Zotlabs/Module/Settings.php:1140
msgid "May reduce spam activity"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1067
+#: ../../Zotlabs/Module/Settings.php:1141
msgid "Default Post and Publish Permissions"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1069
+#: ../../Zotlabs/Module/Settings.php:1143
msgid "Use my default audience setting for the type of object published"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1072
+#: ../../Zotlabs/Module/Settings.php:1146
msgid "Channel permissions category:"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1078
+#: ../../Zotlabs/Module/Settings.php:1152
msgid "Maximum private messages per day from unknown people:"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1078
+#: ../../Zotlabs/Module/Settings.php:1152
msgid "Useful to reduce spamming"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1081
+#: ../../Zotlabs/Module/Settings.php:1155
msgid "Notification Settings"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1082
+#: ../../Zotlabs/Module/Settings.php:1156
msgid "By default post a status message when:"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1083
+#: ../../Zotlabs/Module/Settings.php:1157
msgid "accepting a friend request"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1084
+#: ../../Zotlabs/Module/Settings.php:1158
msgid "joining a forum/community"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1085
+#: ../../Zotlabs/Module/Settings.php:1159
msgid "making an <em>interesting</em> profile change"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1086
+#: ../../Zotlabs/Module/Settings.php:1160
msgid "Send a notification email when:"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1087
+#: ../../Zotlabs/Module/Settings.php:1161
msgid "You receive a connection request"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1088
+#: ../../Zotlabs/Module/Settings.php:1162
msgid "Your connections are confirmed"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1089
+#: ../../Zotlabs/Module/Settings.php:1163
msgid "Someone writes on your profile wall"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1090
+#: ../../Zotlabs/Module/Settings.php:1164
msgid "Someone writes a followup comment"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1091
+#: ../../Zotlabs/Module/Settings.php:1165
msgid "You receive a private message"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1092
+#: ../../Zotlabs/Module/Settings.php:1166
msgid "You receive a friend suggestion"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1093
+#: ../../Zotlabs/Module/Settings.php:1167
msgid "You are tagged in a post"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1094
+#: ../../Zotlabs/Module/Settings.php:1168
msgid "You are poked/prodded/etc. in a post"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1097
+#: ../../Zotlabs/Module/Settings.php:1171
msgid "Show visual notifications including:"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1099
+#: ../../Zotlabs/Module/Settings.php:1173
msgid "Unseen grid activity"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1100
+#: ../../Zotlabs/Module/Settings.php:1174
msgid "Unseen channel activity"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1101
+#: ../../Zotlabs/Module/Settings.php:1175
msgid "Unseen private messages"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1101
-#: ../../Zotlabs/Module/Settings.php:1106
-#: ../../Zotlabs/Module/Settings.php:1107
-#: ../../Zotlabs/Module/Settings.php:1108
+#: ../../Zotlabs/Module/Settings.php:1175
+#: ../../Zotlabs/Module/Settings.php:1180
+#: ../../Zotlabs/Module/Settings.php:1181
+#: ../../Zotlabs/Module/Settings.php:1182
msgid "Recommended"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1102
+#: ../../Zotlabs/Module/Settings.php:1176
msgid "Upcoming events"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1103
+#: ../../Zotlabs/Module/Settings.php:1177
msgid "Events today"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1104
+#: ../../Zotlabs/Module/Settings.php:1178
msgid "Upcoming birthdays"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1104
+#: ../../Zotlabs/Module/Settings.php:1178
msgid "Not available in all themes"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1105
+#: ../../Zotlabs/Module/Settings.php:1179
msgid "System (personal) notifications"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1106
+#: ../../Zotlabs/Module/Settings.php:1180
msgid "System info messages"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1107
+#: ../../Zotlabs/Module/Settings.php:1181
msgid "System critical alerts"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1108
+#: ../../Zotlabs/Module/Settings.php:1182
msgid "New connections"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1109
+#: ../../Zotlabs/Module/Settings.php:1183
msgid "System Registrations"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1110
+#: ../../Zotlabs/Module/Settings.php:1184
msgid ""
"Also show new wall posts, private messages and connections under Notices"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1112
+#: ../../Zotlabs/Module/Settings.php:1186
msgid "Notify me of events this many days in advance"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1112
+#: ../../Zotlabs/Module/Settings.php:1186
msgid "Must be greater than 0"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1114
+#: ../../Zotlabs/Module/Settings.php:1188
msgid "Advanced Account/Page Type Settings"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1115
+#: ../../Zotlabs/Module/Settings.php:1189
msgid "Change the behaviour of this account for special situations"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1118
+#: ../../Zotlabs/Module/Settings.php:1192
msgid ""
"Please enable expert mode (in <a href=\"settings/features\">Settings > "
"Additional features</a>) to adjust!"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1119
+#: ../../Zotlabs/Module/Settings.php:1193
msgid "Miscellaneous Settings"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1120
+#: ../../Zotlabs/Module/Settings.php:1194
msgid "Default photo upload folder"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1120
-#: ../../Zotlabs/Module/Settings.php:1121
+#: ../../Zotlabs/Module/Settings.php:1194
+#: ../../Zotlabs/Module/Settings.php:1195
msgid "%Y - current year, %m - current month"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1121
+#: ../../Zotlabs/Module/Settings.php:1195
msgid "Default file upload folder"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1123
+#: ../../Zotlabs/Module/Settings.php:1197
msgid "Personal menu to display in your channel pages"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1125
+#: ../../Zotlabs/Module/Settings.php:1199
msgid "Remove this channel."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1126
+#: ../../Zotlabs/Module/Settings.php:1200
msgid "Firefox Share $Projectname provider"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1127
+#: ../../Zotlabs/Module/Settings.php:1201
msgid "Start calendar week on monday"
msgstr ""
@@ -5628,7 +5649,7 @@ msgid ""
msgstr ""
#: ../../Zotlabs/Module/Setup.php:204 ../../Zotlabs/Module/Setup.php:266
-#: ../../Zotlabs/Module/Setup.php:727
+#: ../../Zotlabs/Module/Setup.php:722
msgid "Please see the file \"install/INSTALL.txt\"."
msgstr ""
@@ -5828,170 +5849,162 @@ msgid "mb_string PHP module"
msgstr ""
#: ../../Zotlabs/Module/Setup.php:496
-msgid "mcrypt PHP module"
-msgstr ""
-
-#: ../../Zotlabs/Module/Setup.php:497
msgid "xml PHP module"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:501 ../../Zotlabs/Module/Setup.php:503
+#: ../../Zotlabs/Module/Setup.php:500 ../../Zotlabs/Module/Setup.php:502
msgid "Apache mod_rewrite module"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:501
+#: ../../Zotlabs/Module/Setup.php:500
msgid ""
"Error: Apache webserver mod-rewrite module is required but not installed."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:507 ../../Zotlabs/Module/Setup.php:510
+#: ../../Zotlabs/Module/Setup.php:506 ../../Zotlabs/Module/Setup.php:509
msgid "proc_open"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:507
+#: ../../Zotlabs/Module/Setup.php:506
msgid ""
"Error: proc_open is required but is either not installed or has been "
"disabled in php.ini"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:515
+#: ../../Zotlabs/Module/Setup.php:514
msgid "Error: libCURL PHP module required but not installed."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:519
+#: ../../Zotlabs/Module/Setup.php:518
msgid ""
"Error: GD graphics PHP module with JPEG support required but not installed."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:523
+#: ../../Zotlabs/Module/Setup.php:522
msgid "Error: openssl PHP module required but not installed."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:527
+#: ../../Zotlabs/Module/Setup.php:526
msgid ""
"Error: mysqli or postgres PHP module required but neither are installed."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:531
+#: ../../Zotlabs/Module/Setup.php:530
msgid "Error: mb_string PHP module required but not installed."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:535
-msgid "Error: mcrypt PHP module required but not installed."
-msgstr ""
-
-#: ../../Zotlabs/Module/Setup.php:539
+#: ../../Zotlabs/Module/Setup.php:534
msgid "Error: xml PHP module required for DAV but not installed."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:557
+#: ../../Zotlabs/Module/Setup.php:552
msgid ""
"The web installer needs to be able to create a file called \".htconfig.php\" "
"in the top folder of your web server and it is unable to do so."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:558
+#: ../../Zotlabs/Module/Setup.php:553
msgid ""
"This is most often a permission setting, as the web server may not be able "
"to write files in your folder - even if you can."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:559
+#: ../../Zotlabs/Module/Setup.php:554
msgid ""
"At the end of this procedure, we will give you a text to save in a file "
"named .htconfig.php in your Red top folder."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:560
+#: ../../Zotlabs/Module/Setup.php:555
msgid ""
"You can alternatively skip this procedure and perform a manual installation. "
"Please see the file \"install/INSTALL.txt\" for instructions."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:563
+#: ../../Zotlabs/Module/Setup.php:558
msgid ".htconfig.php is writable"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:577
+#: ../../Zotlabs/Module/Setup.php:572
msgid ""
"Red uses the Smarty3 template engine to render its web views. Smarty3 "
"compiles templates to PHP to speed up rendering."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:578
+#: ../../Zotlabs/Module/Setup.php:573
#, php-format
msgid ""
"In order to store these compiled templates, the web server needs to have "
"write access to the directory %s under the top level web folder."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:579 ../../Zotlabs/Module/Setup.php:600
+#: ../../Zotlabs/Module/Setup.php:574 ../../Zotlabs/Module/Setup.php:595
msgid ""
"Please ensure that the user that your web server runs as (e.g. www-data) has "
"write access to this folder."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:580
+#: ../../Zotlabs/Module/Setup.php:575
#, php-format
msgid ""
"Note: as a security measure, you should give the web server write access to "
"%s only--not the template files (.tpl) that it contains."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:583
+#: ../../Zotlabs/Module/Setup.php:578
#, php-format
msgid "%s is writable"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:599
+#: ../../Zotlabs/Module/Setup.php:594
msgid ""
"This software uses the store directory to save uploaded files. The web "
"server needs to have write access to the store directory under the Red top "
"level folder"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:603
+#: ../../Zotlabs/Module/Setup.php:598
msgid "store is writable"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:636
+#: ../../Zotlabs/Module/Setup.php:631
msgid ""
"SSL certificate cannot be validated. Fix certificate or disable https access "
"to this site."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:637
+#: ../../Zotlabs/Module/Setup.php:632
msgid ""
"If you have https access to your website or allow connections to TCP port "
"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
"NOT use self-signed certificates!"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:638
+#: ../../Zotlabs/Module/Setup.php:633
msgid ""
"This restriction is incorporated because public posts from you may for "
"example contain references to images on your own hub."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:639
+#: ../../Zotlabs/Module/Setup.php:634
msgid ""
"If your certificate is not recognized, members of other sites (who may "
"themselves have valid certificates) will get a warning message on their own "
"site complaining about security issues."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:640
+#: ../../Zotlabs/Module/Setup.php:635
msgid ""
"This can cause usability issues elsewhere (not just on your own site) so we "
"must insist on this requirement."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:641
+#: ../../Zotlabs/Module/Setup.php:636
msgid ""
"Providers are available that issue free certificates which are browser-valid."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:643
+#: ../../Zotlabs/Module/Setup.php:638
msgid ""
"If you are confident that the certificate is valid and signed by a trusted "
"authority, check to see if you have failed to install an intermediate cert. "
@@ -5999,36 +6012,36 @@ msgid ""
"server communications."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:646
+#: ../../Zotlabs/Module/Setup.php:641
msgid "SSL certificate validation"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:652
+#: ../../Zotlabs/Module/Setup.php:647
msgid ""
"Url rewrite in .htaccess is not working. Check your server configuration."
"Test: "
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:655
+#: ../../Zotlabs/Module/Setup.php:650
msgid "Url rewrite is working"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:664
+#: ../../Zotlabs/Module/Setup.php:659
msgid ""
"The database configuration file \".htconfig.php\" could not be written. "
"Please use the enclosed text to create a configuration file in your web "
"server root."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:688
+#: ../../Zotlabs/Module/Setup.php:683
msgid "Errors encountered creating database tables."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:725
+#: ../../Zotlabs/Module/Setup.php:720
msgid "<h1>What next</h1>"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:726
+#: ../../Zotlabs/Module/Setup.php:721
msgid ""
"IMPORTANT: You will need to [manually] setup a scheduled task for the poller."
msgstr ""
@@ -6122,7 +6135,7 @@ msgstr ""
msgid "*"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:96 ../../include/widgets.php:630
+#: ../../Zotlabs/Module/Sources.php:96 ../../include/widgets.php:639
#: ../../include/features.php:72
msgid "Channel Sources"
msgstr ""
@@ -6204,7 +6217,7 @@ msgid "post"
msgstr ""
#: ../../Zotlabs/Module/Tagger.php:57 ../../include/conversation.php:150
-#: ../../include/text.php:1925
+#: ../../include/text.php:1929
msgid "comment"
msgstr ""
@@ -6225,20 +6238,20 @@ msgstr ""
msgid "Select a tag to remove: "
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:192 ../../Zotlabs/Lib/Apps.php:218
-#: ../../include/conversation.php:1700 ../../include/nav.php:106
+#: ../../Zotlabs/Module/Webpages.php:191 ../../Zotlabs/Lib/Apps.php:218
+#: ../../include/nav.php:106 ../../include/conversation.php:1700
msgid "Webpages"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:203 ../../include/page_widgets.php:44
+#: ../../Zotlabs/Module/Webpages.php:202 ../../include/page_widgets.php:44
msgid "Actions"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:204 ../../include/page_widgets.php:45
+#: ../../Zotlabs/Module/Webpages.php:203 ../../include/page_widgets.php:45
msgid "Page Link"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:205
+#: ../../Zotlabs/Module/Webpages.php:204
msgid "Page Title"
msgstr ""
@@ -6247,8 +6260,8 @@ msgid "Not found"
msgstr ""
#: ../../Zotlabs/Module/Wiki.php:92 ../../Zotlabs/Lib/Apps.php:219
-#: ../../include/conversation.php:1710 ../../include/conversation.php:1713
-#: ../../include/nav.php:108 ../../include/features.php:55
+#: ../../include/nav.php:108 ../../include/conversation.php:1710
+#: ../../include/conversation.php:1713 ../../include/features.php:55
msgid "Wiki"
msgstr ""
@@ -6627,8 +6640,8 @@ msgstr ""
msgid "Channel Home"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:223 ../../include/conversation.php:1664
-#: ../../include/conversation.php:1667 ../../include/nav.php:203
+#: ../../Zotlabs/Lib/Apps.php:223 ../../include/nav.php:203
+#: ../../include/conversation.php:1664 ../../include/conversation.php:1667
msgid "Events"
msgstr ""
@@ -6660,7 +6673,7 @@ msgstr ""
msgid "Invite"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:235 ../../include/widgets.php:1444
+#: ../../Zotlabs/Lib/Apps.php:235 ../../include/widgets.php:1475
msgid "Features"
msgstr ""
@@ -6848,888 +6861,829 @@ msgstr ""
msgid "Video"
msgstr ""
-#: ../../include/Import/import_diaspora.php:16
-msgid "No username found in import file."
+#: ../../Zotlabs/Lib/PermissionDescription.php:31
+#: ../../include/acl_selectors.php:230
+msgid "Visible to your default audience"
msgstr ""
-#: ../../include/Import/import_diaspora.php:41 ../../include/import.php:50
-msgid "Unable to create a unique channel address. Import failed."
+#: ../../Zotlabs/Lib/PermissionDescription.php:115
+#: ../../include/acl_selectors.php:266
+msgid "Only me"
msgstr ""
-#: ../../include/dba/dba_driver.php:171
-#, php-format
-msgid "Cannot locate DNS info for database server '%s'"
+#: ../../Zotlabs/Lib/PermissionDescription.php:116
+msgid "Public"
msgstr ""
-#: ../../include/acl_selectors.php:232
-#: ../../include/PermissionDescription.php:31
-msgid "Visible to your default audience"
+#: ../../Zotlabs/Lib/PermissionDescription.php:117
+msgid "Anybody in the $Projectname network"
msgstr ""
-#: ../../include/acl_selectors.php:268
-#: ../../include/PermissionDescription.php:115
-msgid "Only me"
+#: ../../Zotlabs/Lib/PermissionDescription.php:118
+#, php-format
+msgid "Any account on %s"
msgstr ""
-#: ../../include/acl_selectors.php:271
-msgid "Who can see this?"
+#: ../../Zotlabs/Lib/PermissionDescription.php:119
+msgid "Any of my connections"
msgstr ""
-#: ../../include/acl_selectors.php:272
-msgid "Custom selection"
+#: ../../Zotlabs/Lib/PermissionDescription.php:120
+msgid "Only connections I specifically allow"
msgstr ""
-#: ../../include/acl_selectors.php:273
-msgid ""
-"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit "
-"the scope of \"Show\"."
+#: ../../Zotlabs/Lib/PermissionDescription.php:121
+msgid "Anybody authenticated (could include visitors from other networks)"
msgstr ""
-#: ../../include/acl_selectors.php:274
-msgid "Show"
+#: ../../Zotlabs/Lib/PermissionDescription.php:122
+msgid "Any connections including those who haven't yet been approved"
msgstr ""
-#: ../../include/acl_selectors.php:275
-msgid "Don't show"
+#: ../../Zotlabs/Lib/PermissionDescription.php:161
+msgid ""
+"This is your default setting for the audience of your normal stream, and "
+"posts."
msgstr ""
-#: ../../include/acl_selectors.php:281
-msgid "Other networks and post services"
+#: ../../Zotlabs/Lib/PermissionDescription.php:162
+msgid ""
+"This is your default setting for who can view your default channel profile"
msgstr ""
-#: ../../include/acl_selectors.php:311
-#, php-format
+#: ../../Zotlabs/Lib/PermissionDescription.php:163
+msgid "This is your default setting for who can view your connections"
+msgstr ""
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:164
msgid ""
-"Post permissions %s cannot be changed %s after a post is shared.</br />These "
-"permissions set who is allowed to view the post."
+"This is your default setting for who can view your file storage and photos"
msgstr ""
-#: ../../include/conversation.php:204
-#, php-format
-msgid "%1$s is now connected with %2$s"
+#: ../../Zotlabs/Lib/PermissionDescription.php:165
+msgid "This is your default setting for the audience of your webpages"
msgstr ""
-#: ../../include/conversation.php:239
-#, php-format
-msgid "%1$s poked %2$s"
+#: ../../include/Import/import_diaspora.php:16
+msgid "No username found in import file."
msgstr ""
-#: ../../include/conversation.php:243 ../../include/text.php:1009
-#: ../../include/text.php:1014
-msgid "poked"
+#: ../../include/Import/import_diaspora.php:41 ../../include/import.php:50
+msgid "Unable to create a unique channel address. Import failed."
msgstr ""
-#: ../../include/conversation.php:694
+#: ../../include/dba/dba_driver.php:171
#, php-format
-msgid "View %s's profile @ %s"
+msgid "Cannot locate DNS info for database server '%s'"
msgstr ""
-#: ../../include/conversation.php:713
-msgid "Categories:"
+#: ../../include/widgets.php:46 ../../include/widgets.php:429
+#: ../../include/taxonomy.php:188 ../../include/taxonomy.php:270
+#: ../../include/contact_widgets.php:91
+msgid "Categories"
msgstr ""
-#: ../../include/conversation.php:714
-msgid "Filed under:"
+#: ../../include/widgets.php:103
+msgid "System"
msgstr ""
-#: ../../include/conversation.php:741
-msgid "View in context"
+#: ../../include/widgets.php:106
+msgid "New App"
msgstr ""
-#: ../../include/conversation.php:850
-msgid "remove"
+#: ../../include/widgets.php:154
+msgid "Suggestions"
msgstr ""
-#: ../../include/conversation.php:854 ../../include/nav.php:249
-msgid "Loading..."
+#: ../../include/widgets.php:155
+msgid "See more..."
msgstr ""
-#: ../../include/conversation.php:855
-msgid "Delete Selected Items"
+#: ../../include/widgets.php:175
+#, php-format
+msgid "You have %1$.0f of %2$.0f allowed connections."
msgstr ""
-#: ../../include/conversation.php:951
-msgid "View Source"
+#: ../../include/widgets.php:181
+msgid "Add New Connection"
msgstr ""
-#: ../../include/conversation.php:952
-msgid "Follow Thread"
+#: ../../include/widgets.php:182
+msgid "Enter channel address"
msgstr ""
-#: ../../include/conversation.php:953
-msgid "Unfollow Thread"
+#: ../../include/widgets.php:183
+msgid "Examples: bob@example.com, https://example.com/barbara"
msgstr ""
-#: ../../include/conversation.php:958
-msgid "Activity/Posts"
+#: ../../include/widgets.php:199
+msgid "Notes"
msgstr ""
-#: ../../include/conversation.php:960
-msgid "Edit Connection"
+#: ../../include/widgets.php:273
+msgid "Remove term"
msgstr ""
-#: ../../include/conversation.php:961
-msgid "Message"
+#: ../../include/widgets.php:281 ../../include/features.php:85
+msgid "Saved Searches"
msgstr ""
-#: ../../include/conversation.php:1078
-#, php-format
-msgid "%s likes this."
+#: ../../include/widgets.php:282 ../../include/group.php:316
+msgid "add"
msgstr ""
-#: ../../include/conversation.php:1078
-#, php-format
-msgid "%s doesn't like this."
+#: ../../include/widgets.php:310 ../../include/features.php:99
+#: ../../include/contact_widgets.php:53
+msgid "Saved Folders"
msgstr ""
-#: ../../include/conversation.php:1082
-#, php-format
-msgid "<span %1$s>%2$d people</span> like this."
-msgid_plural "<span %1$s>%2$d people</span> like this."
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/conversation.php:1084
-#, php-format
-msgid "<span %1$s>%2$d people</span> don't like this."
-msgid_plural "<span %1$s>%2$d people</span> don't like this."
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/conversation.php:1090
-msgid "and"
+#: ../../include/widgets.php:313 ../../include/widgets.php:432
+#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94
+msgid "Everything"
msgstr ""
-#: ../../include/conversation.php:1093
-#, php-format
-msgid ", and %d other people"
-msgid_plural ", and %d other people"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/conversation.php:1094
-#, php-format
-msgid "%s like this."
+#: ../../include/widgets.php:354
+msgid "Archives"
msgstr ""
-#: ../../include/conversation.php:1094
-#, php-format
-msgid "%s don't like this."
+#: ../../include/widgets.php:516
+msgid "Refresh"
msgstr ""
-#: ../../include/conversation.php:1133
-msgid "Set your location"
+#: ../../include/widgets.php:556
+msgid "Account settings"
msgstr ""
-#: ../../include/conversation.php:1134
-msgid "Clear browser location"
+#: ../../include/widgets.php:562
+msgid "Channel settings"
msgstr ""
-#: ../../include/conversation.php:1182
-msgid "Tag term:"
+#: ../../include/widgets.php:571
+msgid "Additional features"
msgstr ""
-#: ../../include/conversation.php:1183
-msgid "Where are you right now?"
+#: ../../include/widgets.php:578
+msgid "Feature/Addon settings"
msgstr ""
-#: ../../include/conversation.php:1221
-msgid "Page link name"
+#: ../../include/widgets.php:584
+msgid "Display settings"
msgstr ""
-#: ../../include/conversation.php:1224
-msgid "Post as"
+#: ../../include/widgets.php:591
+msgid "Manage locations"
msgstr ""
-#: ../../include/conversation.php:1238
-msgid "Toggle voting"
+#: ../../include/widgets.php:600
+msgid "Export channel"
msgstr ""
-#: ../../include/conversation.php:1246
-msgid "Categories (optional, comma-separated list)"
+#: ../../include/widgets.php:607
+msgid "Connected apps"
msgstr ""
-#: ../../include/conversation.php:1269
-msgid "Set publish date"
+#: ../../include/widgets.php:631
+msgid "Premium Channel Settings"
msgstr ""
-#: ../../include/conversation.php:1518
-msgid "Discover"
+#: ../../include/widgets.php:660
+msgid "Private Mail Menu"
msgstr ""
-#: ../../include/conversation.php:1521
-msgid "Imported public streams"
+#: ../../include/widgets.php:662
+msgid "Combined View"
msgstr ""
-#: ../../include/conversation.php:1526
-msgid "Commented Order"
+#: ../../include/widgets.php:667 ../../include/nav.php:198
+msgid "Inbox"
msgstr ""
-#: ../../include/conversation.php:1529
-msgid "Sort by Comment Date"
+#: ../../include/widgets.php:672 ../../include/nav.php:199
+msgid "Outbox"
msgstr ""
-#: ../../include/conversation.php:1533
-msgid "Posted Order"
+#: ../../include/widgets.php:677 ../../include/nav.php:200
+msgid "New Message"
msgstr ""
-#: ../../include/conversation.php:1536
-msgid "Sort by Post Date"
+#: ../../include/widgets.php:694 ../../include/widgets.php:706
+msgid "Conversations"
msgstr ""
-#: ../../include/conversation.php:1544
-msgid "Posts that mention or involve you"
+#: ../../include/widgets.php:698
+msgid "Received Messages"
msgstr ""
-#: ../../include/conversation.php:1553
-msgid "Activity Stream - by date"
+#: ../../include/widgets.php:702
+msgid "Sent Messages"
msgstr ""
-#: ../../include/conversation.php:1559
-msgid "Starred"
+#: ../../include/widgets.php:716
+msgid "No messages."
msgstr ""
-#: ../../include/conversation.php:1562
-msgid "Favourite Posts"
+#: ../../include/widgets.php:734
+msgid "Delete conversation"
msgstr ""
-#: ../../include/conversation.php:1569
-msgid "Spam"
+#: ../../include/widgets.php:760
+msgid "Events Tools"
msgstr ""
-#: ../../include/conversation.php:1572
-msgid "Posts flagged as SPAM"
+#: ../../include/widgets.php:761
+msgid "Export Calendar"
msgstr ""
-#: ../../include/conversation.php:1629
-msgid "Status Messages and Posts"
+#: ../../include/widgets.php:762
+msgid "Import Calendar"
msgstr ""
-#: ../../include/conversation.php:1638
-msgid "About"
+#: ../../include/widgets.php:836 ../../include/conversation.php:1677
+#: ../../include/conversation.php:1680
+msgid "Chatrooms"
msgstr ""
-#: ../../include/conversation.php:1641
-msgid "Profile Details"
+#: ../../include/widgets.php:840
+msgid "Overview"
msgstr ""
-#: ../../include/conversation.php:1650 ../../include/photos.php:506
-msgid "Photo Albums"
+#: ../../include/widgets.php:847
+msgid "Chat Members"
msgstr ""
-#: ../../include/conversation.php:1657
-msgid "Files and Storage"
+#: ../../include/widgets.php:869
+msgid "Wiki List"
msgstr ""
-#: ../../include/conversation.php:1677 ../../include/conversation.php:1680
-#: ../../include/widgets.php:827
-msgid "Chatrooms"
+#: ../../include/widgets.php:907
+msgid "Wiki Pages"
msgstr ""
-#: ../../include/conversation.php:1690 ../../include/nav.php:102
-msgid "Bookmarks"
+#: ../../include/widgets.php:942
+msgid "Bookmarked Chatrooms"
msgstr ""
-#: ../../include/conversation.php:1693
-msgid "Saved Bookmarks"
+#: ../../include/widgets.php:965
+msgid "Suggested Chatrooms"
msgstr ""
-#: ../../include/conversation.php:1703
-msgid "Manage Webpages"
+#: ../../include/widgets.php:1111 ../../include/widgets.php:1223
+msgid "photo/image"
msgstr ""
-#: ../../include/conversation.php:1768
-msgctxt "noun"
-msgid "Attending"
-msgid_plural "Attending"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/conversation.php:1771
-msgctxt "noun"
-msgid "Not Attending"
-msgid_plural "Not Attending"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/conversation.php:1774
-msgctxt "noun"
-msgid "Undecided"
-msgid_plural "Undecided"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../include/widgets.php:1166
+msgid "Click to show more"
+msgstr ""
-#: ../../include/conversation.php:1777
-msgctxt "noun"
-msgid "Agree"
-msgid_plural "Agrees"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../include/widgets.php:1317
+msgid "Rating Tools"
+msgstr ""
-#: ../../include/conversation.php:1780
-msgctxt "noun"
-msgid "Disagree"
-msgid_plural "Disagrees"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../include/widgets.php:1321 ../../include/widgets.php:1323
+msgid "Rate Me"
+msgstr ""
-#: ../../include/conversation.php:1783
-msgctxt "noun"
-msgid "Abstain"
-msgid_plural "Abstains"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../include/widgets.php:1326
+msgid "View Ratings"
+msgstr ""
-#: ../../include/connections.php:95
-msgid "New window"
+#: ../../include/widgets.php:1405
+msgid "Forums"
msgstr ""
-#: ../../include/connections.php:96
-msgid "Open the selected location in a different window or browser tab"
+#: ../../include/widgets.php:1434
+msgid "Tasks"
msgstr ""
-#: ../../include/connections.php:214
-#, php-format
-msgid "User '%s' deleted"
+#: ../../include/widgets.php:1443
+msgid "Documentation"
msgstr ""
-#: ../../include/group.php:26
-msgid ""
-"A deleted group with this name was revived. Existing item permissions "
-"<strong>may</strong> apply to this group and any future members. If this is "
-"not what you intended, please create another group with a different name."
+#: ../../include/widgets.php:1445
+msgid "Project/Site Information"
msgstr ""
-#: ../../include/group.php:248
-msgid "Add new connections to this privacy group"
+#: ../../include/widgets.php:1446
+msgid "For Members"
msgstr ""
-#: ../../include/group.php:289
-msgid "edit"
+#: ../../include/widgets.php:1447
+msgid "For Administrators"
msgstr ""
-#: ../../include/group.php:311 ../../include/features.php:84
-msgid "Privacy Groups"
+#: ../../include/widgets.php:1448
+msgid "For Developers"
msgstr ""
-#: ../../include/group.php:312
-msgid "Edit group"
+#: ../../include/widgets.php:1472 ../../include/widgets.php:1510
+msgid "Member registrations waiting for confirmation"
msgstr ""
-#: ../../include/group.php:313
-msgid "Add privacy group"
+#: ../../include/widgets.php:1478
+msgid "Inspect queue"
msgstr ""
-#: ../../include/group.php:314
-msgid "Channels not in any privacy group"
+#: ../../include/widgets.php:1480
+msgid "DB updates"
msgstr ""
-#: ../../include/group.php:316 ../../include/widgets.php:282
-msgid "add"
+#: ../../include/widgets.php:1505 ../../include/nav.php:218
+msgid "Admin"
msgstr ""
-#: ../../include/js_strings.php:5
-msgid "Delete this item?"
+#: ../../include/widgets.php:1506
+msgid "Plugin Features"
msgstr ""
-#: ../../include/js_strings.php:8
-#, php-format
-msgid "%s show less"
+#: ../../include/nav.php:82 ../../include/nav.php:115 ../../boot.php:1703
+msgid "Logout"
msgstr ""
-#: ../../include/js_strings.php:9
-#, php-format
-msgid "%s expand"
+#: ../../include/nav.php:82 ../../include/nav.php:115
+msgid "End this session"
msgstr ""
-#: ../../include/js_strings.php:10
-#, php-format
-msgid "%s collapse"
+#: ../../include/nav.php:85 ../../include/nav.php:146
+msgid "Home"
msgstr ""
-#: ../../include/js_strings.php:11
-msgid "Password too short"
+#: ../../include/nav.php:85
+msgid "Your posts and conversations"
msgstr ""
-#: ../../include/js_strings.php:12
-msgid "Passwords do not match"
+#: ../../include/nav.php:86
+msgid "Your profile page"
msgstr ""
-#: ../../include/js_strings.php:13
-msgid "everybody"
+#: ../../include/nav.php:88
+msgid "Manage/Edit profiles"
msgstr ""
-#: ../../include/js_strings.php:14
-msgid "Secret Passphrase"
+#: ../../include/nav.php:90 ../../include/channel.php:965
+msgid "Edit Profile"
msgstr ""
-#: ../../include/js_strings.php:15
-msgid "Passphrase hint"
+#: ../../include/nav.php:90
+msgid "Edit your profile"
msgstr ""
-#: ../../include/js_strings.php:16
-msgid "Notice: Permissions have changed but have not yet been submitted."
+#: ../../include/nav.php:92
+msgid "Your photos"
msgstr ""
-#: ../../include/js_strings.php:17
-msgid "close all"
+#: ../../include/nav.php:93
+msgid "Your files"
msgstr ""
-#: ../../include/js_strings.php:18
-msgid "Nothing new here"
+#: ../../include/nav.php:96
+msgid "Your chatrooms"
msgstr ""
-#: ../../include/js_strings.php:19
-msgid "Rate This Channel (this is public)"
+#: ../../include/nav.php:102 ../../include/conversation.php:1690
+msgid "Bookmarks"
msgstr ""
-#: ../../include/js_strings.php:21
-msgid "Describe (optional)"
+#: ../../include/nav.php:102
+msgid "Your bookmarks"
msgstr ""
-#: ../../include/js_strings.php:23
-msgid "Please enter a link URL"
+#: ../../include/nav.php:106
+msgid "Your webpages"
msgstr ""
-#: ../../include/js_strings.php:24
-msgid "Unsaved changes. Are you sure you wish to leave this page?"
+#: ../../include/nav.php:108
+msgid "Your wiki"
msgstr ""
-#: ../../include/js_strings.php:27
-msgid "timeago.prefixAgo"
+#: ../../include/nav.php:112
+msgid "Sign in"
msgstr ""
-#: ../../include/js_strings.php:28
-msgid "timeago.prefixFromNow"
+#: ../../include/nav.php:129
+#, php-format
+msgid "%s - click to logout"
msgstr ""
-#: ../../include/js_strings.php:29
-msgid "ago"
+#: ../../include/nav.php:132
+msgid "Remote authentication"
msgstr ""
-#: ../../include/js_strings.php:30
-msgid "from now"
+#: ../../include/nav.php:132
+msgid "Click to authenticate to your home hub"
msgstr ""
-#: ../../include/js_strings.php:31
-msgid "less than a minute"
+#: ../../include/nav.php:146
+msgid "Home Page"
msgstr ""
-#: ../../include/js_strings.php:32
-msgid "about a minute"
+#: ../../include/nav.php:149
+msgid "Create an account"
msgstr ""
-#: ../../include/js_strings.php:33
-#, php-format
-msgid "%d minutes"
+#: ../../include/nav.php:161
+msgid "Help and documentation"
msgstr ""
-#: ../../include/js_strings.php:34
-msgid "about an hour"
+#: ../../include/nav.php:165
+msgid "Applications, utilities, links, games"
msgstr ""
-#: ../../include/js_strings.php:35
-#, php-format
-msgid "about %d hours"
+#: ../../include/nav.php:167
+msgid "Search site @name, #tag, ?docs, content"
msgstr ""
-#: ../../include/js_strings.php:36
-msgid "a day"
+#: ../../include/nav.php:169
+msgid "Channel Directory"
msgstr ""
-#: ../../include/js_strings.php:37
-#, php-format
-msgid "%d days"
+#: ../../include/nav.php:181
+msgid "Your grid"
msgstr ""
-#: ../../include/js_strings.php:38
-msgid "about a month"
+#: ../../include/nav.php:182
+msgid "Mark all grid notifications seen"
msgstr ""
-#: ../../include/js_strings.php:39
-#, php-format
-msgid "%d months"
+#: ../../include/nav.php:184
+msgid "Channel home"
msgstr ""
-#: ../../include/js_strings.php:40
-msgid "about a year"
+#: ../../include/nav.php:185
+msgid "Mark all channel notifications seen"
msgstr ""
-#: ../../include/js_strings.php:41
-#, php-format
-msgid "%d years"
+#: ../../include/nav.php:191
+msgid "Notices"
msgstr ""
-#: ../../include/js_strings.php:42
-msgid " "
+#: ../../include/nav.php:191
+msgid "Notifications"
msgstr ""
-#: ../../include/js_strings.php:43
-msgid "timeago.numbers"
+#: ../../include/nav.php:192
+msgid "See all notifications"
msgstr ""
-#: ../../include/js_strings.php:45 ../../include/text.php:1237
-msgid "January"
+#: ../../include/nav.php:195
+msgid "Private mail"
msgstr ""
-#: ../../include/js_strings.php:46 ../../include/text.php:1237
-msgid "February"
+#: ../../include/nav.php:196
+msgid "See all private messages"
msgstr ""
-#: ../../include/js_strings.php:47 ../../include/text.php:1237
-msgid "March"
+#: ../../include/nav.php:197
+msgid "Mark all private messages seen"
msgstr ""
-#: ../../include/js_strings.php:48 ../../include/text.php:1237
-msgid "April"
+#: ../../include/nav.php:203
+msgid "Event Calendar"
msgstr ""
-#: ../../include/js_strings.php:49
-msgctxt "long"
-msgid "May"
+#: ../../include/nav.php:204
+msgid "See all events"
msgstr ""
-#: ../../include/js_strings.php:50 ../../include/text.php:1237
-msgid "June"
+#: ../../include/nav.php:205
+msgid "Mark all events seen"
msgstr ""
-#: ../../include/js_strings.php:51 ../../include/text.php:1237
-msgid "July"
+#: ../../include/nav.php:208
+msgid "Manage Your Channels"
msgstr ""
-#: ../../include/js_strings.php:52 ../../include/text.php:1237
-msgid "August"
+#: ../../include/nav.php:210
+msgid "Account/Channel Settings"
msgstr ""
-#: ../../include/js_strings.php:53 ../../include/text.php:1237
-msgid "September"
+#: ../../include/nav.php:218
+msgid "Site Setup and Configuration"
msgstr ""
-#: ../../include/js_strings.php:54 ../../include/text.php:1237
-msgid "October"
+#: ../../include/nav.php:249 ../../include/conversation.php:854
+msgid "Loading..."
msgstr ""
-#: ../../include/js_strings.php:55 ../../include/text.php:1237
-msgid "November"
+#: ../../include/nav.php:254
+msgid "@name, #tag, ?doc, content"
msgstr ""
-#: ../../include/js_strings.php:56 ../../include/text.php:1237
-msgid "December"
+#: ../../include/nav.php:255
+msgid "Please wait..."
msgstr ""
-#: ../../include/js_strings.php:57
-msgid "Jan"
+#: ../../include/network.php:704
+msgid "view full size"
msgstr ""
-#: ../../include/js_strings.php:58
-msgid "Feb"
+#: ../../include/network.php:1930 ../../include/account.php:317
+#: ../../include/account.php:344 ../../include/account.php:404
+msgid "Administrator"
msgstr ""
-#: ../../include/js_strings.php:59
-msgid "Mar"
+#: ../../include/network.php:1944
+msgid "No Subject"
msgstr ""
-#: ../../include/js_strings.php:60
-msgid "Apr"
+#: ../../include/network.php:2198 ../../include/network.php:2199
+msgid "Friendica"
msgstr ""
-#: ../../include/js_strings.php:61
-msgctxt "short"
-msgid "May"
+#: ../../include/network.php:2200
+msgid "OStatus"
msgstr ""
-#: ../../include/js_strings.php:62
-msgid "Jun"
+#: ../../include/network.php:2201
+msgid "GNU-Social"
msgstr ""
-#: ../../include/js_strings.php:63
-msgid "Jul"
+#: ../../include/network.php:2202
+msgid "RSS/Atom"
msgstr ""
-#: ../../include/js_strings.php:64
-msgid "Aug"
+#: ../../include/network.php:2204
+msgid "Diaspora"
msgstr ""
-#: ../../include/js_strings.php:65
-msgid "Sep"
+#: ../../include/network.php:2205
+msgid "Facebook"
msgstr ""
-#: ../../include/js_strings.php:66
-msgid "Oct"
+#: ../../include/network.php:2206
+msgid "Zot"
msgstr ""
-#: ../../include/js_strings.php:67
-msgid "Nov"
+#: ../../include/network.php:2207
+msgid "LinkedIn"
msgstr ""
-#: ../../include/js_strings.php:68
-msgid "Dec"
+#: ../../include/network.php:2208
+msgid "XMPP/IM"
msgstr ""
-#: ../../include/js_strings.php:69 ../../include/text.php:1233
-msgid "Sunday"
+#: ../../include/network.php:2209
+msgid "MySpace"
msgstr ""
-#: ../../include/js_strings.php:70 ../../include/text.php:1233
-msgid "Monday"
+#: ../../include/oembed.php:325
+msgid "Embedded content"
msgstr ""
-#: ../../include/js_strings.php:71 ../../include/text.php:1233
-msgid "Tuesday"
+#: ../../include/oembed.php:334
+msgid "Embedding disabled"
msgstr ""
-#: ../../include/js_strings.php:72 ../../include/text.php:1233
-msgid "Wednesday"
+#: ../../include/page_widgets.php:7
+msgid "New Page"
msgstr ""
-#: ../../include/js_strings.php:73 ../../include/text.php:1233
-msgid "Thursday"
+#: ../../include/page_widgets.php:46
+msgid "Title"
msgstr ""
-#: ../../include/js_strings.php:74 ../../include/text.php:1233
-msgid "Friday"
+#: ../../include/photos.php:114
+#, php-format
+msgid "Image exceeds website size limit of %lu bytes"
msgstr ""
-#: ../../include/js_strings.php:75 ../../include/text.php:1233
-msgid "Saturday"
+#: ../../include/photos.php:121
+msgid "Image file is empty."
msgstr ""
-#: ../../include/js_strings.php:76
-msgid "Sun"
+#: ../../include/photos.php:259
+msgid "Photo storage failed."
msgstr ""
-#: ../../include/js_strings.php:77
-msgid "Mon"
+#: ../../include/photos.php:299
+msgid "a new photo"
msgstr ""
-#: ../../include/js_strings.php:78
-msgid "Tue"
+#: ../../include/photos.php:303
+#, php-format
+msgctxt "photo_upload"
+msgid "%1$s posted %2$s to %3$s"
msgstr ""
-#: ../../include/js_strings.php:79
-msgid "Wed"
+#: ../../include/photos.php:506 ../../include/conversation.php:1650
+msgid "Photo Albums"
msgstr ""
-#: ../../include/js_strings.php:80
-msgid "Thu"
+#: ../../include/photos.php:510
+msgid "Upload New Photos"
msgstr ""
-#: ../../include/js_strings.php:81
-msgid "Fri"
+#: ../../include/taxonomy.php:228 ../../include/taxonomy.php:249
+msgid "Tags"
msgstr ""
-#: ../../include/js_strings.php:82
-msgid "Sat"
+#: ../../include/taxonomy.php:293
+msgid "Keywords"
msgstr ""
-#: ../../include/js_strings.php:83
-msgctxt "calendar"
-msgid "today"
+#: ../../include/taxonomy.php:314
+msgid "have"
msgstr ""
-#: ../../include/js_strings.php:84
-msgctxt "calendar"
-msgid "month"
+#: ../../include/taxonomy.php:314
+msgid "has"
msgstr ""
-#: ../../include/js_strings.php:85
-msgctxt "calendar"
-msgid "week"
+#: ../../include/taxonomy.php:315
+msgid "want"
msgstr ""
-#: ../../include/js_strings.php:86
-msgctxt "calendar"
-msgid "day"
+#: ../../include/taxonomy.php:315
+msgid "wants"
msgstr ""
-#: ../../include/js_strings.php:87
-msgctxt "calendar"
-msgid "All day"
+#: ../../include/taxonomy.php:316
+msgid "likes"
msgstr ""
-#: ../../include/nav.php:82 ../../include/nav.php:115 ../../boot.php:1703
-msgid "Logout"
+#: ../../include/taxonomy.php:317
+msgid "dislikes"
msgstr ""
-#: ../../include/nav.php:82 ../../include/nav.php:115
-msgid "End this session"
+#: ../../include/follow.php:27
+msgid "Channel is blocked on this site."
msgstr ""
-#: ../../include/nav.php:85 ../../include/nav.php:146
-msgid "Home"
+#: ../../include/follow.php:32
+msgid "Channel location missing."
msgstr ""
-#: ../../include/nav.php:85
-msgid "Your posts and conversations"
+#: ../../include/follow.php:81
+msgid "Response from remote channel was incomplete."
msgstr ""
-#: ../../include/nav.php:86
-msgid "Your profile page"
+#: ../../include/follow.php:98
+msgid "Channel was deleted and no longer exists."
msgstr ""
-#: ../../include/nav.php:88
-msgid "Manage/Edit profiles"
+#: ../../include/follow.php:154 ../../include/follow.php:190
+msgid "Protocol disabled."
msgstr ""
-#: ../../include/nav.php:90 ../../include/channel.php:965
-msgid "Edit Profile"
+#: ../../include/follow.php:178
+msgid "Channel discovery failed."
msgstr ""
-#: ../../include/nav.php:90
-msgid "Edit your profile"
+#: ../../include/follow.php:216
+msgid "Cannot connect to yourself."
msgstr ""
-#: ../../include/nav.php:92
-msgid "Your photos"
+#: ../../include/channel.php:32
+msgid "Unable to obtain identity information from database"
msgstr ""
-#: ../../include/nav.php:93
-msgid "Your files"
+#: ../../include/channel.php:66
+msgid "Empty name"
msgstr ""
-#: ../../include/nav.php:96
-msgid "Your chatrooms"
+#: ../../include/channel.php:69
+msgid "Name too long"
msgstr ""
-#: ../../include/nav.php:102
-msgid "Your bookmarks"
+#: ../../include/channel.php:180
+msgid "No account identifier"
msgstr ""
-#: ../../include/nav.php:106
-msgid "Your webpages"
+#: ../../include/channel.php:192
+msgid "Nickname is required."
msgstr ""
-#: ../../include/nav.php:108
-msgid "Your wiki"
+#: ../../include/channel.php:206
+msgid "Reserved nickname. Please choose another."
msgstr ""
-#: ../../include/nav.php:112
-msgid "Sign in"
+#: ../../include/channel.php:211
+msgid ""
+"Nickname has unsupported characters or is already being used on this site."
msgstr ""
-#: ../../include/nav.php:129
-#, php-format
-msgid "%s - click to logout"
+#: ../../include/channel.php:287
+msgid "Unable to retrieve created identity"
msgstr ""
-#: ../../include/nav.php:132
-msgid "Remote authentication"
+#: ../../include/channel.php:345
+msgid "Default Profile"
msgstr ""
-#: ../../include/nav.php:132
-msgid "Click to authenticate to your home hub"
+#: ../../include/channel.php:815
+msgid "Requested channel is not available."
msgstr ""
-#: ../../include/nav.php:146
-msgid "Home Page"
+#: ../../include/channel.php:962
+msgid "Create New Profile"
msgstr ""
-#: ../../include/nav.php:149
-msgid "Create an account"
+#: ../../include/channel.php:982
+msgid "Visible to everybody"
msgstr ""
-#: ../../include/nav.php:161
-msgid "Help and documentation"
+#: ../../include/channel.php:1055 ../../include/channel.php:1167
+msgid "Gender:"
msgstr ""
-#: ../../include/nav.php:165
-msgid "Applications, utilities, links, games"
+#: ../../include/channel.php:1056 ../../include/channel.php:1211
+msgid "Status:"
msgstr ""
-#: ../../include/nav.php:167
-msgid "Search site @name, #tag, ?docs, content"
+#: ../../include/channel.php:1057 ../../include/channel.php:1222
+msgid "Homepage:"
msgstr ""
-#: ../../include/nav.php:169
-msgid "Channel Directory"
+#: ../../include/channel.php:1058
+msgid "Online Now"
msgstr ""
-#: ../../include/nav.php:181
-msgid "Your grid"
+#: ../../include/channel.php:1172
+msgid "Like this channel"
msgstr ""
-#: ../../include/nav.php:182
-msgid "Mark all grid notifications seen"
+#: ../../include/channel.php:1196
+msgid "j F, Y"
msgstr ""
-#: ../../include/nav.php:184
-msgid "Channel home"
+#: ../../include/channel.php:1197
+msgid "j F"
msgstr ""
-#: ../../include/nav.php:185
-msgid "Mark all channel notifications seen"
+#: ../../include/channel.php:1204
+msgid "Birthday:"
msgstr ""
-#: ../../include/nav.php:191
-msgid "Notices"
+#: ../../include/channel.php:1217
+#, php-format
+msgid "for %1$d %2$s"
msgstr ""
-#: ../../include/nav.php:191
-msgid "Notifications"
+#: ../../include/channel.php:1220
+msgid "Sexual Preference:"
msgstr ""
-#: ../../include/nav.php:192
-msgid "See all notifications"
+#: ../../include/channel.php:1226
+msgid "Tags:"
msgstr ""
-#: ../../include/nav.php:195
-msgid "Private mail"
+#: ../../include/channel.php:1228
+msgid "Political Views:"
msgstr ""
-#: ../../include/nav.php:196
-msgid "See all private messages"
+#: ../../include/channel.php:1230
+msgid "Religion:"
msgstr ""
-#: ../../include/nav.php:197
-msgid "Mark all private messages seen"
+#: ../../include/channel.php:1234
+msgid "Hobbies/Interests:"
msgstr ""
-#: ../../include/nav.php:198 ../../include/widgets.php:658
-msgid "Inbox"
+#: ../../include/channel.php:1236
+msgid "Likes:"
msgstr ""
-#: ../../include/nav.php:199 ../../include/widgets.php:663
-msgid "Outbox"
+#: ../../include/channel.php:1238
+msgid "Dislikes:"
msgstr ""
-#: ../../include/nav.php:200 ../../include/widgets.php:668
-msgid "New Message"
+#: ../../include/channel.php:1240
+msgid "Contact information and Social Networks:"
msgstr ""
-#: ../../include/nav.php:203
-msgid "Event Calendar"
+#: ../../include/channel.php:1242
+msgid "My other channels:"
msgstr ""
-#: ../../include/nav.php:204
-msgid "See all events"
+#: ../../include/channel.php:1244
+msgid "Musical interests:"
msgstr ""
-#: ../../include/nav.php:205
-msgid "Mark all events seen"
+#: ../../include/channel.php:1246
+msgid "Books, literature:"
msgstr ""
-#: ../../include/nav.php:208
-msgid "Manage Your Channels"
+#: ../../include/channel.php:1248
+msgid "Television:"
msgstr ""
-#: ../../include/nav.php:210
-msgid "Account/Channel Settings"
+#: ../../include/channel.php:1250
+msgid "Film/dance/culture/entertainment:"
msgstr ""
-#: ../../include/nav.php:218 ../../include/widgets.php:1474
-msgid "Admin"
+#: ../../include/channel.php:1252
+msgid "Love/Romance:"
msgstr ""
-#: ../../include/nav.php:218
-msgid "Site Setup and Configuration"
+#: ../../include/channel.php:1254
+msgid "Work/employment:"
msgstr ""
-#: ../../include/nav.php:254
-msgid "@name, #tag, ?doc, content"
+#: ../../include/channel.php:1256
+msgid "School/education:"
msgstr ""
-#: ../../include/nav.php:255
-msgid "Please wait..."
+#: ../../include/channel.php:1277
+msgid "Like this thing"
msgstr ""
#: ../../include/selectors.php:30
@@ -8107,1240 +8061,1349 @@ msgstr ""
msgid "Happy Birthday %1$s"
msgstr ""
-#: ../../include/follow.php:27
-msgid "Channel is blocked on this site."
+#: ../../include/conversation.php:204
+#, php-format
+msgid "%1$s is now connected with %2$s"
msgstr ""
-#: ../../include/follow.php:32
-msgid "Channel location missing."
+#: ../../include/conversation.php:239
+#, php-format
+msgid "%1$s poked %2$s"
msgstr ""
-#: ../../include/follow.php:81
-msgid "Response from remote channel was incomplete."
+#: ../../include/conversation.php:243 ../../include/text.php:1013
+#: ../../include/text.php:1018
+msgid "poked"
msgstr ""
-#: ../../include/follow.php:98
-msgid "Channel was deleted and no longer exists."
+#: ../../include/conversation.php:694
+#, php-format
+msgid "View %s's profile @ %s"
msgstr ""
-#: ../../include/follow.php:154 ../../include/follow.php:190
-msgid "Protocol disabled."
+#: ../../include/conversation.php:713
+msgid "Categories:"
msgstr ""
-#: ../../include/follow.php:178
-msgid "Channel discovery failed."
+#: ../../include/conversation.php:714
+msgid "Filed under:"
msgstr ""
-#: ../../include/follow.php:216
-msgid "Cannot connect to yourself."
+#: ../../include/conversation.php:741
+msgid "View in context"
msgstr ""
-#: ../../include/import.php:29
-msgid ""
-"Cannot create a duplicate channel identifier on this system. Import failed."
+#: ../../include/conversation.php:850
+msgid "remove"
msgstr ""
-#: ../../include/import.php:76
-msgid "Channel clone failed. Import failed."
+#: ../../include/conversation.php:855
+msgid "Delete Selected Items"
msgstr ""
-#: ../../include/security.php:383
-msgid ""
-"The form security token was not correct. This probably happened because the "
-"form has been opened for too long (>3 hours) before submitting it."
+#: ../../include/conversation.php:951
+msgid "View Source"
msgstr ""
-#: ../../include/api.php:1326
-msgid "Public Timeline"
+#: ../../include/conversation.php:952
+msgid "Follow Thread"
msgstr ""
-#: ../../include/page_widgets.php:7
-msgid "New Page"
+#: ../../include/conversation.php:953
+msgid "Unfollow Thread"
msgstr ""
-#: ../../include/page_widgets.php:46
-msgid "Title"
+#: ../../include/conversation.php:958
+msgid "Activity/Posts"
msgstr ""
-#: ../../include/photos.php:114
-#, php-format
-msgid "Image exceeds website size limit of %lu bytes"
+#: ../../include/conversation.php:960
+msgid "Edit Connection"
msgstr ""
-#: ../../include/photos.php:121
-msgid "Image file is empty."
+#: ../../include/conversation.php:961
+msgid "Message"
msgstr ""
-#: ../../include/photos.php:259
-msgid "Photo storage failed."
+#: ../../include/conversation.php:1078
+#, php-format
+msgid "%s likes this."
msgstr ""
-#: ../../include/photos.php:299
-msgid "a new photo"
+#: ../../include/conversation.php:1078
+#, php-format
+msgid "%s doesn't like this."
msgstr ""
-#: ../../include/photos.php:303
+#: ../../include/conversation.php:1082
#, php-format
-msgctxt "photo_upload"
-msgid "%1$s posted %2$s to %3$s"
+msgid "<span %1$s>%2$d people</span> like this."
+msgid_plural "<span %1$s>%2$d people</span> like this."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1084
+#, php-format
+msgid "<span %1$s>%2$d people</span> don't like this."
+msgid_plural "<span %1$s>%2$d people</span> don't like this."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1090
+msgid "and"
msgstr ""
-#: ../../include/photos.php:510
-msgid "Upload New Photos"
+#: ../../include/conversation.php:1093
+#, php-format
+msgid ", and %d other people"
+msgid_plural ", and %d other people"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1094
+#, php-format
+msgid "%s like this."
msgstr ""
-#: ../../include/taxonomy.php:188 ../../include/taxonomy.php:270
-#: ../../include/widgets.php:46 ../../include/widgets.php:429
-#: ../../include/contact_widgets.php:91
-msgid "Categories"
+#: ../../include/conversation.php:1094
+#, php-format
+msgid "%s don't like this."
msgstr ""
-#: ../../include/taxonomy.php:228 ../../include/taxonomy.php:249
-msgid "Tags"
+#: ../../include/conversation.php:1133
+msgid "Set your location"
msgstr ""
-#: ../../include/taxonomy.php:293
-msgid "Keywords"
+#: ../../include/conversation.php:1134
+msgid "Clear browser location"
msgstr ""
-#: ../../include/taxonomy.php:314
-msgid "have"
+#: ../../include/conversation.php:1182
+msgid "Tag term:"
msgstr ""
-#: ../../include/taxonomy.php:314
-msgid "has"
+#: ../../include/conversation.php:1183
+msgid "Where are you right now?"
msgstr ""
-#: ../../include/taxonomy.php:315
-msgid "want"
+#: ../../include/conversation.php:1221
+msgid "Page link name"
msgstr ""
-#: ../../include/taxonomy.php:315
-msgid "wants"
+#: ../../include/conversation.php:1224
+msgid "Post as"
msgstr ""
-#: ../../include/taxonomy.php:316
-msgid "likes"
+#: ../../include/conversation.php:1238
+msgid "Toggle voting"
msgstr ""
-#: ../../include/taxonomy.php:317
-msgid "dislikes"
+#: ../../include/conversation.php:1246
+msgid "Categories (optional, comma-separated list)"
msgstr ""
-#: ../../include/zot.php:709
-msgid "Invalid data packet"
+#: ../../include/conversation.php:1269
+msgid "Set publish date"
msgstr ""
-#: ../../include/zot.php:725
-msgid "Unable to verify channel signature"
+#: ../../include/conversation.php:1518
+msgid "Discover"
msgstr ""
-#: ../../include/zot.php:2373
-#, php-format
-msgid "Unable to verify site signature for %s"
+#: ../../include/conversation.php:1521
+msgid "Imported public streams"
msgstr ""
-#: ../../include/zot.php:3718
-msgid "invalid target signature"
+#: ../../include/conversation.php:1526
+msgid "Commented Order"
msgstr ""
-#: ../../include/attach.php:247 ../../include/attach.php:333
-msgid "Item was not found."
+#: ../../include/conversation.php:1529
+msgid "Sort by Comment Date"
msgstr ""
-#: ../../include/attach.php:499
-msgid "No source file."
+#: ../../include/conversation.php:1533
+msgid "Posted Order"
msgstr ""
-#: ../../include/attach.php:521
-msgid "Cannot locate file to replace"
+#: ../../include/conversation.php:1536
+msgid "Sort by Post Date"
msgstr ""
-#: ../../include/attach.php:539
-msgid "Cannot locate file to revise/update"
+#: ../../include/conversation.php:1544
+msgid "Posts that mention or involve you"
msgstr ""
-#: ../../include/attach.php:674
-#, php-format
-msgid "File exceeds size limit of %d"
+#: ../../include/conversation.php:1553
+msgid "Activity Stream - by date"
msgstr ""
-#: ../../include/attach.php:688
-#, php-format
-msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
+#: ../../include/conversation.php:1559
+msgid "Starred"
msgstr ""
-#: ../../include/attach.php:846
-msgid "File upload failed. Possible system limit or action terminated."
+#: ../../include/conversation.php:1562
+msgid "Favourite Posts"
msgstr ""
-#: ../../include/attach.php:859
-msgid "Stored file could not be verified. Upload failed."
+#: ../../include/conversation.php:1569
+msgid "Spam"
msgstr ""
-#: ../../include/attach.php:915 ../../include/attach.php:931
-msgid "Path not available."
+#: ../../include/conversation.php:1572
+msgid "Posts flagged as SPAM"
msgstr ""
-#: ../../include/attach.php:977 ../../include/attach.php:1129
-msgid "Empty pathname"
+#: ../../include/conversation.php:1629
+msgid "Status Messages and Posts"
msgstr ""
-#: ../../include/attach.php:1003
-msgid "duplicate filename or path"
+#: ../../include/conversation.php:1638
+msgid "About"
msgstr ""
-#: ../../include/attach.php:1025
-msgid "Path not found."
+#: ../../include/conversation.php:1641
+msgid "Profile Details"
msgstr ""
-#: ../../include/attach.php:1083
-msgid "mkdir failed."
+#: ../../include/conversation.php:1657
+msgid "Files and Storage"
msgstr ""
-#: ../../include/attach.php:1087
-msgid "database storage failed."
+#: ../../include/conversation.php:1693
+msgid "Saved Bookmarks"
msgstr ""
-#: ../../include/attach.php:1135
-msgid "Empty path"
+#: ../../include/conversation.php:1703
+msgid "Manage Webpages"
msgstr ""
-#: ../../include/widgets.php:103
-msgid "System"
+#: ../../include/conversation.php:1768
+msgctxt "noun"
+msgid "Attending"
+msgid_plural "Attending"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1771
+msgctxt "noun"
+msgid "Not Attending"
+msgid_plural "Not Attending"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1774
+msgctxt "noun"
+msgid "Undecided"
+msgid_plural "Undecided"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1777
+msgctxt "noun"
+msgid "Agree"
+msgid_plural "Agrees"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1780
+msgctxt "noun"
+msgid "Disagree"
+msgid_plural "Disagrees"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1783
+msgctxt "noun"
+msgid "Abstain"
+msgid_plural "Abstains"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/items.php:898 ../../include/items.php:943
+msgid "(Unknown)"
msgstr ""
-#: ../../include/widgets.php:106
-msgid "New App"
+#: ../../include/items.php:1142
+msgid "Visible to anybody on the internet."
msgstr ""
-#: ../../include/widgets.php:154
-msgid "Suggestions"
+#: ../../include/items.php:1144
+msgid "Visible to you only."
msgstr ""
-#: ../../include/widgets.php:155
-msgid "See more..."
+#: ../../include/items.php:1146
+msgid "Visible to anybody in this network."
msgstr ""
-#: ../../include/widgets.php:175
+#: ../../include/items.php:1148
+msgid "Visible to anybody authenticated."
+msgstr ""
+
+#: ../../include/items.php:1150
#, php-format
-msgid "You have %1$.0f of %2$.0f allowed connections."
+msgid "Visible to anybody on %s."
msgstr ""
-#: ../../include/widgets.php:181
-msgid "Add New Connection"
+#: ../../include/items.php:1152
+msgid "Visible to all connections."
msgstr ""
-#: ../../include/widgets.php:182
-msgid "Enter channel address"
+#: ../../include/items.php:1154
+msgid "Visible to approved connections."
msgstr ""
-#: ../../include/widgets.php:183
-msgid "Examples: bob@example.com, https://example.com/barbara"
+#: ../../include/items.php:1156
+msgid "Visible to specific connections."
msgstr ""
-#: ../../include/widgets.php:199
-msgid "Notes"
+#: ../../include/items.php:3919
+msgid "Privacy group is empty."
msgstr ""
-#: ../../include/widgets.php:273
-msgid "Remove term"
+#: ../../include/items.php:3926
+#, php-format
+msgid "Privacy group: %s"
msgstr ""
-#: ../../include/widgets.php:281 ../../include/features.php:85
-msgid "Saved Searches"
+#: ../../include/items.php:3938
+msgid "Connection not found."
msgstr ""
-#: ../../include/widgets.php:310 ../../include/features.php:99
-#: ../../include/contact_widgets.php:53
-msgid "Saved Folders"
+#: ../../include/items.php:4291
+msgid "profile photo"
msgstr ""
-#: ../../include/widgets.php:313 ../../include/widgets.php:432
-#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94
-msgid "Everything"
+#: ../../include/connections.php:95
+msgid "New window"
msgstr ""
-#: ../../include/widgets.php:354
-msgid "Archives"
+#: ../../include/connections.php:96
+msgid "Open the selected location in a different window or browser tab"
msgstr ""
-#: ../../include/widgets.php:516
-msgid "Refresh"
+#: ../../include/connections.php:214
+#, php-format
+msgid "User '%s' deleted"
msgstr ""
-#: ../../include/widgets.php:556
-msgid "Account settings"
+#: ../../include/features.php:48
+msgid "General Features"
msgstr ""
-#: ../../include/widgets.php:562
-msgid "Channel settings"
+#: ../../include/features.php:50
+msgid "Content Expiration"
msgstr ""
-#: ../../include/widgets.php:571
-msgid "Additional features"
+#: ../../include/features.php:50
+msgid "Remove posts/comments and/or private messages at a future time"
msgstr ""
-#: ../../include/widgets.php:578
-msgid "Feature/Addon settings"
+#: ../../include/features.php:51
+msgid "Multiple Profiles"
msgstr ""
-#: ../../include/widgets.php:584
-msgid "Display settings"
+#: ../../include/features.php:51
+msgid "Ability to create multiple profiles"
msgstr ""
-#: ../../include/widgets.php:591
-msgid "Manage locations"
+#: ../../include/features.php:52
+msgid "Advanced Profiles"
msgstr ""
-#: ../../include/widgets.php:600
-msgid "Export channel"
+#: ../../include/features.php:52
+msgid "Additional profile sections and selections"
msgstr ""
-#: ../../include/widgets.php:607
-msgid "Connected apps"
+#: ../../include/features.php:53
+msgid "Profile Import/Export"
msgstr ""
-#: ../../include/widgets.php:622
-msgid "Premium Channel Settings"
+#: ../../include/features.php:53
+msgid "Save and load profile details across sites/channels"
msgstr ""
-#: ../../include/widgets.php:651
-msgid "Private Mail Menu"
+#: ../../include/features.php:54
+msgid "Web Pages"
msgstr ""
-#: ../../include/widgets.php:653
-msgid "Combined View"
+#: ../../include/features.php:54
+msgid "Provide managed web pages on your channel"
msgstr ""
-#: ../../include/widgets.php:685 ../../include/widgets.php:697
-msgid "Conversations"
+#: ../../include/features.php:55
+msgid "Provide a wiki for your channel"
msgstr ""
-#: ../../include/widgets.php:689
-msgid "Received Messages"
+#: ../../include/features.php:56
+msgid "Hide Rating"
msgstr ""
-#: ../../include/widgets.php:693
-msgid "Sent Messages"
+#: ../../include/features.php:56
+msgid ""
+"Hide the rating buttons on your channel and profile pages. Note: People can "
+"still rate you somewhere else."
msgstr ""
-#: ../../include/widgets.php:707
-msgid "No messages."
+#: ../../include/features.php:57
+msgid "Private Notes"
msgstr ""
-#: ../../include/widgets.php:725
-msgid "Delete conversation"
+#: ../../include/features.php:57
+msgid "Enables a tool to store notes and reminders (note: not encrypted)"
msgstr ""
-#: ../../include/widgets.php:751
-msgid "Events Tools"
+#: ../../include/features.php:58
+msgid "Navigation Channel Select"
msgstr ""
-#: ../../include/widgets.php:752
-msgid "Export Calendar"
+#: ../../include/features.php:58
+msgid "Change channels directly from within the navigation dropdown menu"
msgstr ""
-#: ../../include/widgets.php:753
-msgid "Import Calendar"
+#: ../../include/features.php:59
+msgid "Photo Location"
msgstr ""
-#: ../../include/widgets.php:831
-msgid "Overview"
+#: ../../include/features.php:59
+msgid "If location data is available on uploaded photos, link this to a map."
msgstr ""
-#: ../../include/widgets.php:838
-msgid "Chat Members"
+#: ../../include/features.php:60
+msgid "Access Controlled Chatrooms"
msgstr ""
-#: ../../include/widgets.php:860
-msgid "Wiki List"
+#: ../../include/features.php:60
+msgid "Provide chatrooms and chat services with access control."
msgstr ""
-#: ../../include/widgets.php:898
-msgid "Wiki Pages"
+#: ../../include/features.php:61
+msgid "Smart Birthdays"
msgstr ""
-#: ../../include/widgets.php:933
-msgid "Bookmarked Chatrooms"
+#: ../../include/features.php:61
+msgid ""
+"Make birthday events timezone aware in case your friends are scattered "
+"across the planet."
msgstr ""
-#: ../../include/widgets.php:956
-msgid "Suggested Chatrooms"
+#: ../../include/features.php:62
+msgid "Expert Mode"
msgstr ""
-#: ../../include/widgets.php:1102 ../../include/widgets.php:1214
-msgid "photo/image"
+#: ../../include/features.php:62
+msgid "Enable Expert Mode to provide advanced configuration options"
msgstr ""
-#: ../../include/widgets.php:1157
-msgid "Click to show more"
+#: ../../include/features.php:63
+msgid "Premium Channel"
msgstr ""
-#: ../../include/widgets.php:1308
-msgid "Rating Tools"
+#: ../../include/features.php:63
+msgid ""
+"Allows you to set restrictions and terms on those that connect with your "
+"channel"
msgstr ""
-#: ../../include/widgets.php:1312 ../../include/widgets.php:1314
-msgid "Rate Me"
+#: ../../include/features.php:68
+msgid "Post Composition Features"
msgstr ""
-#: ../../include/widgets.php:1317
-msgid "View Ratings"
+#: ../../include/features.php:71
+msgid "Large Photos"
msgstr ""
-#: ../../include/widgets.php:1374
-msgid "Forums"
+#: ../../include/features.php:71
+msgid ""
+"Include large (1024px) photo thumbnails in posts. If not enabled, use small "
+"(640px) photo thumbnails"
msgstr ""
-#: ../../include/widgets.php:1403
-msgid "Tasks"
+#: ../../include/features.php:72
+msgid "Automatically import channel content from other channels or feeds"
msgstr ""
-#: ../../include/widgets.php:1412
-msgid "Documentation"
+#: ../../include/features.php:73
+msgid "Even More Encryption"
msgstr ""
-#: ../../include/widgets.php:1414
-msgid "Project/Site Information"
+#: ../../include/features.php:73
+msgid ""
+"Allow optional encryption of content end-to-end with a shared secret key"
msgstr ""
-#: ../../include/widgets.php:1415
-msgid "For Members"
+#: ../../include/features.php:74
+msgid "Enable Voting Tools"
msgstr ""
-#: ../../include/widgets.php:1416
-msgid "For Administrators"
+#: ../../include/features.php:74
+msgid "Provide a class of post which others can vote on"
msgstr ""
-#: ../../include/widgets.php:1417
-msgid "For Developers"
+#: ../../include/features.php:75
+msgid "Delayed Posting"
msgstr ""
-#: ../../include/widgets.php:1441 ../../include/widgets.php:1479
-msgid "Member registrations waiting for confirmation"
+#: ../../include/features.php:75
+msgid "Allow posts to be published at a later date"
msgstr ""
-#: ../../include/widgets.php:1447
-msgid "Inspect queue"
+#: ../../include/features.php:76
+msgid "Suppress Duplicate Posts/Comments"
msgstr ""
-#: ../../include/widgets.php:1449
-msgid "DB updates"
+#: ../../include/features.php:76
+msgid ""
+"Prevent posts with identical content to be published with less than two "
+"minutes in between submissions."
msgstr ""
-#: ../../include/widgets.php:1475
-msgid "Plugin Features"
+#: ../../include/features.php:82
+msgid "Network and Stream Filtering"
msgstr ""
-#: ../../include/text.php:404
-msgid "prev"
+#: ../../include/features.php:83
+msgid "Search by Date"
msgstr ""
-#: ../../include/text.php:406
-msgid "first"
+#: ../../include/features.php:83
+msgid "Ability to select posts by date ranges"
msgstr ""
-#: ../../include/text.php:435
-msgid "last"
+#: ../../include/features.php:84 ../../include/group.php:311
+msgid "Privacy Groups"
msgstr ""
-#: ../../include/text.php:438
-msgid "next"
+#: ../../include/features.php:84
+msgid "Enable management and selection of privacy groups"
msgstr ""
-#: ../../include/text.php:448
-msgid "older"
+#: ../../include/features.php:85
+msgid "Save search terms for re-use"
msgstr ""
-#: ../../include/text.php:450
-msgid "newer"
+#: ../../include/features.php:86
+msgid "Network Personal Tab"
msgstr ""
-#: ../../include/text.php:839
-msgid "No connections"
+#: ../../include/features.php:86
+msgid "Enable tab to display only Network posts that you've interacted on"
msgstr ""
-#: ../../include/text.php:864
-#, php-format
-msgid "View all %s connections"
+#: ../../include/features.php:87
+msgid "Network New Tab"
msgstr ""
-#: ../../include/text.php:1009 ../../include/text.php:1014
-msgid "poke"
+#: ../../include/features.php:87
+msgid "Enable tab to display all new Network activity"
msgstr ""
-#: ../../include/text.php:1015
-msgid "ping"
+#: ../../include/features.php:88
+msgid "Affinity Tool"
msgstr ""
-#: ../../include/text.php:1015
-msgid "pinged"
+#: ../../include/features.php:88
+msgid "Filter stream activity by depth of relationships"
msgstr ""
-#: ../../include/text.php:1016
-msgid "prod"
+#: ../../include/features.php:89
+msgid "Connection Filtering"
msgstr ""
-#: ../../include/text.php:1016
-msgid "prodded"
+#: ../../include/features.php:89
+msgid "Filter incoming posts from connections based on keywords/content"
msgstr ""
-#: ../../include/text.php:1017
-msgid "slap"
+#: ../../include/features.php:90
+msgid "Show channel suggestions"
msgstr ""
-#: ../../include/text.php:1017
-msgid "slapped"
+#: ../../include/features.php:95
+msgid "Post/Comment Tools"
msgstr ""
-#: ../../include/text.php:1018
-msgid "finger"
+#: ../../include/features.php:96
+msgid "Community Tagging"
msgstr ""
-#: ../../include/text.php:1018
-msgid "fingered"
+#: ../../include/features.php:96
+msgid "Ability to tag existing posts"
msgstr ""
-#: ../../include/text.php:1019
-msgid "rebuff"
+#: ../../include/features.php:97
+msgid "Post Categories"
msgstr ""
-#: ../../include/text.php:1019
-msgid "rebuffed"
+#: ../../include/features.php:97
+msgid "Add categories to your posts"
msgstr ""
-#: ../../include/text.php:1031
-msgid "happy"
+#: ../../include/features.php:98
+msgid "Emoji Reactions"
msgstr ""
-#: ../../include/text.php:1032
-msgid "sad"
+#: ../../include/features.php:98
+msgid "Add emoji reaction ability to posts"
msgstr ""
-#: ../../include/text.php:1033
-msgid "mellow"
+#: ../../include/features.php:99
+msgid "Ability to file posts under folders"
msgstr ""
-#: ../../include/text.php:1034
-msgid "tired"
+#: ../../include/features.php:100
+msgid "Dislike Posts"
msgstr ""
-#: ../../include/text.php:1035
-msgid "perky"
+#: ../../include/features.php:100
+msgid "Ability to dislike posts/comments"
msgstr ""
-#: ../../include/text.php:1036
-msgid "angry"
+#: ../../include/features.php:101
+msgid "Star Posts"
msgstr ""
-#: ../../include/text.php:1037
-msgid "stupefied"
+#: ../../include/features.php:101
+msgid "Ability to mark special posts with a star indicator"
msgstr ""
-#: ../../include/text.php:1038
-msgid "puzzled"
+#: ../../include/features.php:102
+msgid "Tag Cloud"
msgstr ""
-#: ../../include/text.php:1039
-msgid "interested"
+#: ../../include/features.php:102
+msgid "Provide a personal tag cloud on your channel page"
msgstr ""
-#: ../../include/text.php:1040
-msgid "bitter"
+#: ../../include/group.php:26
+msgid ""
+"A deleted group with this name was revived. Existing item permissions "
+"<strong>may</strong> apply to this group and any future members. If this is "
+"not what you intended, please create another group with a different name."
msgstr ""
-#: ../../include/text.php:1041
-msgid "cheerful"
+#: ../../include/group.php:248
+msgid "Add new connections to this privacy group"
msgstr ""
-#: ../../include/text.php:1042
-msgid "alive"
+#: ../../include/group.php:289
+msgid "edit"
msgstr ""
-#: ../../include/text.php:1043
-msgid "annoyed"
+#: ../../include/group.php:312
+msgid "Edit group"
msgstr ""
-#: ../../include/text.php:1044
-msgid "anxious"
+#: ../../include/group.php:313
+msgid "Add privacy group"
msgstr ""
-#: ../../include/text.php:1045
-msgid "cranky"
+#: ../../include/group.php:314
+msgid "Channels not in any privacy group"
msgstr ""
-#: ../../include/text.php:1046
-msgid "disturbed"
+#: ../../include/permissions.php:26
+msgid "Can view my normal stream and posts"
msgstr ""
-#: ../../include/text.php:1047
-msgid "frustrated"
+#: ../../include/permissions.php:27
+msgid "Can view my default channel profile"
msgstr ""
-#: ../../include/text.php:1048
-msgid "depressed"
+#: ../../include/permissions.php:28
+msgid "Can view my connections"
msgstr ""
-#: ../../include/text.php:1049
-msgid "motivated"
+#: ../../include/permissions.php:29
+msgid "Can view my file storage and photos"
msgstr ""
-#: ../../include/text.php:1050
-msgid "relaxed"
+#: ../../include/permissions.php:30
+msgid "Can view my webpages"
msgstr ""
-#: ../../include/text.php:1051
-msgid "surprised"
+#: ../../include/permissions.php:33
+msgid "Can send me their channel stream and posts"
msgstr ""
-#: ../../include/text.php:1237
-msgid "May"
+#: ../../include/permissions.php:34
+msgid "Can post on my channel page (\"wall\")"
msgstr ""
-#: ../../include/text.php:1314 ../../include/text.php:1318
-msgid "Unknown Attachment"
+#: ../../include/permissions.php:35
+msgid "Can comment on or like my posts"
msgstr ""
-#: ../../include/text.php:1320
-msgid "unknown"
+#: ../../include/permissions.php:36
+msgid "Can send me private mail messages"
msgstr ""
-#: ../../include/text.php:1356
-msgid "remove category"
+#: ../../include/permissions.php:37
+msgid "Can like/dislike stuff"
msgstr ""
-#: ../../include/text.php:1433
-msgid "remove from file"
+#: ../../include/permissions.php:37
+msgid "Profiles and things other than posts/comments"
msgstr ""
-#: ../../include/text.php:1730 ../../include/text.php:1801
-msgid "default"
+#: ../../include/permissions.php:39
+msgid "Can forward to all my channel contacts via post @mentions"
msgstr ""
-#: ../../include/text.php:1738
-msgid "Page layout"
+#: ../../include/permissions.php:39
+msgid "Advanced - useful for creating group forum channels"
msgstr ""
-#: ../../include/text.php:1738
-msgid "You can create your own with the layouts tool"
+#: ../../include/permissions.php:40
+msgid "Can chat with me (when available)"
msgstr ""
-#: ../../include/text.php:1780
-msgid "Page content type"
+#: ../../include/permissions.php:41
+msgid "Can write to my file storage and photos"
msgstr ""
-#: ../../include/text.php:1813
-msgid "Select an alternate language"
+#: ../../include/permissions.php:42
+msgid "Can edit my webpages"
msgstr ""
-#: ../../include/text.php:1930
-msgid "activity"
+#: ../../include/permissions.php:44
+msgid "Can source my public posts in derived channels"
msgstr ""
-#: ../../include/text.php:2239
-msgid "Design Tools"
+#: ../../include/permissions.php:44
+msgid "Somewhat advanced - very useful in open communities"
msgstr ""
-#: ../../include/text.php:2245
-msgid "Pages"
+#: ../../include/permissions.php:46
+msgid "Can administer my channel resources"
msgstr ""
-#: ../../include/items.php:898 ../../include/items.php:943
-msgid "(Unknown)"
+#: ../../include/permissions.php:46
+msgid "Extremely advanced. Leave this alone unless you know what you are doing"
msgstr ""
-#: ../../include/items.php:1142
-msgid "Visible to anybody on the internet."
+#: ../../include/permissions.php:877
+msgid "Social Networking"
msgstr ""
-#: ../../include/items.php:1144
-msgid "Visible to you only."
+#: ../../include/permissions.php:877
+msgid "Social - Mostly Public"
msgstr ""
-#: ../../include/items.php:1146
-msgid "Visible to anybody in this network."
+#: ../../include/permissions.php:877
+msgid "Social - Restricted"
msgstr ""
-#: ../../include/items.php:1148
-msgid "Visible to anybody authenticated."
+#: ../../include/permissions.php:877
+msgid "Social - Private"
msgstr ""
-#: ../../include/items.php:1150
-#, php-format
-msgid "Visible to anybody on %s."
+#: ../../include/permissions.php:878
+msgid "Community Forum"
msgstr ""
-#: ../../include/items.php:1152
-msgid "Visible to all connections."
+#: ../../include/permissions.php:878
+msgid "Forum - Mostly Public"
msgstr ""
-#: ../../include/items.php:1154
-msgid "Visible to approved connections."
+#: ../../include/permissions.php:878
+msgid "Forum - Restricted"
msgstr ""
-#: ../../include/items.php:1156
-msgid "Visible to specific connections."
+#: ../../include/permissions.php:878
+msgid "Forum - Private"
msgstr ""
-#: ../../include/items.php:3919
-msgid "Privacy group is empty."
+#: ../../include/permissions.php:879
+msgid "Feed Republish"
msgstr ""
-#: ../../include/items.php:3926
-#, php-format
-msgid "Privacy group: %s"
+#: ../../include/permissions.php:879
+msgid "Feed - Mostly Public"
msgstr ""
-#: ../../include/items.php:3938
-msgid "Connection not found."
+#: ../../include/permissions.php:879
+msgid "Feed - Restricted"
msgstr ""
-#: ../../include/items.php:4304
-msgid "profile photo"
+#: ../../include/permissions.php:880
+msgid "Special Purpose"
msgstr ""
-#: ../../include/bbcode.php:123 ../../include/bbcode.php:878
-#: ../../include/bbcode.php:881 ../../include/bbcode.php:886
-#: ../../include/bbcode.php:889 ../../include/bbcode.php:892
-#: ../../include/bbcode.php:895 ../../include/bbcode.php:900
-#: ../../include/bbcode.php:903 ../../include/bbcode.php:908
-#: ../../include/bbcode.php:911 ../../include/bbcode.php:914
-#: ../../include/bbcode.php:917
-msgid "Image/photo"
+#: ../../include/permissions.php:880
+msgid "Special - Celebrity/Soapbox"
msgstr ""
-#: ../../include/bbcode.php:162 ../../include/bbcode.php:928
-msgid "Encrypted content"
+#: ../../include/permissions.php:880
+msgid "Special - Group Repository"
msgstr ""
-#: ../../include/bbcode.php:178
-#, php-format
-msgid "Install %s element: "
+#: ../../include/permissions.php:881
+msgid "Custom/Expert Mode"
msgstr ""
-#: ../../include/bbcode.php:182
-#, php-format
-msgid ""
-"This post contains an installable %s element, however you lack permissions "
-"to install it on this site."
+#: ../../include/account.php:28
+msgid "Not a valid email address"
msgstr ""
-#: ../../include/bbcode.php:261
-#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
+#: ../../include/account.php:30
+msgid "Your email domain is not among those allowed on this site"
msgstr ""
-#: ../../include/bbcode.php:338 ../../include/bbcode.php:346
-msgid "Click to open/close"
+#: ../../include/account.php:36
+msgid "Your email address is already registered at this site."
msgstr ""
-#: ../../include/bbcode.php:346
-msgid "spoiler"
+#: ../../include/account.php:68
+msgid "An invitation is required."
msgstr ""
-#: ../../include/bbcode.php:619
-msgid "Different viewers will see this text differently"
+#: ../../include/account.php:72
+msgid "Invitation could not be verified."
msgstr ""
-#: ../../include/bbcode.php:866
-msgid "$1 wrote:"
+#: ../../include/account.php:122
+msgid "Please enter the required information."
msgstr ""
-#: ../../include/network.php:704
-msgid "view full size"
+#: ../../include/account.php:189
+msgid "Failed to store account information."
msgstr ""
-#: ../../include/network.php:1930 ../../include/account.php:317
-#: ../../include/account.php:344 ../../include/account.php:404
-msgid "Administrator"
+#: ../../include/account.php:249
+#, php-format
+msgid "Registration confirmation for %s"
msgstr ""
-#: ../../include/network.php:1944
-msgid "No Subject"
+#: ../../include/account.php:315
+#, php-format
+msgid "Registration request at %s"
msgstr ""
-#: ../../include/network.php:2198 ../../include/network.php:2199
-msgid "Friendica"
+#: ../../include/account.php:339
+msgid "your registration password"
msgstr ""
-#: ../../include/network.php:2200
-msgid "OStatus"
+#: ../../include/account.php:342 ../../include/account.php:402
+#, php-format
+msgid "Registration details for %s"
msgstr ""
-#: ../../include/network.php:2201
-msgid "GNU-Social"
+#: ../../include/account.php:414
+msgid "Account approved."
msgstr ""
-#: ../../include/network.php:2202
-msgid "RSS/Atom"
+#: ../../include/account.php:454
+#, php-format
+msgid "Registration revoked for %s"
msgstr ""
-#: ../../include/network.php:2204
-msgid "Diaspora"
+#: ../../include/account.php:739 ../../include/account.php:741
+msgid "Click here to upgrade."
msgstr ""
-#: ../../include/network.php:2205
-msgid "Facebook"
+#: ../../include/account.php:747
+msgid "This action exceeds the limits set by your subscription plan."
msgstr ""
-#: ../../include/network.php:2206
-msgid "Zot"
+#: ../../include/account.php:752
+msgid "This action is not available under your subscription plan."
msgstr ""
-#: ../../include/network.php:2207
-msgid "LinkedIn"
+#: ../../include/api.php:1326
+msgid "Public Timeline"
msgstr ""
-#: ../../include/network.php:2208
-msgid "XMPP/IM"
+#: ../../include/attach.php:247 ../../include/attach.php:333
+msgid "Item was not found."
msgstr ""
-#: ../../include/network.php:2209
-msgid "MySpace"
+#: ../../include/attach.php:499
+msgid "No source file."
msgstr ""
-#: ../../include/activities.php:41
-msgid " and "
+#: ../../include/attach.php:521
+msgid "Cannot locate file to replace"
msgstr ""
-#: ../../include/activities.php:49
-msgid "public profile"
+#: ../../include/attach.php:539
+msgid "Cannot locate file to revise/update"
msgstr ""
-#: ../../include/activities.php:58
+#: ../../include/attach.php:674
#, php-format
-msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
+msgid "File exceeds size limit of %d"
msgstr ""
-#: ../../include/activities.php:59
+#: ../../include/attach.php:688
#, php-format
-msgid "Visit %1$s's %2$s"
+msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
msgstr ""
-#: ../../include/activities.php:62
-#, php-format
-msgid "%1$s has an updated %2$s, changing %3$s."
+#: ../../include/attach.php:846
+msgid "File upload failed. Possible system limit or action terminated."
msgstr ""
-#: ../../include/bb2diaspora.php:398
-msgid "Attachments:"
+#: ../../include/attach.php:859
+msgid "Stored file could not be verified. Upload failed."
msgstr ""
-#: ../../include/bb2diaspora.php:487
-msgid "$Projectname event notification:"
+#: ../../include/attach.php:915 ../../include/attach.php:931
+msgid "Path not available."
msgstr ""
-#: ../../include/features.php:48
-msgid "General Features"
+#: ../../include/attach.php:977 ../../include/attach.php:1129
+msgid "Empty pathname"
msgstr ""
-#: ../../include/features.php:50
-msgid "Content Expiration"
+#: ../../include/attach.php:1003
+msgid "duplicate filename or path"
msgstr ""
-#: ../../include/features.php:50
-msgid "Remove posts/comments and/or private messages at a future time"
+#: ../../include/attach.php:1025
+msgid "Path not found."
msgstr ""
-#: ../../include/features.php:51
-msgid "Multiple Profiles"
+#: ../../include/attach.php:1083
+msgid "mkdir failed."
msgstr ""
-#: ../../include/features.php:51
-msgid "Ability to create multiple profiles"
+#: ../../include/attach.php:1087
+msgid "database storage failed."
msgstr ""
-#: ../../include/features.php:52
-msgid "Advanced Profiles"
+#: ../../include/attach.php:1135
+msgid "Empty path"
msgstr ""
-#: ../../include/features.php:52
-msgid "Additional profile sections and selections"
+#: ../../include/bbcode.php:123 ../../include/bbcode.php:878
+#: ../../include/bbcode.php:881 ../../include/bbcode.php:886
+#: ../../include/bbcode.php:889 ../../include/bbcode.php:892
+#: ../../include/bbcode.php:895 ../../include/bbcode.php:900
+#: ../../include/bbcode.php:903 ../../include/bbcode.php:908
+#: ../../include/bbcode.php:911 ../../include/bbcode.php:914
+#: ../../include/bbcode.php:917
+msgid "Image/photo"
msgstr ""
-#: ../../include/features.php:53
-msgid "Profile Import/Export"
+#: ../../include/bbcode.php:162 ../../include/bbcode.php:928
+msgid "Encrypted content"
msgstr ""
-#: ../../include/features.php:53
-msgid "Save and load profile details across sites/channels"
+#: ../../include/bbcode.php:178
+#, php-format
+msgid "Install %s element: "
msgstr ""
-#: ../../include/features.php:54
-msgid "Web Pages"
+#: ../../include/bbcode.php:182
+#, php-format
+msgid ""
+"This post contains an installable %s element, however you lack permissions "
+"to install it on this site."
msgstr ""
-#: ../../include/features.php:54
-msgid "Provide managed web pages on your channel"
+#: ../../include/bbcode.php:261
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
msgstr ""
-#: ../../include/features.php:55
-msgid "Provide a wiki for your channel"
+#: ../../include/bbcode.php:338 ../../include/bbcode.php:346
+msgid "Click to open/close"
msgstr ""
-#: ../../include/features.php:56
-msgid "Hide Rating"
+#: ../../include/bbcode.php:346
+msgid "spoiler"
msgstr ""
-#: ../../include/features.php:56
+#: ../../include/bbcode.php:619
+msgid "Different viewers will see this text differently"
+msgstr ""
+
+#: ../../include/bbcode.php:866
+msgid "$1 wrote:"
+msgstr ""
+
+#: ../../include/import.php:29
msgid ""
-"Hide the rating buttons on your channel and profile pages. Note: People can "
-"still rate you somewhere else."
+"Cannot create a duplicate channel identifier on this system. Import failed."
msgstr ""
-#: ../../include/features.php:57
-msgid "Private Notes"
+#: ../../include/import.php:76
+msgid "Channel clone failed. Import failed."
msgstr ""
-#: ../../include/features.php:57
-msgid "Enables a tool to store notes and reminders (note: not encrypted)"
+#: ../../include/auth.php:116
+msgid "Logged out."
msgstr ""
-#: ../../include/features.php:58
-msgid "Navigation Channel Select"
+#: ../../include/auth.php:237
+msgid "Failed authentication"
msgstr ""
-#: ../../include/features.php:58
-msgid "Change channels directly from within the navigation dropdown menu"
+#: ../../include/activities.php:41
+msgid " and "
msgstr ""
-#: ../../include/features.php:59
-msgid "Photo Location"
+#: ../../include/activities.php:49
+msgid "public profile"
msgstr ""
-#: ../../include/features.php:59
-msgid "If location data is available on uploaded photos, link this to a map."
+#: ../../include/activities.php:58
+#, php-format
+msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
msgstr ""
-#: ../../include/features.php:60
-msgid "Access Controlled Chatrooms"
+#: ../../include/activities.php:59
+#, php-format
+msgid "Visit %1$s's %2$s"
msgstr ""
-#: ../../include/features.php:60
-msgid "Provide chatrooms and chat services with access control."
+#: ../../include/activities.php:62
+#, php-format
+msgid "%1$s has an updated %2$s, changing %3$s."
msgstr ""
-#: ../../include/features.php:61
-msgid "Smart Birthdays"
+#: ../../include/zot.php:709
+msgid "Invalid data packet"
msgstr ""
-#: ../../include/features.php:61
-msgid ""
-"Make birthday events timezone aware in case your friends are scattered "
-"across the planet."
+#: ../../include/zot.php:725
+msgid "Unable to verify channel signature"
msgstr ""
-#: ../../include/features.php:62
-msgid "Expert Mode"
+#: ../../include/zot.php:2373
+#, php-format
+msgid "Unable to verify site signature for %s"
msgstr ""
-#: ../../include/features.php:62
-msgid "Enable Expert Mode to provide advanced configuration options"
+#: ../../include/zot.php:3723
+msgid "invalid target signature"
msgstr ""
-#: ../../include/features.php:63
-msgid "Premium Channel"
+#: ../../include/bb2diaspora.php:398
+msgid "Attachments:"
msgstr ""
-#: ../../include/features.php:63
-msgid ""
-"Allows you to set restrictions and terms on those that connect with your "
-"channel"
+#: ../../include/bb2diaspora.php:487
+msgid "$Projectname event notification:"
msgstr ""
-#: ../../include/features.php:68
-msgid "Post Composition Features"
+#: ../../include/js_strings.php:5
+msgid "Delete this item?"
msgstr ""
-#: ../../include/features.php:71
-msgid "Large Photos"
+#: ../../include/js_strings.php:8
+#, php-format
+msgid "%s show less"
msgstr ""
-#: ../../include/features.php:71
-msgid ""
-"Include large (1024px) photo thumbnails in posts. If not enabled, use small "
-"(640px) photo thumbnails"
+#: ../../include/js_strings.php:9
+#, php-format
+msgid "%s expand"
msgstr ""
-#: ../../include/features.php:72
-msgid "Automatically import channel content from other channels or feeds"
+#: ../../include/js_strings.php:10
+#, php-format
+msgid "%s collapse"
msgstr ""
-#: ../../include/features.php:73
-msgid "Even More Encryption"
+#: ../../include/js_strings.php:11
+msgid "Password too short"
msgstr ""
-#: ../../include/features.php:73
-msgid ""
-"Allow optional encryption of content end-to-end with a shared secret key"
+#: ../../include/js_strings.php:12
+msgid "Passwords do not match"
msgstr ""
-#: ../../include/features.php:74
-msgid "Enable Voting Tools"
+#: ../../include/js_strings.php:13
+msgid "everybody"
msgstr ""
-#: ../../include/features.php:74
-msgid "Provide a class of post which others can vote on"
+#: ../../include/js_strings.php:14
+msgid "Secret Passphrase"
msgstr ""
-#: ../../include/features.php:75
-msgid "Delayed Posting"
+#: ../../include/js_strings.php:15
+msgid "Passphrase hint"
msgstr ""
-#: ../../include/features.php:75
-msgid "Allow posts to be published at a later date"
+#: ../../include/js_strings.php:16
+msgid "Notice: Permissions have changed but have not yet been submitted."
msgstr ""
-#: ../../include/features.php:76
-msgid "Suppress Duplicate Posts/Comments"
+#: ../../include/js_strings.php:17
+msgid "close all"
msgstr ""
-#: ../../include/features.php:76
-msgid ""
-"Prevent posts with identical content to be published with less than two "
-"minutes in between submissions."
+#: ../../include/js_strings.php:18
+msgid "Nothing new here"
msgstr ""
-#: ../../include/features.php:82
-msgid "Network and Stream Filtering"
+#: ../../include/js_strings.php:19
+msgid "Rate This Channel (this is public)"
msgstr ""
-#: ../../include/features.php:83
-msgid "Search by Date"
+#: ../../include/js_strings.php:21
+msgid "Describe (optional)"
msgstr ""
-#: ../../include/features.php:83
-msgid "Ability to select posts by date ranges"
+#: ../../include/js_strings.php:23
+msgid "Please enter a link URL"
msgstr ""
-#: ../../include/features.php:84
-msgid "Enable management and selection of privacy groups"
+#: ../../include/js_strings.php:24
+msgid "Unsaved changes. Are you sure you wish to leave this page?"
msgstr ""
-#: ../../include/features.php:85
-msgid "Save search terms for re-use"
+#: ../../include/js_strings.php:27
+msgid "timeago.prefixAgo"
msgstr ""
-#: ../../include/features.php:86
-msgid "Network Personal Tab"
+#: ../../include/js_strings.php:28
+msgid "timeago.prefixFromNow"
msgstr ""
-#: ../../include/features.php:86
-msgid "Enable tab to display only Network posts that you've interacted on"
+#: ../../include/js_strings.php:29
+msgid "ago"
msgstr ""
-#: ../../include/features.php:87
-msgid "Network New Tab"
+#: ../../include/js_strings.php:30
+msgid "from now"
msgstr ""
-#: ../../include/features.php:87
-msgid "Enable tab to display all new Network activity"
+#: ../../include/js_strings.php:31
+msgid "less than a minute"
msgstr ""
-#: ../../include/features.php:88
-msgid "Affinity Tool"
+#: ../../include/js_strings.php:32
+msgid "about a minute"
msgstr ""
-#: ../../include/features.php:88
-msgid "Filter stream activity by depth of relationships"
+#: ../../include/js_strings.php:33
+#, php-format
+msgid "%d minutes"
msgstr ""
-#: ../../include/features.php:89
-msgid "Connection Filtering"
+#: ../../include/js_strings.php:34
+msgid "about an hour"
msgstr ""
-#: ../../include/features.php:89
-msgid "Filter incoming posts from connections based on keywords/content"
+#: ../../include/js_strings.php:35
+#, php-format
+msgid "about %d hours"
msgstr ""
-#: ../../include/features.php:90
-msgid "Show channel suggestions"
+#: ../../include/js_strings.php:36
+msgid "a day"
msgstr ""
-#: ../../include/features.php:95
-msgid "Post/Comment Tools"
+#: ../../include/js_strings.php:37
+#, php-format
+msgid "%d days"
msgstr ""
-#: ../../include/features.php:96
-msgid "Community Tagging"
+#: ../../include/js_strings.php:38
+msgid "about a month"
msgstr ""
-#: ../../include/features.php:96
-msgid "Ability to tag existing posts"
+#: ../../include/js_strings.php:39
+#, php-format
+msgid "%d months"
msgstr ""
-#: ../../include/features.php:97
-msgid "Post Categories"
+#: ../../include/js_strings.php:40
+msgid "about a year"
msgstr ""
-#: ../../include/features.php:97
-msgid "Add categories to your posts"
+#: ../../include/js_strings.php:41
+#, php-format
+msgid "%d years"
msgstr ""
-#: ../../include/features.php:98
-msgid "Emoji Reactions"
+#: ../../include/js_strings.php:42
+msgid " "
msgstr ""
-#: ../../include/features.php:98
-msgid "Add emoji reaction ability to posts"
+#: ../../include/js_strings.php:43
+msgid "timeago.numbers"
msgstr ""
-#: ../../include/features.php:99
-msgid "Ability to file posts under folders"
+#: ../../include/js_strings.php:45 ../../include/text.php:1241
+msgid "January"
msgstr ""
-#: ../../include/features.php:100
-msgid "Dislike Posts"
+#: ../../include/js_strings.php:46 ../../include/text.php:1241
+msgid "February"
msgstr ""
-#: ../../include/features.php:100
-msgid "Ability to dislike posts/comments"
+#: ../../include/js_strings.php:47 ../../include/text.php:1241
+msgid "March"
msgstr ""
-#: ../../include/features.php:101
-msgid "Star Posts"
+#: ../../include/js_strings.php:48 ../../include/text.php:1241
+msgid "April"
msgstr ""
-#: ../../include/features.php:101
-msgid "Ability to mark special posts with a star indicator"
+#: ../../include/js_strings.php:49
+msgctxt "long"
+msgid "May"
msgstr ""
-#: ../../include/features.php:102
-msgid "Tag Cloud"
+#: ../../include/js_strings.php:50 ../../include/text.php:1241
+msgid "June"
msgstr ""
-#: ../../include/features.php:102
-msgid "Provide a personal tag cloud on your channel page"
+#: ../../include/js_strings.php:51 ../../include/text.php:1241
+msgid "July"
msgstr ""
-#: ../../include/oembed.php:325
-msgid "Embedded content"
+#: ../../include/js_strings.php:52 ../../include/text.php:1241
+msgid "August"
msgstr ""
-#: ../../include/oembed.php:334
-msgid "Embedding disabled"
+#: ../../include/js_strings.php:53 ../../include/text.php:1241
+msgid "September"
msgstr ""
-#: ../../include/account.php:28
-msgid "Not a valid email address"
+#: ../../include/js_strings.php:54 ../../include/text.php:1241
+msgid "October"
msgstr ""
-#: ../../include/account.php:30
-msgid "Your email domain is not among those allowed on this site"
+#: ../../include/js_strings.php:55 ../../include/text.php:1241
+msgid "November"
msgstr ""
-#: ../../include/account.php:36
-msgid "Your email address is already registered at this site."
+#: ../../include/js_strings.php:56 ../../include/text.php:1241
+msgid "December"
msgstr ""
-#: ../../include/account.php:68
-msgid "An invitation is required."
+#: ../../include/js_strings.php:57
+msgid "Jan"
msgstr ""
-#: ../../include/account.php:72
-msgid "Invitation could not be verified."
+#: ../../include/js_strings.php:58
+msgid "Feb"
msgstr ""
-#: ../../include/account.php:122
-msgid "Please enter the required information."
+#: ../../include/js_strings.php:59
+msgid "Mar"
msgstr ""
-#: ../../include/account.php:189
-msgid "Failed to store account information."
+#: ../../include/js_strings.php:60
+msgid "Apr"
msgstr ""
-#: ../../include/account.php:249
-#, php-format
-msgid "Registration confirmation for %s"
+#: ../../include/js_strings.php:61
+msgctxt "short"
+msgid "May"
msgstr ""
-#: ../../include/account.php:315
-#, php-format
-msgid "Registration request at %s"
+#: ../../include/js_strings.php:62
+msgid "Jun"
msgstr ""
-#: ../../include/account.php:339
-msgid "your registration password"
+#: ../../include/js_strings.php:63
+msgid "Jul"
msgstr ""
-#: ../../include/account.php:342 ../../include/account.php:402
-#, php-format
-msgid "Registration details for %s"
+#: ../../include/js_strings.php:64
+msgid "Aug"
msgstr ""
-#: ../../include/account.php:414
-msgid "Account approved."
+#: ../../include/js_strings.php:65
+msgid "Sep"
msgstr ""
-#: ../../include/account.php:454
-#, php-format
-msgid "Registration revoked for %s"
+#: ../../include/js_strings.php:66
+msgid "Oct"
msgstr ""
-#: ../../include/account.php:739 ../../include/account.php:741
-msgid "Click here to upgrade."
+#: ../../include/js_strings.php:67
+msgid "Nov"
msgstr ""
-#: ../../include/account.php:747
-msgid "This action exceeds the limits set by your subscription plan."
+#: ../../include/js_strings.php:68
+msgid "Dec"
msgstr ""
-#: ../../include/account.php:752
-msgid "This action is not available under your subscription plan."
+#: ../../include/js_strings.php:69 ../../include/text.php:1237
+msgid "Sunday"
msgstr ""
-#: ../../include/PermissionDescription.php:116
-msgid "Public"
+#: ../../include/js_strings.php:70 ../../include/text.php:1237
+msgid "Monday"
msgstr ""
-#: ../../include/PermissionDescription.php:117
-msgid "Anybody in the $Projectname network"
+#: ../../include/js_strings.php:71 ../../include/text.php:1237
+msgid "Tuesday"
msgstr ""
-#: ../../include/PermissionDescription.php:118
-#, php-format
-msgid "Any account on %s"
+#: ../../include/js_strings.php:72 ../../include/text.php:1237
+msgid "Wednesday"
msgstr ""
-#: ../../include/PermissionDescription.php:119
-msgid "Any of my connections"
+#: ../../include/js_strings.php:73 ../../include/text.php:1237
+msgid "Thursday"
msgstr ""
-#: ../../include/PermissionDescription.php:120
-msgid "Only connections I specifically allow"
+#: ../../include/js_strings.php:74 ../../include/text.php:1237
+msgid "Friday"
msgstr ""
-#: ../../include/PermissionDescription.php:121
-msgid "Anybody authenticated (could include visitors from other networks)"
+#: ../../include/js_strings.php:75 ../../include/text.php:1237
+msgid "Saturday"
msgstr ""
-#: ../../include/PermissionDescription.php:122
-msgid "Any connections including those who haven't yet been approved"
+#: ../../include/js_strings.php:76
+msgid "Sun"
msgstr ""
-#: ../../include/PermissionDescription.php:161
-msgid ""
-"This is your default setting for the audience of your normal stream, and "
-"posts."
+#: ../../include/js_strings.php:77
+msgid "Mon"
msgstr ""
-#: ../../include/PermissionDescription.php:162
-msgid ""
-"This is your default setting for who can view your default channel profile"
+#: ../../include/js_strings.php:78
+msgid "Tue"
msgstr ""
-#: ../../include/PermissionDescription.php:163
-msgid "This is your default setting for who can view your connections"
+#: ../../include/js_strings.php:79
+msgid "Wed"
msgstr ""
-#: ../../include/PermissionDescription.php:164
-msgid ""
-"This is your default setting for who can view your file storage and photos"
+#: ../../include/js_strings.php:80
+msgid "Thu"
msgstr ""
-#: ../../include/PermissionDescription.php:165
-msgid "This is your default setting for the audience of your webpages"
+#: ../../include/js_strings.php:81
+msgid "Fri"
+msgstr ""
+
+#: ../../include/js_strings.php:82
+msgid "Sat"
+msgstr ""
+
+#: ../../include/js_strings.php:83
+msgctxt "calendar"
+msgid "today"
+msgstr ""
+
+#: ../../include/js_strings.php:84
+msgctxt "calendar"
+msgid "month"
+msgstr ""
+
+#: ../../include/js_strings.php:85
+msgctxt "calendar"
+msgid "week"
+msgstr ""
+
+#: ../../include/js_strings.php:86
+msgctxt "calendar"
+msgid "day"
+msgstr ""
+
+#: ../../include/js_strings.php:87
+msgctxt "calendar"
+msgid "All day"
msgstr ""
#: ../../include/contact_widgets.php:11
@@ -9421,306 +9484,260 @@ msgstr ""
msgid "Stored post could not be verified."
msgstr ""
-#: ../../include/channel.php:32
-msgid "Unable to obtain identity information from database"
-msgstr ""
-
-#: ../../include/channel.php:66
-msgid "Empty name"
-msgstr ""
-
-#: ../../include/channel.php:69
-msgid "Name too long"
-msgstr ""
-
-#: ../../include/channel.php:180
-msgid "No account identifier"
-msgstr ""
-
-#: ../../include/channel.php:192
-msgid "Nickname is required."
+#: ../../include/acl_selectors.php:269
+msgid "Who can see this?"
msgstr ""
-#: ../../include/channel.php:206
-msgid "Reserved nickname. Please choose another."
+#: ../../include/acl_selectors.php:270
+msgid "Custom selection"
msgstr ""
-#: ../../include/channel.php:211
+#: ../../include/acl_selectors.php:271
msgid ""
-"Nickname has unsupported characters or is already being used on this site."
+"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit "
+"the scope of \"Show\"."
msgstr ""
-#: ../../include/channel.php:287
-msgid "Unable to retrieve created identity"
+#: ../../include/acl_selectors.php:272
+msgid "Show"
msgstr ""
-#: ../../include/channel.php:345
-msgid "Default Profile"
+#: ../../include/acl_selectors.php:273
+msgid "Don't show"
msgstr ""
-#: ../../include/channel.php:815
-msgid "Requested channel is not available."
+#: ../../include/acl_selectors.php:279
+msgid "Other networks and post services"
msgstr ""
-#: ../../include/channel.php:962
-msgid "Create New Profile"
+#: ../../include/acl_selectors.php:309
+#, php-format
+msgid ""
+"Post permissions %s cannot be changed %s after a post is shared.</br />These "
+"permissions set who is allowed to view the post."
msgstr ""
-#: ../../include/channel.php:982
-msgid "Visible to everybody"
+#: ../../include/security.php:108
+msgid "guest:"
msgstr ""
-#: ../../include/channel.php:1055 ../../include/channel.php:1167
-msgid "Gender:"
+#: ../../include/security.php:425
+msgid ""
+"The form security token was not correct. This probably happened because the "
+"form has been opened for too long (>3 hours) before submitting it."
msgstr ""
-#: ../../include/channel.php:1056 ../../include/channel.php:1211
-msgid "Status:"
+#: ../../include/text.php:404
+msgid "prev"
msgstr ""
-#: ../../include/channel.php:1057 ../../include/channel.php:1222
-msgid "Homepage:"
+#: ../../include/text.php:406
+msgid "first"
msgstr ""
-#: ../../include/channel.php:1058
-msgid "Online Now"
+#: ../../include/text.php:435
+msgid "last"
msgstr ""
-#: ../../include/channel.php:1172
-msgid "Like this channel"
+#: ../../include/text.php:438
+msgid "next"
msgstr ""
-#: ../../include/channel.php:1196
-msgid "j F, Y"
+#: ../../include/text.php:448
+msgid "older"
msgstr ""
-#: ../../include/channel.php:1197
-msgid "j F"
+#: ../../include/text.php:450
+msgid "newer"
msgstr ""
-#: ../../include/channel.php:1204
-msgid "Birthday:"
+#: ../../include/text.php:843
+msgid "No connections"
msgstr ""
-#: ../../include/channel.php:1217
+#: ../../include/text.php:868
#, php-format
-msgid "for %1$d %2$s"
-msgstr ""
-
-#: ../../include/channel.php:1220
-msgid "Sexual Preference:"
-msgstr ""
-
-#: ../../include/channel.php:1226
-msgid "Tags:"
-msgstr ""
-
-#: ../../include/channel.php:1228
-msgid "Political Views:"
-msgstr ""
-
-#: ../../include/channel.php:1230
-msgid "Religion:"
-msgstr ""
-
-#: ../../include/channel.php:1234
-msgid "Hobbies/Interests:"
-msgstr ""
-
-#: ../../include/channel.php:1236
-msgid "Likes:"
-msgstr ""
-
-#: ../../include/channel.php:1238
-msgid "Dislikes:"
-msgstr ""
-
-#: ../../include/channel.php:1240
-msgid "Contact information and Social Networks:"
-msgstr ""
-
-#: ../../include/channel.php:1242
-msgid "My other channels:"
+msgid "View all %s connections"
msgstr ""
-#: ../../include/channel.php:1244
-msgid "Musical interests:"
+#: ../../include/text.php:1013 ../../include/text.php:1018
+msgid "poke"
msgstr ""
-#: ../../include/channel.php:1246
-msgid "Books, literature:"
+#: ../../include/text.php:1019
+msgid "ping"
msgstr ""
-#: ../../include/channel.php:1248
-msgid "Television:"
+#: ../../include/text.php:1019
+msgid "pinged"
msgstr ""
-#: ../../include/channel.php:1250
-msgid "Film/dance/culture/entertainment:"
+#: ../../include/text.php:1020
+msgid "prod"
msgstr ""
-#: ../../include/channel.php:1252
-msgid "Love/Romance:"
+#: ../../include/text.php:1020
+msgid "prodded"
msgstr ""
-#: ../../include/channel.php:1254
-msgid "Work/employment:"
+#: ../../include/text.php:1021
+msgid "slap"
msgstr ""
-#: ../../include/channel.php:1256
-msgid "School/education:"
+#: ../../include/text.php:1021
+msgid "slapped"
msgstr ""
-#: ../../include/channel.php:1277
-msgid "Like this thing"
+#: ../../include/text.php:1022
+msgid "finger"
msgstr ""
-#: ../../include/permissions.php:26
-msgid "Can view my normal stream and posts"
+#: ../../include/text.php:1022
+msgid "fingered"
msgstr ""
-#: ../../include/permissions.php:27
-msgid "Can view my default channel profile"
+#: ../../include/text.php:1023
+msgid "rebuff"
msgstr ""
-#: ../../include/permissions.php:28
-msgid "Can view my connections"
+#: ../../include/text.php:1023
+msgid "rebuffed"
msgstr ""
-#: ../../include/permissions.php:29
-msgid "Can view my file storage and photos"
+#: ../../include/text.php:1035
+msgid "happy"
msgstr ""
-#: ../../include/permissions.php:30
-msgid "Can view my webpages"
+#: ../../include/text.php:1036
+msgid "sad"
msgstr ""
-#: ../../include/permissions.php:33
-msgid "Can send me their channel stream and posts"
+#: ../../include/text.php:1037
+msgid "mellow"
msgstr ""
-#: ../../include/permissions.php:34
-msgid "Can post on my channel page (\"wall\")"
+#: ../../include/text.php:1038
+msgid "tired"
msgstr ""
-#: ../../include/permissions.php:35
-msgid "Can comment on or like my posts"
+#: ../../include/text.php:1039
+msgid "perky"
msgstr ""
-#: ../../include/permissions.php:36
-msgid "Can send me private mail messages"
+#: ../../include/text.php:1040
+msgid "angry"
msgstr ""
-#: ../../include/permissions.php:37
-msgid "Can like/dislike stuff"
+#: ../../include/text.php:1041
+msgid "stupefied"
msgstr ""
-#: ../../include/permissions.php:37
-msgid "Profiles and things other than posts/comments"
+#: ../../include/text.php:1042
+msgid "puzzled"
msgstr ""
-#: ../../include/permissions.php:39
-msgid "Can forward to all my channel contacts via post @mentions"
+#: ../../include/text.php:1043
+msgid "interested"
msgstr ""
-#: ../../include/permissions.php:39
-msgid "Advanced - useful for creating group forum channels"
+#: ../../include/text.php:1044
+msgid "bitter"
msgstr ""
-#: ../../include/permissions.php:40
-msgid "Can chat with me (when available)"
+#: ../../include/text.php:1045
+msgid "cheerful"
msgstr ""
-#: ../../include/permissions.php:41
-msgid "Can write to my file storage and photos"
+#: ../../include/text.php:1046
+msgid "alive"
msgstr ""
-#: ../../include/permissions.php:42
-msgid "Can edit my webpages"
+#: ../../include/text.php:1047
+msgid "annoyed"
msgstr ""
-#: ../../include/permissions.php:44
-msgid "Can source my public posts in derived channels"
+#: ../../include/text.php:1048
+msgid "anxious"
msgstr ""
-#: ../../include/permissions.php:44
-msgid "Somewhat advanced - very useful in open communities"
+#: ../../include/text.php:1049
+msgid "cranky"
msgstr ""
-#: ../../include/permissions.php:46
-msgid "Can administer my channel resources"
+#: ../../include/text.php:1050
+msgid "disturbed"
msgstr ""
-#: ../../include/permissions.php:46
-msgid "Extremely advanced. Leave this alone unless you know what you are doing"
+#: ../../include/text.php:1051
+msgid "frustrated"
msgstr ""
-#: ../../include/permissions.php:877
-msgid "Social Networking"
+#: ../../include/text.php:1052
+msgid "depressed"
msgstr ""
-#: ../../include/permissions.php:877
-msgid "Social - Mostly Public"
+#: ../../include/text.php:1053
+msgid "motivated"
msgstr ""
-#: ../../include/permissions.php:877
-msgid "Social - Restricted"
+#: ../../include/text.php:1054
+msgid "relaxed"
msgstr ""
-#: ../../include/permissions.php:877
-msgid "Social - Private"
+#: ../../include/text.php:1055
+msgid "surprised"
msgstr ""
-#: ../../include/permissions.php:878
-msgid "Community Forum"
+#: ../../include/text.php:1241
+msgid "May"
msgstr ""
-#: ../../include/permissions.php:878
-msgid "Forum - Mostly Public"
+#: ../../include/text.php:1318 ../../include/text.php:1322
+msgid "Unknown Attachment"
msgstr ""
-#: ../../include/permissions.php:878
-msgid "Forum - Restricted"
+#: ../../include/text.php:1324
+msgid "unknown"
msgstr ""
-#: ../../include/permissions.php:878
-msgid "Forum - Private"
+#: ../../include/text.php:1360
+msgid "remove category"
msgstr ""
-#: ../../include/permissions.php:879
-msgid "Feed Republish"
+#: ../../include/text.php:1437
+msgid "remove from file"
msgstr ""
-#: ../../include/permissions.php:879
-msgid "Feed - Mostly Public"
+#: ../../include/text.php:1734 ../../include/text.php:1805
+msgid "default"
msgstr ""
-#: ../../include/permissions.php:879
-msgid "Feed - Restricted"
+#: ../../include/text.php:1742
+msgid "Page layout"
msgstr ""
-#: ../../include/permissions.php:880
-msgid "Special Purpose"
+#: ../../include/text.php:1742
+msgid "You can create your own with the layouts tool"
msgstr ""
-#: ../../include/permissions.php:880
-msgid "Special - Celebrity/Soapbox"
+#: ../../include/text.php:1784
+msgid "Page content type"
msgstr ""
-#: ../../include/permissions.php:880
-msgid "Special - Group Repository"
+#: ../../include/text.php:1817
+msgid "Select an alternate language"
msgstr ""
-#: ../../include/permissions.php:881
-msgid "Custom/Expert Mode"
+#: ../../include/text.php:1934
+msgid "activity"
msgstr ""
-#: ../../include/auth.php:105
-msgid "Logged out."
+#: ../../include/text.php:2243
+msgid "Design Tools"
msgstr ""
-#: ../../include/auth.php:212
-msgid "Failed authentication"
+#: ../../include/text.php:2249
+msgid "Pages"
msgstr ""
#: ../../view/theme/redbasic/php/config.php:82
diff --git a/util/service_class b/util/service_class
index 2b5998615..50f01afff 100755
--- a/util/service_class
+++ b/util/service_class
@@ -56,7 +56,7 @@ if($argc == 3) {
echo "service_class $oclass\t\t\033[1m" . $argv[2] . "\033[0m\n";
$new = get_config('service_class', $argv[2]);
- foreach(array('photo_upload_limit','total_items','total_pages','total_identities','total_channels','total_feeds','attach_upload_limit','minimum_feedcheck_minutes','chatrooms','chatters_inroom') as $prop) {
+ foreach(array('photo_upload_limit','total_items','total_pages','total_identities','total_channels','total_feeds','attach_upload_limit','minimum_feedcheck_minutes','chatrooms','chatters_inroom','access_tokens') as $prop) {
echo $prop . str_repeat(' ',26 - strlen($prop)) . (($old && $old[$prop]) ? $old[$prop] : 'unlimited') . "\t\t\033[1m" . (($new && $new[$prop]) ? $new[$prop] : 'unlimited') . "\033[0m\n";
}
$r = '';
diff --git a/view/css/bootstrap-red.css b/view/css/bootstrap-red.css
index 20df16446..b68517e25 100644
--- a/view/css/bootstrap-red.css
+++ b/view/css/bootstrap-red.css
@@ -5,6 +5,7 @@
nav .badge {
position: relative;
top: -49px;
+ left: 2px;
float: left;
font-size: 10px;
line-height: 20px;
diff --git a/view/css/conversation.css b/view/css/conversation.css
index b6e316121..68aa8bfbe 100644
--- a/view/css/conversation.css
+++ b/view/css/conversation.css
@@ -121,7 +121,7 @@ a.wall-item-name-link {
}
.wall-item-content {
- overflow: auto;
+ overflow: hidden;
}
.wall-item-content h1,
@@ -316,4 +316,4 @@ code.inline-code {
img.smiley.emoji:hover {
width: 32px;
height: 32px;
-} \ No newline at end of file
+}
diff --git a/view/css/mod_directory.css b/view/css/mod_directory.css
index 9bfea856d..af89e597d 100644
--- a/view/css/mod_directory.css
+++ b/view/css/mod_directory.css
@@ -30,5 +30,5 @@
}
.directory-collapse {
- overflow: auto;
+ overflow: hidden;
}
diff --git a/view/css/mod_settings.css b/view/css/mod_settings.css
index e81d115d4..4236b3dff 100644
--- a/view/css/mod_settings.css
+++ b/view/css/mod_settings.css
@@ -7,5 +7,22 @@
}
.channel-menu {
- margin-top: 24px;
+ margin-top: 24px;
+}
+
+.zat-example {
+ color: red;
+}
+
+#atoken-index {
+ width: 100%;
+}
+
+#atoken-index td:nth-child(1){
+ padding: 7px 3px 7px 10px;
+ white-space: nowrap;
+}
+
+.atoken-index-tool {
+ padding: 7px 10px;
}
diff --git a/view/js/jquery-migrate-1.1.1.js b/view/js/jquery-migrate-1.1.1.js
deleted file mode 100644
index e99f954e6..000000000
--- a/view/js/jquery-migrate-1.1.1.js
+++ /dev/null
@@ -1,511 +0,0 @@
-/*!
- * jQuery Migrate - v1.1.1 - 2013-02-16
- * https://github.com/jquery/jquery-migrate
- * Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors; Licensed MIT
- */
-(function( jQuery, window, undefined ) {
-// See http://bugs.jquery.com/ticket/13335
-// "use strict";
-
-
-var warnedAbout = {};
-
-// List of warnings already given; public read only
-jQuery.migrateWarnings = [];
-
-// Set to true to prevent console output; migrateWarnings still maintained
-// jQuery.migrateMute = false;
-
-// Show a message on the console so devs know we're active
-if ( !jQuery.migrateMute && window.console && console.log ) {
- console.log("JQMIGRATE: Logging is active");
-}
-
-// Set to false to disable traces that appear with warnings
-if ( jQuery.migrateTrace === undefined ) {
- jQuery.migrateTrace = true;
-}
-
-// Forget any warnings we've already given; public
-jQuery.migrateReset = function() {
- warnedAbout = {};
- jQuery.migrateWarnings.length = 0;
-};
-
-function migrateWarn( msg) {
- if ( !warnedAbout[ msg ] ) {
- warnedAbout[ msg ] = true;
- jQuery.migrateWarnings.push( msg );
- if ( window.console && console.warn && !jQuery.migrateMute ) {
- console.warn( "JQMIGRATE: " + msg );
- if ( jQuery.migrateTrace && console.trace ) {
- console.trace();
- }
- }
- }
-}
-
-function migrateWarnProp( obj, prop, value, msg ) {
- if ( Object.defineProperty ) {
- // On ES5 browsers (non-oldIE), warn if the code tries to get prop;
- // allow property to be overwritten in case some other plugin wants it
- try {
- Object.defineProperty( obj, prop, {
- configurable: true,
- enumerable: true,
- get: function() {
- migrateWarn( msg );
- return value;
- },
- set: function( newValue ) {
- migrateWarn( msg );
- value = newValue;
- }
- });
- return;
- } catch( err ) {
- // IE8 is a dope about Object.defineProperty, can't warn there
- }
- }
-
- // Non-ES5 (or broken) browser; just set the property
- jQuery._definePropertyBroken = true;
- obj[ prop ] = value;
-}
-
-if ( document.compatMode === "BackCompat" ) {
- // jQuery has never supported or tested Quirks Mode
- migrateWarn( "jQuery is not compatible with Quirks Mode" );
-}
-
-
-var attrFn = jQuery( "<input/>", { size: 1 } ).attr("size") && jQuery.attrFn,
- oldAttr = jQuery.attr,
- valueAttrGet = jQuery.attrHooks.value && jQuery.attrHooks.value.get ||
- function() { return null; },
- valueAttrSet = jQuery.attrHooks.value && jQuery.attrHooks.value.set ||
- function() { return undefined; },
- rnoType = /^(?:input|button)$/i,
- rnoAttrNodeType = /^[238]$/,
- rboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,
- ruseDefault = /^(?:checked|selected)$/i;
-
-// jQuery.attrFn
-migrateWarnProp( jQuery, "attrFn", attrFn || {}, "jQuery.attrFn is deprecated" );
-
-jQuery.attr = function( elem, name, value, pass ) {
- var lowerName = name.toLowerCase(),
- nType = elem && elem.nodeType;
-
- if ( pass ) {
- // Since pass is used internally, we only warn for new jQuery
- // versions where there isn't a pass arg in the formal params
- if ( oldAttr.length < 4 ) {
- migrateWarn("jQuery.fn.attr( props, pass ) is deprecated");
- }
- if ( elem && !rnoAttrNodeType.test( nType ) &&
- (attrFn ? name in attrFn : jQuery.isFunction(jQuery.fn[name])) ) {
- return jQuery( elem )[ name ]( value );
- }
- }
-
- // Warn if user tries to set `type`, since it breaks on IE 6/7/8; by checking
- // for disconnected elements we don't warn on $( "<button>", { type: "button" } ).
- if ( name === "type" && value !== undefined && rnoType.test( elem.nodeName ) && elem.parentNode ) {
- migrateWarn("Can't change the 'type' of an input or button in IE 6/7/8");
- }
-
- // Restore boolHook for boolean property/attribute synchronization
- if ( !jQuery.attrHooks[ lowerName ] && rboolean.test( lowerName ) ) {
- jQuery.attrHooks[ lowerName ] = {
- get: function( elem, name ) {
- // Align boolean attributes with corresponding properties
- // Fall back to attribute presence where some booleans are not supported
- var attrNode,
- property = jQuery.prop( elem, name );
- return property === true || typeof property !== "boolean" &&
- ( attrNode = elem.getAttributeNode(name) ) && attrNode.nodeValue !== false ?
-
- name.toLowerCase() :
- undefined;
- },
- set: function( elem, value, name ) {
- var propName;
- if ( value === false ) {
- // Remove boolean attributes when set to false
- jQuery.removeAttr( elem, name );
- } else {
- // value is true since we know at this point it's type boolean and not false
- // Set boolean attributes to the same name and set the DOM property
- propName = jQuery.propFix[ name ] || name;
- if ( propName in elem ) {
- // Only set the IDL specifically if it already exists on the element
- elem[ propName ] = true;
- }
-
- elem.setAttribute( name, name.toLowerCase() );
- }
- return name;
- }
- };
-
- // Warn only for attributes that can remain distinct from their properties post-1.9
- if ( ruseDefault.test( lowerName ) ) {
- migrateWarn( "jQuery.fn.attr('" + lowerName + "') may use property instead of attribute" );
- }
- }
-
- return oldAttr.call( jQuery, elem, name, value );
-};
-
-// attrHooks: value
-jQuery.attrHooks.value = {
- get: function( elem, name ) {
- var nodeName = ( elem.nodeName || "" ).toLowerCase();
- if ( nodeName === "button" ) {
- return valueAttrGet.apply( this, arguments );
- }
- if ( nodeName !== "input" && nodeName !== "option" ) {
- migrateWarn("jQuery.fn.attr('value') no longer gets properties");
- }
- return name in elem ?
- elem.value :
- null;
- },
- set: function( elem, value ) {
- var nodeName = ( elem.nodeName || "" ).toLowerCase();
- if ( nodeName === "button" ) {
- return valueAttrSet.apply( this, arguments );
- }
- if ( nodeName !== "input" && nodeName !== "option" ) {
- migrateWarn("jQuery.fn.attr('value', val) no longer sets properties");
- }
- // Does not return so that setAttribute is also used
- elem.value = value;
- }
-};
-
-
-var matched, browser,
- oldInit = jQuery.fn.init,
- oldParseJSON = jQuery.parseJSON,
- // Note this does NOT include the #9521 XSS fix from 1.7!
- rquickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*|#([\w\-]*))$/;
-
-// $(html) "looks like html" rule change
-jQuery.fn.init = function( selector, context, rootjQuery ) {
- var match;
-
- if ( selector && typeof selector === "string" && !jQuery.isPlainObject( context ) &&
- (match = rquickExpr.exec( selector )) && match[1] ) {
- // This is an HTML string according to the "old" rules; is it still?
- if ( selector.charAt( 0 ) !== "<" ) {
- migrateWarn("$(html) HTML strings must start with '<' character");
- }
- // Now process using loose rules; let pre-1.8 play too
- if ( context && context.context ) {
- // jQuery object as context; parseHTML expects a DOM object
- context = context.context;
- }
- if ( jQuery.parseHTML ) {
- return oldInit.call( this, jQuery.parseHTML( jQuery.trim(selector), context, true ),
- context, rootjQuery );
- }
- }
- return oldInit.apply( this, arguments );
-};
-jQuery.fn.init.prototype = jQuery.fn;
-
-// Let $.parseJSON(falsy_value) return null
-jQuery.parseJSON = function( json ) {
- if ( !json && json !== null ) {
- migrateWarn("jQuery.parseJSON requires a valid JSON string");
- return null;
- }
- return oldParseJSON.apply( this, arguments );
-};
-
-jQuery.uaMatch = function( ua ) {
- ua = ua.toLowerCase();
-
- var match = /(chrome)[ \/]([\w.]+)/.exec( ua ) ||
- /(webkit)[ \/]([\w.]+)/.exec( ua ) ||
- /(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) ||
- /(msie) ([\w.]+)/.exec( ua ) ||
- ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( ua ) ||
- [];
-
- return {
- browser: match[ 1 ] || "",
- version: match[ 2 ] || "0"
- };
-};
-
-// Don't clobber any existing jQuery.browser in case it's different
-if ( !jQuery.browser ) {
- matched = jQuery.uaMatch( navigator.userAgent );
- browser = {};
-
- if ( matched.browser ) {
- browser[ matched.browser ] = true;
- browser.version = matched.version;
- }
-
- // Chrome is Webkit, but Webkit is also Safari.
- if ( browser.chrome ) {
- browser.webkit = true;
- } else if ( browser.webkit ) {
- browser.safari = true;
- }
-
- jQuery.browser = browser;
-}
-
-// Warn if the code tries to get jQuery.browser
-migrateWarnProp( jQuery, "browser", jQuery.browser, "jQuery.browser is deprecated" );
-
-jQuery.sub = function() {
- function jQuerySub( selector, context ) {
- return new jQuerySub.fn.init( selector, context );
- }
- jQuery.extend( true, jQuerySub, this );
- jQuerySub.superclass = this;
- jQuerySub.fn = jQuerySub.prototype = this();
- jQuerySub.fn.constructor = jQuerySub;
- jQuerySub.sub = this.sub;
- jQuerySub.fn.init = function init( selector, context ) {
- if ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) {
- context = jQuerySub( context );
- }
-
- return jQuery.fn.init.call( this, selector, context, rootjQuerySub );
- };
- jQuerySub.fn.init.prototype = jQuerySub.fn;
- var rootjQuerySub = jQuerySub(document);
- migrateWarn( "jQuery.sub() is deprecated" );
- return jQuerySub;
-};
-
-
-// Ensure that $.ajax gets the new parseJSON defined in core.js
-jQuery.ajaxSetup({
- converters: {
- "text json": jQuery.parseJSON
- }
-});
-
-
-var oldFnData = jQuery.fn.data;
-
-jQuery.fn.data = function( name ) {
- var ret, evt,
- elem = this[0];
-
- // Handles 1.7 which has this behavior and 1.8 which doesn't
- if ( elem && name === "events" && arguments.length === 1 ) {
- ret = jQuery.data( elem, name );
- evt = jQuery._data( elem, name );
- if ( ( ret === undefined || ret === evt ) && evt !== undefined ) {
- migrateWarn("Use of jQuery.fn.data('events') is deprecated");
- return evt;
- }
- }
- return oldFnData.apply( this, arguments );
-};
-
-
-var rscriptType = /\/(java|ecma)script/i,
- oldSelf = jQuery.fn.andSelf || jQuery.fn.addBack;
-
-jQuery.fn.andSelf = function() {
- migrateWarn("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()");
- return oldSelf.apply( this, arguments );
-};
-
-// Since jQuery.clean is used internally on older versions, we only shim if it's missing
-if ( !jQuery.clean ) {
- jQuery.clean = function( elems, context, fragment, scripts ) {
- // Set context per 1.8 logic
- context = context || document;
- context = !context.nodeType && context[0] || context;
- context = context.ownerDocument || context;
-
- migrateWarn("jQuery.clean() is deprecated");
-
- var i, elem, handleScript, jsTags,
- ret = [];
-
- jQuery.merge( ret, jQuery.buildFragment( elems, context ).childNodes );
-
- // Complex logic lifted directly from jQuery 1.8
- if ( fragment ) {
- // Special handling of each script element
- handleScript = function( elem ) {
- // Check if we consider it executable
- if ( !elem.type || rscriptType.test( elem.type ) ) {
- // Detach the script and store it in the scripts array (if provided) or the fragment
- // Return truthy to indicate that it has been handled
- return scripts ?
- scripts.push( elem.parentNode ? elem.parentNode.removeChild( elem ) : elem ) :
- fragment.appendChild( elem );
- }
- };
-
- for ( i = 0; (elem = ret[i]) != null; i++ ) {
- // Check if we're done after handling an executable script
- if ( !( jQuery.nodeName( elem, "script" ) && handleScript( elem ) ) ) {
- // Append to fragment and handle embedded scripts
- fragment.appendChild( elem );
- if ( typeof elem.getElementsByTagName !== "undefined" ) {
- // handleScript alters the DOM, so use jQuery.merge to ensure snapshot iteration
- jsTags = jQuery.grep( jQuery.merge( [], elem.getElementsByTagName("script") ), handleScript );
-
- // Splice the scripts into ret after their former ancestor and advance our index beyond them
- ret.splice.apply( ret, [i + 1, 0].concat( jsTags ) );
- i += jsTags.length;
- }
- }
- }
- }
-
- return ret;
- };
-}
-
-var eventAdd = jQuery.event.add,
- eventRemove = jQuery.event.remove,
- eventTrigger = jQuery.event.trigger,
- oldToggle = jQuery.fn.toggle,
- oldLive = jQuery.fn.live,
- oldDie = jQuery.fn.die,
- ajaxEvents = "ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",
- rajaxEvent = new RegExp( "\\b(?:" + ajaxEvents + ")\\b" ),
- rhoverHack = /(?:^|\s)hover(\.\S+|)\b/,
- hoverHack = function( events ) {
- if ( typeof( events ) !== "string" || jQuery.event.special.hover ) {
- return events;
- }
- if ( rhoverHack.test( events ) ) {
- migrateWarn("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'");
- }
- return events && events.replace( rhoverHack, "mouseenter$1 mouseleave$1" );
- };
-
-// Event props removed in 1.9, put them back if needed; no practical way to warn them
-if ( jQuery.event.props && jQuery.event.props[ 0 ] !== "attrChange" ) {
- jQuery.event.props.unshift( "attrChange", "attrName", "relatedNode", "srcElement" );
-}
-
-// Undocumented jQuery.event.handle was "deprecated" in jQuery 1.7
-if ( jQuery.event.dispatch ) {
- migrateWarnProp( jQuery.event, "handle", jQuery.event.dispatch, "jQuery.event.handle is undocumented and deprecated" );
-}
-
-// Support for 'hover' pseudo-event and ajax event warnings
-jQuery.event.add = function( elem, types, handler, data, selector ){
- if ( elem !== document && rajaxEvent.test( types ) ) {
- migrateWarn( "AJAX events should be attached to document: " + types );
- }
- eventAdd.call( this, elem, hoverHack( types || "" ), handler, data, selector );
-};
-jQuery.event.remove = function( elem, types, handler, selector, mappedTypes ){
- eventRemove.call( this, elem, hoverHack( types ) || "", handler, selector, mappedTypes );
-};
-
-jQuery.fn.error = function() {
- var args = Array.prototype.slice.call( arguments, 0);
- migrateWarn("jQuery.fn.error() is deprecated");
- args.splice( 0, 0, "error" );
- if ( arguments.length ) {
- return this.bind.apply( this, args );
- }
- // error event should not bubble to window, although it does pre-1.7
- this.triggerHandler.apply( this, args );
- return this;
-};
-
-jQuery.fn.toggle = function( fn, fn2 ) {
-
- // Don't mess with animation or css toggles
- if ( !jQuery.isFunction( fn ) || !jQuery.isFunction( fn2 ) ) {
- return oldToggle.apply( this, arguments );
- }
- migrateWarn("jQuery.fn.toggle(handler, handler...) is deprecated");
-
- // Save reference to arguments for access in closure
- var args = arguments,
- guid = fn.guid || jQuery.guid++,
- i = 0,
- toggler = function( event ) {
- // Figure out which function to execute
- var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i;
- jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 );
-
- // Make sure that clicks stop
- event.preventDefault();
-
- // and execute the function
- return args[ lastToggle ].apply( this, arguments ) || false;
- };
-
- // link all the functions, so any of them can unbind this click handler
- toggler.guid = guid;
- while ( i < args.length ) {
- args[ i++ ].guid = guid;
- }
-
- return this.click( toggler );
-};
-
-jQuery.fn.live = function( types, data, fn ) {
- migrateWarn("jQuery.fn.live() is deprecated");
- if ( oldLive ) {
- return oldLive.apply( this, arguments );
- }
- jQuery( this.context ).on( types, this.selector, data, fn );
- return this;
-};
-
-jQuery.fn.die = function( types, fn ) {
- migrateWarn("jQuery.fn.die() is deprecated");
- if ( oldDie ) {
- return oldDie.apply( this, arguments );
- }
- jQuery( this.context ).off( types, this.selector || "**", fn );
- return this;
-};
-
-// Turn global events into document-triggered events
-jQuery.event.trigger = function( event, data, elem, onlyHandlers ){
- if ( !elem && !rajaxEvent.test( event ) ) {
- migrateWarn( "Global events are undocumented and deprecated" );
- }
- return eventTrigger.call( this, event, data, elem || document, onlyHandlers );
-};
-jQuery.each( ajaxEvents.split("|"),
- function( _, name ) {
- jQuery.event.special[ name ] = {
- setup: function() {
- var elem = this;
-
- // The document needs no shimming; must be !== for oldIE
- if ( elem !== document ) {
- jQuery.event.add( document, name + "." + jQuery.guid, function() {
- jQuery.event.trigger( name, null, elem, true );
- });
- jQuery._data( this, name, jQuery.guid++ );
- }
- return false;
- },
- teardown: function() {
- if ( this !== document ) {
- jQuery.event.remove( document, name + "." + jQuery._data( this, name ) );
- }
- return false;
- }
- };
- }
-);
-
-
-})( jQuery, window );
diff --git a/view/js/jquery.js b/view/js/jquery.js
index d26ce7f6a..046447ce9 100644
--- a/view/js/jquery.js
+++ b/view/js/jquery.js
@@ -1,5 +1,5 @@
-/*! 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});
+/*! jQuery v3.1.0 | (c) jQuery Foundation | jquery.org/license */
+!function(a,b){"use strict";"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){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.1.0",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null!=a?a<0?this[a+this.length]:this[a]:f.call(this)},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c<b?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:h,sort:c.sort,splice:c.splice},r.extend=r.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||r.isFunction(g)||(g={}),h===i&&(g=this,h--);h<i;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=r.isArray(d)))?(e?(e=!1,f=c&&r.isArray(c)?c:[]):f=c&&r.isPlainObject(c)?c:{},g[b]=r.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},r.extend({expando:"jQuery"+(q+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===r.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=r.type(a);return("number"===b||"string"===b)&&!isNaN(a-parseFloat(a))},isPlainObject:function(a){var b,c;return!(!a||"[object Object]"!==k.call(a))&&(!(b=e(a))||(c=l.call(b,"constructor")&&b.constructor,"function"==typeof c&&m.call(c)===n))},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?j[k.call(a)]||"object":typeof a},globalEval:function(a){p(a)},camelCase:function(a){return a.replace(t,"ms-").replace(u,v)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(w(a)){for(c=a.length;d<c;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(s,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(w(Object(a))?r.merge(c,"string"==typeof a?[a]:a):h.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:i.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;d<c;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;f<g;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,f=0,h=[];if(w(a))for(d=a.length;f<d;f++)e=b(a[f],f,c),null!=e&&h.push(e);else for(f in a)e=b(a[f],f,c),null!=e&&h.push(e);return g.apply([],h)},guid:1,proxy:function(a,b){var c,d,e;if("string"==typeof b&&(c=a[b],b=a,a=c),r.isFunction(a))return d=f.call(arguments,2),e=function(){return a.apply(b||this,d.concat(f.call(arguments)))},e.guid=a.guid=a.guid||r.guid++,e},now:Date.now,support:o}),"function"==typeof Symbol&&(r.fn[Symbol.iterator]=c[Symbol.iterator]),r.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){j["[object "+b+"]"]=b.toLowerCase()});function w(a){var b=!!a&&"length"in a&&a.length,c=r.type(a);return"function"!==c&&!r.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}var x=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={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",M="\\["+K+"*("+L+")(?:"+K+"*([*^$|!~]?=)"+K+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+K+"*\\]",N=":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",O=new RegExp(K+"+","g"),P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.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=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$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("fieldset");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=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;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 function(b){return"label"in b&&b.disabled===a||"form"in b&&b.disabled===a||"form"in b&&b.disabled===!1&&(b.isDisabled===a||b.isDisabled!==!a&&("label"in b||!ea(b))!==a)}}function pa(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 qa(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},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=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.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]:[]}},d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(_,aa);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){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.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===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(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,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):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(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!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&&C.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.escape=function(a){return(a+"").replace(ba,ca)},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:V,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(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===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 V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.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(_,aa).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("(^|"+K+")"+a+"("+K+"|$)"))&&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(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},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,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/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=I(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(P,"$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(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).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:oa(!1),disabled:oa(!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 X.test(a.nodeName)},input:function(a){return W.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:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c<b;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;c<b;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?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 ra(){}ra.prototype=d.filters=d.pseudos,d.setFilters=new ra,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=Q.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[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 sa(a){for(var b=0,c=a.length,d="";b<c;b++)d+=a[b].value;return d}function ta(a,b,c){var d=b.dir,e=b.next,f=e||d,g=c&&"parentNode"===f,h=x++;return b.first?function(b,c,e){while(b=b[d])if(1===b.nodeType||g)return a(b,c,e)}:function(b,c,i){var j,k,l,m=[w,h];if(i){while(b=b[d])if((1===b.nodeType||g)&&a(b,c,i))return!0}else while(b=b[d])if(1===b.nodeType||g)if(l=b[u]||(b[u]={}),k=l[b.uniqueID]||(l[b.uniqueID]={}),e&&e===b.nodeName.toLowerCase())b=b[d]||b;else{if((j=k[f])&&j[0]===w&&j[1]===h)return m[2]=j[2];if(k[f]=m,m[2]=a(b,c,i))return!0}}}function ua(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 va(a,b,c){for(var d=0,e=b.length;d<e;d++)ga(a,b[d],c);return c}function wa(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;h<i;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function xa(a,b,c,d,e,f){return d&&!d[u]&&(d=xa(d)),e&&!e[u]&&(e=xa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||va(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:wa(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=wa(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?I(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(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}];i<f;i++)if(c=d.relative[a[i].type])m=[ta(ua(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;e<f;e++)if(d.relative[a[e].type])break;return xa(i>1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i<e&&ya(a.slice(i,e)),e<f&&ya(a=a.slice(e)),e<f&&sa(a))}m.push(c)}return ua(m)}function za(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};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=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(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(_,aa),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=V.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(_,aa),$.test(j[0].type)&&qa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&sa(j),!a)return G.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||$.test(a)&&qa(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("fieldset"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return 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){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext,B=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,C=/^.[^:#\[\.,]*$/;function D(a,b,c){if(r.isFunction(b))return r.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return r.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(C.test(b))return r.filter(b,a,c);b=r.filter(b,a)}return r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType})}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b<d;b++)if(r.contains(e[b],this))return!0}));for(c=this.pushStack([]),b=0;b<d;b++)r.find(a,e[b],c);return d>1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(D(this,a||[],!1))},not:function(a){return this.pushStack(D(this,a||[],!0))},is:function(a){return!!D(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var E,F=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,G=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||E,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:F.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),B.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};G.prototype=r.fn,E=r(d);var H=/^(?:parents|prev(?:Until|All))/,I={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a<c;a++)if(r.contains(this,b[a]))return!0})},closest:function(a,b){var c,d=0,e=this.length,f=[],g="string"!=typeof a&&r(a);if(!A.test(a))for(;d<e;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function J(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return J(a,"nextSibling")},prev:function(a){return J(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return a.contentDocument||r.merge([],a.childNodes)}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(I[a]||r.uniqueSort(e),H.test(a)&&e.reverse()),this.pushStack(e)}});var K=/\S+/g;function L(a){var b={};return r.each(a.match(K)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?L(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){r.each(b,function(b,c){r.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==r.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return r.each(arguments,function(a,b){var c;while((c=r.inArray(b,f,c))>-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function M(a){return a}function N(a){throw a}function O(a,b,c){var d;try{a&&r.isFunction(d=a.promise)?d.call(a).done(b).fail(c):a&&r.isFunction(d=a.then)?d.call(a,b,c):b.call(void 0,a)}catch(a){c.call(void 0,a)}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b<f)){if(a=d.apply(h,i),a===c.promise())throw new TypeError("Thenable self-resolution");j=a&&("object"==typeof a||"function"==typeof a)&&a.then,r.isFunction(j)?e?j.call(a,g(f,c,M,e),g(f,c,N,e)):(f++,j.call(a,g(f,c,M,e),g(f,c,N,e),g(f,c,M,c.notifyWith))):(d!==M&&(h=void 0,i=[a]),(e||c.resolveWith)(h,i))}},k=e?j:function(){try{j()}catch(a){r.Deferred.exceptionHook&&r.Deferred.exceptionHook(a,k.stackTrace),b+1>=f&&(d!==N&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:M,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:M)),c[2][3].add(g(0,a,r.isFunction(d)?d:N))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(O(a,g.done(h(c)).resolve,g.reject),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)O(e[c],h(c),g.reject);return g.promise()}});var P=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&P.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var Q=r.Deferred();r.fn.ready=function(a){return Q.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,holdReady:function(a){a?r.readyWait++:r.ready(!0)},ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||Q.resolveWith(d,[r]))}}),r.ready.then=Q.then;function R(){d.removeEventListener("DOMContentLoaded",R),a.removeEventListener("load",R),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",R),a.addEventListener("load",R));var S=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)S(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,
+r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h<i;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},T=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function U(){this.expando=r.expando+U.uid++}U.uid=1,U.prototype={cache:function(a){var b=a[this.expando];return b||(b={},T(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[r.camelCase(b)]=c;else for(d in b)e[r.camelCase(d)]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][r.camelCase(b)]},access:function(a,b,c){return void 0===b||b&&"string"==typeof b&&void 0===c?this.get(a,b):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d=a[this.expando];if(void 0!==d){if(void 0!==b){r.isArray(b)?b=b.map(r.camelCase):(b=r.camelCase(b),b=b in d?[b]:b.match(K)||[]),c=b.length;while(c--)delete d[b[c]]}(void 0===b||r.isEmptyObject(d))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!r.isEmptyObject(b)}};var V=new U,W=new U,X=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Y=/[A-Z]/g;function Z(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Y,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c||"false"!==c&&("null"===c?null:+c+""===c?+c:X.test(c)?JSON.parse(c):c)}catch(e){}W.set(a,b,c)}else c=void 0;return c}r.extend({hasData:function(a){return W.hasData(a)||V.hasData(a)},data:function(a,b,c){return W.access(a,b,c)},removeData:function(a,b){W.remove(a,b)},_data:function(a,b,c){return V.access(a,b,c)},_removeData:function(a,b){V.remove(a,b)}}),r.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=W.get(f),1===f.nodeType&&!V.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=r.camelCase(d.slice(5)),Z(f,d,e[d])));V.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){W.set(this,a)}):S(this,function(b){var c;if(f&&void 0===b){if(c=W.get(f,a),void 0!==c)return c;if(c=Z(f,a),void 0!==c)return c}else this.each(function(){W.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){W.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=V.get(a,b),c&&(!d||r.isArray(c)?d=V.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.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 V.get(a,c)||V.access(a,c,{empty:r.Callbacks("once memory").add(function(){V.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?r.queue(this[0],a):void 0===b?this:this.each(function(){var c=r.queue(this,a,b);r._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&r.dequeue(this,a)})},dequeue:function(a){return this.each(function(){r.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=r.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=V.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var $=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,_=new RegExp("^(?:([+-])=|)("+$+")([a-z%]*)$","i"),aa=["Top","Right","Bottom","Left"],ba=function(a,b){return a=b||a,"none"===a.style.display||""===a.style.display&&r.contains(a.ownerDocument,a)&&"none"===r.css(a,"display")},ca=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};function da(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return r.css(a,b,"")},i=h(),j=c&&c[3]||(r.cssNumber[b]?"":"px"),k=(r.cssNumber[b]||"px"!==j&&+i)&&_.exec(r.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,r.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var ea={};function fa(a){var b,c=a.ownerDocument,d=a.nodeName,e=ea[d];return e?e:(b=c.body.appendChild(c.createElement(d)),e=r.css(b,"display"),b.parentNode.removeChild(b),"none"===e&&(e="block"),ea[d]=e,e)}function ga(a,b){for(var c,d,e=[],f=0,g=a.length;f<g;f++)d=a[f],d.style&&(c=d.style.display,b?("none"===c&&(e[f]=V.get(d,"display")||null,e[f]||(d.style.display="")),""===d.style.display&&ba(d)&&(e[f]=fa(d))):"none"!==c&&(e[f]="none",V.set(d,"display",c)));for(f=0;f<g;f++)null!=e[f]&&(a[f].style.display=e[f]);return a}r.fn.extend({show:function(){return ga(this,!0)},hide:function(){return ga(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){ba(this)?r(this).show():r(this).hide()})}});var ha=/^(?:checkbox|radio)$/i,ia=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,ja=/^$|\/(?:java|ecma)script/i,ka={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,"",""]};ka.optgroup=ka.option,ka.tbody=ka.tfoot=ka.colgroup=ka.caption=ka.thead,ka.th=ka.td;function la(a,b){var c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&r.nodeName(a,b)?r.merge([a],c):c}function ma(a,b){for(var c=0,d=a.length;c<d;c++)V.set(a[c],"globalEval",!b||V.get(b[c],"globalEval"))}var na=/<|&#?\w+;/;function oa(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],n=0,o=a.length;n<o;n++)if(f=a[n],f||0===f)if("object"===r.type(f))r.merge(m,f.nodeType?[f]:f);else if(na.test(f)){g=g||l.appendChild(b.createElement("div")),h=(ia.exec(f)||["",""])[1].toLowerCase(),i=ka[h]||ka._default,g.innerHTML=i[1]+r.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;r.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",n=0;while(f=m[n++])if(d&&r.inArray(f,d)>-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=la(l.appendChild(f),"script"),j&&ma(g),c){k=0;while(f=g[k++])ja.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var pa=d.documentElement,qa=/^key/,ra=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,sa=/^([^.]*)(?:\.(.+)|)/;function ta(){return!0}function ua(){return!1}function va(){try{return d.activeElement}catch(a){}}function wa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)wa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=ua;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(pa,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(K)||[""],j=b.length;while(j--)h=sa.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),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),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.hasData(a)&&V.get(a);if(q&&(i=q.events)){b=(b||"").match(K)||[""],j=b.length;while(j--)if(h=sa.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==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,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&V.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(V.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c<arguments.length;c++)i[c]=arguments[c];if(b.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,b)!==!1){h=r.event.handlers.call(this,b,j),c=0;while((f=h[c++])&&!b.isPropagationStopped()){b.currentTarget=f.elem,d=0;while((g=f.handlers[d++])&&!b.isImmediatePropagationStopped())b.rnamespace&&!b.rnamespace.test(g.namespace)||(b.handleObj=g,b.data=g.data,e=((r.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(b.result=e)===!1&&(b.preventDefault(),b.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,b),b.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;c<h;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?r(e,this).index(i)>-1:r.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},addProp:function(a,b){Object.defineProperty(r.Event.prototype,a,{enumerable:!0,configurable:!0,get:r.isFunction(b)?function(){if(this.originalEvent)return b(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[a]},set:function(b){Object.defineProperty(this,a,{enumerable:!0,configurable:!0,writable:!0,value:b})}})},fix:function(a){return a[r.expando]?a:new r.Event(a)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==va()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===va()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&r.nodeName(this,"input"))return this.click(),!1},_default:function(a){return r.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},r.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},r.Event=function(a,b){return this instanceof r.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ta:ua,this.target=a.target&&3===a.target.nodeType?a.target.parentNode:a.target,this.currentTarget=a.currentTarget,this.relatedTarget=a.relatedTarget):this.type=a,b&&r.extend(this,b),this.timeStamp=a&&a.timeStamp||r.now(),void(this[r.expando]=!0)):new r.Event(a,b)},r.Event.prototype={constructor:r.Event,isDefaultPrevented:ua,isPropagationStopped:ua,isImmediatePropagationStopped:ua,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ta,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ta,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ta,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},r.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(a){var b=a.button;return null==a.which&&qa.test(a.type)?null!=a.charCode?a.charCode:a.keyCode:!a.which&&void 0!==b&&ra.test(a.type)?1&b?1:2&b?3:4&b?2:0:a.which}},r.event.addProp),r.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){r.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||r.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),r.fn.extend({on:function(a,b,c,d){return wa(this,a,b,c,d)},one:function(a,b,c,d){return wa(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,r(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=ua),this.each(function(){r.event.remove(this,a,c,b)})}});var xa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,ya=/<script|<style|<link/i,za=/checked\s*(?:[^=]|=\s*.checked.)/i,Aa=/^true\/(.*)/,Ba=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Ca(a,b){return r.nodeName(a,"table")&&r.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a:a}function Da(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ea(a){var b=Aa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Fa(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(V.hasData(a)&&(f=V.access(a),g=V.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)r.event.add(b,e,j[e][c])}W.hasData(a)&&(h=W.access(a),i=r.extend({},h),W.set(b,i))}}function Ga(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ha.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function Ha(a,b,c,d){b=g.apply([],b);var e,f,h,i,j,k,l=0,m=a.length,n=m-1,q=b[0],s=r.isFunction(q);if(s||m>1&&"string"==typeof q&&!o.checkClone&&za.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(m&&(e=oa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(la(e,"script"),Da),i=h.length;l<m;l++)j=e,l!==n&&(j=r.clone(j,!0,!0),i&&r.merge(h,la(j,"script"))),c.call(a[l],j,l);if(i)for(k=h[h.length-1].ownerDocument,r.map(h,Ea),l=0;l<i;l++)j=h[l],ja.test(j.type||"")&&!V.access(j,"globalEval")&&r.contains(k,j)&&(j.src?r._evalUrl&&r._evalUrl(j.src):p(j.textContent.replace(Ba,""),k))}return a}function Ia(a,b,c){for(var d,e=b?r.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||r.cleanData(la(d)),d.parentNode&&(c&&r.contains(d.ownerDocument,d)&&ma(la(d,"script")),d.parentNode.removeChild(d));return a}r.extend({htmlPrefilter:function(a){return a.replace(xa,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=la(h),f=la(a),d=0,e=f.length;d<e;d++)Ga(f[d],g[d]);if(b)if(c)for(f=f||la(a),g=g||la(h),d=0,e=f.length;d<e;d++)Fa(f[d],g[d]);else Fa(a,h);return g=la(h,"script"),g.length>0&&ma(g,!i&&la(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(T(c)){if(b=c[V.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[V.expando]=void 0}c[W.expando]&&(c[W.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ia(this,a,!0)},remove:function(a){return Ia(this,a)},text:function(a){return S(this,function(a){return void 0===a?r.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 Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(la(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return S(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&&!ya.test(a)&&!ka[(ia.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c<d;c++)b=this[c]||{},1===b.nodeType&&(r.cleanData(la(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ha(this,arguments,function(b){var c=this.parentNode;r.inArray(this,a)<0&&(r.cleanData(la(this)),c&&c.replaceChild(b,this))},a)}}),r.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){r.fn[a]=function(a){for(var c,d=[],e=r(a),f=e.length-1,g=0;g<=f;g++)c=g===f?this:this.clone(!0),r(e[g])[b](c),h.apply(d,c.get());return this.pushStack(d)}});var Ja=/^margin/,Ka=new RegExp("^("+$+")(?!px)[a-z%]+$","i"),La=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)};!function(){function b(){if(i){i.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",i.innerHTML="",pa.appendChild(h);var b=a.getComputedStyle(i);c="1%"!==b.top,g="2px"===b.marginLeft,e="4px"===b.width,i.style.marginRight="50%",f="4px"===b.marginRight,pa.removeChild(h),i=null}}var c,e,f,g,h=d.createElement("div"),i=d.createElement("div");i.style&&(i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",o.clearCloneStyle="content-box"===i.style.backgroundClip,h.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",h.appendChild(i),r.extend(o,{pixelPosition:function(){return b(),c},boxSizingReliable:function(){return b(),e},pixelMarginRight:function(){return b(),f},reliableMarginLeft:function(){return b(),g}}))}();function Ma(a,b,c){var d,e,f,g,h=a.style;return c=c||La(a),c&&(g=c.getPropertyValue(b)||c[b],""!==g||r.contains(a.ownerDocument,a)||(g=r.style(a,b)),!o.pixelMarginRight()&&Ka.test(g)&&Ja.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 Na(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Oa=/^(none|table(?!-c[ea]).+)/,Pa={position:"absolute",visibility:"hidden",display:"block"},Qa={letterSpacing:"0",fontWeight:"400"},Ra=["Webkit","Moz","ms"],Sa=d.createElement("div").style;function Ta(a){if(a in Sa)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ra.length;while(c--)if(a=Ra[c]+b,a in Sa)return a}function Ua(a,b,c){var d=_.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Va(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;f<4;f+=2)"margin"===c&&(g+=r.css(a,c+aa[f],!0,e)),d?("content"===c&&(g-=r.css(a,"padding"+aa[f],!0,e)),"margin"!==c&&(g-=r.css(a,"border"+aa[f]+"Width",!0,e))):(g+=r.css(a,"padding"+aa[f],!0,e),"padding"!==c&&(g+=r.css(a,"border"+aa[f]+"Width",!0,e)));return g}function Wa(a,b,c){var d,e=!0,f=La(a),g="border-box"===r.css(a,"boxSizing",!1,f);if(a.getClientRects().length&&(d=a.getBoundingClientRect()[b]),d<=0||null==d){if(d=Ma(a,b,f),(d<0||null==d)&&(d=a.style[b]),Ka.test(d))return d;e=g&&(o.boxSizingReliable()||d===a.style[b]),d=parseFloat(d)||0}return d+Va(a,b,c||(g?"border":"content"),e,f)+"px"}r.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Ma(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=r.camelCase(b),i=a.style;return b=r.cssProps[h]||(r.cssProps[h]=Ta(h)||h),g=r.cssHooks[b]||r.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=_.exec(c))&&e[1]&&(c=da(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(r.cssNumber[h]?"":"px")),o.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=r.camelCase(b);return b=r.cssProps[h]||(r.cssProps[h]=Ta(h)||h),g=r.cssHooks[b]||r.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Ma(a,b,d)),"normal"===e&&b in Qa&&(e=Qa[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),r.each(["height","width"],function(a,b){r.cssHooks[b]={get:function(a,c,d){if(c)return!Oa.test(r.css(a,"display"))||a.getClientRects().length&&a.getBoundingClientRect().width?Wa(a,b,d):ca(a,Pa,function(){return Wa(a,b,d)})},set:function(a,c,d){var e,f=d&&La(a),g=d&&Va(a,b,d,"border-box"===r.css(a,"boxSizing",!1,f),f);return g&&(e=_.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=r.css(a,b)),Ua(a,c,g)}}}),r.cssHooks.marginLeft=Na(o.reliableMarginLeft,function(a,b){if(b)return(parseFloat(Ma(a,"marginLeft"))||a.getBoundingClientRect().left-ca(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px"}),r.each({margin:"",padding:"",border:"Width"},function(a,b){r.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];d<4;d++)e[a+aa[d]+b]=f[d]||f[d-2]||f[0];return e}},Ja.test(a)||(r.cssHooks[a+b].set=Ua)}),r.fn.extend({css:function(a,b){return S(this,function(a,b,c){var d,e,f={},g=0;if(r.isArray(b)){for(d=La(a),e=b.length;g<e;g++)f[b[g]]=r.css(a,b[g],!1,d);return f}return void 0!==c?r.style(a,b,c):r.css(a,b)},a,b,arguments.length>1)}});function Xa(a,b,c,d,e){return new Xa.prototype.init(a,b,c,d,e)}r.Tween=Xa,Xa.prototype={constructor:Xa,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=Xa.propHooks[this.prop];return a&&a.get?a.get(this):Xa.propHooks._default.get(this)},run:function(a){var b,c=Xa.propHooks[this.prop];return this.options.duration?this.pos=b=r.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):Xa.propHooks._default.set(this),this}},Xa.prototype.init.prototype=Xa.prototype,Xa.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},Xa.propHooks.scrollTop=Xa.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=Xa.prototype.init,r.fx.step={};var Ya,Za,$a=/^(?:toggle|show|hide)$/,_a=/queueHooks$/;function ab(){Za&&(a.requestAnimationFrame(ab),r.fx.tick())}function bb(){return a.setTimeout(function(){Ya=void 0}),Ya=r.now()}function cb(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=aa[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function db(a,b,c){for(var d,e=(gb.tweeners[b]||[]).concat(gb.tweeners["*"]),f=0,g=e.length;f<g;f++)if(d=e[f].call(c,b,a))return d}function eb(a,b,c){var d,e,f,g,h,i,j,k,l="width"in b||"height"in b,m=this,n={},o=a.style,p=a.nodeType&&ba(a),q=V.get(a,"fxshow");c.queue||(g=r._queueHooks(a,"fx"),null==g.unqueued&&(g.unqueued=0,h=g.empty.fire,g.empty.fire=function(){g.unqueued||h()}),g.unqueued++,m.always(function(){m.always(function(){g.unqueued--,r.queue(a,"fx").length||g.empty.fire()})}));for(d in b)if(e=b[d],$a.test(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}n[d]=q&&q[d]||r.style(a,d)}if(i=!r.isEmptyObject(b),i||!r.isEmptyObject(n)){l&&1===a.nodeType&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=q&&q.display,null==j&&(j=V.get(a,"display")),k=r.css(a,"display"),"none"===k&&(j?k=j:(ga([a],!0),j=a.style.display||j,k=r.css(a,"display"),ga([a]))),("inline"===k||"inline-block"===k&&null!=j)&&"none"===r.css(a,"float")&&(i||(m.done(function(){o.display=j}),null==j&&(k=o.display,j="none"===k?"":k)),o.display="inline-block")),c.overflow&&(o.overflow="hidden",m.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]})),i=!1;for(d in n)i||(q?"hidden"in q&&(p=q.hidden):q=V.access(a,"fxshow",{display:j}),f&&(q.hidden=!p),p&&ga([a],!0),m.done(function(){p||ga([a]),V.remove(a,"fxshow");for(d in n)r.style(a,d,n[d])})),i=db(p?q[d]:0,d,m),d in q||(q[d]=i.start,p&&(i.end=i.start,i.start=0))}}function fb(a,b){var c,d,e,f,g;for(c in a)if(d=r.camelCase(c),e=b[d],f=a[c],r.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=r.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 gb(a,b,c){var d,e,f=0,g=gb.prefilters.length,h=r.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Ya||bb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;g<i;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),f<1&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:r.extend({},b),opts:r.extend(!0,{specialEasing:{},easing:r.easing._default},c),originalProperties:b,originalOptions:c,startTime:Ya||bb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=r.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;c<d;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(fb(k,j.opts.specialEasing);f<g;f++)if(d=gb.prefilters[f].call(j,a,k,j.opts))return r.isFunction(d.stop)&&(r._queueHooks(j.elem,j.opts.queue).stop=r.proxy(d.stop,d)),d;return r.map(k,db,j),r.isFunction(j.opts.start)&&j.opts.start.call(a,j),r.fx.timer(r.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)}r.Animation=r.extend(gb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return da(c.elem,a,_.exec(b),c),c}]},tweener:function(a,b){r.isFunction(a)?(b=a,a=["*"]):a=a.match(K);for(var c,d=0,e=a.length;d<e;d++)c=a[d],gb.tweeners[c]=gb.tweeners[c]||[],gb.tweeners[c].unshift(b)},prefilters:[eb],prefilter:function(a,b){b?gb.prefilters.unshift(a):gb.prefilters.push(a)}}),r.speed=function(a,b,c){var e=a&&"object"==typeof a?r.extend({},a):{complete:c||!c&&b||r.isFunction(a)&&a,duration:a,easing:c&&b||b&&!r.isFunction(b)&&b};return r.fx.off||d.hidden?e.duration=0:e.duration="number"==typeof e.duration?e.duration:e.duration in r.fx.speeds?r.fx.speeds[e.duration]:r.fx.speeds._default,null!=e.queue&&e.queue!==!0||(e.queue="fx"),e.old=e.complete,e.complete=function(){r.isFunction(e.old)&&e.old.call(this),e.queue&&r.dequeue(this,e.queue)},e},r.fn.extend({fadeTo:function(a,b,c,d){return this.filter(ba).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=r.isEmptyObject(a),f=r.speed(b,c,d),g=function(){var b=gb(this,r.extend({},a),f);(e||V.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=r.timers,g=V.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&_a.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||r.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=V.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=r.timers,g=d?d.length:0;for(c.finish=!0,r.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;b<g;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),r.each(["toggle","show","hide"],function(a,b){var c=r.fn[b];r.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(cb(b,!0),a,d,e)}}),r.each({slideDown:cb("show"),slideUp:cb("hide"),slideToggle:cb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){r.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),r.timers=[],r.fx.tick=function(){var a,b=0,c=r.timers;for(Ya=r.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||r.fx.stop(),Ya=void 0},r.fx.timer=function(a){r.timers.push(a),a()?r.fx.start():r.timers.pop()},r.fx.interval=13,r.fx.start=function(){Za||(Za=a.requestAnimationFrame?a.requestAnimationFrame(ab):a.setInterval(r.fx.tick,r.fx.interval))},r.fx.stop=function(){a.cancelAnimationFrame?a.cancelAnimationFrame(Za):a.clearInterval(Za),Za=null},r.fx.speeds={slow:600,fast:200,_default:400},r.fn.delay=function(b,c){return b=r.fx?r.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",o.checkOn=""!==a.value,o.optSelected=c.selected,a=d.createElement("input"),a.value="t",a.type="radio",o.radioValue="t"===a.value}();var hb,ib=r.expr.attrHandle;r.fn.extend({attr:function(a,b){return S(this,r.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?hb:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&r.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(K);
+if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),hb={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=ib[b]||r.find.attr;ib[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=ib[g],ib[g]=e,e=null!=c(a,b,d)?g:null,ib[g]=f),e}});var jb=/^(?:input|select|textarea|button)$/i,kb=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return S(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.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=r.find.attr(a,"tabindex");return b?parseInt(b,10):jb.test(a.nodeName)||kb.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});var lb=/[\t\r\n\f]/g;function mb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,mb(this)))});if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=mb(c),d=1===c.nodeType&&(" "+e+" ").replace(lb," ")){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=r.trim(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,mb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=mb(c),d=1===c.nodeType&&(" "+e+" ").replace(lb," ")){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=r.trim(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,mb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(K)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=mb(this),b&&V.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":V.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+mb(c)+" ").replace(lb," ").indexOf(b)>-1)return!0;return!1}});var nb=/\r/g,ob=/[\x20\t\r\n\f]+/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":r.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(nb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:r.trim(r.text(a)).replace(ob," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type,g=f?null:[],h=f?e+1:d.length,i=e<0?h:f?e:0;i<h;i++)if(c=d[i],(c.selected||i===e)&&!c.disabled&&(!c.parentNode.disabled||!r.nodeName(c.parentNode,"optgroup"))){if(b=r(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=r.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=r.inArray(r.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(r.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var pb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!pb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,pb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(V.get(h,"events")||{})[b.type]&&V.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&T(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!T(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=V.access(d,b);e||d.addEventListener(a,c,!0),V.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=V.access(d,b)-1;e?V.access(d,b,e):(d.removeEventListener(a,c,!0),V.remove(d,b))}}});var qb=a.location,rb=r.now(),sb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var tb=/\[\]$/,ub=/\r?\n/g,vb=/^(?:submit|button|image|reset|file)$/i,wb=/^(?:input|select|textarea|keygen)/i;function xb(a,b,c,d){var e;if(r.isArray(b))r.each(b,function(b,e){c||tb.test(a)?d(a,e):xb(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)xb(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(r.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)xb(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&wb.test(this.nodeName)&&!vb.test(a)&&(this.checked||!ha.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:r.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(ub,"\r\n")}}):{name:b.name,value:c.replace(ub,"\r\n")}}).get()}});var yb=/%20/g,zb=/#.*$/,Ab=/([?&])_=[^&]*/,Bb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Cb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Db=/^(?:GET|HEAD)$/,Eb=/^\/\//,Fb={},Gb={},Hb="*/".concat("*"),Ib=d.createElement("a");Ib.href=qb.href;function Jb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(K)||[];if(r.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 Kb(a,b,c,d){var e={},f=a===Gb;function g(h){var i;return e[h]=!0,r.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 Lb(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Mb(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}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Nb(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}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:qb.href,type:"GET",isLocal:Cb.test(qb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Hb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Lb(Lb(a,r.ajaxSettings),b):Lb(r.ajaxSettings,a)},ajaxPrefilter:Jb(Fb),ajaxTransport:Jb(Gb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Bb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||qb.href)+"").replace(Eb,qb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(K)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Ib.protocol+"//"+Ib.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Kb(Fb,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Db.test(o.type),f=o.url.replace(zb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(yb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(sb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Ab,""),n=(sb.test(f)?"&":"?")+"_="+rb++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Hb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Kb(Gb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Mb(o,y,d)),v=Nb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(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 r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Ob={0:200,1223:204},Pb=r.ajaxSettings.xhr();o.cors=!!Pb&&"withCredentials"in Pb,o.ajax=Pb=!!Pb,r.ajaxTransport(function(b){var c,d;if(o.cors||Pb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Ob[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r("<script>").prop({charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&f("error"===a.type?404:200,a.type)}),d.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Qb=[],Rb=/(=)\?(?=&|$)|\?\?/;r.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Qb.pop()||r.expando+"_"+rb++;return this[a]=!0,a}}),r.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Rb.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Rb.test(b.data)&&"data");if(h||"jsonp"===b.dataTypes[0])return e=b.jsonpCallback=r.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Rb,"$1"+e):b.jsonp!==!1&&(b.url+=(sb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||r.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?r(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Qb.push(e)),g&&r.isFunction(f)&&f(g[0]),g=f=void 0}),"script"}),o.createHTMLDocument=function(){var a=d.implementation.createHTMLDocument("").body;return a.innerHTML="<form></form><form></form>",2===a.childNodes.length}(),r.parseHTML=function(a,b,c){if("string"!=typeof a)return[];"boolean"==typeof b&&(c=b,b=!1);var e,f,g;return b||(o.createHTMLDocument?(b=d.implementation.createHTMLDocument(""),e=b.createElement("base"),e.href=d.location.href,b.head.appendChild(e)):b=d),f=B.exec(a),g=!c&&[],f?[b.createElement(f[1])]:(f=oa([a],b,g),g&&g.length&&r(g).remove(),r.merge([],f.childNodes))},r.fn.load=function(a,b,c){var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=r.trim(a.slice(h)),a=a.slice(0,h)),r.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&r.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?r("<div>").append(r.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},r.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){r.fn[b]=function(a){return this.on(b,a)}}),r.expr.pseudos.animated=function(a){return r.grep(r.timers,function(b){return a===b.elem}).length};function Sb(a){return r.isWindow(a)?a:9===a.nodeType&&a.defaultView}r.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=r.css(a,"position"),l=r(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=r.css(a,"top"),i=r.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),r.isFunction(b)&&(b=b.call(a,c,r.extend({},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)}},r.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){r.offset.setOffset(this,a,b)});var b,c,d,e,f=this[0];if(f)return f.getClientRects().length?(d=f.getBoundingClientRect(),d.width||d.height?(e=f.ownerDocument,c=Sb(e),b=e.documentElement,{top:d.top+c.pageYOffset-b.clientTop,left:d.left+c.pageXOffset-b.clientLeft}):d):{top:0,left:0}},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===r.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),r.nodeName(a[0],"html")||(d=a.offset()),d={top:d.top+r.css(a[0],"borderTopWidth",!0),left:d.left+r.css(a[0],"borderLeftWidth",!0)}),{top:b.top-d.top-r.css(c,"marginTop",!0),left:b.left-d.left-r.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===r.css(a,"position"))a=a.offsetParent;return a||pa})}}),r.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;r.fn[a]=function(d){return S(this,function(a,d,e){var f=Sb(a);return void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),r.each(["top","left"],function(a,b){r.cssHooks[b]=Na(o.pixelPosition,function(a,c){if(c)return c=Ma(a,b),Ka.test(c)?r(a).position()[b]+"px":c})}),r.each({Height:"height",Width:"width"},function(a,b){r.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){r.fn[d]=function(e,f){var g=arguments.length&&(c||"boolean"!=typeof e),h=c||(e===!0||f===!0?"margin":"border");return S(this,function(b,c,e){var f;return r.isWindow(b)?0===d.indexOf("outer")?b["inner"+a]:b.document.documentElement["client"+a]:9===b.nodeType?(f=b.documentElement,Math.max(b.body["scroll"+a],f["scroll"+a],b.body["offset"+a],f["offset"+a],f["client"+a])):void 0===e?r.css(b,c,h):r.style(b,c,e,h)},b,g?e:void 0,g)}})}),r.fn.extend({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)}}),r.parseJSON=JSON.parse,"function"==typeof define&&define.amd&&define("jquery",[],function(){return r});var Tb=a.jQuery,Ub=a.$;return r.noConflict=function(b){return a.$===r&&(a.$=Ub),b&&a.jQuery===r&&(a.jQuery=Tb),r},b||(a.jQuery=a.$=r),r});
diff --git a/view/js/jquery.migrate-3.0.0.js b/view/js/jquery.migrate-3.0.0.js
new file mode 100644
index 000000000..99e0dd20a
--- /dev/null
+++ b/view/js/jquery.migrate-3.0.0.js
@@ -0,0 +1,2 @@
+/*! jQuery Migrate v3.0.0 | (c) jQuery Foundation and other contributors | jquery.org/license */
+"undefined"==typeof jQuery.migrateMute&&(jQuery.migrateMute=!0),function(a,b){"use strict";function c(c){var d=b.console;e[c]||(e[c]=!0,a.migrateWarnings.push(c),d&&d.warn&&!a.migrateMute&&(d.warn("JQMIGRATE: "+c),a.migrateTrace&&d.trace&&d.trace()))}function d(a,b,d,e){Object.defineProperty(a,b,{configurable:!0,enumerable:!0,get:function(){return c(e),d}})}a.migrateVersion="3.0.0",function(){var c=b.console&&b.console.log&&function(){b.console.log.apply(b.console,arguments)},d=/^[12]\./;c&&(a&&!d.test(a.fn.jquery)||c("JQMIGRATE: jQuery 3.0.0+ REQUIRED"),a.migrateWarnings&&c("JQMIGRATE: Migrate plugin loaded multiple times"),c("JQMIGRATE: Migrate is installed"+(a.migrateMute?"":" with logging active")+", version "+a.migrateVersion))}();var e={};a.migrateWarnings=[],void 0===a.migrateTrace&&(a.migrateTrace=!0),a.migrateReset=function(){e={},a.migrateWarnings.length=0},"BackCompat"===document.compatMode&&c("jQuery is not compatible with Quirks Mode");var f=a.fn.init,g=a.isNumeric,h=a.find,i=/\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/,j=/\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/g;a.fn.init=function(a){var b=Array.prototype.slice.call(arguments);return"string"==typeof a&&"#"===a&&(c("jQuery( '#' ) is not a valid selector"),b[0]=[]),f.apply(this,b)},a.fn.init.prototype=a.fn,a.find=function(a){var b=Array.prototype.slice.call(arguments);if("string"==typeof a&&i.test(a))try{document.querySelector(a)}catch(d){a=a.replace(j,function(a,b,c,d){return"["+b+c+'"'+d+'"]'});try{document.querySelector(a),c("Attribute selector with '#' must be quoted: "+b[0]),b[0]=a}catch(e){c("Attribute selector with '#' was not fixed: "+b[0])}}return h.apply(this,b)};var k;for(k in h)Object.prototype.hasOwnProperty.call(h,k)&&(a.find[k]=h[k]);a.fn.size=function(){return c("jQuery.fn.size() is deprecated; use the .length property"),this.length},a.parseJSON=function(){return c("jQuery.parseJSON is deprecated; use JSON.parse"),JSON.parse.apply(null,arguments)},a.isNumeric=function(b){function d(b){var c=b&&b.toString();return!a.isArray(b)&&c-parseFloat(c)+1>=0}var e=g(b),f=d(b);return e!==f&&c("jQuery.isNumeric() should not be called on constructed objects"),f},d(a,"unique",a.uniqueSort,"jQuery.unique is deprecated, use jQuery.uniqueSort"),d(a.expr,"filters",a.expr.pseudos,"jQuery.expr.filters is now jQuery.expr.pseudos"),d(a.expr,":",a.expr.pseudos,'jQuery.expr[":"] is now jQuery.expr.pseudos');var l=a.ajax;a.ajax=function(){var a=l.apply(this,arguments);return a.promise&&(d(a,"success",a.done,"jQXHR.success is deprecated and removed"),d(a,"error",a.fail,"jQXHR.error is deprecated and removed"),d(a,"complete",a.always,"jQXHR.complete is deprecated and removed")),a};var m=a.fn.removeAttr,n=a.fn.toggleClass,o=/\S+/g;a.fn.removeAttr=function(b){var d=this;return a.each(b.match(o),function(b,e){a.expr.match.bool.test(e)&&(c("jQuery.fn.removeAttr no longer sets boolean properties: "+e),d.prop(e,!1))}),m.apply(this,arguments)},a.fn.toggleClass=function(b){return void 0!==b&&"boolean"!=typeof b?n.apply(this,arguments):(c("jQuery.fn.toggleClass( boolean ) is deprecated"),this.each(function(){var c=this.getAttribute&&this.getAttribute("class")||"";c&&a.data(this,"__className__",c),this.setAttribute&&this.setAttribute("class",c||b===!1?"":a.data(this,"__className__")||"")}))};var p=!1;a.swap&&a.each(["height","width","reliableMarginRight"],function(b,c){var d=a.cssHooks[c]&&a.cssHooks[c].get;d&&(a.cssHooks[c].get=function(){var a;return p=!0,a=d.apply(this,arguments),p=!1,a})}),a.swap=function(a,b,d,e){var f,g,h={};p||c("jQuery.swap() is undocumented and deprecated");for(g in b)h[g]=a.style[g],a.style[g]=b[g];f=d.apply(a,e||[]);for(g in b)a.style[g]=h[g];return f};var q=a.data;a.data=function(b,d,e){var f;return d&&d!==a.camelCase(d)&&(f=a.hasData(b)&&q.call(this,b),f&&d in f)?(c("jQuery.data() always sets/gets camelCased names: "+d),arguments.length>2&&(f[d]=e),f[d]):q.apply(this,arguments)};var r=a.Tween.prototype.run;a.Tween.prototype.run=function(b){a.easing[this.easing].length>1&&(c('easing function "jQuery.easing.'+this.easing.toString()+'" should use only first argument'),a.easing[this.easing]=a.easing[this.easing].bind(a.easing,b,this.options.duration*b,0,1,this.options.duration)),r.apply(this,arguments)};var s=a.fn.load,t=a.event.fix;a.event.props=[],a.event.fixHooks={},a.event.fix=function(b){var d,e=b.type,f=this.fixHooks[e],g=a.event.props;if(g.length)for(c("jQuery.event.props are deprecated and removed: "+g.join());g.length;)a.event.addProp(g.pop());if(f&&!f._migrated_&&(f._migrated_=!0,c("jQuery.event.fixHooks are deprecated and removed: "+e),(g=f.props)&&g.length))for(;g.length;)a.event.addProp(g.pop());return d=t.call(this,b),f&&f.filter?f.filter(d,b):d},a.each(["load","unload","error"],function(b,d){a.fn[d]=function(){var a=Array.prototype.slice.call(arguments,0);return"load"===d&&"string"==typeof a[0]?s.apply(this,a):(c("jQuery.fn."+d+"() is deprecated"),a.splice(0,0,d),arguments.length?this.on.apply(this,a):(this.triggerHandler.apply(this,a),this))}}),a(function(){a(document).triggerHandler("ready")}),a.event.special.ready={setup:function(){this===document&&c("'ready' event is deprecated")}},a.fn.extend({bind:function(a,b,d){return c("jQuery.fn.bind() is deprecated"),this.on(a,null,b,d)},unbind:function(a,b){return c("jQuery.fn.unbind() is deprecated"),this.off(a,null,b)},delegate:function(a,b,d,e){return c("jQuery.fn.delegate() is deprecated"),this.on(b,a,d,e)},undelegate:function(a,b,d){return c("jQuery.fn.undelegate() is deprecated"),1===arguments.length?this.off(a,"**"):this.off(b,a||"**",d)}});var u=a.fn.offset;a.fn.offset=function(){var b,d=this[0],e={top:0,left:0};return d&&d.nodeType?(b=(d.ownerDocument||document).documentElement,a.contains(b,d)?u.apply(this,arguments):(c("jQuery.fn.offset() requires an element connected to a document"),e)):(c("jQuery.fn.offset() requires a valid DOM element"),e)};var v=a.param;a.param=function(b,d){var e=a.ajaxSettings&&a.ajaxSettings.traditional;return void 0===d&&e&&(c("jQuery.param() no longer uses jQuery.ajaxSettings.traditional"),d=e),v.call(this,b,d)};var w=a.fn.andSelf||a.fn.addBack;a.fn.andSelf=function(){return c("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()"),w.apply(this,arguments)};var x=a.Deferred,y=[["resolve","done",a.Callbacks("once memory"),a.Callbacks("once memory"),"resolved"],["reject","fail",a.Callbacks("once memory"),a.Callbacks("once memory"),"rejected"],["notify","progress",a.Callbacks("memory"),a.Callbacks("memory")]];a.Deferred=function(b){var d=x(),e=d.promise();return d.pipe=e.pipe=function(){var b=arguments;return c("deferred.pipe() is deprecated"),a.Deferred(function(c){a.each(y,function(f,g){var h=a.isFunction(b[f])&&b[f];d[g[1]](function(){var b=h&&h.apply(this,arguments);b&&a.isFunction(b.promise)?b.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[g[0]+"With"](this===e?c.promise():this,h?[b]:arguments)})}),b=null}).promise()},b&&b.call(d,d),d}}(jQuery,window);
diff --git a/view/js/main.js b/view/js/main.js
index 2caf5a1dd..a288f98f5 100644
--- a/view/js/main.js
+++ b/view/js/main.js
@@ -283,12 +283,13 @@ $(function() {
/* Turn elements with one of our special rel tags into popup menus */
/* CHANGES: let bootstrap handle popups and only do the loading here */
- $('a[rel^=#]').click(function(e){
+
+ $('a[rel^="#"]').click(function(e){
manage_popup_menu(this, e);
return;
});
- $('span[rel^=#]').click(function(e){
+ $('span[rel^="#"]').click(function(e){
manage_popup_menu(this, e);
return;
});
@@ -639,7 +640,7 @@ function updateConvItems(mode,data) {
var bimgcount = bimgs.length;
if (bimgcount) {
- bimgs.load(function() {
+ bimgs.on('load',function() {
bimgcount--;
if (! bimgcount) {
collapseHeight();
@@ -652,7 +653,7 @@ function updateConvItems(mode,data) {
}
function collapseHeight() {
- var origContentHeight = parseInt($("#region_2").height());
+ var origContentHeight = Math.ceil($("#region_2").height());
var cDiff = 0;
var i = 0;
var position = $(window).scrollTop();
@@ -662,25 +663,19 @@ function collapseHeight() {
if(orgHeight > divmore_height) {
if(! $(this).hasClass('divmore')) {
- //var trigger = $(window).scrollTop() < $(this).offset().top ? true : false;
- //console.log($(this).offset().top + divmore_height - $(window).scrollTop() + cDiff - ($(".divgrow-showmore").outerHeight() * i));
-
// check if we will collapse some content above the visible content and compensate the diff later
if($(this).offset().top + divmore_height - $(window).scrollTop() + cDiff - ($(".divgrow-showmore").outerHeight() * i) < 65) {
- //$(this).css('color', 'red');
- //console.log($(this).offset().top + divmore_height + ' / ' + $(window).scrollTop());
diff = orgHeight - divmore_height;
cDiff = cDiff + diff;
i++;
}
- //if(trigger) {
$(this).readmore({
speed: 0,
heightMargin: 50,
collapsedHeight: divmore_height,
- moreLink: '<a href="#" class="divgrow-showmore">' + aStr.divgrowmore + '</a>',
- lessLink: '<a href="#" class="divgrow-showmore">' + aStr.divgrowless + '</a>',
+ moreLink: '<a href="#" class="divgrow-showmore fakelink">' + aStr.divgrowmore + '</a>',
+ lessLink: '<a href="#" class="divgrow-showmore fakelink">' + aStr.divgrowless + '</a>',
beforeToggle: function(trigger, element, expanded) {
if(expanded) {
if((($(element).offset().top + divmore_height) - $(window).scrollTop()) < 65 ) {
@@ -690,12 +685,11 @@ function collapseHeight() {
}
});
$(this).addClass('divmore');
- //}
}
}
});
- var collapsedContentHeight = parseInt($("#region_2").height());
+ var collapsedContentHeight = Math.ceil($("#region_2").height());
contentHeightDiff = origContentHeight - collapsedContentHeight;
console.log('collapseHeight() - contentHeightDiff: ' + contentHeightDiff + 'px');
diff --git a/view/js/mod_settings.js b/view/js/mod_settings.js
index 640c154dd..0f45e0d16 100644
--- a/view/js/mod_settings.js
+++ b/view/js/mod_settings.js
@@ -5,6 +5,9 @@
$(document).ready(function() {
$('form').areYouSure({'addRemoveFieldsMarksDirty':true, 'message': aStr['leavethispage'] }); // Warn user about unsaved settings
+ $('.token-mirror').html($('#id_token').val());
+ $('#id_token').keyup( function() { $('.token-mirror').html($('#id_token').val()); });
+
$("#id_permissions_role").change(function() {
var role = $("#id_permissions_role").val();
if(role == 'custom')
diff --git a/view/php/theme_init.php b/view/php/theme_init.php
index e9ba2aa05..46aadaa7d 100644
--- a/view/php/theme_init.php
+++ b/view/php/theme_init.php
@@ -13,7 +13,7 @@ head_add_css('library/justifiedGallery/justifiedGallery.min.css');
head_add_css('library/Text_Highlighter/sample.css');
head_add_js('jquery.js');
-//head_add_js('jquery-migrate-1.1.1.js');
+//head_add_js('jquery.migrate-3.0.0.js');
head_add_js('library/justifiedGallery/jquery.justifiedGallery.min.js');
head_add_js('library/sprintf.js/dist/sprintf.min.js');
diff --git a/view/theme/redbasic/css/style.css b/view/theme/redbasic/css/style.css
index 5768ccbd9..d61e60dc9 100644
--- a/view/theme/redbasic/css/style.css
+++ b/view/theme/redbasic/css/style.css
@@ -1416,9 +1416,6 @@ img.mail-conv-sender-photo {
display: block;
border-top: 1px dashed #ccc;
text-align: center;
- font-size: $body_font_size;
- color: $link_colour;
- cursor: pointer;
}
.divgrow-showmore:hover {
@@ -1658,6 +1655,7 @@ main.fullscreen .section-content-wrapper-np {
display: none;
}
+.atoken-index-row:hover td,
.chatroom-index-row:hover td,
.locs-index-row:hover td,
[id^="cloud-index-"]:hover td,
diff --git a/view/theme/redbasic/js/redbasic.js b/view/theme/redbasic/js/redbasic.js
index 300f076f0..999b46268 100644
--- a/view/theme/redbasic/js/redbasic.js
+++ b/view/theme/redbasic/js/redbasic.js
@@ -56,16 +56,15 @@ $(document).ready(function() {
function makeFullScreen(full) {
if(typeof full=='undefined' || full == true) {
$('main').css({'transition': 'none'}).addClass('fullscreen');
- $('header, nav, aside, #tabs-collapse-1').css({'visibility': 'hidden'});
- $('#fullscreen-btn').hide();
+ $('header, nav, aside, #fullscreen-btn').hide();
+ $('#tabs-collapse-1').css({'visibility': 'hidden'});
$('#inline-btn').show();
-
}
else {
$('main').removeClass('fullscreen');
- $('header, nav, aside, #tabs-collapse-1').css({'visibility': ''});
+ $('header, nav, aside, #fullscreen-btn').show();
+ $('#tabs-collapse-1').css({'visibility': ''});
$('#inline-btn').hide();
- $('#fullscreen-btn').show();
$('main').css({'transition': ''});
}
}
diff --git a/view/theme/redbasic/php/style.php b/view/theme/redbasic/php/style.php
index 83c35935a..2db0d4c44 100644
--- a/view/theme/redbasic/php/style.php
+++ b/view/theme/redbasic/php/style.php
@@ -153,6 +153,18 @@ if(file_exists('view/theme/redbasic/css/style.css')) {
$x = file_get_contents('view/theme/redbasic/css/style.css');
+ if($narrow_navbar && file_exists('view/theme/redbasic/css/narrow_navbar.css')) {
+ $x .= file_get_contents('view/theme/redbasic/css/narrow_navbar.css');
+ }
+
+ if($align_left && file_exists('view/theme/redbasic/css/align_left.css')) {
+ $x .= file_get_contents('view/theme/redbasic/css/align_left.css');
+ }
+
+ if($schemecss) {
+ $x .= $schemecss;
+ }
+
$aside_width = 287;
// left aside and right aside are 285px + converse width
@@ -204,18 +216,6 @@ if(file_exists('view/theme/redbasic/css/style.css')) {
}
-if($narrow_navbar && file_exists('view/theme/redbasic/css/narrow_navbar.css')) {
- echo file_get_contents('view/theme/redbasic/css/narrow_navbar.css');
-}
-
-if($align_left && file_exists('view/theme/redbasic/css/align_left.css')) {
- echo file_get_contents('view/theme/redbasic/css/align_left.css');
-}
-
-if($schemecss) {
- echo $schemecss;
-}
-
// Set the schema to the default schema in derived themes. See the documentation for creating derived themes how to override this.
if(local_channel() && App::$channel && App::$channel['channel_theme'] != 'redbasic')
diff --git a/view/tpl/contact_block.tpl b/view/tpl/contact_block.tpl
index a32437212..6a29abaef 100755
--- a/view/tpl/contact_block.tpl
+++ b/view/tpl/contact_block.tpl
@@ -11,4 +11,3 @@
</div>
{{/if}}
</div>
-<div class="clear"></div>
diff --git a/view/tpl/cover_photo_widget.tpl b/view/tpl/cover_photo_widget.tpl
index 8254fc87d..4e210a300 100755
--- a/view/tpl/cover_photo_widget.tpl
+++ b/view/tpl/cover_photo_widget.tpl
@@ -1,8 +1,17 @@
<script>
+ var aside_padding_top;
+ var section_padding_top;
+
$(document).ready(function() {
+
+ aside_padding_top = parseInt($('aside').css('padding-top'));
+ section_padding_top = parseInt($('section').css('padding-top'));
+
if($('#cover-photo').length && $(window).width() > 755) {
$('.navbar-fixed-top').css('position', 'relative');
- $('aside, section').css('padding-top', 0 + 'px');
+ $('main').css('margin-top', - $('nav').outerHeight(true) + 'px');
+ $('aside').css('padding-top', aside_padding_top - $('nav').outerHeight() + 'px');
+ $('section').css('padding-top', section_padding_top - $('nav').outerHeight() + 'px');
$('main').css('opacity', 0);
$('header').hide();
}
@@ -15,9 +24,11 @@
if($('#cover-photo').length && $(window).width() > 755 && $(window).scrollTop() >= $('#cover-photo').height()) {
$('header').fadeIn();
$('main').css('opacity', 1);
- $('aside, section').css('padding-top', $('nav').outerHeight(true) + 'px');
+ $('aside').css('padding-top', aside_padding_top + 'px');
+ $('section').css('padding-top', section_padding_top + 'px');
$(window).scrollTop($(window).scrollTop() - $('#cover-photo').height())
$('.navbar-fixed-top').css('position', 'fixed');
+ $('main').css('margin-top', '');
$('#cover-photo').remove();
}
if($('#cover-photo').length) {
@@ -28,7 +39,8 @@
$(window).resize(function () {
if($('#cover-photo').length && $(window).width() < 755) {
$('main').css('opacity', 1);
- $('aside, section').css('padding-top', $('nav').outerHeight(true) + 'px');
+ $('aside').css('padding-top', aside_padding_top + 'px');
+ $('section').css('padding-top', section_padding_top + 'px');
$('.navbar-fixed-top').css('position', 'fixed');
$('#cover-photo').remove();
}
@@ -36,7 +48,7 @@
});
function slideUpCover() {
- $('html, body').animate({scrollTop: $('#cover-photo').height() + 'px'});
+ $('html, body').animate({scrollTop: Math.ceil($('#cover-photo').height()) + 'px' });
}
</script>
diff --git a/view/tpl/photo_album.tpl b/view/tpl/photo_album.tpl
index b391a00a1..f097646e4 100755
--- a/view/tpl/photo_album.tpl
+++ b/view/tpl/photo_album.tpl
@@ -12,8 +12,10 @@
<button class="btn btn-xs btn-success btn-xs" title="{{$usage}}" onclick="openClose('photo-upload-form'); closeMenu('photo-album-edit-wrapper');"><i class="fa fa-arrow-circle-o-up"></i>&nbsp;{{$upload.0}}</button>
{{/if}}
</div>
+ {{if !$no_fullscreen_btn}}
<button id="fullscreen-btn" type="button" class="btn btn-default btn-xs" onclick="makeFullScreen();"><i class="fa fa-expand"></i></button>
<button id="inline-btn" type="button" class="btn btn-default btn-xs" onclick="makeFullScreen(false);"><i class="fa fa-compress"></i></button>
+ {{/if}}
</div>
<h2>{{$album}}</h2>
<div class="clear"></div>
diff --git a/view/tpl/settings_tokens.tpl b/view/tpl/settings_tokens.tpl
new file mode 100644
index 000000000..22af381e9
--- /dev/null
+++ b/view/tpl/settings_tokens.tpl
@@ -0,0 +1,40 @@
+<div class="generic-content-wrapper">
+ <div class="section-title-wrapper">
+ <h2>{{$title}}</h2>
+ <div class="clear"></div>
+ </div>
+ <div class="section-content-tools-wrapper">
+ <div class="section-content-info-wrapper">
+ {{$desc}}
+ </div>
+
+ <form action="settings/tokens" id="settings-account-form" method="post" autocomplete="off" >
+ <input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
+ {{if $atoken}}<input type="hidden" name="atoken_id" value="{{$atoken.atoken_id}}" />{{/if}}
+ {{include file="field_input.tpl" field=$name}}
+ {{include file="field_input.tpl" field=$token}}
+ {{include file="field_input.tpl" field=$expires}}
+ <div class="settings-submit-wrapper form-group">
+ <button type="submit" name="submit" class="btn btn-primary">{{$submit}}</button>
+ </div>
+ </form>
+ <div class="descriptive-text">{{$desc2}}</div>
+ <ul>
+ <li>{{$url1}}<span class="zat-example">?f=&zat=<span class="token-mirror"></span></span></li>
+ <li>{{$url2}}<span class="zat-example">?f=&zat=<span class="token-mirror"></span></span></li>
+ </ul>
+ </div>
+ {{if $tokens}}
+ <div class="section-content-wrapper-np">
+ <table id="atoken-index">
+ {{foreach $tokens as $t}}
+ <tr id="atoken-index-{{$t.atoken_id}}" class="atoken-index-row">
+ <td width="99%"><a href="settings/tokens/{{$t.atoken_id}}">{{$t.atoken_name}}</a></td>
+ <td width="1%" class="atoken-index-tool"><i class="fa fa-trash-o drop-icons" onClick="dropItem('/settings/tokens/{{$t.atoken_id}}/drop', '#atoken-index-{{$t.atoken_id}}')"></i></td>
+ </tr>
+ {{/foreach}}
+ </table>
+
+ </div>
+ {{/if}}
+</div>