From c5c9f016fd5367de09c6bebf2b25d96cdc7f3596 Mon Sep 17 00:00:00 2001 From: Phyks Date: Sun, 28 Jul 2013 15:09:59 +0200 Subject: [PATCH] Initial commit --- LICENSE | 38 ++++++++ Launcher.sh | 63 +++++++++++++ README | 45 ++++++++++ TODO | 2 + base.css | 104 ++++++++++++++++++++++ design.css | 140 +++++++++++++++++++++++++++++ humans.txt | 29 ++++++ index.php | 252 ++++++++++++++++++++++++++++++++++++++++++++++++++++ iphone.png | Bin 0 -> 3159 bytes jquery.js | 2 + left.png | Bin 0 -> 17568 bytes remote.sh | 14 +++ right.png | Bin 0 -> 18625 bytes robots.txt | 2 + swipe.js | 113 +++++++++++++++++++++++ 15 files changed, 804 insertions(+) create mode 100644 LICENSE create mode 100755 Launcher.sh create mode 100644 README create mode 100755 TODO create mode 100755 base.css create mode 100755 design.css create mode 100644 humans.txt create mode 100755 index.php create mode 100755 iphone.png create mode 100755 jquery.js create mode 100755 left.png create mode 100755 remote.sh create mode 100755 right.png create mode 100755 robots.txt create mode 100755 swipe.js diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..7f88ed8 --- /dev/null +++ b/LICENSE @@ -0,0 +1,38 @@ +This software (Remote) is licensed under the zlib/libpng License. + +Copyright (c) 2013 Phyks and CCC + +This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source distribution. + +==================================================================================================================== +The jquery library used is licensed under the MIT License (MIT) + +Copyright 2013 jQuery Foundation and other contributors +http://jquery.com/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWAR diff --git a/Launcher.sh b/Launcher.sh new file mode 100755 index 0000000..cd10099 --- /dev/null +++ b/Launcher.sh @@ -0,0 +1,63 @@ +#!/bin/bash + +# @nom : Launcher.sh +# @auteurs : Phyks (webmaster@phyks.me) and CCC (contact@cphyc.me) +# @description : Script to launch Remote Control +# See humans.txt file for more info + +# Copyright (c) 2013 Phyks and CCC +# This software is licensed under the zlib/libpng License. + +#Mute sound +echo "Mute sound" +amixer set Master mute > /dev/null + +#Allow apache to access to display +echo "Allowing Apache to connect to the display..." +xhost + + +#Launch apache +if ! systemctl status httpd > /dev/null; then + echo "Starting Apache... (may need your password)" + sudo systemctl start httpd + sleep 1 +fi + +echo "You can now connect to the following address using your browser : " +if [ -z "$1" ] +then + if ifconfig wlan0 | grep "inet " > /dev/null; then + echo http://$(ifconfig wlan0 | grep 'inet ' | cut -d: -f2 | awk '{print $2}')/Remote/ + else + echo http://$(ifconfig eth0 | grep 'inet ' | cut -d: -f2 | awk '{print $2}')/Remote/ + fi +else + echo "(Using interface $1)" + if ifconfig $1 | grep "inet " > /dev/null; then + echo http://$(ifconfig $1 | grep 'inet ' | cut -d: -f2 | awk '{print $2}')/Remote/ + else + echo "The selected interface is not available. FATAL ERROR." + exit 1 + fi +fi + +#Pause +read -p "Press [Enter] key to quit..." +echo "" + +echo "Now exiting..." +#Delete the tmp image +if test -s "tmp/tmp.png"; then + echo "Deleting temp files..." + rm -f tmp/tmp.png +fi + +#Restore initial xhost configuration +echo "Restoring initial configuration" +xhost - + +#Unmute sound +echo "Unmute sound" +amixer set Master unmute > /dev/null + +exit 0 diff --git a/README b/README new file mode 100644 index 0000000..520f416 --- /dev/null +++ b/README @@ -0,0 +1,45 @@ +Remote +====== + +Remote allows you to remotely control any presentation (such as pdf files, diaporamas or impress.js presentations) with any device with a browser. It provides you an image of your screen, displayed on your (pocket) device and you can go through the slides. + +- Application : Remote +- Version : 1.0 +- Authors : Phyks (webmaster@phyks.me) and CCC (contact@cphyc.me) +- More info on http://phyks.me +- License : libpng/zlib (http://opensource.org/licenses/Zlib) + + +Pre-requisites +============== + +- A webserver (Apache is used by default, but you can change it in Launcher.sh) +- PHP +- A Linux system because Windows makes easy things be very hard + + +Usage +===== + +Just launch Launcher.sh and follow the guide :) It will configure everything properly and clean it after use. It will display the address to type using, by default wlan0 interface or eth0 if wlan0 is not available. You can force which interface you want to use by launching "Launcher.sh interface". + +You can type a custom command in the specified field. For example, to simulate a specific key press, just type : "./remote.sh key $window" where remote.sh is the script that handle key press simulation (left or right for the buttons for example), key is the key you want to simulate and $window is a Remote-specific variable to act on the current window. + +You can use some variables and parameters : +* $window will be replaced with the window currently selected +* --verbose will output the output of the command (always finish the command with --verbose) + +Note : This version mutes sound when launched to avoid extra sounds played by Gnome when you use the arrows to navigate through your presentation. Just comment (#) the corresponding lines in Launcher.sh to avoid this behavior. + + +Troobleshooting : +================= + +* You might see this error message : +"An error occured. Screenshot is not available. +Have you opened the presentation viewer ?" + +If this happens and you shouldn't see it, then try to chmod the tmp folder within the Remote folder (Apache can't write inside by default). A "chmod 777 tmp" should work fine. + + +* If your browser can't find the address, maybe you renamed the "Remote" folder. Then, you can change manually the address opened in Launcher.sh to match your configuration. diff --git a/TODO b/TODO new file mode 100755 index 0000000..fb4774a --- /dev/null +++ b/TODO @@ -0,0 +1,2 @@ +Tester impress.js +Impress.js presentation directly in ? diff --git a/base.css b/base.css new file mode 100755 index 0000000..9fef3f6 --- /dev/null +++ b/base.css @@ -0,0 +1,104 @@ +/* --- Base Style for CSS --- */ + +/* Stylesheet to standardize the display of standard tags - Courtesy of Alsacreations ( http://www.alsacreations.com/astuce/lire/654-feuille-de-styles-de-base.html ) */ +/* Feuille de style pour uniformiser l'affichage fournie par Alsacreations ( http://www.alsacreations.com/astuce/lire/654-feuille-de-styles-de-base.html ) */ + +/* Page */ +html { + font-size: 100%; /* Évite un bug d'IE 6-7. (1) */ +} +body { + margin: 0; + padding: 0; /* Remettre à zéro si nécessaire. */ + font-family: Helvetica, sans-serif; + font-size: .8em; + line-height: 1.4; /* À adapter au design. (4) */ + color: black; + background: white; +} + +/* Titres */ +h1, h2, h3, h4, h5, h6 { + margin: 1em 0 .5em 0; /* Rapproche le titre du texte.*/ + line-height: 1.2; + font-weight: bold; /* Valeur par défaut.*/ + font-style: normal; +} +h1 { + font-size: 1.75em; +} +h2 { + font-size: 1.5em; +} +h3 { + font-size: 1.25em; +} +h4 { + font-size: 1em; +} +hr { + height: 1px; + margin: 0; + margin-right: 1em; + padding: 0; + margin-bottom: 10px; + color: #000; + background-color: #000; + border: 0; +} + +/* Listes */ +ul, ol { + margin: .75em 0 .75em 0; + padding: 0; +} + +/* Paragraphes */ +p { + margin: .75em 0; /* Marges plus faibles que par défaut.*/ +} +address { + margin: .75em 0; + font-style: normal; +} + +/* Divers éléments de type en-ligne*/ +em { + font-style: italic; +} +strong { + font-weight: bold; +} + +/* Formulaires */ +form, fieldset { + margin: 0; + padding: 0; +} +form +{ + border: none; +} +input, button, select { + vertical-align: top; /* Solution pb. d'alignement. (9) */ + font-size: 1em; +} +.center +{ + text-align: center; +} + +/* Mise en forme simple pour les tableaux */ +table { + margin: 0; + border: 1px solid gray; /* Pas de bordure = "none". */ + border-collapse: collapse; /* Valeur par défaut: "separate". */ + border-spacing: 0; + margin: auto; +} +table td, table th { + padding: 4px; /* Pas de retrait autour du texte = "0". */ + border: 1px solid #ccc; /* Pas de bordure = "none". */ + vertical-align: top; /* Valeur par défaut: "middle" */ + text-align: left; +} diff --git a/design.css b/design.css new file mode 100755 index 0000000..10a02f3 --- /dev/null +++ b/design.css @@ -0,0 +1,140 @@ +/* +@nom: Design +@auteurs: Phyks (webmaster@phyks.me) and CCC (contact@cphyc.me) +@description: Main stylesheet +See humans.txt file for more info + +Copyright (c) 2013 Phyks and CCC +This software is licensed under the zlib/libpng License. +*/ + +.underline +{ + text-decoration: underline; +} + +form +{ + font-size: 2.5em; +} + +input +{ + vertical-align: middle; +} + +#left, #right +{ + width:50px; + position: absolute; + top: 35%; + margin: 0; +} + +body +{ + overflow-x: hidden; + width: 90%; +} + +#left +{ + left: 0; +} + +#right +{ + right: 0; +} + +#background +{ + position: absolute; + top: 0; + text-align: center; + height: 100%; + width: 100%; + margin:0; +} + +#background img +{ + max-width: 100%; + max-height: 100%; +} + +#output +{ + margin: auto; + width: 100%; + text-align: center; + font-size: 2.5em; +} + + +#output p +{ + margin-top: 1em; +} + +#output a +{ + border: 2px solid black; + padding: 0.5em; +} + +#error +{ + text-align: center; + font-size: 2.5em; + font-weight: bold; + background-color: red; + color: white; +} + +#commandline +{ + position: absolute; + bottom: 5px; + left: 0; + margin: 0; + font-size: 3em; +} + +#commandline input +{ + text-align: center; +} + +#commandline p +{ + display: inline; +} + +#submit +{ + font-weight: bold; +} + +#quit +{ + position: absolute; + bottom: 0; + right: 0; + margin: 0; + font-size: 3em; +} + +#refresh +{ + position: absolute; + top: 0; + right: 0; + margin: 0; + font-size: 4em; +} + +#refresh a +{ + text-decoration: none; +} diff --git a/humans.txt b/humans.txt new file mode 100644 index 0000000..9ffa414 --- /dev/null +++ b/humans.txt @@ -0,0 +1,29 @@ +/* TEAM */ + Name : Phyks + Site: http://www.phyks.me + E-mail : webmaster@phyks.me + Jabber : + Location: France. + + + Name : CCC + Location : France + Site : http://www.cphyc.me + E-mail : contact@cphyc.me + +/* THANKS */ + Jquery.org for the jquery.js script file (under MIT License) + Alsacreations for the base stylesheet + PADILICIOUS.COM for the swipe.js script to handle touch events + Wikimedia Foundations on which website we found the arrows icons (modified) under GNU Lesser General Public License + +/* LICENSE */ + Copyright (c) 2013 Phyks and CCC + This software is licensed under the zlib/libpng License. + + +/* SITE */ + Last update: 02/11/2012 + Standards: HTML5, CSS3 + Components: jQuery + Software: Arch, Fedora, Gnome Shell, gedit, php, apache and xdotool ! diff --git a/index.php b/index.php new file mode 100755 index 0000000..16aa9f3 --- /dev/null +++ b/index.php @@ -0,0 +1,252 @@ + easy :) + { + $ids = (int) $ids[0]; //We force ids to be int + + shell_exec("export DISPLAY=:0 && import -window ".$ids." tmp/tmp.png"); //We take a screenshot for the background + + $titre = shell_exec("export DISPLAY=:0 && xdotool getwindowname ".$ids); //Get the whole name to forge the title of this page + } + elseif(count($ids) > 1) //If there are more than one window with "pdf" in the title, display a form to choose which one you want + { + $form_content = ''; + $i = 1; + $checked = ''; + + foreach($ids as $id) + { + $name = shell_exec("export DISPLAY=:0 && xdotool getwindowname ".$id); + + if($i == 1) + { + $checked = 'checked'; + $i = 2; + } + + $form_content .= "
"; //Fill a variable containing the radio fields + $checked = ''; + } + } + + //If $ids == NULL -> no window ok -> Just display an error and put a correct title +?> + + + + + <?php + if(!empty($titre)) echo $titre; elseif(!empty($form_content)) echo "Remote Presentation"; else echo "Error - Remote Presentation"; ?> + + + + + + + + + + + + + + + + + +
'.$output.'

Go back

'; + exit; + } + + if(is_file('tmp/tmp.png')) //Protection against the "img not found" little frame + { + ?> +

+ +
+

An error occured. Screenshot is not available.

+

Have you opened the selected presentation viewer ?

+
+ +
+

+ Gauche +

+
+ + + +
+

+ Window to work with ? +

+

+ +

+

+ +

+
+ +
+

+ + +

+
+

Go back to form

+

+ + + diff --git a/iphone.png b/iphone.png new file mode 100755 index 0000000000000000000000000000000000000000..35c2649013bc0dd3d49dac099f1e58de6661f1df GIT binary patch literal 3159 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 bk(a){var b=bl.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function bC(a,b){return a.getElementsByTagName(b)[0]||a.appendChild(a.ownerDocument.createElement(b))}function bD(a,b){if(b.nodeType!==1||!p.hasData(a))return;var c,d,e,f=p._data(a),g=p._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;d").appendTo(e.body),c=b.css("display");b.remove();if(c==="none"||c===""){bI=e.body.appendChild(bI||p.extend(e.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!bJ||!bI.createElement)bJ=(bI.contentWindow||bI.contentDocument).document,bJ.write(""),bJ.close();b=bJ.body.appendChild(bJ.createElement(a)),c=bH(b,"display"),e.body.removeChild(bI)}return bR[a]=c,c}function ch(a,b,c,d){var e;if(p.isArray(b))p.each(b,function(b,e){c||cd.test(a)?d(a,e):ch(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)});else if(!c&&p.type(b)==="object")for(e in b)ch(a+"["+e+"]",b[e],c,d);else d(a,b)}function cy(a){return function(b,c){typeof b!="string"&&(c=b,b="*");var d,e,f,g=b.toLowerCase().split(s),h=0,i=g.length;if(p.isFunction(c))for(;h)[^>]*$|#([\w\-]*)$)/,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,y=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,z=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,A=/^-ms-/,B=/-([\da-z])/gi,C=function(a,b){return(b+"").toUpperCase()},D=function(){e.addEventListener?(e.removeEventListener("DOMContentLoaded",D,!1),p.ready()):e.readyState==="complete"&&(e.detachEvent("onreadystatechange",D),p.ready())},E={};p.fn=p.prototype={constructor:p,init:function(a,c,d){var f,g,h,i;if(!a)return this;if(a.nodeType)return this.context=this[0]=a,this.length=1,this;if(typeof a=="string"){a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3?f=[null,a,null]:f=u.exec(a);if(f&&(f[1]||!c)){if(f[1])return c=c instanceof p?c[0]:c,i=c&&c.nodeType?c.ownerDocument||c:e,a=p.parseHTML(f[1],i,!0),v.test(f[1])&&p.isPlainObject(c)&&this.attr.call(a,c,!0),p.merge(this,a);g=e.getElementById(f[2]);if(g&&g.parentNode){if(g.id!==f[2])return d.find(a);this.length=1,this[0]=g}return this.context=e,this.selector=a,this}return!c||c.jquery?(c||d).find(a):this.constructor(c).find(a)}return p.isFunction(a)?d.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),p.makeArray(a,this))},selector:"",jquery:"1.8.0",length:0,size:function(){return this.length},toArray:function(){return k.call(this)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=p.merge(this.constructor(),a);return d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")"),d},each:function(a,b){return p.each(this,a,b)},ready:function(a){return p.ready.promise().done(a),this},eq:function(a){return a=+a,a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(k.apply(this,arguments),"slice",k.call(arguments).join(","))},map:function(a){return this.pushStack(p.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:j,sort:[].sort,splice:[].splice},p.fn.init.prototype=p.fn,p.extend=p.fn.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;typeof h=="boolean"&&(k=h,h=arguments[1]||{},i=2),typeof h!="object"&&!p.isFunction(h)&&(h={}),j===i&&(h=this,--i);for(;i0)return;d.resolveWith(e,[p]),p.fn.trigger&&p(e).trigger("ready").off("ready")},isFunction:function(a){return p.type(a)==="function"},isArray:Array.isArray||function(a){return p.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):E[m.call(a)]||"object"},isPlainObject:function(a){if(!a||p.type(a)!=="object"||a.nodeType||p.isWindow(a))return!1;try{if(a.constructor&&!n.call(a,"constructor")&&!n.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||n.call(a,d)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},error:function(a){throw new Error(a)},parseHTML:function(a,b,c){var d;return!a||typeof a!="string"?null:(typeof b=="boolean"&&(c=b,b=0),b=b||e,(d=v.exec(a))?[b.createElement(d[1])]:(d=p.buildFragment([a],b,c?null:[]),p.merge([],(d.cacheable?p.clone(d.fragment):d.fragment).childNodes)))},parseJSON:function(b){if(!b||typeof b!="string")return null;b=p.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(w.test(b.replace(y,"@").replace(z,"]").replace(x,"")))return(new Function("return "+b))();p.error("Invalid JSON: "+b)},parseXML:function(c){var d,e;if(!c||typeof c!="string")return null;try{a.DOMParser?(e=new DOMParser,d=e.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(f){d=b}return(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&p.error("Invalid XML: "+c),d},noop:function(){},globalEval:function(b){b&&r.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(A,"ms-").replace(B,C)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var e,f=0,g=a.length,h=g===b||p.isFunction(a);if(d){if(h){for(e in a)if(c.apply(a[e],d)===!1)break}else for(;f0&&a[0]&&a[i-1]||i===0||p.isArray(a));if(j)for(;h-1)i.splice(c,1),e&&(c<=g&&g--,c<=h&&h--)}),this},has:function(a){return p.inArray(a,i)>-1},empty:function(){return i=[],this},disable:function(){return i=j=c=b,this},disabled:function(){return!i},lock:function(){return j=b,c||l.disable(),this},locked:function(){return!j},fireWith:function(a,b){return b=b||[],b=[a,b.slice?b.slice():b],i&&(!d||j)&&(e?j.push(b):k(b)),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!d}};return l},p.extend({Deferred:function(a){var b=[["resolve","done",p.Callbacks("once memory"),"resolved"],["reject","fail",p.Callbacks("once memory"),"rejected"],["notify","progress",p.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return p.Deferred(function(c){p.each(b,function(b,d){var f=d[0],g=a[b];e[d[1]](p.isFunction(g)?function(){var a=g.apply(this,arguments);a&&p.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f+"With"](this===e?c:this,[a])}:c[f])}),a=null}).promise()},promise:function(a){return typeof a=="object"?p.extend(a,d):d}},e={};return d.pipe=d.then,p.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[a^1][2].disable,b[2][2].lock),e[f[0]]=g.fire,e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=k.call(arguments),d=c.length,e=d!==1||a&&p.isFunction(a.promise)?d:0,f=e===1?a:p.Deferred(),g=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?k.call(arguments):d,c===h?f.notifyWith(b,c):--e||f.resolveWith(b,c)}},h,i,j;if(d>1){h=new Array(d),i=new Array(d),j=new Array(d);for(;b
a",c=n.getElementsByTagName("*"),d=n.getElementsByTagName("a")[0],d.style.cssText="top:1px;float:left;opacity:.5";if(!c||!c.length||!d)return{};f=e.createElement("select"),g=f.appendChild(e.createElement("option")),h=n.getElementsByTagName("input")[0],b={leadingWhitespace:n.firstChild.nodeType===3,tbody:!n.getElementsByTagName("tbody").length,htmlSerialize:!!n.getElementsByTagName("link").length,style:/top/.test(d.getAttribute("style")),hrefNormalized:d.getAttribute("href")==="/a",opacity:/^0.5/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:n.className!=="t",enctype:!!e.createElement("form").enctype,html5Clone:e.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",boxModel:e.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},h.checked=!0,b.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,b.optDisabled=!g.disabled;try{delete n.test}catch(o){b.deleteExpando=!1}!n.addEventListener&&n.attachEvent&&n.fireEvent&&(n.attachEvent("onclick",m=function(){b.noCloneEvent=!1}),n.cloneNode(!0).fireEvent("onclick"),n.detachEvent("onclick",m)),h=e.createElement("input"),h.value="t",h.setAttribute("type","radio"),b.radioValue=h.value==="t",h.setAttribute("checked","checked"),h.setAttribute("name","t"),n.appendChild(h),i=e.createDocumentFragment(),i.appendChild(n.lastChild),b.checkClone=i.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=h.checked,i.removeChild(h),i.appendChild(n);if(n.attachEvent)for(k in{submit:!0,change:!0,focusin:!0})j="on"+k,l=j in n,l||(n.setAttribute(j,"return;"),l=typeof n[j]=="function"),b[k+"Bubbles"]=l;return p(function(){var c,d,f,g,h="padding:0;margin:0;border:0;display:block;overflow:hidden;",i=e.getElementsByTagName("body")[0];if(!i)return;c=e.createElement("div"),c.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",i.insertBefore(c,i.firstChild),d=e.createElement("div"),c.appendChild(d),d.innerHTML="
t
",f=d.getElementsByTagName("td"),f[0].style.cssText="padding:0;margin:0;border:0;display:none",l=f[0].offsetHeight===0,f[0].style.display="",f[1].style.display="none",b.reliableHiddenOffsets=l&&f[0].offsetHeight===0,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",b.boxSizing=d.offsetWidth===4,b.doesNotIncludeMarginInBodyOffset=i.offsetTop!==1,a.getComputedStyle&&(b.pixelPosition=(a.getComputedStyle(d,null)||{}).top!=="1%",b.boxSizingReliable=(a.getComputedStyle(d,null)||{width:"4px"}).width==="4px",g=e.createElement("div"),g.style.cssText=d.style.cssText=h,g.style.marginRight=g.style.width="0",d.style.width="1px",d.appendChild(g),b.reliableMarginRight=!parseFloat((a.getComputedStyle(g,null)||{}).marginRight)),typeof d.style.zoom!="undefined"&&(d.innerHTML="",d.style.cssText=h+"width:1px;padding:1px;display:inline;zoom:1",b.inlineBlockNeedsLayout=d.offsetWidth===3,d.style.display="block",d.style.overflow="visible",d.innerHTML="
",d.firstChild.style.width="5px",b.shrinkWrapBlocks=d.offsetWidth!==3,c.style.zoom=1),i.removeChild(c),c=d=f=g=null}),i.removeChild(n),c=d=f=g=h=i=n=null,b}();var H=/^(?:\{.*\}|\[.*\])$/,I=/([A-Z])/g;p.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(p.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){return a=a.nodeType?p.cache[a[p.expando]]:a[p.expando],!!a&&!K(a)},data:function(a,c,d,e){if(!p.acceptData(a))return;var f,g,h=p.expando,i=typeof c=="string",j=a.nodeType,k=j?p.cache:a,l=j?a[h]:a[h]&&h;if((!l||!k[l]||!e&&!k[l].data)&&i&&d===b)return;l||(j?a[h]=l=p.deletedIds.pop()||++p.uuid:l=h),k[l]||(k[l]={},j||(k[l].toJSON=p.noop));if(typeof c=="object"||typeof c=="function")e?k[l]=p.extend(k[l],c):k[l].data=p.extend(k[l].data,c);return f=k[l],e||(f.data||(f.data={}),f=f.data),d!==b&&(f[p.camelCase(c)]=d),i?(g=f[c],g==null&&(g=f[p.camelCase(c)])):g=f,g},removeData:function(a,b,c){if(!p.acceptData(a))return;var d,e,f,g=a.nodeType,h=g?p.cache:a,i=g?a[p.expando]:p.expando;if(!h[i])return;if(b){d=c?h[i]:h[i].data;if(d){p.isArray(b)||(b in d?b=[b]:(b=p.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,f=b.length;e1,null,!1))},removeData:function(a){return this.each(function(){p.removeData(this,a)})}}),p.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=p._data(a,b),c&&(!d||p.isArray(c)?d=p._data(a,b,p.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=p.queue(a,b),d=c.shift(),e=p._queueHooks(a,b),f=function(){p.dequeue(a,b)};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),delete e.stop,d.call(a,f,e)),!c.length&&e&&e.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return p._data(a,c)||p._data(a,c,{empty:p.Callbacks("once memory").add(function(){p.removeData(a,b+"queue",!0),p.removeData(a,c,!0)})})}}),p.fn.extend({queue:function(a,c){var d=2;return typeof a!="string"&&(c=a,a="fx",d--),arguments.length1)},removeAttr:function(a){return this.each(function(){p.removeAttr(this,a)})},prop:function(a,b){return p.access(this,p.prop,a,b,arguments.length>1)},removeProp:function(a){return a=p.propFix[a]||a,this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,f,g,h;if(p.isFunction(a))return this.each(function(b){p(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(s);for(c=0,d=this.length;c-1)d=d.replace(" "+c[f]+" "," ");e.className=a?p.trim(d):""}}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";return p.isFunction(a)?this.each(function(c){p(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if(c==="string"){var e,f=0,g=p(this),h=b,i=a.split(s);while(e=i[f++])h=d?h:!g.hasClass(e),g[h?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&p._data(this,"__className__",this.className),this.className=this.className||a===!1?"":p._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c-1)return!0;return!1},val:function(a){var c,d,e,f=this[0];if(!arguments.length){if(f)return c=p.valHooks[f.type]||p.valHooks[f.nodeName.toLowerCase()],c&&"get"in c&&(d=c.get(f,"value"))!==b?d:(d=f.value,typeof d=="string"?d.replace(P,""):d==null?"":d);return}return e=p.isFunction(a),this.each(function(d){var f,g=p(this);if(this.nodeType!==1)return;e?f=a.call(this,d,g.val()):f=a,f==null?f="":typeof f=="number"?f+="":p.isArray(f)&&(f=p.map(f,function(a){return a==null?"":a+""})),c=p.valHooks[this.type]||p.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,f,"value")===b)this.value=f})}}),p.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,f=a.selectedIndex,g=[],h=a.options,i=a.type==="select-one";if(f<0)return null;c=i?f:0,d=i?f+1:h.length;for(;c=0}),c.length||(a.selectedIndex=-1),c}}},attrFn:{},attr:function(a,c,d,e){var f,g,h,i=a.nodeType;if(!a||i===3||i===8||i===2)return;if(e&&p.isFunction(p.fn[c]))return p(a)[c](d);if(typeof a.getAttribute=="undefined")return p.prop(a,c,d);h=i!==1||!p.isXMLDoc(a),h&&(c=c.toLowerCase(),g=p.attrHooks[c]||(T.test(c)?M:L));if(d!==b){if(d===null){p.removeAttr(a,c);return}return g&&"set"in g&&h&&(f=g.set(a,d,c))!==b?f:(a.setAttribute(c,""+d),d)}return g&&"get"in g&&h&&(f=g.get(a,c))!==null?f:(f=a.getAttribute(c),f===null?b:f)},removeAttr:function(a,b){var c,d,e,f,g=0;if(b&&a.nodeType===1){d=b.split(s);for(;g=0}})});var V=/^(?:textarea|input|select)$/i,W=/^([^\.]*|)(?:\.(.+)|)$/,X=/(?:^|\s)hover(\.\S+|)\b/,Y=/^key/,Z=/^(?:mouse|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=function(a){return p.event.special.hover?a:a.replace(X,"mouseenter$1 mouseleave$1")};p.event={add:function(a,c,d,e,f){var g,h,i,j,k,l,m,n,o,q,r;if(a.nodeType===3||a.nodeType===8||!c||!d||!(g=p._data(a)))return;d.handler&&(o=d,d=o.handler,f=o.selector),d.guid||(d.guid=p.guid++),i=g.events,i||(g.events=i={}),h=g.handle,h||(g.handle=h=function(a){return typeof p!="undefined"&&(!a||p.event.triggered!==a.type)?p.event.dispatch.apply(h.elem,arguments):b},h.elem=a),c=p.trim(_(c)).split(" ");for(j=0;j=0&&(s=s.slice(0,-1),i=!0),s.indexOf(".")>=0&&(t=s.split("."),s=t.shift(),t.sort());if((!f||p.event.customEvent[s])&&!p.event.global[s])return;c=typeof c=="object"?c[p.expando]?c:new p.Event(s,c):new p.Event(s),c.type=s,c.isTrigger=!0,c.exclusive=i,c.namespace=t.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+t.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,m=s.indexOf(":")<0?"on"+s:"";if(!f){h=p.cache;for(j in h)h[j].events&&h[j].events[s]&&p.event.trigger(c,d,h[j].handle.elem,!0);return}c.result=b,c.target||(c.target=f),d=d!=null?p.makeArray(d):[],d.unshift(c),n=p.event.special[s]||{};if(n.trigger&&n.trigger.apply(f,d)===!1)return;q=[[f,n.bindType||s]];if(!g&&!n.noBubble&&!p.isWindow(f)){r=n.delegateType||s,k=$.test(r+s)?f:f.parentNode;for(l=f;k;k=k.parentNode)q.push([k,r]),l=k;l===(f.ownerDocument||e)&&q.push([l.defaultView||l.parentWindow||a,r])}for(j=0;jq&&u.push({elem:this,matches:o.slice(q)});for(d=0;d0?this.on(b,null,a,c):this.trigger(b)},Y.test(b)&&(p.event.fixHooks[b]=p.event.keyHooks),Z.test(b)&&(p.event.fixHooks[b]=p.event.mouseHooks)}),function(a,b){function bd(a,b,c,d){var e=0,f=b.length;for(;e0?h(g,c,f):[]}function bf(a,c,d,e,f){var g,h,i,j,k,l,m,n,p=0,q=f.length,s=L.POS,t=new RegExp("^"+s.source+"(?!"+r+")","i"),u=function(){var a=1,c=arguments.length-2;for(;ai){m=a.slice(i,g.index),i=n,l=[c],B.test(m)&&(k&&(l=k),k=e);if(h=H.test(m))m=m.slice(0,-5).replace(B,"$&*");g.length>1&&g[0].replace(t,u),k=be(m,g[1],g[2],l,k,h)}}k?(j=j.concat(k),(m=a.slice(i))&&m!==")"?B.test(m)?bd(m,j,d,e):Z(m,c,d,e?e.concat(k):k):o.apply(d,j)):Z(a,c,d,e)}return q===1?d:Z.uniqueSort(d)}function bg(a,b,c){var d,e,f,g=[],i=0,j=D.exec(a),k=!j.pop()&&!j.pop(),l=k&&a.match(C)||[""],m=$.preFilter,n=$.filter,o=!c&&b!==h;for(;(e=l[i])!=null&&k;i++){g.push(d=[]),o&&(e=" "+e);while(e){k=!1;if(j=B.exec(e))e=e.slice(j[0].length),k=d.push({part:j.pop().replace(A," "),captures:j});for(f in n)(j=L[f].exec(e))&&(!m[f]||(j=m[f](j,b,c)))&&(e=e.slice(j.shift().length),k=d.push({part:f,captures:j}));if(!k)break}}return k||Z.error(a),g}function bh(a,b,e){var f=b.dir,g=m++;return a||(a=function(a){return a===e}),b.first?function(b,c){while(b=b[f])if(b.nodeType===1)return a(b,c)&&b}:function(b,e){var h,i=g+"."+d,j=i+"."+c;while(b=b[f])if(b.nodeType===1){if((h=b[q])===j)return b.sizset;if(typeof h=="string"&&h.indexOf(i)===0){if(b.sizset)return b}else{b[q]=j;if(a(b,e))return b.sizset=!0,b;b.sizset=!1}}}}function bi(a,b){return a?function(c,d){var e=b(c,d);return e&&a(e===!0?c:e,d)}:b}function bj(a,b,c){var d,e,f=0;for(;d=a[f];f++)$.relative[d.part]?e=bh(e,$.relative[d.part],b):(d.captures.push(b,c),e=bi(e,$.filter[d.part].apply(null,d.captures)));return e}function bk(a){return function(b,c){var d,e=0;for(;d=a[e];e++)if(d(b,c))return!0;return!1}}var c,d,e,f,g,h=a.document,i=h.documentElement,j="undefined",k=!1,l=!0,m=0,n=[].slice,o=[].push,q=("sizcache"+Math.random()).replace(".",""),r="[\\x20\\t\\r\\n\\f]",s="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",t=s.replace("w","w#"),u="([*^$|!~]?=)",v="\\["+r+"*("+s+")"+r+"*(?:"+u+r+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+t+")|)|)"+r+"*\\]",w=":("+s+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|((?:[^,]|\\\\,|(?:,(?=[^\\[]*\\]))|(?:,(?=[^\\(]*\\))))*))\\)|)",x=":(nth|eq|gt|lt|first|last|even|odd)(?:\\((\\d*)\\)|)(?=[^-]|$)",y=r+"*([\\x20\\t\\r\\n\\f>+~])"+r+"*",z="(?=[^\\x20\\t\\r\\n\\f])(?:\\\\.|"+v+"|"+w.replace(2,7)+"|[^\\\\(),])+",A=new RegExp("^"+r+"+|((?:^|[^\\\\])(?:\\\\.)*)"+r+"+$","g"),B=new RegExp("^"+y),C=new RegExp(z+"?(?="+r+"*,|$)","g"),D=new RegExp("^(?:(?!,)(?:(?:^|,)"+r+"*"+z+")*?|"+r+"*(.*?))(\\)|$)"),E=new RegExp(z.slice(19,-6)+"\\x20\\t\\r\\n\\f>+~])+|"+y,"g"),F=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,G=/[\x20\t\r\n\f]*[+~]/,H=/:not\($/,I=/h\d/i,J=/input|select|textarea|button/i,K=/\\(?!\\)/g,L={ID:new RegExp("^#("+s+")"),CLASS:new RegExp("^\\.("+s+")"),NAME:new RegExp("^\\[name=['\"]?("+s+")['\"]?\\]"),TAG:new RegExp("^("+s.replace("[-","[-\\*")+")"),ATTR:new RegExp("^"+v),PSEUDO:new RegExp("^"+w),CHILD:new RegExp("^:(only|nth|last|first)-child(?:\\("+r+"*(even|odd|(([+-]|)(\\d*)n|)"+r+"*(?:([+-]|)"+r+"*(\\d+)|))"+r+"*\\)|)","i"),POS:new RegExp(x,"ig"),needsContext:new RegExp("^"+r+"*[>+~]|"+x,"i")},M={},N=[],O={},P=[],Q=function(a){return a.sizzleFilter=!0,a},R=function(a){return function(b){return b.nodeName.toLowerCase()==="input"&&b.type===a}},S=function(a){return function(b){var c=b.nodeName.toLowerCase();return(c==="input"||c==="button")&&b.type===a}},T=function(a){var b=!1,c=h.createElement("div");try{b=a(c)}catch(d){}return c=null,b},U=T(function(a){a.innerHTML="";var b=typeof a.lastChild.getAttribute("multiple");return b!=="boolean"&&b!=="string"}),V=T(function(a){a.id=q+0,a.innerHTML="
",i.insertBefore(a,i.firstChild);var b=h.getElementsByName&&h.getElementsByName(q).length===2+h.getElementsByName(q+0).length;return g=!h.getElementById(q),i.removeChild(a),b}),W=T(function(a){return a.appendChild(h.createComment("")),a.getElementsByTagName("*").length===0}),X=T(function(a){return a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!==j&&a.firstChild.getAttribute("href")==="#"}),Y=T(function(a){return a.innerHTML="",!a.getElementsByClassName||a.getElementsByClassName("e").length===0?!1:(a.lastChild.className="e",a.getElementsByClassName("e").length!==1)}),Z=function(a,b,c,d){c=c||[],b=b||h;var e,f,g,i,j=b.nodeType;if(j!==1&&j!==9)return[];if(!a||typeof a!="string")return c;g=ba(b);if(!g&&!d)if(e=F.exec(a))if(i=e[1]){if(j===9){f=b.getElementById(i);if(!f||!f.parentNode)return c;if(f.id===i)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(i))&&bb(b,f)&&f.id===i)return c.push(f),c}else{if(e[2])return o.apply(c,n.call(b.getElementsByTagName(a),0)),c;if((i=e[3])&&Y&&b.getElementsByClassName)return o.apply(c,n.call(b.getElementsByClassName(i),0)),c}return bm(a,b,c,d,g)},$=Z.selectors={cacheLength:50,match:L,order:["ID","TAG"],attrHandle:{},createPseudo:Q,find:{ID:g?function(a,b,c){if(typeof b.getElementById!==j&&!c){var d=b.getElementById(a);return d&&d.parentNode?[d]:[]}}:function(a,c,d){if(typeof c.getElementById!==j&&!d){var e=c.getElementById(a);return e?e.id===a||typeof e.getAttributeNode!==j&&e.getAttributeNode("id").value===a?[e]:b:[]}},TAG:W?function(a,b){if(typeof b.getElementsByTagName!==j)return b.getElementsByTagName(a)}:function(a,b){var c=b.getElementsByTagName(a);if(a==="*"){var d,e=[],f=0;for(;d=c[f];f++)d.nodeType===1&&e.push(d);return e}return c}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(K,""),a[3]=(a[4]||a[5]||"").replace(K,""),a[2]==="~="&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),a[1]==="nth"?(a[2]||Z.error(a[0]),a[3]=+(a[3]?a[4]+(a[5]||1):2*(a[2]==="even"||a[2]==="odd")),a[4]=+(a[6]+a[7]||a[2]==="odd")):a[2]&&Z.error(a[0]),a},PSEUDO:function(a){var b,c=a[4];return L.CHILD.test(a[0])?null:(c&&(b=D.exec(c))&&b.pop()&&(a[0]=a[0].slice(0,b[0].length-c.length-1),c=b[0].slice(0,-1)),a.splice(2,3,c||a[3]),a)}},filter:{ID:g?function(a){return a=a.replace(K,""),function(b){return b.getAttribute("id")===a}}:function(a){return a=a.replace(K,""),function(b){var c=typeof b.getAttributeNode!==j&&b.getAttributeNode("id");return c&&c.value===a}},TAG:function(a){return a==="*"?function(){return!0}:(a=a.replace(K,"").toLowerCase(),function(b){return b.nodeName&&b.nodeName.toLowerCase()===a})},CLASS:function(a){var b=M[a];return b||(b=M[a]=new RegExp("(^|"+r+")"+a+"("+r+"|$)"),N.push(a),N.length>$.cacheLength&&delete M[N.shift()]),function(a){return b.test(a.className||typeof a.getAttribute!==j&&a.getAttribute("class")||"")}},ATTR:function(a,b,c){return b?function(d){var e=Z.attr(d,a),f=e+"";if(e==null)return b==="!=";switch(b){case"=":return f===c;case"!=":return f!==c;case"^=":return c&&f.indexOf(c)===0;case"*=":return c&&f.indexOf(c)>-1;case"$=":return c&&f.substr(f.length-c.length)===c;case"~=":return(" "+f+" ").indexOf(c)>-1;case"|=":return f===c||f.substr(0,c.length+1)===c+"-"}}:function(b){return Z.attr(b,a)!=null}},CHILD:function(a,b,c,d){if(a==="nth"){var e=m++;return function(a){var b,f,g=0,h=a;if(c===1&&d===0)return!0;b=a.parentNode;if(b&&(b[q]!==e||!a.sizset)){for(h=b.firstChild;h;h=h.nextSibling)if(h.nodeType===1){h.sizset=++g;if(h===a)break}b[q]=e}return f=a.sizset-d,c===0?f===0:f%c===0&&f/c>=0}}return function(b){var c=b;switch(a){case"only":case"first":while(c=c.previousSibling)if(c.nodeType===1)return!1;if(a==="first")return!0;c=b;case"last":while(c=c.nextSibling)if(c.nodeType===1)return!1;return!0}}},PSEUDO:function(a,b,c,d){var e=$.pseudos[a]||$.pseudos[a.toLowerCase()];return e||Z.error("unsupported pseudo: "+a),e.sizzleFilter?e(b,c,d):e}},pseudos:{not:Q(function(a,b,c){var d=bl(a.replace(A,"$1"),b,c);return function(a){return!d(a)}}),enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&!!a.checked||b==="option"&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},parent:function(a){return!$.pseudos.empty(a)},empty:function(a){var b;a=a.firstChild;while(a){if(a.nodeName>"@"||(b=a.nodeType)===3||b===4)return!1;a=a.nextSibling}return!0},contains:Q(function(a){return function(b){return(b.textContent||b.innerText||bc(b)).indexOf(a)>-1}}),has:Q(function(a){return function(b){return Z(a,b).length>0}}),header:function(a){return I.test(a.nodeName)},text:function(a){var b,c;return a.nodeName.toLowerCase()==="input"&&(b=a.type)==="text"&&((c=a.getAttribute("type"))==null||c.toLowerCase()===b)},radio:R("radio"),checkbox:R("checkbox"),file:R("file"),password:R("password"),image:R("image"),submit:S("submit"),reset:S("reset"),button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&a.type==="button"||b==="button"},input:function(a){return J.test(a.nodeName)},focus:function(a){var b=a.ownerDocument;return a===b.activeElement&&(!b.hasFocus||b.hasFocus())&&(!!a.type||!!a.href)},active:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b,c){return c?a.slice(1):[a[0]]},last:function(a,b,c){var d=a.pop();return c?a:[d]},even:function(a,b,c){var d=[],e=c?1:0,f=a.length;for(;e$.cacheLength&&delete O[P.shift()],g};Z.matches=function(a,b){return Z(a,null,null,b)},Z.matchesSelector=function(a,b){return Z(b,null,null,[a]).length>0};var bm=function(a,b,e,f,g){a=a.replace(A,"$1");var h,i,j,k,l,m,p,q,r,s=a.match(C),t=a.match(E),u=b.nodeType;if(L.POS.test(a))return bf(a,b,e,f,s);if(f)h=n.call(f,0);else if(s&&s.length===1){if(t.length>1&&u===9&&!g&&(s=L.ID.exec(t[0]))){b=$.find.ID(s[1],b,g)[0];if(!b)return e;a=a.slice(t.shift().length)}q=(s=G.exec(t[0]))&&!s.index&&b.parentNode||b,r=t.pop(),m=r.split(":not")[0];for(j=0,k=$.order.length;j",a.querySelectorAll("[selected]").length||e.push("\\["+r+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),a.querySelectorAll(":checked").length||e.push(":checked")}),T(function(a){a.innerHTML="

",a.querySelectorAll("[test^='']").length&&e.push("[*^$]="+r+"*(?:\"\"|'')"),a.innerHTML="",a.querySelectorAll(":enabled").length||e.push(":enabled",":disabled")}),e=e.length&&new RegExp(e.join("|")),bm=function(a,d,f,g,h){if(!g&&!h&&(!e||!e.test(a)))if(d.nodeType===9)try{return o.apply(f,n.call(d.querySelectorAll(a),0)),f}catch(i){}else if(d.nodeType===1&&d.nodeName.toLowerCase()!=="object"){var j=d.getAttribute("id"),k=j||q,l=G.test(a)&&d.parentNode||d;j?k=k.replace(c,"\\$&"):d.setAttribute("id",k);try{return o.apply(f,n.call(l.querySelectorAll(a.replace(C,"[id='"+k+"'] $&")),0)),f}catch(i){}finally{j||d.removeAttribute("id")}}return b(a,d,f,g,h)},g&&(T(function(b){a=g.call(b,"div");try{g.call(b,"[test!='']:sizzle"),f.push($.match.PSEUDO)}catch(c){}}),f=new RegExp(f.join("|")),Z.matchesSelector=function(b,c){c=c.replace(d,"='$1']");if(!ba(b)&&!f.test(c)&&(!e||!e.test(c)))try{var h=g.call(b,c);if(h||a||b.document&&b.document.nodeType!==11)return h}catch(i){}return Z(c,null,null,[b]).length>0})}(),Z.attr=p.attr,p.find=Z,p.expr=Z.selectors,p.expr[":"]=p.expr.pseudos,p.unique=Z.uniqueSort,p.text=Z.getText,p.isXMLDoc=Z.isXML,p.contains=Z.contains}(a);var bc=/Until$/,bd=/^(?:parents|prev(?:Until|All))/,be=/^.[^:#\[\.,]*$/,bf=p.expr.match.needsContext,bg={children:!0,contents:!0,next:!0,prev:!0};p.fn.extend({find:function(a){var b,c,d,e,f,g,h=this;if(typeof a!="string")return p(a).filter(function(){for(b=0,c=h.length;b0)for(e=d;e=0:p.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c,d=0,e=this.length,f=[],g=bf.test(a)||typeof a!="string"?p(a,b||this.context):0;for(;d-1:p.find.matchesSelector(c,a)){f.push(c);break}c=c.parentNode}}return f=f.length>1?p.unique(f):f,this.pushStack(f,"closest",a)},index:function(a){return a?typeof a=="string"?p.inArray(this[0],p(a)):p.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(a,b){var c=typeof a=="string"?p(a,b):p.makeArray(a&&a.nodeType?[a]:a),d=p.merge(this.get(),c);return this.pushStack(bh(c[0])||bh(d[0])?d:p.unique(d))},addBack:function(a){return this.add(a==null?this.prevObject:this.prevObject.filter(a))}}),p.fn.andSelf=p.fn.addBack,p.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return p.dir(a,"parentNode")},parentsUntil:function(a,b,c){return p.dir(a,"parentNode",c)},next:function(a){return bi(a,"nextSibling")},prev:function(a){return bi(a,"previousSibling")},nextAll:function(a){return p.dir(a,"nextSibling")},prevAll:function(a){return p.dir(a,"previousSibling")},nextUntil:function(a,b,c){return p.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return p.dir(a,"previousSibling",c)},siblings:function(a){return p.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return p.sibling(a.firstChild)},contents:function(a){return p.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:p.merge([],a.childNodes)}},function(a,b){p.fn[a]=function(c,d){var e=p.map(this,b,c);return bc.test(a)||(d=c),d&&typeof d=="string"&&(e=p.filter(d,e)),e=this.length>1&&!bg[a]?p.unique(e):e,this.length>1&&bd.test(a)&&(e=e.reverse()),this.pushStack(e,a,k.call(arguments).join(","))}}),p.extend({filter:function(a,b,c){return c&&(a=":not("+a+")"),b.length===1?p.find.matchesSelector(b[0],a)?[b[0]]:[]:p.find.matches(a,b)},dir:function(a,c,d){var e=[],f=a[c];while(f&&f.nodeType!==9&&(d===b||f.nodeType!==1||!p(f).is(d)))f.nodeType===1&&e.push(f),f=f[c];return e},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var bl="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",bm=/ jQuery\d+="(?:null|\d+)"/g,bn=/^\s+/,bo=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bp=/<([\w:]+)/,bq=/]","i"),bv=/^(?:checkbox|radio)$/,bw=/checked\s*(?:[^=]|=\s*.checked.)/i,bx=/\/(java|ecma)script/i,by=/^\s*\s*$/g,bz={option:[1,""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},bA=bk(e),bB=bA.appendChild(e.createElement("div"));bz.optgroup=bz.option,bz.tbody=bz.tfoot=bz.colgroup=bz.caption=bz.thead,bz.th=bz.td,p.support.htmlSerialize||(bz._default=[1,"X
","
"]),p.fn.extend({text:function(a){return p.access(this,function(a){return a===b?p.text(this):this.empty().append((this[0]&&this[0].ownerDocument||e).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(p.isFunction(a))return this.each(function(b){p(this).wrapAll(a.call(this,b))});if(this[0]){var b=p(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return p.isFunction(a)?this.each(function(b){p(this).wrapInner(a.call(this,b))}):this.each(function(){var b=p(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=p.isFunction(a);return this.each(function(c){p(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){p.nodeName(this,"body")||p(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(a,this.firstChild)})},before:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(a,this),"before",this.selector)}},after:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(this,a),"after",this.selector)}},remove:function(a,b){var c,d=0;for(;(c=this[d])!=null;d++)if(!a||p.filter(a,[c]).length)!b&&c.nodeType===1&&(p.cleanData(c.getElementsByTagName("*")),p.cleanData([c])),c.parentNode&&c.parentNode.removeChild(c);return this},empty:function(){var a,b=0;for(;(a=this[b])!=null;b++){a.nodeType===1&&p.cleanData(a.getElementsByTagName("*"));while(a.firstChild)a.removeChild(a.firstChild)}return this},clone:function(a,b){return a=a==null?!1:a,b=b==null?a:b,this.map(function(){return p.clone(this,a,b)})},html:function(a){return p.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(bm,""):b;if(typeof a=="string"&&!bs.test(a)&&(p.support.htmlSerialize||!bu.test(a))&&(p.support.leadingWhitespace||!bn.test(a))&&!bz[(bp.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(bo,"<$1>");try{for(;d1&&typeof j=="string"&&bw.test(j))return this.each(function(){p(this).domManip(a,c,d)});if(p.isFunction(j))return this.each(function(e){var f=p(this);a[0]=j.call(this,e,c?f.html():b),f.domManip(a,c,d)});if(this[0]){e=p.buildFragment(a,this,k),g=e.fragment,f=g.firstChild,g.childNodes.length===1&&(g=f);if(f){c=c&&p.nodeName(f,"tr");for(h=e.cacheable||l-1;i0?this.clone(!0):this).get(),p(g[e])[b](d),f=f.concat(d);return this.pushStack(f,a,g.selector)}}),p.extend({clone:function(a,b,c){var d,e,f,g;p.support.html5Clone||p.isXMLDoc(a)||!bu.test("<"+a.nodeName+">")?g=a.cloneNode(!0):(bB.innerHTML=a.outerHTML,bB.removeChild(g=bB.firstChild));if((!p.support.noCloneEvent||!p.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!p.isXMLDoc(a)){bE(a,g),d=bF(a),e=bF(g);for(f=0;d[f];++f)e[f]&&bE(d[f],e[f])}if(b){bD(a,g);if(c){d=bF(a),e=bF(g);for(f=0;d[f];++f)bD(d[f],e[f])}}return d=e=null,g},clean:function(a,b,c,d){var f,g,h,i,j,k,l,m,n,o,q,r,s=0,t=[];if(!b||typeof b.createDocumentFragment=="undefined")b=e;for(g=b===e&&bA;(h=a[s])!=null;s++){typeof h=="number"&&(h+="");if(!h)continue;if(typeof h=="string")if(!br.test(h))h=b.createTextNode(h);else{g=g||bk(b),l=l||g.appendChild(b.createElement("div")),h=h.replace(bo,"<$1>"),i=(bp.exec(h)||["",""])[1].toLowerCase(),j=bz[i]||bz._default,k=j[0],l.innerHTML=j[1]+h+j[2];while(k--)l=l.lastChild;if(!p.support.tbody){m=bq.test(h),n=i==="table"&&!m?l.firstChild&&l.firstChild.childNodes:j[1]===""&&!m?l.childNodes:[];for(f=n.length-1;f>=0;--f)p.nodeName(n[f],"tbody")&&!n[f].childNodes.length&&n[f].parentNode.removeChild(n[f])}!p.support.leadingWhitespace&&bn.test(h)&&l.insertBefore(b.createTextNode(bn.exec(h)[0]),l.firstChild),h=l.childNodes,l=g.lastChild}h.nodeType?t.push(h):t=p.merge(t,h)}l&&(g.removeChild(l),h=l=g=null);if(!p.support.appendChecked)for(s=0;(h=t[s])!=null;s++)p.nodeName(h,"input")?bG(h):typeof h.getElementsByTagName!="undefined"&&p.grep(h.getElementsByTagName("input"),bG);if(c){q=function(a){if(!a.type||bx.test(a.type))return d?d.push(a.parentNode?a.parentNode.removeChild(a):a):c.appendChild(a)};for(s=0;(h=t[s])!=null;s++)if(!p.nodeName(h,"script")||!q(h))c.appendChild(h),typeof h.getElementsByTagName!="undefined"&&(r=p.grep(p.merge([],h.getElementsByTagName("script")),q),t.splice.apply(t,[s+1,0].concat(r)),s+=r.length)}return t},cleanData:function(a,b){var c,d,e,f,g=0,h=p.expando,i=p.cache,j=p.support.deleteExpando,k=p.event.special;for(;(e=a[g])!=null;g++)if(b||p.acceptData(e)){d=e[h],c=d&&i[d];if(c){if(c.events)for(f in c.events)k[f]?p.event.remove(e,f):p.removeEvent(e,f,c.handle);i[d]&&(delete i[d],j?delete e[h]:e.removeAttribute?e.removeAttribute(h):e[h]=null,p.deletedIds.push(d))}}}}),function(){var a,b;p.uaMatch=function(a){a=a.toLowerCase();var b=/(chrome)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},a=p.uaMatch(g.userAgent),b={},a.browser&&(b[a.browser]=!0,b.version=a.version),b.webkit&&(b.safari=!0),p.browser=b,p.sub=function(){function a(b,c){return new a.fn.init(b,c)}p.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function c(c,d){return d&&d instanceof p&&!(d instanceof a)&&(d=a(d)),p.fn.init.call(this,c,d,b)},a.fn.init.prototype=a.fn;var b=a(e);return a}}();var bH,bI,bJ,bK=/alpha\([^)]*\)/i,bL=/opacity=([^)]*)/,bM=/^(top|right|bottom|left)$/,bN=/^margin/,bO=new RegExp("^("+q+")(.*)$","i"),bP=new RegExp("^("+q+")(?!px)[a-z%]+$","i"),bQ=new RegExp("^([-+])=("+q+")","i"),bR={},bS={position:"absolute",visibility:"hidden",display:"block"},bT={letterSpacing:0,fontWeight:400,lineHeight:1},bU=["Top","Right","Bottom","Left"],bV=["Webkit","O","Moz","ms"],bW=p.fn.toggle;p.fn.extend({css:function(a,c){return p.access(this,function(a,c,d){return d!==b?p.style(a,c,d):p.css(a,c)},a,c,arguments.length>1)},show:function(){return bZ(this,!0)},hide:function(){return bZ(this)},toggle:function(a,b){var c=typeof a=="boolean";return p.isFunction(a)&&p.isFunction(b)?bW.apply(this,arguments):this.each(function(){(c?a:bY(this))?p(this).show():p(this).hide()})}}),p.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bH(a,"opacity");return c===""?"1":c}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":p.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!a||a.nodeType===3||a.nodeType===8||!a.style)return;var f,g,h,i=p.camelCase(c),j=a.style;c=p.cssProps[i]||(p.cssProps[i]=bX(j,i)),h=p.cssHooks[c]||p.cssHooks[i];if(d===b)return h&&"get"in h&&(f=h.get(a,!1,e))!==b?f:j[c];g=typeof d,g==="string"&&(f=bQ.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat(p.css(a,c)),g="number");if(d==null||g==="number"&&isNaN(d))return;g==="number"&&!p.cssNumber[i]&&(d+="px");if(!h||!("set"in h)||(d=h.set(a,d,e))!==b)try{j[c]=d}catch(k){}},css:function(a,c,d,e){var f,g,h,i=p.camelCase(c);return c=p.cssProps[i]||(p.cssProps[i]=bX(a.style,i)),h=p.cssHooks[c]||p.cssHooks[i],h&&"get"in h&&(f=h.get(a,!0,e)),f===b&&(f=bH(a,c)),f==="normal"&&c in bT&&(f=bT[c]),d||e!==b?(g=parseFloat(f),d||p.isNumeric(g)?g||0:f):f},swap:function(a,b,c){var d,e,f={};for(e in b)f[e]=a.style[e],a.style[e]=b[e];d=c.call(a);for(e in b)a.style[e]=f[e];return d}}),a.getComputedStyle?bH=function(a,b){var c,d,e,f,g=getComputedStyle(a,null),h=a.style;return g&&(c=g[b],c===""&&!p.contains(a.ownerDocument.documentElement,a)&&(c=p.style(a,b)),bP.test(c)&&bN.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=c,c=g.width,h.width=d,h.minWidth=e,h.maxWidth=f)),c}:e.documentElement.currentStyle&&(bH=function(a,b){var c,d,e=a.currentStyle&&a.currentStyle[b],f=a.style;return e==null&&f&&f[b]&&(e=f[b]),bP.test(e)&&!bM.test(b)&&(c=f.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":e,e=f.pixelLeft+"px",f.left=c,d&&(a.runtimeStyle.left=d)),e===""?"auto":e}),p.each(["height","width"],function(a,b){p.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth!==0||bH(a,"display")!=="none"?ca(a,b,d):p.swap(a,bS,function(){return ca(a,b,d)})},set:function(a,c,d){return b$(a,c,d?b_(a,b,d,p.support.boxSizing&&p.css(a,"boxSizing")==="border-box"):0)}}}),p.support.opacity||(p.cssHooks.opacity={get:function(a,b){return bL.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=p.isNumeric(b)?"alpha(opacity="+b*100+")":"",f=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&p.trim(f.replace(bK,""))===""&&c.removeAttribute){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bK.test(f)?f.replace(bK,e):f+" "+e}}),p(function(){p.support.reliableMarginRight||(p.cssHooks.marginRight={get:function(a,b){return p.swap(a,{display:"inline-block"},function(){if(b)return bH(a,"marginRight")})}}),!p.support.pixelPosition&&p.fn.position&&p.each(["top","left"],function(a,b){p.cssHooks[b]={get:function(a,c){if(c){var d=bH(a,b);return bP.test(d)?p(a).position()[b]+"px":d}}}})}),p.expr&&p.expr.filters&&(p.expr.filters.hidden=function(a){return a.offsetWidth===0&&a.offsetHeight===0||!p.support.reliableHiddenOffsets&&(a.style&&a.style.display||bH(a,"display"))==="none"},p.expr.filters.visible=function(a){return!p.expr.filters.hidden(a)}),p.each({margin:"",padding:"",border:"Width"},function(a,b){p.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bU[d]+b]=e[d]||e[d-2]||e[0];return f}},bN.test(a)||(p.cssHooks[a+b].set=b$)});var cc=/%20/g,cd=/\[\]$/,ce=/\r?\n/g,cf=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,cg=/^(?:select|textarea)/i;p.fn.extend({serialize:function(){return p.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?p.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||cg.test(this.nodeName)||cf.test(this.type))}).map(function(a,b){var c=p(this).val();return c==null?null:p.isArray(c)?p.map(c,function(a,c){return{name:b.name,value:a.replace(ce,"\r\n")}}):{name:b.name,value:c.replace(ce,"\r\n")}}).get()}}),p.param=function(a,c){var d,e=[],f=function(a,b){b=p.isFunction(b)?b():b==null?"":b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=p.ajaxSettings&&p.ajaxSettings.traditional);if(p.isArray(a)||a.jquery&&!p.isPlainObject(a))p.each(a,function(){f(this.name,this.value)});else for(d in a)ch(d,a[d],c,f);return e.join("&").replace(cc,"+")};var ci,cj,ck=/#.*$/,cl=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,cm=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,cn=/^(?:GET|HEAD)$/,co=/^\/\//,cp=/\?/,cq=/)<[^<]*)*<\/script>/gi,cr=/([?&])_=[^&]*/,cs=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,ct=p.fn.load,cu={},cv={},cw=["*/"]+["*"];try{ci=f.href}catch(cx){ci=e.createElement("a"),ci.href="",ci=ci.href}cj=cs.exec(ci.toLowerCase())||[],p.fn.load=function(a,c,d){if(typeof a!="string"&&ct)return ct.apply(this,arguments);if(!this.length)return this;var e,f,g,h=this,i=a.indexOf(" ");return i>=0&&(e=a.slice(i,a.length),a=a.slice(0,i)),p.isFunction(c)?(d=c,c=b):typeof c=="object"&&(f="POST"),p.ajax({url:a,type:f,dataType:"html",data:c,complete:function(a,b){d&&h.each(d,g||[a.responseText,b,a])}}).done(function(a){g=arguments,h.html(e?p("
").append(a.replace(cq,"")).find(e):a)}),this},p.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){p.fn[b]=function(a){return this.on(b,a)}}),p.each(["get","post"],function(a,c){p[c]=function(a,d,e,f){return p.isFunction(d)&&(f=f||e,e=d,d=b),p.ajax({type:c,url:a,data:d,success:e,dataType:f})}}),p.extend({getScript:function(a,c){return p.get(a,b,c,"script")},getJSON:function(a,b,c){return p.get(a,b,c,"json")},ajaxSetup:function(a,b){return b?cA(a,p.ajaxSettings):(b=a,a=p.ajaxSettings),cA(a,b),a},ajaxSettings:{url:ci,isLocal:cm.test(cj[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":cw},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":p.parseJSON,"text xml":p.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:cy(cu),ajaxTransport:cy(cv),ajax:function(a,c){function y(a,c,f,i){var k,s,t,u,w,y=c;if(v===2)return;v=2,h&&clearTimeout(h),g=b,e=i||"",x.readyState=a>0?4:0,f&&(u=cB(l,x,f));if(a>=200&&a<300||a===304)l.ifModified&&(w=x.getResponseHeader("Last-Modified"),w&&(p.lastModified[d]=w),w=x.getResponseHeader("Etag"),w&&(p.etag[d]=w)),a===304?(y="notmodified",k=!0):(k=cC(l,u),y=k.state,s=k.data,t=k.error,k=!t);else{t=y;if(!y||a)y="error",a<0&&(a=0)}x.status=a,x.statusText=""+(c||y),k?o.resolveWith(m,[s,y,x]):o.rejectWith(m,[x,y,t]),x.statusCode(r),r=b,j&&n.trigger("ajax"+(k?"Success":"Error"),[x,l,k?s:t]),q.fireWith(m,[x,y]),j&&(n.trigger("ajaxComplete",[x,l]),--p.active||p.event.trigger("ajaxStop"))}typeof a=="object"&&(c=a,a=b),c=c||{};var d,e,f,g,h,i,j,k,l=p.ajaxSetup({},c),m=l.context||l,n=m!==l&&(m.nodeType||m instanceof p)?p(m):p.event,o=p.Deferred(),q=p.Callbacks("once memory"),r=l.statusCode||{},t={},u={},v=0,w="canceled",x={readyState:0,setRequestHeader:function(a,b){if(!v){var c=a.toLowerCase();a=u[c]=u[c]||a,t[a]=b}return this},getAllResponseHeaders:function(){return v===2?e:null},getResponseHeader:function(a){var c;if(v===2){if(!f){f={};while(c=cl.exec(e))f[c[1].toLowerCase()]=c[2]}c=f[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){return v||(l.mimeType=a),this},abort:function(a){return a=a||w,g&&g.abort(a),y(0,a),this}};o.promise(x),x.success=x.done,x.error=x.fail,x.complete=q.add,x.statusCode=function(a){if(a){var b;if(v<2)for(b in a)r[b]=[r[b],a[b]];else b=a[x.status],x.always(b)}return this},l.url=((a||l.url)+"").replace(ck,"").replace(co,cj[1]+"//"),l.dataTypes=p.trim(l.dataType||"*").toLowerCase().split(s),l.crossDomain==null&&(i=cs.exec(l.url.toLowerCase()),l.crossDomain=!(!i||i[1]==cj[1]&&i[2]==cj[2]&&(i[3]||(i[1]==="http:"?80:443))==(cj[3]||(cj[1]==="http:"?80:443)))),l.data&&l.processData&&typeof l.data!="string"&&(l.data=p.param(l.data,l.traditional)),cz(cu,l,c,x);if(v===2)return x;j=l.global,l.type=l.type.toUpperCase(),l.hasContent=!cn.test(l.type),j&&p.active++===0&&p.event.trigger("ajaxStart");if(!l.hasContent){l.data&&(l.url+=(cp.test(l.url)?"&":"?")+l.data,delete l.data),d=l.url;if(l.cache===!1){var z=p.now(),A=l.url.replace(cr,"$1_="+z);l.url=A+(A===l.url?(cp.test(l.url)?"&":"?")+"_="+z:"")}}(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&x.setRequestHeader("Content-Type",l.contentType),l.ifModified&&(d=d||l.url,p.lastModified[d]&&x.setRequestHeader("If-Modified-Since",p.lastModified[d]),p.etag[d]&&x.setRequestHeader("If-None-Match",p.etag[d])),x.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+(l.dataTypes[0]!=="*"?", "+cw+"; q=0.01":""):l.accepts["*"]);for(k in l.headers)x.setRequestHeader(k,l.headers[k]);if(!l.beforeSend||l.beforeSend.call(m,x,l)!==!1&&v!==2){w="abort";for(k in{success:1,error:1,complete:1})x[k](l[k]);g=cz(cv,l,c,x);if(!g)y(-1,"No Transport");else{x.readyState=1,j&&n.trigger("ajaxSend",[x,l]),l.async&&l.timeout>0&&(h=setTimeout(function(){x.abort("timeout")},l.timeout));try{v=1,g.send(t,y)}catch(B){if(v<2)y(-1,B);else throw B}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var cD=[],cE=/\?/,cF=/(=)\?(?=&|$)|\?\?/,cG=p.now();p.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=cD.pop()||p.expando+"_"+cG++;return this[a]=!0,a}}),p.ajaxPrefilter("json jsonp",function(c,d,e){var f,g,h,i=c.data,j=c.url,k=c.jsonp!==!1,l=k&&cF.test(j),m=k&&!l&&typeof i=="string"&&!(c.contentType||"").indexOf("application/x-www-form-urlencoded")&&cF.test(i);if(c.dataTypes[0]==="jsonp"||l||m)return f=c.jsonpCallback=p.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,g=a[f],l?c.url=j.replace(cF,"$1"+f):m?c.data=i.replace(cF,"$1"+f):k&&(c.url+=(cE.test(j)?"&":"?")+c.jsonp+"="+f),c.converters["script json"]=function(){return h||p.error(f+" was not called"),h[0]},c.dataTypes[0]="json",a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,cD.push(f)),h&&p.isFunction(g)&&g(h[0]),h=g=b}),"script"}),p.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){return p.globalEval(a),a}}}),p.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),p.ajaxTransport("script",function(a){if(a.crossDomain){var c,d=e.head||e.getElementsByTagName("head")[0]||e.documentElement;return{send:function(f,g){c=e.createElement("script"),c.async="async",a.scriptCharset&&(c.charset=a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=function(a,e){if(e||!c.readyState||/loaded|complete/.test(c.readyState))c.onload=c.onreadystatechange=null,d&&c.parentNode&&d.removeChild(c),c=b,e||g(200,"success")},d.insertBefore(c,d.firstChild)},abort:function(){c&&c.onload(0,1)}}}});var cH,cI=a.ActiveXObject?function(){for(var a in cH)cH[a](0,1)}:!1,cJ=0;p.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&cK()||cL()}:cK,function(a){p.extend(p.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(p.ajaxSettings.xhr()),p.support.ajax&&p.ajaxTransport(function(c){if(!c.crossDomain||p.support.cors){var d;return{send:function(e,f){var g,h,i=c.xhr();c.username?i.open(c.type,c.url,c.async,c.username,c.password):i.open(c.type,c.url,c.async);if(c.xhrFields)for(h in c.xhrFields)i[h]=c.xhrFields[h];c.mimeType&&i.overrideMimeType&&i.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(h in e)i.setRequestHeader(h,e[h])}catch(j){}i.send(c.hasContent&&c.data||null),d=function(a,e){var h,j,k,l,m;try{if(d&&(e||i.readyState===4)){d=b,g&&(i.onreadystatechange=p.noop,cI&&delete cH[g]);if(e)i.readyState!==4&&i.abort();else{h=i.status,k=i.getAllResponseHeaders(),l={},m=i.responseXML,m&&m.documentElement&&(l.xml=m);try{l.text=i.responseText}catch(a){}try{j=i.statusText}catch(n){j=""}!h&&c.isLocal&&!c.crossDomain?h=l.text?200:404:h===1223&&(h=204)}}}catch(o){e||f(-1,o)}l&&f(h,j,l,k)},c.async?i.readyState===4?setTimeout(d,0):(g=++cJ,cI&&(cH||(cH={},p(a).unload(cI)),cH[g]=d),i.onreadystatechange=d):d()},abort:function(){d&&d(0,1)}}}});var cM,cN,cO=/^(?:toggle|show|hide)$/,cP=new RegExp("^(?:([-+])=|)("+q+")([a-z%]*)$","i"),cQ=/queueHooks$/,cR=[cX],cS={"*":[function(a,b){var c,d,e,f=this.createTween(a,b),g=cP.exec(b),h=f.cur(),i=+h||0,j=1;if(g){c=+g[2],d=g[3]||(p.cssNumber[a]?"":"px");if(d!=="px"&&i){i=p.css(f.elem,a,!0)||c||1;do e=j=j||".5",i=i/j,p.style(f.elem,a,i+d),j=f.cur()/h;while(j!==1&&j!==e)}f.unit=d,f.start=i,f.end=g[1]?i+(g[1]+1)*c:c}return f}]};p.Animation=p.extend(cV,{tweener:function(a,b){p.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");var c,d=0,e=a.length;for(;d-1,j={},k={},l,m;i?(k=e.position(),l=k.top,m=k.left):(l=parseFloat(g)||0,m=parseFloat(h)||0),p.isFunction(b)&&(b=b.call(a,c,f)),b.top!=null&&(j.top=b.top-f.top+l),b.left!=null&&(j.left=b.left-f.left+m),"using"in b?b.using.call(a,j):e.css(j)}},p.fn.extend({position:function(){if(!this[0])return;var a=this[0],b=this.offsetParent(),c=this.offset(),d=c$.test(b[0].nodeName)?{top:0,left:0}:b.offset();return c.top-=parseFloat(p.css(a,"marginTop"))||0,c.left-=parseFloat(p.css(a,"marginLeft"))||0,d.top+=parseFloat(p.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(p.css(b[0],"borderLeftWidth"))||0,{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||e.body;while(a&&!c$.test(a.nodeName)&&p.css(a,"position")==="static")a=a.offsetParent;return a||e.body})}}),p.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);p.fn[a]=function(e){return p.access(this,function(a,e,f){var g=c_(a);if(f===b)return g?c in g?g[c]:g.document.documentElement[e]:a[e];g?g.scrollTo(d?p(g).scrollLeft():f,d?f:p(g).scrollTop()):a[e]=f},a,e,arguments.length,null)}}),p.each({Height:"height",Width:"width"},function(a,c){p.each({padding:"inner"+a,content:c,"":"outer"+a},function(d,e){p.fn[e]=function(e,f){var g=arguments.length&&(d||typeof e!="boolean"),h=d||(e===!0||f===!0?"margin":"border");return p.access(this,function(c,d,e){var f;return p.isWindow(c)?c.document.documentElement["client"+a]:c.nodeType===9?(f=c.documentElement,Math.max(c.body["scroll"+a],f["scroll"+a],c.body["offset"+a],f["offset"+a],f["client"+a])):e===b?p.css(c,d,e,h):p.style(c,d,e,h)},c,g?e:b,g)}})}),a.jQuery=a.$=p,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return p})})(window); \ No newline at end of file diff --git a/left.png b/left.png new file mode 100755 index 0000000000000000000000000000000000000000..39837efa2df75b7481b73a8408c07033c27bc1d0 GIT binary patch literal 17568 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 e|2-%Gq>#i5mF`1vEiVp}gy5IGVI=ok>Hh + +function touchStart(event,passedID) { + // disable the standard ability to select the touched object + //event.preventDefault(); + // get the total number of fingers touching the screen + fingerCount = event.touches.length; + // since we're looking for a swipe (single finger) and not a gesture (multiple fingers), + // check that only one finger was used + if ( fingerCount == 1 ) { + // store the triggering element ID + triggerElementID = passedID; + // get the coordinates of the touch + startX = event.touches[0].pageX; + startY = event.touches[0].pageY; + } else { + // more than one finger touched so cancel + touchCancel(event); + } +} + +function touchMove(event) { + //event.preventDefault(); + if ( event.touches.length == 1 ) { + curX = event.touches[0].pageX; + curY = event.touches[0].pageY; + } else { + touchCancel(event); + } +} + +function touchEnd(event) { + //event.preventDefault(); + // check to see if more than one finger was used and that there is a and ending coordinate + if ( fingerCount == 1 && curX != 0 ) { + // use the Distance Formula to determine the length of the swipe + swipeLength = Math.round(Math.sqrt(Math.pow(curX - startX,2) + Math.pow(curY - startY,2))); + horzDiff = Math.abs(startX - curX); + vertDiff = Math.abs(startY - curY); + if ( swipeLength >= minLength ) { + deltaX = startX - curX; + deltaY = startY - curY; + caluculateAngle(); + determineSwipeDirection(); + } else { + touchCancel(event); + } + } else { + touchCancel(event); + } +} + +function touchCancel(event) { + // reset the variables back to default values + fingerCount = 0; + startX = 0; + startY = 0; + curX = 0; + curY = 0; + deltaX = 0; + deltaY = 0; + horzDiff = 0; + vertDiff = 0; + swipeLength = 0; + swipeAngle = null; + swipeDirection = null; + triggerElementID = null; +} + +function caluculateAngle() { + var X = startX-curX; + var Y = curY-startY; + var Z = Math.round(Math.sqrt(Math.pow(X,2)+Math.pow(Y,2))); //the distance - rounded - in pixels + var r = Math.atan2(Y,X); //angle in radians (Cartesian system) + swipeAngle = Math.round(r*180/Math.PI); //angle in degrees + if ( swipeAngle < 0 ) { swipeAngle = 360 - Math.abs(swipeAngle); } +} + +function determineSwipeDirection() { + if ( (swipeAngle <= 45) && (swipeAngle >= 0) ) { + swipeDirection = 'left'; + } else if ( (swipeAngle <= 360) && (swipeAngle >= 315) ) { + swipeDirection = 'left'; + } else if ( (swipeAngle >= 135) && (swipeAngle <= 225) ) { + swipeDirection = 'right'; + } else if ( (swipeAngle > 45) && (swipeAngle < 135) ) { + swipeDirection = 'down'; + } else { + swipeDirection = 'up'; + } +}