slimerjs-firefox
Version:
This repo includes slimerjs as well as downloads a local copy of Firefox.
78 lines (77 loc) • 42.5 kB
JavaScript
function(){return function(){function g(a){return function(){return this[a]}}function k(a){return function(){return a}}var l=this;
function aa(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";
else if("function"==b&&"undefined"==typeof a.call)return"object";return b}function ba(a){var b=aa(a);return"array"==b||"object"==b&&"number"==typeof a.length}function m(a){return"string"==typeof a}function ca(a){var b=typeof a;return"object"==b&&null!=a||"function"==b}function da(a,b,c){return a.call.apply(a.bind,arguments)}
function ea(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}}function fa(a,b,c){fa=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?da:ea;return fa.apply(null,arguments)}
function ga(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=Array.prototype.slice.call(arguments);b.unshift.apply(b,c);return a.apply(this,b)}}var ha=Date.now||function(){return+new Date};function p(a,b){function c(){}c.prototype=b.prototype;a.va=b.prototype;a.prototype=new c};function ia(a,b){for(var c=0,d=String(a).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),e=String(b).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),f=Math.max(d.length,e.length),h=0;0==c&&h<f;h++){var n=d[h]||"",x=e[h]||"",ka=RegExp("(\\d*)(\\D*)","g"),L=RegExp("(\\d*)(\\D*)","g");do{var v=ka.exec(n)||["","",""],r=L.exec(x)||["","",""];if(0==v[0].length&&0==r[0].length)break;c=((0==v[1].length?0:parseInt(v[1],10))<(0==r[1].length?0:parseInt(r[1],10))?-1:(0==v[1].length?0:parseInt(v[1],10))>(0==r[1].length?
0:parseInt(r[1],10))?1:0)||((0==v[2].length)<(0==r[2].length)?-1:(0==v[2].length)>(0==r[2].length)?1:0)||(v[2]<r[2]?-1:v[2]>r[2]?1:0)}while(0==c)}return c};var ja=Array.prototype;function q(a,b){for(var c=a.length,d=m(a)?a.split(""):a,e=0;e<c;e++)e in d&&b.call(void 0,d[e],e,a)}function la(a,b){for(var c=a.length,d=[],e=0,f=m(a)?a.split(""):a,h=0;h<c;h++)if(h in f){var n=f[h];b.call(void 0,n,h,a)&&(d[e++]=n)}return d}function ma(a,b){for(var c=a.length,d=Array(c),e=m(a)?a.split(""):a,f=0;f<c;f++)f in e&&(d[f]=b.call(void 0,e[f],f,a));return d}
function s(a,b,c){if(a.reduce)return a.reduce(b,c);var d=c;q(a,function(c,f){d=b.call(void 0,d,c,f,a)});return d}function na(a,b){for(var c=a.length,d=m(a)?a.split(""):a,e=0;e<c;e++)if(e in d&&b.call(void 0,d[e],e,a))return!0;return!1}function oa(a,b){var c;a:{c=a.length;for(var d=m(a)?a.split(""):a,e=0;e<c;e++)if(e in d&&b.call(void 0,d[e],e,a)){c=e;break a}c=-1}return 0>c?null:m(a)?a.charAt(c):a[c]}function pa(a){return ja.concat.apply(ja,arguments)}
function qa(a,b,c){return 2>=arguments.length?ja.slice.call(a,b):ja.slice.call(a,b,c)};function t(a,b){this.code=a;this.state=ra[a]||sa;this.message=b||"";var c=this.state.replace(/((?:^|\s+)[a-z])/g,function(a){return a.toUpperCase().replace(/^[\s\xa0]+/g,"")}),d=c.length-5;if(0>d||c.indexOf("Error",d)!=d)c+="Error";this.name=c;c=Error(this.message);c.name=this.name;this.stack=c.stack||""}p(t,Error);
var sa="unknown error",ra={15:"element not selectable",11:"element not visible",31:"ime engine activation failed",30:"ime not available",24:"invalid cookie domain",29:"invalid element coordinates",12:"invalid element state",32:"invalid selector",51:"invalid selector",52:"invalid selector",17:"javascript error",405:"unsupported operation",34:"move target out of bounds",27:"no such alert",7:"no such element",8:"no such frame",23:"no such window",28:"script timeout",33:"session not created",10:"stale element reference",
0:"success",21:"timeout",25:"unable to set cookie",26:"unexpected alert open"};ra[13]=sa;ra[9]="unknown command";t.prototype.toString=function(){return this.name+": "+this.message};var ta,Aa,Ba,Ca,Da,Ea;function Fa(){return l.navigator?l.navigator.userAgent:null}Ca=Ba=Aa=ta=!1;var Ga;if(Ga=Fa()){var Ha=l.navigator;ta=0==Ga.indexOf("Opera");Aa=!ta&&-1!=Ga.indexOf("MSIE");Ba=!ta&&-1!=Ga.indexOf("WebKit");Ca=!ta&&!Ba&&"Gecko"==Ha.product}var u=ta,w=Aa,y=Ca,Ia=Ba,Ja,Ka=l.navigator;Ja=Ka&&Ka.platform||"";Da=-1!=Ja.indexOf("Mac");Ea=-1!=Ja.indexOf("Win");var La=-1!=Ja.indexOf("Linux");function Ma(){var a=l.document;return a?a.documentMode:void 0}var Na;
a:{var Oa="",Pa;if(u&&l.opera)var Qa=l.opera.version,Oa="function"==typeof Qa?Qa():Qa;else if(y?Pa=/rv\:([^\);]+)(\)|;)/:w?Pa=/MSIE\s+([^\);]+)(\)|;)/:Ia&&(Pa=/WebKit\/(\S+)/),Pa)var Ra=Pa.exec(Fa()),Oa=Ra?Ra[1]:"";if(w){var Sa=Ma();if(Sa>parseFloat(Oa)){Na=String(Sa);break a}}Na=Oa}var Ta={};function Ua(a){return Ta[a]||(Ta[a]=0<=ia(Na,a))}var Va=l.document,Wa=Va&&w?Ma()||("CSS1Compat"==Va.compatMode?parseInt(Na,10):5):void 0;!y&&!w||w&&w&&9<=Wa||y&&Ua("1.9.1");w&&Ua("9");function Xa(a,b){this.width=a;this.height=b}Xa.prototype.toString=function(){return"("+this.width+" x "+this.height+")"};Xa.prototype.ceil=function(){this.width=Math.ceil(this.width);this.height=Math.ceil(this.height);return this};Xa.prototype.floor=function(){this.width=Math.floor(this.width);this.height=Math.floor(this.height);return this};Xa.prototype.round=function(){this.width=Math.round(this.width);this.height=Math.round(this.height);return this};function Ya(a,b){var c={},d;for(d in a)b.call(void 0,a[d],d,a)&&(c[d]=a[d]);return c}function Za(a,b){var c={},d;for(d in a)c[d]=b.call(void 0,a[d],d,a);return c}function $a(a,b){for(var c in a)if(b.call(void 0,a[c],c,a))return c};function ab(a){a=a.document;a="CSS1Compat"==a.compatMode?a.documentElement:a.body;return new Xa(a.clientWidth,a.clientHeight)}function bb(a,b){if(a.contains&&1==b.nodeType)return a==b||a.contains(b);if("undefined"!=typeof a.compareDocumentPosition)return a==b||Boolean(a.compareDocumentPosition(b)&16);for(;b&&a!=b;)b=b.parentNode;return b==a}
function cb(a,b){if(a==b)return 0;if(a.compareDocumentPosition)return a.compareDocumentPosition(b)&2?1:-1;if(w&&!(w&&9<=Wa)){if(9==a.nodeType)return-1;if(9==b.nodeType)return 1}if("sourceIndex"in a||a.parentNode&&"sourceIndex"in a.parentNode){var c=1==a.nodeType,d=1==b.nodeType;if(c&&d)return a.sourceIndex-b.sourceIndex;var e=a.parentNode,f=b.parentNode;return e==f?db(a,b):!c&&bb(e,b)?-1*eb(a,b):!d&&bb(f,a)?eb(b,a):(c?a.sourceIndex:e.sourceIndex)-(d?b.sourceIndex:f.sourceIndex)}d=z(a);c=d.createRange();
c.selectNode(a);c.collapse(!0);d=d.createRange();d.selectNode(b);d.collapse(!0);return c.compareBoundaryPoints(l.Range.START_TO_END,d)}function eb(a,b){var c=a.parentNode;if(c==b)return-1;for(var d=b;d.parentNode!=c;)d=d.parentNode;return db(d,a)}function db(a,b){for(var c=b;c=c.previousSibling;)if(c==a)return-1;return 1}function z(a){return 9==a.nodeType?a:a.ownerDocument||a.document};var fb,gb,hb,ib,jb,kb,lb;lb=kb=jb=ib=hb=gb=fb=!1;var A=Fa();A&&(-1!=A.indexOf("Firefox")?fb=!0:-1!=A.indexOf("Camino")?gb=!0:-1!=A.indexOf("iPhone")||-1!=A.indexOf("iPod")?hb=!0:-1!=A.indexOf("iPad")?ib=!0:-1!=A.indexOf("Android")?jb=!0:-1!=A.indexOf("Chrome")?kb=!0:-1!=A.indexOf("Safari")&&(lb=!0));var mb=fb,nb=gb,ob=hb,pb=ib,B=jb,qb=kb,rb=lb;function sb(a,b,c){this.e=a;this.oa=b||1;this.m=c||1};var C=w&&!(w&&9<=Wa),tb=w&&!(w&&8<=Wa);function ub(a,b,c,d,e){this.e=a;this.nodeName=c;this.nodeValue=d;this.nodeType=2;this.ownerElement=b;this.ta=e;this.parentNode=b}function vb(a,b,c){var d=tb&&"href"==b.nodeName?a.getAttribute(b.nodeName,2):b.nodeValue;return new ub(b,a,b.nodeName,d,c)};function wb(a){this.S=a;this.G=0}function xb(a){a=a.match(yb);for(var b=0;b<a.length;b++)zb.test(a[b])&&a.splice(b,1);return new wb(a)}var yb=RegExp("\\$?(?:(?![0-9-])[\\w-]+:)?(?![0-9-])[\\w-]+|\\/\\/|\\.\\.|::|\\d+(?:\\.\\d*)?|\\.\\d+|\"[^\"]*\"|'[^']*'|[!<>]=|\\s+|.","g"),zb=/^\s/;function D(a,b){return a.S[a.G+(b||0)]}wb.prototype.next=function(){return this.S[this.G++]};wb.prototype.back=function(){this.G--};wb.prototype.empty=function(){return this.S.length<=this.G};function E(a){var b=null,c=a.nodeType;1==c&&(b=a.textContent,b=void 0==b||null==b?a.innerText:b,b=void 0==b||null==b?"":b);if("string"!=typeof b)if(C&&"title"==a.nodeName.toLowerCase()&&1==c)b=a.text;else if(9==c||1==c){a=9==c?a.documentElement:a.firstChild;for(var c=0,d=[],b="";a;){do 1!=a.nodeType&&(b+=a.nodeValue),C&&"title"==a.nodeName.toLowerCase()&&(b+=a.text),d[c++]=a;while(a=a.firstChild);for(;c&&!(a=d[--c].nextSibling););}}else b=a.nodeValue;return""+b}
function F(a,b,c){if(null===b)return!0;try{if(!a.getAttribute)return!1}catch(d){return!1}tb&&"class"==b&&(b="className");return null==c?!!a.getAttribute(b):a.getAttribute(b,2)==c}function Ab(a,b,c,d,e){return(C?Bb:Cb).call(null,a,b,m(c)?c:null,m(d)?d:null,e||new G)}
function Bb(a,b,c,d,e){if(a instanceof H||8==a.l||c&&null===a.l){var f=b.all;if(!f)return e;a=Db(a);if("*"!=a&&(f=b.getElementsByTagName(a),!f))return e;if(c){for(var h=[],n=0;b=f[n++];)F(b,c,d)&&h.push(b);f=h}for(n=0;b=f[n++];)"*"==a&&"!"==b.tagName||e.add(b);return e}Eb(a,b,c,d,e);return e}
function Cb(a,b,c,d,e){b.getElementsByName&&d&&"name"==c&&!w?(b=b.getElementsByName(d),q(b,function(b){a.matches(b)&&e.add(b)})):b.getElementsByClassName&&d&&"class"==c?(b=b.getElementsByClassName(d),q(b,function(b){b.className==d&&a.matches(b)&&e.add(b)})):a instanceof I?Eb(a,b,c,d,e):b.getElementsByTagName&&(b=b.getElementsByTagName(a.getName()),q(b,function(a){F(a,c,d)&&e.add(a)}));return e}
function Fb(a,b,c,d,e){var f;if((a instanceof H||8==a.l||c&&null===a.l)&&(f=b.childNodes)){var h=Db(a);if("*"!=h&&(f=la(f,function(a){return a.tagName&&a.tagName.toLowerCase()==h}),!f))return e;c&&(f=la(f,function(a){return F(a,c,d)}));q(f,function(a){"*"==h&&("!"==a.tagName||"*"==h&&1!=a.nodeType)||e.add(a)});return e}return Gb(a,b,c,d,e)}function Gb(a,b,c,d,e){for(b=b.firstChild;b;b=b.nextSibling)F(b,c,d)&&a.matches(b)&&e.add(b);return e}
function Eb(a,b,c,d,e){for(b=b.firstChild;b;b=b.nextSibling)F(b,c,d)&&a.matches(b)&&e.add(b),Eb(a,b,c,d,e)}function Db(a){if(a instanceof I){if(8==a.l)return"!";if(null===a.l)return"*"}return a.getName()};function G(){this.m=this.i=null;this.B=0}function Hb(a){this.p=a;this.next=this.u=null}function Ib(a,b){if(!a.i)return b;if(!b.i)return a;for(var c=a.i,d=b.i,e=null,f=null,h=0;c&&d;)c.p==d.p||c.p instanceof ub&&d.p instanceof ub&&c.p.e==d.p.e?(f=c,c=c.next,d=d.next):0<cb(c.p,d.p)?(f=d,d=d.next):(f=c,c=c.next),(f.u=e)?e.next=f:a.i=f,e=f,h++;for(f=c||d;f;)f.u=e,e=e.next=f,h++,f=f.next;a.m=e;a.B=h;return a}
G.prototype.unshift=function(a){a=new Hb(a);a.next=this.i;this.m?this.i.u=a:this.i=this.m=a;this.i=a;this.B++};G.prototype.add=function(a){a=new Hb(a);a.u=this.m;this.i?this.m.next=a:this.i=this.m=a;this.m=a;this.B++};function Jb(a){return(a=a.i)?a.p:null}G.prototype.o=g("B");function Kb(a){return(a=Jb(a))?E(a):""}function J(a,b){return new Lb(a,!!b)}function Lb(a,b){this.ka=a;this.T=(this.v=b)?a.m:a.i;this.N=null}
Lb.prototype.next=function(){var a=this.T;if(null==a)return null;var b=this.N=a;this.T=this.v?a.u:a.next;return b.p};Lb.prototype.remove=function(){var a=this.ka,b=this.N;if(!b)throw Error("Next must be called at least once before remove.");var c=b.u,b=b.next;c?c.next=b:a.i=b;b?b.u=c:a.m=c;a.B--;this.N=null};function K(a){this.h=a;this.j=this.q=!1;this.C=null}function M(a){return"\n "+a.toString().split("\n").join("\n ")}K.prototype.f=g("q");function Mb(a,b){a.q=b}function Nb(a,b){a.j=b}K.prototype.s=g("C");function N(a,b){var c=a.evaluate(b);return c instanceof G?+Kb(c):+c}function O(a,b){var c=a.evaluate(b);return c instanceof G?Kb(c):""+c}function Ob(a,b){var c=a.evaluate(b);return c instanceof G?!!c.o():!!c};function Pb(a,b,c){K.call(this,a.h);this.R=a;this.W=b;this.aa=c;this.q=b.f()||c.f();this.j=b.j||c.j;this.R==Qb&&(c.j||c.f()||4==c.h||0==c.h||!b.s()?b.j||(b.f()||4==b.h||0==b.h||!c.s())||(this.C={name:c.s().name,w:b}):this.C={name:b.s().name,w:c})}p(Pb,K);
function Rb(a,b,c,d,e){b=b.evaluate(d);c=c.evaluate(d);var f;if(b instanceof G&&c instanceof G){e=J(b);for(d=e.next();d;d=e.next())for(b=J(c),f=b.next();f;f=b.next())if(a(E(d),E(f)))return!0;return!1}if(b instanceof G||c instanceof G){b instanceof G?e=b:(e=c,c=b);e=J(e);b=typeof c;for(d=e.next();d;d=e.next()){switch(b){case "number":d=+E(d);break;case "boolean":d=!!E(d);break;case "string":d=E(d);break;default:throw Error("Illegal primitive type for comparison.");}if(a(d,c))return!0}return!1}return e?
"boolean"==typeof b||"boolean"==typeof c?a(!!b,!!c):"number"==typeof b||"number"==typeof c?a(+b,+c):a(b,c):a(+b,+c)}Pb.prototype.evaluate=function(a){return this.R.n(this.W,this.aa,a)};Pb.prototype.toString=function(){var a="Binary Expression: "+this.R,a=a+M(this.W);return a+=M(this.aa)};function Sb(a,b,c,d){this.na=a;this.Z=b;this.h=c;this.n=d}Sb.prototype.toString=g("na");var Tb={};
function P(a,b,c,d){if(Tb.hasOwnProperty(a))throw Error("Binary operator already created: "+a);a=new Sb(a,b,c,d);return Tb[a.toString()]=a}P("div",6,1,function(a,b,c){return N(a,c)/N(b,c)});P("mod",6,1,function(a,b,c){return N(a,c)%N(b,c)});P("*",6,1,function(a,b,c){return N(a,c)*N(b,c)});P("+",5,1,function(a,b,c){return N(a,c)+N(b,c)});P("-",5,1,function(a,b,c){return N(a,c)-N(b,c)});P("<",4,2,function(a,b,c){return Rb(function(a,b){return a<b},a,b,c)});
P(">",4,2,function(a,b,c){return Rb(function(a,b){return a>b},a,b,c)});P("<=",4,2,function(a,b,c){return Rb(function(a,b){return a<=b},a,b,c)});P(">=",4,2,function(a,b,c){return Rb(function(a,b){return a>=b},a,b,c)});var Qb=P("=",3,2,function(a,b,c){return Rb(function(a,b){return a==b},a,b,c,!0)});P("!=",3,2,function(a,b,c){return Rb(function(a,b){return a!=b},a,b,c,!0)});P("and",2,2,function(a,b,c){return Ob(a,c)&&Ob(b,c)});P("or",1,2,function(a,b,c){return Ob(a,c)||Ob(b,c)});function Ub(a,b){if(b.o()&&4!=a.h)throw Error("Primary expression must evaluate to nodeset if filter has predicate(s).");K.call(this,a.h);this.$=a;this.d=b;this.q=a.f();this.j=a.j}p(Ub,K);Ub.prototype.evaluate=function(a){a=this.$.evaluate(a);return Vb(this.d,a)};Ub.prototype.toString=function(){var a;a="Filter:"+M(this.$);return a+=M(this.d)};function Wb(a,b){if(b.length<a.Y)throw Error("Function "+a.k+" expects at least"+a.Y+" arguments, "+b.length+" given");if(null!==a.O&&b.length>a.O)throw Error("Function "+a.k+" expects at most "+a.O+" arguments, "+b.length+" given");a.la&&q(b,function(b,d){if(4!=b.h)throw Error("Argument "+d+" to function "+a.k+" is not of type Nodeset: "+b);});K.call(this,a.h);this.F=a;this.K=b;Mb(this,a.q||na(b,function(a){return a.f()}));Nb(this,a.ja&&!b.length||a.ia&&!!b.length||na(b,function(a){return a.j}))}
p(Wb,K);Wb.prototype.evaluate=function(a){return this.F.n.apply(null,pa(a,this.K))};Wb.prototype.toString=function(){var a="Function: "+this.F;if(this.K.length)var b=s(this.K,function(a,b){return a+M(b)},"Arguments:"),a=a+M(b);return a};function Xb(a,b,c,d,e,f,h,n,x){this.k=a;this.h=b;this.q=c;this.ja=d;this.ia=e;this.n=f;this.Y=h;this.O=void 0!==n?n:h;this.la=!!x}Xb.prototype.toString=g("k");var Yb={};
function Q(a,b,c,d,e,f,h,n){if(Yb.hasOwnProperty(a))throw Error("Function already created: "+a+".");Yb[a]=new Xb(a,b,c,d,!1,e,f,h,n)}Q("boolean",2,!1,!1,function(a,b){return Ob(b,a)},1);Q("ceiling",1,!1,!1,function(a,b){return Math.ceil(N(b,a))},1);Q("concat",3,!1,!1,function(a,b){var c=qa(arguments,1);return s(c,function(b,c){return b+O(c,a)},"")},2,null);Q("contains",2,!1,!1,function(a,b,c){b=O(b,a);a=O(c,a);return-1!=b.indexOf(a)},2);
Q("count",1,!1,!1,function(a,b){return b.evaluate(a).o()},1,1,!0);Q("false",2,!1,!1,k(!1),0);Q("floor",1,!1,!1,function(a,b){return Math.floor(N(b,a))},1);
Q("id",4,!1,!1,function(a,b){function c(a){if(C){var b=e.all[a];if(b){if(b.nodeType&&a==b.id)return b;if(b.length)return oa(b,function(b){return a==b.id})}return null}return e.getElementById(a)}var d=a.e,e=9==d.nodeType?d:d.ownerDocument,d=O(b,a).split(/\s+/),f=[];q(d,function(a){a=c(a);var b;if(!(b=!a)){a:if(m(f))b=m(a)&&1==a.length?f.indexOf(a,0):-1;else{for(b=0;b<f.length;b++)if(b in f&&f[b]===a)break a;b=-1}b=0<=b}b||f.push(a)});f.sort(cb);var h=new G;q(f,function(a){h.add(a)});return h},1);
Q("lang",2,!1,!1,k(!1),1);Q("last",1,!0,!1,function(a){if(1!=arguments.length)throw Error("Function last expects ()");return a.m},0);Q("local-name",3,!1,!0,function(a,b){var c=b?Jb(b.evaluate(a)):a.e;return c?c.nodeName.toLowerCase():""},0,1,!0);Q("name",3,!1,!0,function(a,b){var c=b?Jb(b.evaluate(a)):a.e;return c?c.nodeName.toLowerCase():""},0,1,!0);Q("namespace-uri",3,!0,!1,k(""),0,1,!0);
Q("normalize-space",3,!1,!0,function(a,b){return(b?O(b,a):E(a.e)).replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,"")},0,1);Q("not",2,!1,!1,function(a,b){return!Ob(b,a)},1);Q("number",1,!1,!0,function(a,b){return b?N(b,a):+E(a.e)},0,1);Q("position",1,!0,!1,function(a){return a.oa},0);Q("round",1,!1,!1,function(a,b){return Math.round(N(b,a))},1);Q("starts-with",2,!1,!1,function(a,b,c){b=O(b,a);a=O(c,a);return 0==b.lastIndexOf(a,0)},2);Q("string",3,!1,!0,function(a,b){return b?O(b,a):E(a.e)},0,1);
Q("string-length",1,!1,!0,function(a,b){return(b?O(b,a):E(a.e)).length},0,1);Q("substring",3,!1,!1,function(a,b,c,d){c=N(c,a);if(isNaN(c)||Infinity==c||-Infinity==c)return"";d=d?N(d,a):Infinity;if(isNaN(d)||-Infinity===d)return"";c=Math.round(c)-1;var e=Math.max(c,0);a=O(b,a);if(Infinity==d)return a.substring(e);b=Math.round(d);return a.substring(e,c+b)},2,3);Q("substring-after",3,!1,!1,function(a,b,c){b=O(b,a);a=O(c,a);c=b.indexOf(a);return-1==c?"":b.substring(c+a.length)},2);
Q("substring-before",3,!1,!1,function(a,b,c){b=O(b,a);a=O(c,a);a=b.indexOf(a);return-1==a?"":b.substring(0,a)},2);Q("sum",1,!1,!1,function(a,b){for(var c=J(b.evaluate(a)),d=0,e=c.next();e;e=c.next())d+=+E(e);return d},1,1,!0);Q("translate",3,!1,!1,function(a,b,c,d){b=O(b,a);c=O(c,a);var e=O(d,a);a=[];for(d=0;d<c.length;d++){var f=c.charAt(d);f in a||(a[f]=e.charAt(d))}c="";for(d=0;d<b.length;d++)f=b.charAt(d),c+=f in a?a[f]:f;return c},3);Q("true",2,!1,!1,k(!0),0);function I(a,b){this.ca=a;this.X=void 0!==b?b:null;this.l=null;switch(a){case "comment":this.l=8;break;case "text":this.l=3;break;case "processing-instruction":this.l=7;break;case "node":break;default:throw Error("Unexpected argument");}}function Zb(a){return"comment"==a||"text"==a||"processing-instruction"==a||"node"==a}I.prototype.matches=function(a){return null===this.l||this.l==a.nodeType};I.prototype.getName=g("ca");
I.prototype.toString=function(){var a="Kind Test: "+this.ca;null===this.X||(a+=M(this.X));return a};function $b(a){K.call(this,3);this.ba=a.substring(1,a.length-1)}p($b,K);$b.prototype.evaluate=g("ba");$b.prototype.toString=function(){return"Literal: "+this.ba};function H(a,b){this.k=a.toLowerCase();this.P=b?b.toLowerCase():"http://www.w3.org/1999/xhtml"}H.prototype.matches=function(a){var b=a.nodeType;return 1!=b&&2!=b?!1:"*"!=this.k&&this.k!=a.nodeName.toLowerCase()?!1:this.P==(a.namespaceURI?a.namespaceURI.toLowerCase():"http://www.w3.org/1999/xhtml")};H.prototype.getName=g("k");H.prototype.toString=function(){return"Name Test: "+("http://www.w3.org/1999/xhtml"==this.P?"":this.P+":")+this.k};function ac(a){K.call(this,1);this.da=a}p(ac,K);ac.prototype.evaluate=g("da");ac.prototype.toString=function(){return"Number: "+this.da};function bc(a,b){K.call(this,a.h);this.V=a;this.D=b;this.q=a.f();this.j=a.j;if(1==this.D.length){var c=this.D[0];c.M||c.r!=cc||(c=c.J,"*"!=c.getName()&&(this.C={name:c.getName(),w:null}))}}p(bc,K);function dc(){K.call(this,4)}p(dc,K);dc.prototype.evaluate=function(a){var b=new G;a=a.e;9==a.nodeType?b.add(a):b.add(a.ownerDocument);return b};dc.prototype.toString=k("Root Helper Expression");function ec(){K.call(this,4)}p(ec,K);ec.prototype.evaluate=function(a){var b=new G;b.add(a.e);return b};
ec.prototype.toString=k("Context Helper Expression");
bc.prototype.evaluate=function(a){var b=this.V.evaluate(a);if(!(b instanceof G))throw Error("Filter expression must evaluate to nodeset.");a=this.D;for(var c=0,d=a.length;c<d&&b.o();c++){var e=a[c],f=J(b,e.r.v),h;if(e.f()||e.r!=fc)if(e.f()||e.r!=gc)for(h=f.next(),b=e.evaluate(new sb(h));null!=(h=f.next());)h=e.evaluate(new sb(h)),b=Ib(b,h);else h=f.next(),b=e.evaluate(new sb(h));else{for(h=f.next();(b=f.next())&&(!h.contains||h.contains(b))&&b.compareDocumentPosition(h)&8;h=b);b=e.evaluate(new sb(h))}}return b};
bc.prototype.toString=function(){var a;a="Path Expression:"+M(this.V);if(this.D.length){var b=s(this.D,function(a,b){return a+M(b)},"Steps:");a+=M(b)}return a};function R(a,b){this.d=a;this.v=!!b}function Vb(a,b,c){for(c=c||0;c<a.d.length;c++)for(var d=a.d[c],e=J(b),f=b.o(),h,n=0;h=e.next();n++){var x=a.v?f-n:n+1;h=d.evaluate(new sb(h,x,f));if("number"==typeof h)x=x==h;else if("string"==typeof h||"boolean"==typeof h)x=!!h;else if(h instanceof G)x=0<h.o();else throw Error("Predicate.evaluate returned an unexpected type.");x||e.remove()}return b}R.prototype.s=function(){return 0<this.d.length?this.d[0].s():null};
R.prototype.f=function(){for(var a=0;a<this.d.length;a++){var b=this.d[a];if(b.f()||1==b.h||0==b.h)return!0}return!1};R.prototype.o=function(){return this.d.length};R.prototype.toString=function(){return s(this.d,function(a,b){return a+M(b)},"Predicates:")};function S(a,b,c,d){K.call(this,4);this.r=a;this.J=b;this.d=c||new R([]);this.M=!!d;b=this.d.s();a.qa&&b&&(a=b.name,a=C?a.toLowerCase():a,this.C={name:a,w:b.w});this.q=this.d.f()}p(S,K);
S.prototype.evaluate=function(a){var b=a.e,c=null,c=this.s(),d=null,e=null,f=0;c&&(d=c.name,e=c.w?O(c.w,a):null,f=1);if(this.M)if(this.f()||this.r!=hc)if(a=J((new S(ic,new I("node"))).evaluate(a)),b=a.next())for(c=this.n(b,d,e,f);null!=(b=a.next());)c=Ib(c,this.n(b,d,e,f));else c=new G;else c=Ab(this.J,b,d,e),c=Vb(this.d,c,f);else c=this.n(a.e,d,e,f);return c};S.prototype.n=function(a,b,c,d){a=this.r.F(this.J,a,b,c);return a=Vb(this.d,a,d)};
S.prototype.toString=function(){var a;a="Step:"+M("Operator: "+(this.M?"//":"/"));this.r.k&&(a+=M("Axis: "+this.r));a+=M(this.J);if(this.d.o()){var b=s(this.d.d,function(a,b){return a+M(b)},"Predicates:");a+=M(b)}return a};function jc(a,b,c,d){this.k=a;this.F=b;this.v=c;this.qa=d}jc.prototype.toString=g("k");var kc={};function T(a,b,c,d){if(kc.hasOwnProperty(a))throw Error("Axis already created: "+a);b=new jc(a,b,c,!!d);return kc[a]=b}
T("ancestor",function(a,b){for(var c=new G,d=b;d=d.parentNode;)a.matches(d)&&c.unshift(d);return c},!0);T("ancestor-or-self",function(a,b){var c=new G,d=b;do a.matches(d)&&c.unshift(d);while(d=d.parentNode);return c},!0);
var cc=T("attribute",function(a,b){var c=new G,d=a.getName();if("style"==d&&b.style&&C)return c.add(new ub(b.style,b,"style",b.style.cssText,b.sourceIndex)),c;var e=b.attributes;if(e)if(a instanceof I&&null===a.l||"*"==d)for(var d=b.sourceIndex,f=0,h;h=e[f];f++)C?h.nodeValue&&c.add(vb(b,h,d)):c.add(h);else(h=e.getNamedItem(d))&&(C?h.nodeValue&&c.add(vb(b,h,b.sourceIndex)):c.add(h));return c},!1),hc=T("child",function(a,b,c,d,e){return(C?Fb:Gb).call(null,a,b,m(c)?c:null,m(d)?d:null,e||new G)},!1,!0);
T("descendant",Ab,!1,!0);var ic=T("descendant-or-self",function(a,b,c,d){var e=new G;F(b,c,d)&&a.matches(b)&&e.add(b);return Ab(a,b,c,d,e)},!1,!0),fc=T("following",function(a,b,c,d){var e=new G;do for(var f=b;f=f.nextSibling;)F(f,c,d)&&a.matches(f)&&e.add(f),e=Ab(a,f,c,d,e);while(b=b.parentNode);return e},!1,!0);T("following-sibling",function(a,b){for(var c=new G,d=b;d=d.nextSibling;)a.matches(d)&&c.add(d);return c},!1);T("namespace",function(){return new G},!1);
var lc=T("parent",function(a,b){var c=new G;if(9==b.nodeType)return c;if(2==b.nodeType)return c.add(b.ownerElement),c;var d=b.parentNode;a.matches(d)&&c.add(d);return c},!1),gc=T("preceding",function(a,b,c,d){var e=new G,f=[];do f.unshift(b);while(b=b.parentNode);for(var h=1,n=f.length;h<n;h++){var x=[];for(b=f[h];b=b.previousSibling;)x.unshift(b);for(var ka=0,L=x.length;ka<L;ka++)b=x[ka],F(b,c,d)&&a.matches(b)&&e.add(b),e=Ab(a,b,c,d,e)}return e},!0,!0);
T("preceding-sibling",function(a,b){for(var c=new G,d=b;d=d.previousSibling;)a.matches(d)&&c.unshift(d);return c},!0);var mc=T("self",function(a,b){var c=new G;a.matches(b)&&c.add(b);return c},!1);function nc(a){K.call(this,1);this.U=a;this.q=a.f();this.j=a.j}p(nc,K);nc.prototype.evaluate=function(a){return-N(this.U,a)};nc.prototype.toString=function(){return"Unary Expression: -"+M(this.U)};function oc(a){K.call(this,4);this.H=a;Mb(this,na(this.H,function(a){return a.f()}));Nb(this,na(this.H,function(a){return a.j}))}p(oc,K);oc.prototype.evaluate=function(a){var b=new G;q(this.H,function(c){c=c.evaluate(a);if(!(c instanceof G))throw Error("Path expression must evaluate to NodeSet.");b=Ib(b,c)});return b};oc.prototype.toString=function(){return s(this.H,function(a,b){return a+M(b)},"Union Expression:")};function pc(a,b){this.a=a;this.ma=b}function qc(a){for(var b,c=[];;){U(a,"Missing right hand side of binary expression.");b=rc(a);var d=a.a.next();if(!d)break;var e=(d=Tb[d]||null)&&d.Z;if(!e){a.a.back();break}for(;c.length&&e<=c[c.length-1].Z;)b=new Pb(c.pop(),c.pop(),b);c.push(b,d)}for(;c.length;)b=new Pb(c.pop(),c.pop(),b);return b}function U(a,b){if(a.a.empty())throw Error(b);}function sc(a,b){var c=a.a.next();if(c!=b)throw Error("Bad token, expected: "+b+" got: "+c);}
function tc(a){a=a.a.next();if(")"!=a)throw Error("Bad token: "+a);}function uc(a){a=a.a.next();if(2>a.length)throw Error("Unclosed literal string");return new $b(a)}function vc(a){var b=a.a.next(),c=b.indexOf(":");if(-1==c)return new H(b);var d=b.substring(0,c);a=a.ma(d);if(!a)throw Error("Namespace prefix not declared: "+d);b=b.substr(c+1);return new H(b,a)}
function wc(a){var b,c=[],d;if("/"==D(a.a)||"//"==D(a.a)){b=a.a.next();d=D(a.a);if("/"==b&&(a.a.empty()||"."!=d&&".."!=d&&"@"!=d&&"*"!=d&&!/(?![0-9])[\w]/.test(d)))return new dc;d=new dc;U(a,"Missing next location step.");b=xc(a,b);c.push(b)}else{a:{b=D(a.a);d=b.charAt(0);switch(d){case "$":throw Error("Variable reference not allowed in HTML XPath");case "(":a.a.next();b=qc(a);U(a,'unclosed "("');sc(a,")");break;case '"':case "'":b=uc(a);break;default:if(isNaN(+b))if(!Zb(b)&&/(?![0-9])[\w]/.test(d)&&
"("==D(a.a,1)){b=a.a.next();b=Yb[b]||null;a.a.next();for(d=[];")"!=D(a.a);){U(a,"Missing function argument list.");d.push(qc(a));if(","!=D(a.a))break;a.a.next()}U(a,"Unclosed function argument list.");tc(a);b=new Wb(b,d)}else{b=null;break a}else b=new ac(+a.a.next())}"["==D(a.a)&&(d=new R(yc(a)),b=new Ub(b,d))}if(b)if("/"==D(a.a)||"//"==D(a.a))d=b;else return b;else b=xc(a,"/"),d=new ec,c.push(b)}for(;"/"==D(a.a)||"//"==D(a.a);)b=a.a.next(),U(a,"Missing next location step."),b=xc(a,b),c.push(b);return new bc(d,
c)}
function xc(a,b){var c,d,e;if("/"!=b&&"//"!=b)throw Error('Step op should be "/" or "//"');if("."==D(a.a))return d=new S(mc,new I("node")),a.a.next(),d;if(".."==D(a.a))return d=new S(lc,new I("node")),a.a.next(),d;var f;if("@"==D(a.a))f=cc,a.a.next(),U(a,"Missing attribute name");else if("::"==D(a.a,1)){if(!/(?![0-9])[\w]/.test(D(a.a).charAt(0)))throw Error("Bad token: "+a.a.next());c=a.a.next();f=kc[c]||null;if(!f)throw Error("No axis with name: "+c);a.a.next();U(a,"Missing node name")}else f=hc;
c=D(a.a);if(/(?![0-9])[\w]/.test(c.charAt(0)))if("("==D(a.a,1)){if(!Zb(c))throw Error("Invalid node type: "+c);c=a.a.next();if(!Zb(c))throw Error("Invalid type name: "+c);sc(a,"(");U(a,"Bad nodetype");e=D(a.a).charAt(0);var h=null;if('"'==e||"'"==e)h=uc(a);U(a,"Bad nodetype");tc(a);c=new I(c,h)}else c=vc(a);else if("*"==c)c=vc(a);else throw Error("Bad token: "+a.a.next());e=new R(yc(a),f.v);return d||new S(f,c,e,"//"==b)}
function yc(a){for(var b=[];"["==D(a.a);){a.a.next();U(a,"Missing predicate expression.");var c=qc(a);b.push(c);U(a,"Unclosed predicate expression.");sc(a,"]")}return b}function rc(a){if("-"==D(a.a))return a.a.next(),new nc(rc(a));var b=wc(a);if("|"!=D(a.a))a=b;else{for(b=[b];"|"==a.a.next();)U(a,"Missing next union location path."),b.push(wc(a));a.a.back();a=new oc(b)}return a};function zc(a){switch(a.nodeType){case 1:return ga(Ac,a);case 9:return zc(a.documentElement);case 2:return a.ownerElement?zc(a.ownerElement):Bc;case 11:case 10:case 6:case 12:return Bc;default:return a.parentNode?zc(a.parentNode):Bc}}function Bc(){return null}function Ac(a,b){if(a.prefix==b)return a.namespaceURI||"http://www.w3.org/1999/xhtml";var c=a.getAttributeNode("xmlns:"+b);return c&&c.specified?c.value||null:a.parentNode&&9!=a.parentNode.nodeType?Ac(a.parentNode,b):null};function Cc(a,b){if(!a.length)throw Error("Empty XPath expression.");var c=xb(a);if(c.empty())throw Error("Invalid XPath expression.");b?"function"==aa(b)||(b=fa(b.lookupNamespaceURI,b)):b=k(null);var d=qc(new pc(c,b));if(!c.empty())throw Error("Bad token: "+c.next());this.evaluate=function(a,b){var c=d.evaluate(new sb(a));return new V(c,b)}}
function V(a,b){if(0==b)if(a instanceof G)b=4;else if("string"==typeof a)b=2;else if("number"==typeof a)b=1;else if("boolean"==typeof a)b=3;else throw Error("Unexpected evaluation result.");if(2!=b&&1!=b&&3!=b&&!(a instanceof G))throw Error("value could not be converted to the specified type");this.resultType=b;var c;switch(b){case 2:this.stringValue=a instanceof G?Kb(a):""+a;break;case 1:this.numberValue=a instanceof G?+Kb(a):+a;break;case 3:this.booleanValue=a instanceof G?0<a.o():!!a;break;case 4:case 5:case 6:case 7:var d=
J(a);c=[];for(var e=d.next();e;e=d.next())c.push(e instanceof ub?e.e:e);this.snapshotLength=a.o();this.invalidIteratorState=!1;break;case 8:case 9:d=Jb(a);this.singleNodeValue=d instanceof ub?d.e:d;break;default:throw Error("Unknown XPathResult type.");}var f=0;this.iterateNext=function(){if(4!=b&&5!=b)throw Error("iterateNext called with wrong result type");return f>=c.length?null:c[f++]};this.snapshotItem=function(a){if(6!=b&&7!=b)throw Error("snapshotItem called with wrong result type");return a>=
c.length||0>a?null:c[a]}}V.ANY_TYPE=0;V.NUMBER_TYPE=1;V.STRING_TYPE=2;V.BOOLEAN_TYPE=3;V.UNORDERED_NODE_ITERATOR_TYPE=4;V.ORDERED_NODE_ITERATOR_TYPE=5;V.UNORDERED_NODE_SNAPSHOT_TYPE=6;V.ORDERED_NODE_SNAPSHOT_TYPE=7;V.ANY_UNORDERED_NODE_TYPE=8;V.FIRST_ORDERED_NODE_TYPE=9;function Dc(a){this.lookupNamespaceURI=zc(a)}
function Ec(a){a=a||l;var b=a.document;b.evaluate||(a.XPathResult=V,b.evaluate=function(a,b,e,f){return(new Cc(a,e)).evaluate(b,f)},b.createExpression=function(a,b){return new Cc(a,b)},b.createNSResolver=function(a){return new Dc(a)})};var W={};W.fa=function(){var a={wa:"http://www.w3.org/2000/svg"};return function(b){return a[b]||null}}();W.n=function(a,b,c){var d=z(a);(w||B)&&Ec(d?d.parentWindow||d.defaultView:window);try{var e=d.createNSResolver?d.createNSResolver(d.documentElement):W.fa;return w&&!Ua(7)?d.evaluate.call(d,b,a,e,c,null):d.evaluate(b,a,e,c,null)}catch(f){if(!y||"NS_ERROR_ILLEGAL_VALUE"!=f.name)throw new t(32,"Unable to locate an element with the xpath expression "+b+" because of the following error:\n"+f);}};
W.L=function(a,b){if(!a||1!=a.nodeType)throw new t(32,'The result of the xpath expression "'+b+'" is: '+a+". It should be an element.");};W.pa=function(a,b){var c=function(){var c=W.n(b,a,9);return c?(c=c.singleNodeValue,u?c:c||null):b.selectSingleNode?(c=z(b),c.setProperty&&c.setProperty("SelectionLanguage","XPath"),b.selectSingleNode(a)):null}();null===c||W.L(c,a);return c};
W.sa=function(a,b){var c=function(){var c=W.n(b,a,7);if(c){var e=c.snapshotLength;u&&void 0===e&&W.L(null,a);for(var f=[],h=0;h<e;++h)f.push(c.snapshotItem(h));return f}return b.selectNodes?(c=z(b),c.setProperty&&c.setProperty("SelectionLanguage","XPath"),b.selectNodes(a)):[]}();q(c,function(b){W.L(b,a)});return c};function Fc(a){return(a=a.exec(Fa()))?a[1]:""}var Gc=function(){if(mb)return Fc(/Firefox\/([0-9.]+)/);if(w||u)return Na;if(qb)return Fc(/Chrome\/([0-9.]+)/);if(rb)return Fc(/Version\/([0-9.]+)/);if(ob||pb){var a=/Version\/(\S+).*Mobile\/(\S+)/.exec(Fa());if(a)return a[1]+"."+a[2]}else{if(B)return(a=Fc(/Android\s+([0-9.]+)/))?a:Fc(/Version\/([0-9.]+)/);if(nb)return Fc(/Camino\/([0-9.]+)/)}return""}();var Hc,Ic;function Jc(a){return Kc?Hc(a):w?0<=ia(Wa,a):Ua(a)}function Lc(a){Kc?Ic(a):B?ia(Mc,a):ia(Gc,a)}
var Kc=function(){if(!y)return!1;var a=l.Components;if(!a)return!1;try{if(!a.classes)return!1}catch(b){return!1}var c=a.classes,a=a.interfaces,d=c["@mozilla.org/xpcom/version-comparator;1"].getService(a.nsIVersionComparator),c=c["@mozilla.org/xre/app-info;1"].getService(a.nsIXULAppInfo),e=c.platformVersion,f=c.version;Hc=function(a){return 0<=d.ha(e,""+a)};Ic=function(a){d.ha(f,""+a)};return!0}(),Nc;if(B){var Oc=/Android\s+([0-9\.]+)/.exec(Fa());Nc=Oc?Oc[1]:"0"}else Nc="0";
var Mc=Nc,Pc=w&&!(w&&10<=Wa);B&&Lc(2.3);B&&Lc(4);rb&&Lc(6);function X(a,b,c,d){this.left=a;this.top=b;this.width=c;this.height=d}X.prototype.toString=function(){return"("+this.left+", "+this.top+" - "+this.width+"w x "+this.height+"h)"};X.prototype.contains=function(a){return a instanceof X?this.left<=a.left&&this.left+this.width>=a.left+a.width&&this.top<=a.top&&this.top+this.height>=a.top+a.height:a.x>=this.left&&a.x<=this.left+this.width&&a.y>=this.top&&a.y<=this.top+this.height};
X.prototype.ceil=function(){this.left=Math.ceil(this.left);this.top=Math.ceil(this.top);this.width=Math.ceil(this.width);this.height=Math.ceil(this.height);return this};X.prototype.floor=function(){this.left=Math.floor(this.left);this.top=Math.floor(this.top);this.width=Math.floor(this.width);this.height=Math.floor(this.height);return this};
X.prototype.round=function(){this.left=Math.round(this.left);this.top=Math.round(this.top);this.width=Math.round(this.width);this.height=Math.round(this.height);return this};function Qc(a,b){return!!a&&1==a.nodeType&&(!b||a.tagName.toUpperCase()==b)}var Rc=RegExp("matrix\\(([\\d\\.\\-]+), ([\\d\\.\\-]+), ([\\d\\.\\-]+), ([\\d\\.\\-]+), ([\\d\\.\\-]+)(?:px)?, ([\\d\\.\\-]+)(?:px)?\\)");
function Sc(a){function b(a){var c=(z(a)?z(a).parentWindow||z(a).defaultView:window).getComputedStyle(a,null).MozTransform.match(Rc);if(c){var d=parseFloat(c[1]),e=parseFloat(c[2]),L=parseFloat(c[3]),v=parseFloat(c[4]),r=parseFloat(c[5]),c=parseFloat(c[6]),ua=f.left+f.width,va=f.top+f.height,wa=f.left*d,d=ua*d,xa=f.left*e,e=ua*e,ya=f.top*L,L=va*L,za=f.top*v,ua=va*v,va=wa+ya+r,v=xa+za+c,ya=d+ya+r,za=e+za+c,wa=wa+L+r,xa=xa+ua+c,r=d+L+r,c=e+ua+c;f.left=Math.min(va,ya,wa,r);f.top=Math.min(v,za,xa,c);
r=Math.max(va,ya,wa,r);c=Math.max(v,za,xa,c);f.width=r-f.left;f.height=c-f.top}for(a=a.parentNode;a&&1!=a.nodeType&&9!=a.nodeType&&11!=a.nodeType;)a=a.parentNode;(a=Qc(a)?a:null)&&b(a)}var c=Tc(a);if(c)return c.rect;if(Qc(a,"HTML"))return c=z(a),a=ab((c?c.parentWindow||c.defaultView:window)||window),new X(0,0,a.width,a.height);var d;try{d=a.getBoundingClientRect()}catch(e){return new X(0,0,0,0)}var f=new X(d.left,d.top,d.right-d.left,d.bottom-d.top);w&&a.ownerDocument.body&&(c=z(a),f.left-=c.documentElement.clientLeft+
c.body.clientLeft,f.top-=c.documentElement.clientTop+c.body.clientTop);u&&(0==f.width&&0<a.offsetWidth&&(f.width=a.offsetWidth),0==f.height&&0<a.offsetHeight&&(f.height=a.offsetHeight));y&&!Jc(12)&&b(a);return f}
function Tc(a){var b=Qc(a,"MAP");if(!b&&!Qc(a,"AREA"))return null;var c=b?a:Qc(a.parentNode,"MAP")?a.parentNode:null,d=null,e=null;if(c&&c.name&&(d=W.pa('/descendant::*[@usemap = "#'+c.name+'"]',z(c)))&&(e=Sc(d),!b&&"default"!=a.shape.toLowerCase())){var f=Uc(a);a=Math.min(Math.max(f.left,0),e.width);b=Math.min(Math.max(f.top,0),e.height);c=Math.min(f.width,e.width-a);f=Math.min(f.height,e.height-b);e=new X(a+e.left,b+e.top,c,f)}return{ra:d,rect:e||new X(0,0,0,0)}}
function Uc(a){var b=a.shape.toLowerCase();a=a.coords.split(",");if("rect"==b&&4==a.length){var b=a[0],c=a[1];return new X(b,c,a[2]-b,a[3]-c)}if("circle"==b&&3==a.length)return b=a[2],new X(a[0]-b,a[1]-b,2*b,2*b);if("poly"==b&&2<a.length){for(var b=a[0],c=a[1],d=b,e=c,f=2;f+1<a.length;f+=2)b=Math.min(b,a[f]),d=Math.max(d,a[f]),c=Math.min(c,a[f+1]),e=Math.max(e,a[f+1]);return new X(b,c,d-b,e-c)}return new X(0,0,0,0)};Ia||u||Kc&&Lc(3.6);w&&Jc(10);B&&Lc(4);function Y(a,b){this.t={};this.g=[];var c=arguments.length;if(1<c){if(c%2)throw Error("Uneven number of arguments");for(var d=0;d<c;d+=2)this.set(arguments[d],arguments[d+1])}else if(a){var e;if(a instanceof Y)for(d=Vc(a),Wc(a),e=[],c=0;c<a.g.length;c++)e.push(a.t[a.g[c]]);else{var c=[],f=0;for(d in a)c[f++]=d;d=c;c=[];f=0;for(e in a)c[f++]=a[e];e=c}for(c=0;c<d.length;c++)this.set(d[c],e[c])}}Y.prototype.A=0;Y.prototype.ea=0;function Vc(a){Wc(a);return a.g.concat()}
Y.prototype.remove=function(a){return Object.prototype.hasOwnProperty.call(this.t,a)?(delete this.t[a],this.A--,this.ea++,this.g.length>2*this.A&&Wc(this),!0):!1};function Wc(a){if(a.A!=a.g.length){for(var b=0,c=0;b<a.g.length;){var d=a.g[b];Object.prototype.hasOwnProperty.call(a.t,d)&&(a.g[c++]=d);b++}a.g.length=c}if(a.A!=a.g.length){for(var e={},c=b=0;b<a.g.length;)d=a.g[b],Object.prototype.hasOwnProperty.call(e,d)||(a.g[c++]=d,e[d]=1),b++;a.g.length=c}}
Y.prototype.get=function(a,b){return Object.prototype.hasOwnProperty.call(this.t,a)?this.t[a]:b};Y.prototype.set=function(a,b){Object.prototype.hasOwnProperty.call(this.t,a)||(this.A++,this.g.push(a),this.ea++);this.t[a]=b};var Xc={};function Z(a,b,c){ca(a)&&(a=y?a.b:u?a.opera:a.c);a=new Yc(a,b,c);!b||b in Xc&&!c||(Xc[b]={key:a,shift:!1},c&&(Xc[c]={key:a,shift:!0}));return a}function Yc(a,b,c){this.code=a;this.ga=b||null;this.ua=c||this.ga}Z(8);Z(9);Z(13);var Zc=Z(16),$c=Z(17),ad=Z(18);Z(19);Z(20);Z(27);Z(32," ");Z(33);Z(34);Z(35);Z(36);Z(37);Z(38);Z(39);Z(40);Z(44);Z(45);Z(46);Z(48,"0",")");Z(49,"1","!");Z(50,"2","@");Z(51,"3","#");Z(52,"4","$");Z(53,"5","%");Z(54,"6","^");Z(55,"7","&");Z(56,"8","*");Z(57,"9","(");
Z(65,"a","A");Z(66,"b","B");Z(67,"c","C");Z(68,"d","D");Z(69,"e","E");Z(70,"f","F");Z(71,"g","G");Z(72,"h","H");Z(73,"i","I");Z(74,"j","J");Z(75,"k","K");Z(76,"l","L");Z(77,"m","M");Z(78,"n","N");Z(79,"o","O");Z(80,"p","P");Z(81,"q","Q");Z(82,"r","R");Z(83,"s","S");Z(84,"t","T");Z(85,"u","U");Z(86,"v","V");Z(87,"w","W");Z(88,"x","X");Z(89,"y","Y");Z(90,"z","Z");var bd=Z(Ea?{b:91,c:91,opera:219}:Da?{b:224,c:91,opera:17}:{b:0,c:91,opera:null});
Z(Ea?{b:92,c:92,opera:220}:Da?{b:224,c:93,opera:17}:{b:0,c:92,opera:null});Z(Ea?{b:93,c:93,opera:0}:Da?{b:0,c:0,opera:16}:{b:93,c:null,opera:0});Z({b:96,c:96,opera:48},"0");Z({b:97,c:97,opera:49},"1");Z({b:98,c:98,opera:50},"2");Z({b:99,c:99,opera:51},"3");Z({b:100,c:100,opera:52},"4");Z({b:101,c:101,opera:53},"5");Z({b:102,c:102,opera:54},"6");Z({b:103,c:103,opera:55},"7");Z({b:104,c:104,opera:56},"8");Z({b:105,c:105,opera:57},"9");Z({b:106,c:106,opera:La?56:42},"*");
Z({b:107,c:107,opera:La?61:43},"+");Z({b:109,c:109,opera:La?109:45},"-");Z({b:110,c:110,opera:La?190:78},".");Z({b:111,c:111,opera:La?191:47},"/");Z(La&&u?null:144);Z(112);Z(113);Z(114);Z(115);Z(116);Z(117);Z(118);Z(119);Z(120);Z(121);Z(122);Z(123);Z({b:107,c:187,opera:61},"=","+");Z(108,",");Z({b:109,c:189,opera:109},"-","_");Z(188,",","<");Z(190,".",">");Z(191,"/","?");Z(192,"`","~");Z(219,"[","{");Z(220,"\\","|");Z(221,"]","}");Z({b:59,c:186,opera:59},";",":");Z(222,"'",'"');var cd=new Y;
cd.set(1,Zc);cd.set(2,$c);cd.set(4,ad);cd.set(8,bd);(function(a){var b=new Y;q(Vc(a),function(c){b.set(a.get(c).code,c)});return b})(cd);y&&Jc(12);function dd(){this.I=void 0}
function ed(a,b,c){switch(typeof b){case "string":fd(b,c);break;case "number":c.push(isFinite(b)&&!isNaN(b)?b:"null");break;case "boolean":c.push(b);break;case "undefined":c.push("null");break;case "object":if(null==b){c.push("null");break}if("array"==aa(b)){var d=b.length;c.push("[");for(var e="",f=0;f<d;f++)c.push(e),e=b[f],ed(a,a.I?a.I.call(b,String(f),e):e,c),e=",";c.push("]");break}c.push("{");d="";for(f in b)Object.prototype.hasOwnProperty.call(b,f)&&(e=b[f],"function"!=typeof e&&(c.push(d),
fd(f,c),c.push(":"),ed(a,a.I?a.I.call(b,f,e):e,c),d=","));c.push("}");break;case "function":break;default:throw Error("Unknown type: "+typeof b);}}var gd={'"':'\\"',"\\":"\\\\","/":"\\/","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\u000b"},hd=/\uffff/.test("\uffff")?/[\\\"\x00-\x1f\x7f-\uffff]/g:/[\\\"\x00-\x1f\x7f-\xff]/g;
function fd(a,b){b.push('"',a.replace(hd,function(a){if(a in gd)return gd[a];var b=a.charCodeAt(0),e="\\u";16>b?e+="000":256>b?e+="00":4096>b&&(e+="0");return gd[a]=e+b.toString(16)}),'"')};Ia||u||y&&Jc(3.5)||w&&Jc(8);function id(a){switch(aa(a)){case "string":case "number":case "boolean":return a;case "function":return a.toString();case "array":return ma(a,id);case "object":if("nodeType"in a&&(1==a.nodeType||9==a.nodeType)){var b={};b.ELEMENT=jd(a);return b}if("document"in a)return b={},b.WINDOW=jd(a),b;if(ba(a))return ma(a,id);a=Ya(a,function(a,b){return"number"==typeof b||m(b)});return Za(a,id);default:return null}}
function kd(a,b){return"array"==aa(a)?ma(a,function(a){return kd(a,b)}):ca(a)?"function"==typeof a?a:"ELEMENT"in a?ld(a.ELEMENT,b):"WINDOW"in a?ld(a.WINDOW,b):Za(a,function(a){return kd(a,b)}):a}function md(a){a=a||document;var b=a.$wdc_;b||(b=a.$wdc_={},b.Q=ha());b.Q||(b.Q=ha());return b}function jd(a){var b=md(a.ownerDocument),c=$a(b,function(b){return b==a});c||(c=":wdc:"+b.Q++,b[c]=a);return c}
function ld(a,b){a=decodeURIComponent(a);var c=b||document,d=md(c);if(!(a in d))throw new t(10,"Element does not exist in cache");var e=d[a];if("setInterval"in e){if(e.closed)throw delete d[a],new t(23,"Window has been closed.");return e}for(var f=e;f;){if(f==c.documentElement)return e;f=f.parentNode}delete d[a];throw new t(10,"Element is no longer attached to the DOM");};function nd(a,b,c){var d;try{var e=c?ld(c.WINDOW):window,f=kd(b,e.document),h=a.apply(null,f);d={status:0,value:id(h)}}catch(n){d={status:"code"in n?n.code:13,value:{message:n.message}}}a=[];ed(new dd,d,a);return a.join("")};function od(a,b){return nd(function(a){var b=Sc(a);a=b.height;b=b.width;Pc||(b=Math.floor(b),a=Math.floor(a));return{width:b,height:a}},[a],b)}var pd=["_"],$=l;pd[0]in $||!$.execScript||$.execScript("var "+pd[0]);for(var qd;pd.length&&(qd=pd.shift());)pd.length||void 0===od?$=$[qd]?$[qd]:$[qd]={}:$[qd]=od;; return this._.apply(null,arguments);}.apply({navigator:typeof window!=undefined?window.navigator:null,document:typeof window!=undefined?window.document:null}, arguments);}