(function(){var j,n=this;function o(){}
function p(a){var b=typeof a;if(b=="object")if(a){if(a instanceof Array||!(a instanceof Object)&&Object.prototype.toString.call(a)=="[object Array]"||typeof a.length=="number"&&typeof a.splice!="undefined"&&typeof a.propertyIsEnumerable!="undefined"&&!a.propertyIsEnumerable("splice"))return"array";if(!(a instanceof Object)&&(Object.prototype.toString.call(a)=="[object Function]"||typeof a.call!="undefined"&&typeof a.propertyIsEnumerable!="undefined"&&!a.propertyIsEnumerable("call")))return"function"}else return"null";else if(b==
"function"&&typeof a.call=="undefined")return"object";return b}function aa(a){var b=p(a);return b=="array"||b=="object"&&typeof a.length=="number"}function s(a){if(a.hasOwnProperty&&a.hasOwnProperty(t))return a[t];a[t]||(a[t]=++ba);return a[t]}var t="closure_uid_"+Math.floor(Math.random()*2147483648).toString(36),ba=0,ca=Date.now||function(){return+new Date};function u(a,b){function c(){}c.prototype=b.prototype;a.L=b.prototype;a.prototype=new c};var v=Array.prototype,w=v.indexOf?function(a,b,c){return v.indexOf.call(a,b,c)}:function(a,b,c){c=c==null?0:c<0?Math.max(0,a.length+c):c;if(typeof a=="string"){if(typeof b!="string"||b.length!=1)return-1;return a.indexOf(b,c)}for(c=c;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1},da=v.forEach?function(a,b,c){v.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,f=typeof a=="string"?a.split(""):a,e=0;e<d;e++)e in f&&b.call(c,f[e],e,a)};function x(a,b){for(var c=0,d=String(a).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),f=String(b).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),e=Math.max(d.length,f.length),g=0;c==0&&g<e;g++){var h=d[g]||"",i=f[g]||"",k=new RegExp("(\\d*)(\\D*)","g"),r=new RegExp("(\\d*)(\\D*)","g");do{var m=k.exec(h)||["","",""],l=r.exec(i)||["","",""];if(m[0].length==0&&l[0].length==0)break;c=y(m[1].length==0?0:parseInt(m[1],10),l[1].length==0?0:parseInt(l[1],10))||y(m[2].length==0,l[2].length==0)||y(m[2],
l[2])}while(c==0)}return c}function y(a,b){if(a<b)return-1;else if(a>b)return 1;return 0};var z,A,B,C;function ea(){return n.navigator?n.navigator.userAgent:null}C=B=A=z=false;var D;if(D=ea()){var fa=n.navigator;z=D.indexOf("Opera")==0;A=!z&&D.indexOf("MSIE")!=-1;B=!z&&D.indexOf("WebKit")!=-1;C=!z&&!B&&fa.product=="Gecko"}var ga=z,E=A,ha=C,ia=B,ja=n.navigator,ka=(ja&&ja.platform||"").indexOf("Mac")!=-1,F,G="",H;
if(ga&&n.opera){var la=n.opera.version;G=typeof la=="function"?la():la}else{if(ha)H=/rv\:([^\);]+)(\)|;)/;else if(E)H=/MSIE\s+([^\);]+)(\)|;)/;else if(ia)H=/WebKit\/(\S+)/;if(H){var ma=H.exec(ea());G=ma?ma[1]:""}}F=G;var I={};function na(a,b,c,d){d=d||a;b=b&&b!="*"?b.toUpperCase():"";if(d.querySelectorAll&&(b||c)&&(!ia||a.compatMode=="CSS1Compat"||I["528"]||(I["528"]=x(F,"528")>=0)))return d.querySelectorAll(b+(c?"."+c:""));if(c&&d.getElementsByClassName){a=d.getElementsByClassName(c);if(b){d={};for(var f=0,e=0,g;g=a[e];e++)if(b==g.nodeName)d[f++]=g;d.length=f;return d}else return a}a=d.getElementsByTagName(b||"*");if(c){d={};for(e=f=0;g=a[e];e++){b=g.className;if(typeof b.split=="function"&&w(b.split(/\s+/),c)>=0)d[f++]=
g}d.length=f;return d}else return a}function oa(a,b){var c=[];pa(a,b,c,false);return c}function pa(a,b,c,d){if(a!=null)for(var f=0,e;e=a.childNodes[f];f++){if(b(e)){c.push(e);if(d)return true}if(pa(e,b,c,d))return true}return false};function J(a){var b=new RegExp("(^|[\\(\\s\"-])'([\\s\\S]*?)'($|[\\)\\s\".,;:?!-])","g"),c;do{c=a;a=a.replace(b,"$1\u2018$2\u2019$3")}while(c!=a);c=[{g:"\\.\\.\\.",replace:"\u2026"},{g:"'",replace:"\u2019"},{g:'"($|[\\)\\s/.,;:?!\\u2019])',replace:"\u201d$1"},{g:'(^|[\\(\\s-/\\u2018])"',replace:"$1\u201c"},{g:"---",replace:"\u2014"},{g:"--",replace:"\u2013"}];for(var d=0,f=c.length;d<f;++d){var e=c[d];b=new RegExp(e.g,"g");a=a.replace(b,e.replace)}return a};function K(a,b){var c=b||{},d=c.uglyTags||[];c=c.uglyClass||"";if(a==null)return null;if(a.nodeType==3)a.data=J(a.data);else if(!(w(d,a.nodeName.toLowerCase())>=0)&&!(a.className&&a.className==c)){d=a.childNodes;for(c=0;c<d.length;c++){var f=K(d[c],b),e=d[c],g=e.parentNode;g&&g.replaceChild(f,e)}}return a};function qa(){for(var a=na(document,null,"prettify",void 0),b={uglyTags:["code","kbd","pre","script"],uglyClass:"keepugly"},c=0;c<a.length;c++)K(a[c],b)};function L(){}L.prototype.w=false;L.prototype.k=function(){if(!this.w){this.w=true;this.f()}};L.prototype.f=function(){};function M(a,b){this.type=a;this.currentTarget=this.target=b}u(M,L);M.prototype.f=function(){delete this.type;delete this.target;delete this.currentTarget};M.prototype.r=false;M.prototype.T=true;function N(a,b){a&&this.l(a,b)}u(N,M);j=N.prototype;j.target=null;j.relatedTarget=null;j.offsetX=0;j.offsetY=0;j.clientX=0;j.clientY=0;j.screenX=0;j.screenY=0;j.button=0;j.keyCode=0;j.charCode=0;j.ctrlKey=false;j.altKey=false;j.shiftKey=false;j.metaKey=false;j.S=false;j.A=null;
j.l=function(a,b){var c=this.type=a.type;this.target=a.target||a.srcElement;this.currentTarget=b;var d=a.relatedTarget;if(d){if(ha)try{d=d.nodeName&&d}catch(f){d=null}}else if(c=="mouseover")d=a.fromElement;else if(c=="mouseout")d=a.toElement;this.relatedTarget=d;this.offsetX=a.offsetX!==undefined?a.offsetX:a.layerX;this.offsetY=a.offsetY!==undefined?a.offsetY:a.layerY;this.clientX=a.clientX!==undefined?a.clientX:a.pageX;this.clientY=a.clientY!==undefined?a.clientY:a.pageY;this.screenX=a.screenX||
0;this.screenY=a.screenY||0;this.button=a.button;this.keyCode=a.keyCode||0;this.charCode=a.charCode||(c=="keypress"?a.keyCode:0);this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;this.S=ka?a.metaKey:a.ctrlKey;this.A=a;delete this.T;delete this.r};E&&(I["8"]||(I["8"]=x(F,"8")>=0));N.prototype.f=function(){N.L.f.call(this);this.relatedTarget=this.currentTarget=this.target=this.A=null};function ra(){}var sa=0;j=ra.prototype;j.key=0;j.i=false;j.t=false;j.l=function(a,b,c,d,f,e){if(p(a)=="function")this.F=true;else if(a&&a.handleEvent&&p(a.handleEvent)=="function")this.F=false;else throw Error("Invalid listener argument");this.m=a;this.J=b;this.src=c;this.type=d;this.capture=!!f;this.C=e;this.t=false;this.key=++sa;this.i=false};j.handleEvent=function(a){if(this.F)return this.m.call(this.C||this.src,a);return this.m.handleEvent.call(this.m,a)};function O(a,b){this.G=b;this.d=[];if(a>this.G)throw Error("[goog.structs.SimplePool] Initial cannot be greater than max");for(var c=0;c<a;c++)this.d.push(this.j())}u(O,L);O.prototype.c=null;O.prototype.v=null;function P(a){if(a.d.length)return a.d.pop();return a.j()}function Q(a,b){a.d.length<a.G?a.d.push(b):a.p(b)}O.prototype.j=function(){return this.c?this.c():{}};O.prototype.p=function(a){if(this.v)this.v(a);else if(p(a.k)=="function")a.k();else for(var b in a)delete a[b]};
O.prototype.f=function(){O.L.f.call(this);for(var a=this.d;a.length;)this.p(a.pop());delete this.d};var ta;var ua=(ta="ScriptEngine"in n&&n.ScriptEngine()=="JScript")?n.ScriptEngineMajorVersion()+"."+n.ScriptEngineMinorVersion()+"."+n.ScriptEngineBuildVersion():"0";var R,S,T,U,va,wa,xa,ya,za,Aa,Ba;
(function(){function a(){return{b:0,h:0}}function b(){return[]}function c(){function l(q){return g.call(l.src,l.key,q)}return l}function d(){return new ra}function f(){return new N}var e=ta&&!(x(ua,"5.7")>=0),g;wa=function(l){g=l};if(e){R=function(){return P(h)};S=function(l){Q(h,l)};T=function(){return P(i)};U=function(l){Q(i,l)};va=function(){return P(k)};xa=function(){Q(k,c())};ya=function(){return P(r)};za=function(l){Q(r,l)};Aa=function(){return P(m)};Ba=function(l){Q(m,l)};var h=new O(0,600);
h.c=a;var i=new O(0,600);i.c=b;var k=new O(0,600);k.c=c;var r=new O(0,600);r.c=d;var m=new O(0,600);m.c=f}else{R=a;S=o;T=b;U=o;va=c;xa=o;ya=d;za=o;Aa=f;Ba=o}})();var V={},W={},X={},Ca={};
function Da(a,b,c,d,f){if(b)if(p(b)=="array"){for(var e=0;e<b.length;e++)Da(a,b[e],c,d,f);return null}else{d=!!d;var g=W;b in g||(g[b]=R());g=g[b];if(!(d in g)){g[d]=R();g.b++}g=g[d];var h=s(a),i;g.h++;if(g[h]){i=g[h];for(e=0;e<i.length;e++){g=i[e];if(g.m==c&&g.C==f){if(g.i)break;return i[e].key}}}else{i=g[h]=T();g.b++}e=va();e.src=a;g=ya();g.l(c,e,a,b,d,f);c=g.key;e.key=c;i.push(g);V[c]=g;X[h]||(X[h]=T());X[h].push(g);if(a.addEventListener){if(a==n||!a.P)a.addEventListener(b,e,d)}else a.attachEvent(Ea(b),
e);return c}else throw Error("Invalid event type");}function Fa(a,b,c,d){if(!d.n)if(d.H){for(var f=0,e=0;f<d.length;f++)if(d[f].i){var g=d[f].J;g.src=null;xa(g);za(d[f])}else{if(f!=e)d[e]=d[f];e++}d.length=e;d.H=false;if(e==0){U(d);delete W[a][b][c];W[a][b].b--;if(W[a][b].b==0){S(W[a][b]);delete W[a][b];W[a].b--}if(W[a].b==0){S(W[a]);delete W[a]}}}}function Ea(a){if(a in Ca)return Ca[a];return Ca[a]="on"+a}
function Ga(a,b,c,d,f){var e=1;b=s(b);if(a[b]){a.h--;a=a[b];if(a.n)a.n++;else a.n=1;try{for(var g=a.length,h=0;h<g;h++){var i=a[h];if(i&&!i.i)e&=Ha(i,f)!==false}}finally{a.n--;Fa(c,d,b,a)}}return Boolean(e)}
function Ha(a,b){var c=a.handleEvent(b);if(a.t){var d=a.key;if(V[d]){var f=V[d];if(!f.i){var e=f.src,g=f.type,h=f.J,i=f.capture;if(e.removeEventListener){if(e==n||!e.P)e.removeEventListener(g,h,i)}else e.detachEvent&&e.detachEvent(Ea(g),h);e=s(e);h=W[g][i][e];if(X[e]){var k=X[e],r=w(k,f);r>=0&&v.splice.call(k,r,1);k.length==0&&delete X[e]}f.i=true;h.H=true;Fa(g,i,e,h);delete V[d]}}}return c}
wa(function(a,b){if(!V[a])return true;var c=V[a],d=c.type,f=W;if(!(d in f))return true;f=f[d];var e,g;if(E){var h;if(!(h=b))a:{h="window.event".split(".");for(var i=n;e=h.shift();)if(i[e])i=i[e];else{h=null;break a}h=i}e=h;h=true in f;i=false in f;if(h){if(e.keyCode<0||e.returnValue!=undefined)return true;a:{var k=false;if(e.keyCode==0)try{e.keyCode=-1;break a}catch(r){k=true}if(k||e.returnValue==undefined)e.returnValue=true}}k=Aa();k.l(e,this);e=true;try{if(h){for(var m=T(),l=k.currentTarget;l;l=
l.parentNode)m.push(l);g=f[true];g.h=g.b;for(var q=m.length-1;!k.r&&q>=0&&g.h;q--){k.currentTarget=m[q];e&=Ga(g,m[q],d,true,k)}if(i){g=f[false];g.h=g.b;for(q=0;!k.r&&q<m.length&&g.h;q++){k.currentTarget=m[q];e&=Ga(g,m[q],d,false,k)}}}else e=Ha(c,k)}finally{if(m){m.length=0;U(m)}k.k();Ba(k)}return e}d=new N(b,this);try{e=Ha(c,d)}finally{d.k()}return e});var Y="StopIteration"in n?n.StopIteration:Error("StopIteration");function Z(){}Z.prototype.next=function(){throw Y;};Z.prototype.o=function(){return this};function Ia(a){if(a instanceof Z)return a;if(typeof a.o=="function")return a.o(false);if(aa(a)){var b=0,c=new Z;c.next=function(){for(;;){if(b>=a.length)throw Y;if(b in a)return a[b++];else b++}};return c}throw Error("Not implemented");}
function Ja(a,b,c){if(aa(a))try{da(a,b,c)}catch(d){if(d!==Y)throw d;}else{a=Ia(a);try{for(;;)b.call(c,a.next(),undefined,a)}catch(f){if(f!==Y)throw f;}}};function $(a){this.e={};this.a=[];var b=arguments.length;if(b>1){if(b%2)throw Error("Uneven number of arguments");for(var c=0;c<b;c+=2)Ka(this,arguments[c],arguments[c+1])}else if(a){var d;if(a instanceof $){c=La(a);Ma(a);d=[];for(b=0;b<a.a.length;b++)d.push(a.e[a.a[b]]);d=d}else{b=[];var f=0;for(c in a)b[f++]=c;c=b;b=[];f=0;for(d in a)b[f++]=a[d];d=b}for(b=0;b<c.length;b++)Ka(this,c[b],d[b])}}$.prototype.b=0;$.prototype.s=0;function La(a){Ma(a);return a.a.concat()}
function Ma(a){if(a.b!=a.a.length){for(var b=0,c=0;b<a.a.length;){var d=a.a[b];if(Object.prototype.hasOwnProperty.call(a.e,d))a.a[c++]=d;b++}a.a.length=c}if(a.b!=a.a.length){var f={};for(c=b=0;b<a.a.length;){d=a.a[b];if(!Object.prototype.hasOwnProperty.call(f,d)){a.a[c++]=d;f[d]=1}b++}a.a.length=c}}function Na(a,b,c){if(Object.prototype.hasOwnProperty.call(a.e,b))return a.e[b];return c}function Ka(a,b,c){if(!Object.prototype.hasOwnProperty.call(a.e,b)){a.b++;a.a.push(b);a.s++}a.e[b]=c}
$.prototype.o=function(a){Ma(this);var b=0,c=this.a,d=this.e,f=this.s,e=this,g=new Z;g.next=function(){for(;;){if(f!=e.s)throw Error("The map has changed since the iterator was created");if(b>=c.length)throw Y;var h=c[b++];return a?h:d[h]}};return g};function Oa(){this.B=[];this.I=new $;this.Z=this.$=this.aa=this.U=0;this.K=new $;this.O=this.Y=0;this.R=1;this.Q=new O(0,4E3);this.Q.j=function(){return new Pa};this.V=new O(0,50);this.V.j=function(){return new Qa};var a=this;this.D=new O(0,2E3);this.D.j=function(){return String(a.R++)};this.D.p=function(){};this.ba=3}function Qa(){this.M=this.W=this.u=0}
Qa.prototype.toString=function(){var a=[];a.push(this.type," ",this.u," (",Math.round(this.W*10)/10," ms)");this.M&&a.push(" [VarAlloc = ",this.M,"]");return a.join("")};function Pa(){}function Ra(a,b,c,d){var f=[];c==-1?f.push("    "):f.push(Sa(a.z-c));f.push(" ",Ta(a.z-b));if(a.q==0)f.push(" Start        ");else if(a.q==1){f.push(" Done ");f.push(Sa(a.ca-a.startTime)," ms ")}else f.push(" Comment      ");f.push(d,a);a.X>0&&f.push("[VarAlloc ",a.X,"] ");return f.join("")}
Pa.prototype.toString=function(){return this.type==null?this.N:"["+this.type+"] "+this.N};
Oa.prototype.toString=function(){for(var a=[],b=-1,c=[],d=0;d<this.B.length;d++){var f=this.B[d];f.q==1&&c.pop();a.push(" ",Ra(f,this.U,b,c.join("")));b=f.z;a.push("\n");f.q==0&&c.push("|  ")}if(this.I.b!=0){var e=ca();a.push(" Unstopped timers:\n");Ja(this.I,function(g){a.push("  ",g," (",e-g.startTime," ms, started at ",Ta(g.startTime),")\n")})}b=La(this.K);for(d=0;d<b.length;d++){c=Na(this.K,b[d]);c.u>1&&a.push(" TOTAL ",c,"\n")}a.push("Total tracers created ",this.Y,"\n","Total comments created ",
this.O,"\n","Overhead start: ",this.aa," ms\n","Overhead end: ",this.$," ms\n","Overhead comment: ",this.Z," ms\n");return a.join("")};function Sa(a){a=Math.round(a);var b="";if(a<1E3)b=" ";if(a<100)b="  ";if(a<10)b="   ";return b+a}function Ta(a){a=Math.round(a);return String(100+a/1E3%60).substring(1,3)+"."+String(1E3+a%1E3).substring(1,4)}new Oa;new O(0,100);window.jsprettify={prettify:qa,prettifyHtml:K,prettifyStr:J,prettifyTextInputs:function(){for(var a=na(document,"textarea",void 0,void 0),b=0,c=a.length;b<c;++b){var d=a[b];d.value=J(d.value)}a=na(document,"input",void 0,void 0);b=0;for(c=a.length;b<c;++b){d=a[b];if(d.type=="text")d.value=J(d.value)}a=oa(document.body,function(f){return f.contentEditable=="true"});b=0;for(c=a.length;b<c;++b)K(a[b])},run:function(){Da(window,"load",function(){qa()})}};
for(var Ua in window.jsprettify)window[Ua]=function(){alert("WARNING: this page is calling jsprettify in a deprecated manner. The correct, current way to call jsprettify is through window.jsprettify.*, not window.*. Sorry for the inconvenience.");window.jsprettify[Ua]()};window.prettifyTextInputs=function(){alert("You appear to be using an out-of-date version of the jsprettify bookmarklet. It may go away at some point. Meanwhile, go to http://code.google.com/p/jsprettify/wiki/MakingInputsPretty to get the updated bookmarklet.")};})()
