/* Copyright 2007-8 Google. */ (function() { 
var e=false,j=null,l=true;function m(a){throw a;}
var p,aa=aa||{},s=this,t=".",ba="var ",da=function(a,b,c){var d=a.split(t),f=c||s,g;!(d[0]in f)&&f.execScript&&f.execScript(ba+d[0]);for(;d.length&&(g=d.shift());)if(!d.length&&ca(b))f[g]=b;else f=f[g]?f[g]:(f[g]={})},ea=function(a,b){var c=a.split(t),d=b||s,f;for(;f=c.shift();)if(d[f])d=d[f];else return j;return d},fa=function(){},u="object",ga="[object Array]",v="array",w="function",ha="null",x=function(a){var b=typeof a;if(b==u)if(a){if(a instanceof Array||!(a instanceof Object)&&Object.prototype.toString.call(a)==
ga)return v;if(typeof a.call!="undefined")return w}else return ha;else if(b==w&&typeof a.call=="undefined")return u;return b},ca=function(a){return typeof a!="undefined"};var y="number",z=function(a){var b=x(a);return b==v||b==u&&typeof a.length==y},ia="string",A=function(a){return typeof a==ia};
var ja=function(a){var b=x(a);return b==u||b==v||b==w},ka="closure_hashCode_",B=function(a){if(a.hasOwnProperty&&a.hasOwnProperty(ka)){var b=a.closure_hashCode_;if(b)return b}a.closure_hashCode_||(a.closure_hashCode_=++la);return a.closure_hashCode_},la=0,ma=function(a){var b=x(a);if(b==u||b==v){if(a.clone)return a.clone.call(a);var c=b==v?[]:{};for(var d in a)c[d]=ma(a[d]);return c}return a},C=function(a,b){var c=a.boundArgs_;if(arguments.length>2){var d=Array.prototype.slice.call(arguments,2);c&&
d.unshift.apply(d,c);c=d}b=a.boundSelf_||b;a=a.boundFn_||a;var f,g=b||s;f=c?function(){var h=Array.prototype.slice.call(arguments);h.unshift.apply(h,c);return a.apply(g,h)}:function(){return a.apply(g,arguments)};f.boundArgs_=c;f.boundSelf_=b;f.boundFn_=a;return f},na=function(a){var b=Array.prototype.slice.call(arguments,1);b.unshift(a,j);return C.apply(j,b)},oa=function(a,b,c){da(a,b,c)},pa=function(a,b,c){a[b]=c},D=function(a,b){function c(){}c.prototype=b.prototype;a.superClass_=b.prototype;a.prototype=
new c};Function.prototype.bind=function(a){if(arguments.length>1){var b=Array.prototype.slice.call(arguments,1);b.unshift(this,a);return C.apply(j,b)}else return C(this,a)};Function.prototype.partial=function(){var a=Array.prototype.slice.call(arguments);a.unshift(this,j);return C.apply(j,a)};var E="",qa=function(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,E)};
var ra="(\\d*)(\\D*)",sa="g",ua=function(a,b){var c=0,d=qa(String(a)).split(t),f=qa(String(b)).split(t),g=Math.max(d.length,f.length),h=0;for(;c==0&&h<g;h++){var i=d[h]||E,n=f[h]||E,k=new RegExp(ra,sa),o=new RegExp(ra,sa);do{var q=k.exec(i)||[E,E,E],r=o.exec(n)||[E,E,E];if(q[0].length==0&&r[0].length==0)break;var U=q[1].length==0?0:parseInt(q[1],10),Mb=r[1].length==0?0:parseInt(r[1],10);c=ta(U,Mb)||ta(q[2].length==0,r[2].length==0)||ta(q[2],r[2])}while(c==0)}return c},ta=function(a,b){if(a<b)return-1;
else if(a>b)return 1;return 0};var F,va,wa,xa,ya,za,Aa,Ba,Ca,Da=function(){return s.navigator?s.navigator.userAgent:j};var Ea="Opera",Fa="MSIE",Ga="WebKit",Ha="Mobile",Ia="Gecko",Ja="Camino";(function(){za=ya=xa=wa=va=F=e;var a;if(a=Da()){var b=s.navigator;F=a.indexOf(Ea)==0;va=!F&&a.indexOf(Fa)!=-1;xa=(wa=!F&&a.indexOf(Ga)!=-1)&&a.indexOf(Ha)!=-1;za=(ya=!F&&!wa&&b.product==Ia)&&b.vendor==Ja}})();var Ka=F,G=va,H=ya,La=wa,Ma=(function(){var a=s.navigator;return a&&a.platform||E})(),Na="Mac",Oa="Win",Pa="Linux";
(function(){Aa=Ma.indexOf(Na)!=-1;Ba=Ma.indexOf(Oa)!=-1;Ca=Ma.indexOf(Pa)!=-1})();var Qa=(function(){var a=E,b;if(Ka&&s.opera){var c=s.opera.version;a=typeof c==w?c():c}else{if(H)b=/rv\:([^\);]+)(\)|;)/;else if(G)b=/MSIE\s+([^\);]+)(\)|;)/;else if(La)b=/WebKit\/(\S+)/;if(b){var d=b.exec(Da());a=d?d[1]:E}}return a})();var I=function(){};I.prototype.disposed_=e;I.prototype.dispose=function(){if(!this.disposed_){this.disposed_=l;this.disposeInternal()}};I.prototype.disposeInternal=function(){};var J=function(a,b){this.type=a;this.currentTarget=this.target=b};D(J,I);J.prototype.disposeInternal=function(){delete this.type;delete this.target;delete this.currentTarget};J.prototype.propagationStopped_=e;J.prototype.returnValue_=l;J.prototype.preventDefault=function(){this.returnValue_=e};var K=function(a,b){a&&this.init(a,b)};D(K,J);p=K.prototype;p.type=j;p.target=j;p.relatedTarget=j;p.offsetX=0;p.offsetY=0;p.clientX=0;p.clientY=0;p.screenX=0;p.screenY=0;p.button=0;p.keyCode=0;p.charCode=0;p.ctrlKey=e;p.altKey=e;p.shiftKey=e;p.metaKey=e;p.event_=j;var Ra="mouseover",Sa="mouseout",Ta="keypress";
p.init=function(a,b){this.type=a.type;this.target=a.target||a.srcElement;this.currentTarget=b;this.relatedTarget=a.relatedTarget?a.relatedTarget:this.type==Ra?a.fromElement:this.type==Sa?a.toElement:j;this.offsetX=typeof a.layerX==y?a.layerX:a.offsetX;this.offsetY=typeof a.layerY==y?a.layerY:a.offsetY;this.clientX=typeof a.clientX==y?a.clientX:a.pageX;this.clientY=typeof a.clientY==y?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||(this.type==Ta?a.keyCode:0);this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;this.event_=a;delete this.returnValue_;delete this.propagationStopped_};p.preventDefault=function(){this.returnValue_=e;if(this.event_.preventDefault)this.event_.preventDefault();else{this.event_.returnValue=e;try{this.event_.keyCode=-1}catch(a){}}};p.disposeInternal=function(){K.superClass_.disposeInternal.call(this);this.event_=j};var Ua=function(a,b,c){if(a.indexOf)return a.indexOf(b,c);if(Array.indexOf)return Array.indexOf(a,b,c);var d=c==j?0:c<0?Math.max(0,a.length+c):c;for(;d<a.length;d++)if(d in a&&a[d]===b)return d;return-1},Va=function(a,b,c){if(a.forEach)a.forEach(b,c);else if(Array.forEach)Array.forEach(a,b,c);else{var d=a.length,f=A(a)?a.split(E):a,g=0;for(;g<d;g++)g in f&&b.call(c,f[g],g,a)}},L=function(a,b){if(a.contains)return a.contains(b);return Ua(a,b)>-1},Wa=function(a,b){var c=Ua(a,b),d;if(d=c!=-1)Array.prototype.splice.call(a,
c,1).length==1;return d};var Xa=function(a){if(x(a)==v)return a.concat();else{var b=[],c=0,d=a.length;for(;c<d;c++)b[c]=a[c];return b}},Ya=function(a){if(x(a)==v)return a.concat();return Xa(a)},$a=function(a){return Array.prototype.splice.apply(a,Za(arguments,1))},Za=function(a,b,c){return arguments.length<=2?Array.prototype.slice.call(a,b):Array.prototype.slice.call(a,b,c)};var ab=function(a,b,c){for(var d in a)b.call(c,a[d],d,a)},bb=function(a){var b=[],c=0;for(var d in a)b[c++]=a[d];return b},cb=function(a){var b=[],c=0;for(var d in a)b[c++]=d;return b},db=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],eb=function(a){var b,c,d=1;for(;d<arguments.length;d++){c=arguments[d];for(b in c)a[b]=c[b];var f=0;for(;f<db.length;f++){b=db[f];if(Object.prototype.hasOwnProperty.call(c,b))a[b]=c[b]}}};var M=function(a,b){I.call(this);this.maxCount_=b;this.freeQueue_=[];this.createInitial_(a)};D(M,I);p=M.prototype;p.createObjectFn_=j;p.disposeObjectFn_=j;p.setCreateObjectFn=function(a){this.createObjectFn_=a};p.setDisposeObjectFn=function(a){this.disposeObjectFn_=a};p.getObject=function(){if(this.freeQueue_.length)return this.freeQueue_.pop();return this.createObject()};p.releaseObject=function(a){this.freeQueue_.length<this.maxCount_?this.freeQueue_.push(a):this.disposeObject(a)};
p.createInitial_=function(a){if(a>this.maxCount_)m(Error("[goog.structs.SimplePool] Initial cannot be greater than max"));var b=0;for(;b<a;b++)this.freeQueue_.push(this.createObject())};p.createObject=function(){return this.createObjectFn_?this.createObjectFn_():{}};p.disposeObject=function(a){if(this.disposeObjectFn_)this.disposeObjectFn_(a);else if(x(a.dispose)==w)a.dispose();else for(var b in a)delete a[b]};
p.disposeInternal=function(){M.superClass_.disposeInternal.call(this);var a=this.freeQueue_;for(;a.length;)this.disposeObject(a.pop());delete this.freeQueue_};var fb=function(){},gb=0;p=fb.prototype;p.isFunctionListener_=j;p.listener=j;p.proxy=j;p.src=j;p.type=j;p.capture=j;p.handler=j;p.key=0;p.removed=e;p.callOnce=e;p.init=function(a,b,c,d,f,g){if(x(a)==w)this.isFunctionListener_=l;else if(a&&a.handleEvent&&x(a.handleEvent)==w)this.isFunctionListener_=e;else m(Error("Invalid listener argument"));this.listener=a;this.proxy=b;this.src=c;this.type=d;this.capture=!!f;this.handler=g;this.callOnce=e;this.key=++gb;this.removed=e};
p.handleEvent=function(a){if(this.isFunctionListener_)return this.listener.call(this.handler||this.src,a);return this.listener.handleEvent.call(this.listener,a)};var N={},O={},P={},Q=new M(0,600);Q.setCreateObjectFn(function(){return{count_:0}});Q.setDisposeObjectFn(function(a){a.count_=0});var R=new M(0,600);R.setCreateObjectFn(function(){return[]});R.setDisposeObjectFn(function(a){a.length=0;delete a.locked_;delete a.needsCleanup_});var hb=new M(0,600);hb.setCreateObjectFn(function(){var a=function(b){return ib.call(a.src,a.key,b)};return a});var jb=function(){return new fb},kb=new M(0,600);kb.setCreateObjectFn(jb);
var lb=function(){return new K},mb=(function(){var a=j;if(G){a=new M(0,600);a.setCreateObjectFn(lb)}return a})(),nb={},S=function(a,b,c,d,f){if(b)if(x(b)==v){var g=0;for(;g<b.length;g++)S(a,b[g],c,d,f);return j}else{var h=!!d,i=O;b in i||(i[b]=Q.getObject());i=i[b];if(!(h in i)){i[h]=Q.getObject();i.count_++}i=i[h];var n=B(a),k,o;if(i[n]){k=i[n];var g=0;for(;g<k.length;g++){o=k[g];if(o.listener==c&&o.handler==f){if(o.removed)break;return k[g].key}}}else{k=i[n]=R.getObject();i.count_++}var q=hb.getObject();
q.src=a;o=kb.getObject();o.init(c,q,a,b,h,f);var r=o.key;q.key=r;k.push(o);N[r]=o;P[n]||(P[n]=R.getObject());P[n].push(o);if(a.addEventListener){if(a==s||!a.customEvent_)a.addEventListener(b,q,h)}else a.attachEvent(ob(b),q);return r}else m(Error("Invalid event type"))},pb=function(a,b,c,d,f){if(x(b)==v){var g=0;for(;g<b.length;g++)pb(a,b[g],c,d,f);return j}var h=!!d,i=qb(a,b,h);if(!i)return e;var g=0;for(;g<i.length;g++)if(i[g].listener==c&&i[g].capture==h&&i[g].handler==f)return rb(i[g].key);return e},
rb=function(a){if(!N[a])return e;var b=N[a];if(b.removed)return e;var c=b.src,d=b.type,f=b.proxy,g=b.capture;if(c.removeEventListener){if(c==s||!c.customEvent_)c.removeEventListener(d,f,g)}else c.detachEvent&&c.detachEvent(ob(d),f);var h=B(c),i=O[d][g][h];if(P[h]){var n=P[h];Wa(n,b);n.length==0&&delete P[h]}b.removed=l;i.needsCleanup_=l;sb(d,g,h,i);delete N[a];return l},sb=function(a,b,c,d){if(!d.locked_)if(d.needsCleanup_){var f=0,g=0;for(;f<d.length;f++)if(d[f].removed)kb.releaseObject(d[f]);else{if(f!=
g)d[g]=d[f];g++}d.length=g;d.needsCleanup_=e;if(g==0){R.releaseObject(d);delete O[a][b][c];O[a][b].count_--;if(O[a][b].count_==0){Q.releaseObject(O[a][b]);delete O[a][b];O[a].count_--}if(O[a].count_==0){Q.releaseObject(O[a]);delete O[a]}}}},tb=function(a,b,c){var d=0,f=a==j,g=b==j,h=c==j;c=!!c;if(f)ab(P,function(q){var r=q.length-1;for(;r>=0;r--){var U=q[r];if((g||b==U.type)&&(h||c==U.capture)){rb(U.key);d++}}});else{var i=B(a);if(P[i]){var n=P[i],k=n.length-1;for(;k>=0;k--){var o=n[k];if((g||b==
o.type)&&(h||c==o.capture)){rb(o.key);d++}}}}return d},qb=function(a,b,c){var d=O;if(b in d){d=d[b];if(c in d){d=d[c];var f=B(a);if(d[f])return d[f]}}return j},ub="on",ob=function(a){if(a in nb)return nb[a];return nb[a]=ub+a},T=function(a,b,c,d){var f=1,g=O;if(b in g){g=g[b];if(c in g){g=g[c];var h=B(a);if(g[h]){var i=g[h];if(i.locked_)i.locked_++;else i.locked_=1;try{var n=i.length,k=0;for(;k<n;k++){var o=i[k];if(o&&!o.removed)f&=vb(o,d)!==e}}finally{i.locked_--;sb(b,c,h,i)}}}}return Boolean(f)},
vb=function(a,b){var c=a.handleEvent(b);a.callOnce&&rb(a.key);return c},wb=function(a,b){if(A(b))b=new J(b,a);else if(b instanceof J)b.target=b.target||a;else{var c=b;b=new J(b.type,a);eb(b,c)}var d=1,f,g=b.type,h=O;if(!(g in h))return l;h=h[g];var i=l in h,n=e in h;if(i){f=[];var k=a;for(;k;k=k.parentEventTarget_)f.push(k);var o=f.length-1;for(;!b.propagationStopped_&&o>=0;o--){b.currentTarget=f[o];d&=T(f[o],b.type,l,b)&&b.returnValue_!=e}}if(n)if(i){var o=0;for(;!b.propagationStopped_&&o<f.length;o++){b.currentTarget=
f[o];d&=T(f[o],b.type,e,b)&&b.returnValue_!=e}}else{var q=a;for(;!b.propagationStopped_&&q;q=q.parentEventTarget_){b.currentTarget=q;d&=T(q,b.type,e,b)&&b.returnValue_!=e}}return Boolean(d)},xb="window.event",ib=function(a,b){if(!N[a])return l;var c=N[a],d=c.type,f=O;if(!(d in f))return l;f=f[d];var g;if(G){var h=b||ea(xb),i=l in f;if(i){if(h.keyCode<0||h.returnValue!=undefined)return l;yb(h)}B(c.src);var n=mb.getObject();n.init(h,this);g=l;try{if(i){var k=R.getObject(),o=n.currentTarget;for(;o;o=
o.parentNode)k.push(o);var q=k.length-1;for(;!n.propagationStopped_&&q>=0;q--){n.currentTarget=k[q];g&=T(k[q],d,l,n)}var q=0;for(;!n.propagationStopped_&&q<k.length;q++){n.currentTarget=k[q];g&=T(k[q],d,e,n)}}else g=vb(c,n)}finally{if(k){k.length=0;R.releaseObject(k)}n.dispose();mb.releaseObject(n)}return g}var r=new K(b,this);try{g=vb(c,r)}finally{r.dispose()}return g},yb=function(a){var b=e;if(a.keyCode==0)try{a.keyCode=-1;return}catch(c){b=l}if(b||a.returnValue==undefined)a.returnValue=l};var V=function(){};D(V,I);p=V.prototype;p.customEvent_=l;p.parentEventTarget_=j;p.addEventListener=function(a,b,c,d){S(this,a,b,c,d)};p.removeEventListener=function(a,b,c,d){pb(this,a,b,c,d)};p.dispatchEvent=function(a){return wb(this,a)};p.disposeInternal=function(){V.superClass_.disposeInternal.call(this);tb(this);this.parentEventTarget_=j};var zb="click",Bb=function(a,b,c){if(c)b=b.bind(c);return S(a,zb,Ab.partial(b))},Ab=function(a,b){b.preventDefault();a(b);return e};var Cb,W=" ",Db=function(a){var b=a.className;return b&&typeof b.split==w?b.split(W):[]},Eb=function(a){var b=Db(a),c=1,d=1;for(;d<arguments.length;d++)if(L(b,arguments[d]))c&=0;else{b.push(arguments[d]);c&=1}a.className=b.join(W);return Boolean(c)},Fb=function(a){var b=Db(a),c=Za(arguments,1),d=0,f=0;for(;f<b.length;f++)if(L(c,b[f])){$a(b,f--,1);d++}a.className=b.join(W);return d==c.length};var Gb=function(a,b,c){c?Eb(a,b):Fb(a,b)},Hb=function(a,b){var c=!L(Db(a),b);Gb(a,b,c);return c};var Ib=function(a,b){this.x=ca(a)?a:0;this.y=ca(b)?b:0};Ib.prototype.clone=function(){return new Ib(this.x,this.y)};var Jb="(",Kb=", ",Lb=")";Ib.prototype.toString=function(){return Jb+this.x+Kb+this.y+Lb};var Nb=function(a,b){this.width=a;this.height=b};Nb.prototype.clone=function(){return new Nb(this.width,this.height)};var Ob=" x ";Nb.prototype.toString=function(){return Jb+this.width+Ob+this.height+Lb};var Qb=function(a,b,c){return(Cb||(Cb=new Pb)).getElementsByTagNameAndClass(a,b,c)},Rb=function(a,b){a.appendChild(b)},Sb=La&&ua(Qa,"521")<=0,Tb=function(a,b){if(typeof a.contains!="undefined"&&!Sb&&b.nodeType==1)return a==b||a.contains(b);if(typeof a.compareDocumentPosition!="undefined")return a==b||Boolean(a.compareDocumentPosition(b)&16);for(;b&&a!=b;)b=b.parentNode;return b==a};
var Ub={SCRIPT:1,STYLE:1,HEAD:1,IFRAME:1,OBJECT:1},Vb="\n",Wb={IMG:W,BR:Vb},Xb="innerText",Zb=function(a){var b;if(G&&Xb in a)b=a.innerText.replace(/(\r\n|\r|\n)/g,Vb);else{var c=[];Yb(a,c,l);b=c.join(E)}b=b.replace(/\xAD/g,E);b=b.replace(/ +/g,W);if(b!=W)b=b.replace(/^\s*/,E);return b},Yb=function(a,b,c){if(!(a.nodeName in Ub))if(a.nodeType==3)c?b.push(String(a.nodeValue).replace(/(\r\n|\r|\n)/g,E)):b.push(a.nodeValue);else if(a.nodeName in Wb)b.push(Wb[a.nodeName]);else{var d=a.firstChild;for(;d;){Yb(d,
b,c);d=d.nextSibling}}},Pb=function(a){this.document_=a||s.document||document};p=Pb.prototype;var $b="*",ac="528",bc="8";
p.getElementsByTagNameAndClass=function(a,b,c){var d=c||this.document_,f=a&&a!=$b?a.toLowerCase():E;if(d.querySelectorAll&&(f||b)&&(!La||this.isCss1CompatMode()||ua(Qa,ac)>=0)){var g=d.querySelectorAll(f+(b?t+b:E));return G&&ua(Qa,bc)>=0?Ya(g):g}if(b&&d.getElementsByClassName){var h=d.getElementsByClassName(b);if(f){var i=[],n=0,k;for(;k=h[n];n++)f==k.nodeName.toLowerCase()&&i.push(k);return i}else return h}var h=d.getElementsByTagName(f||$b);if(b){var i=[],n=0,k;for(;k=h[n];n++){var o=k.className;
typeof o.split==w&&L(o.split(W),b)&&i.push(k)}return i}else return h};p.createElement=function(a){return this.document_.createElement(a)};var cc="CSS1Compat",dc="div",ec="position:absolute;width:0;height:0;width:1",fc="1px",gc="BackCompat";p.isCss1CompatMode=function(){var a=this.document_;if(a.compatMode)return a.compatMode==cc;if(La){var b=a.createElement(dc);b.style.cssText=ec;return(a.compatMode=b.style.width==fc?gc:cc)==cc}return e};p.appendChild=Rb;p.contains=Tb;if("StopIteration"in s)var X=s.StopIteration;else X=Error("StopIteration");var hc=function(){};hc.prototype.next=function(){m(X)};hc.prototype.__iterator__=function(){return this};
var ic=function(a){if(a instanceof hc)return a;if(typeof a.__iterator__==w)return a.__iterator__(e);if(z(a)){var b=0,c=new hc;c.next=function(){for(;l;){if(b>=a.length)m(X);if(b in a)return a[b++];else b++}};return c}m(Error("Not implemented"))},jc=function(a,b,c){if(z(a))try{Va(a,b,c)}catch(d){if(d!==X)m(d)}else{a=ic(a);try{for(;l;)b.call(c,a.next(),undefined,a)}catch(d){if(d!==X)m(d)}}};var kc=function(a){if(typeof a.getValues==w)return a.getValues();if(A(a))return a.split(E);if(z(a)){var b=[],c=a.length,d=0;for(;d<c;d++)b.push(a[d]);return b}return bb(a)},lc=function(a){if(typeof a.getKeys==w)return a.getKeys();if(typeof a.getValues==w)return undefined;if(z(a)||A(a)){var b=[],c=a.length,d=0;for(;d<c;d++)b.push(d);return b}return cb(a)},mc=function(a,b,c){if(typeof a.forEach==w)a.forEach(b,c);else if(z(a)||A(a))Va(a,b,c);else{var d=lc(a),f=kc(a),g=f.length,h=0;for(;h<g;h++)b.call(c,
f[h],d&&d[h],a)}};var nc=function(a){this.map_={};this.keys_=[];var b=arguments.length;if(b>1){if(b%2)m(Error("Uneven number of arguments"));var c=0;for(;c<b;c+=2)this.set(arguments[c],arguments[c+1])}else a&&this.addAll(a)};p=nc.prototype;p.count_=0;p.version_=0;p.getValues=function(){this.cleanupKeysArray_();var a=[],b=0;for(;b<this.keys_.length;b++)a.push(this.map_[this.keys_[b]]);return a};p.getKeys=function(){this.cleanupKeysArray_();return this.keys_.concat()};p.containsKey=function(a){return Y(this.map_,a)};
p.remove=function(a){if(Y(this.map_,a)){delete this.map_[a];this.count_--;this.version_++;this.keys_.length>2*this.count_&&this.cleanupKeysArray_();return l}return e};
p.cleanupKeysArray_=function(){if(this.count_!=this.keys_.length){var a=0,b=0;for(;a<this.keys_.length;){var c=this.keys_[a];if(Y(this.map_,c))this.keys_[b++]=c;a++}this.keys_.length=b}if(this.count_!=this.keys_.length){var d={},a=0,b=0;for(;a<this.keys_.length;){var c=this.keys_[a];if(!Y(d,c)){this.keys_[b++]=c;d[c]=1}a++}this.keys_.length=b}};p.get=function(a,b){if(Y(this.map_,a))return this.map_[a];return b};
p.set=function(a,b){if(!Y(this.map_,a)){this.count_++;this.keys_.push(a);this.version_++}this.map_[a]=b};p.addAll=function(a){var b,c;if(a instanceof nc){b=a.getKeys();c=a.getValues()}else{b=cb(a);c=bb(a)}var d=0;for(;d<b.length;d++)this.set(b[d],c[d])};p.clone=function(){return new nc(this)};p.getKeyIterator=function(){return this.__iterator__(l)};
p.__iterator__=function(a){this.cleanupKeysArray_();var b=0,c=this.keys_,d=this.map_,f=this.version_,g=this,h=new hc;h.next=function(){for(;l;){if(f!=g.version_)m(Error("The map has changed since the iterator was created"));if(b>=c.length)m(X);var i=c[b++];return a?i:d[i]}};return h};if(Object.prototype.hasOwnProperty)var Y=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)};else Y=function(a,b){return b in a&&a[b]!==Object.prototype[b]};var oc="@",pc="]",qc=function(a){if(/^\s*$/.test(a))return e;return/^[\],:{}\s\u2028\u2029]*$/.test(a.replace(/\\["\\\/bfnrtu]/g,oc).replace(/"[^"\\\n\r\u2028\u2029\x00-\x1f\x80-\x9f]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,pc).replace(/(?:^|:|,)(?:[\s\u2028\u2029]*\[)+/g,E))},rc=function(a){String(a);if(qc(a))try{return eval(Jb+a+Lb)}catch(b){}m(Error("Invalid JSON string: "+a))};var sc=s.window;var tc=function(){if(!!H){this.contextsToXhr_={};this.xhrToContexts_={};this.stack_=[]}};p=tc.prototype;p.pushContext=function(a){!H||this.stack_.push(A(a)?a:ja(a)?B(a):E)};p.popContext=function(){!H||this.updateDependentContexts_(this.stack_.pop())};p.markXhrOpen=function(a){if(!!H){var b=B(a),c=0;for(;c<this.stack_.length;c++){var d=this.stack_[c];this.addToMap_(this.contextsToXhr_,d,b);this.addToMap_(this.xhrToContexts_,b,d)}}};
p.markXhrClosed=function(a){if(!!H){var b=B(a);delete this.xhrToContexts_[b];for(var c in this.contextsToXhr_){Wa(this.contextsToXhr_[c],b);this.contextsToXhr_[c].length==0&&delete this.contextsToXhr_[c]}}};p.updateDependentContexts_=function(a){var b=this.xhrToContexts_[a],c=this.contextsToXhr_[a];b&&c&&Va(b,function(d){Va(c,function(f){this.addToMap_(this.contextsToXhr_,d,f);this.addToMap_(this.xhrToContexts_,f,d)},this)},this)};p.addToMap_=function(a,b,c){a[b]||(a[b]=[]);L(a[b],c)||a[b].push(c)};
var Z=new tc;var vc=function(){return uc()};var uc=j,wc=j,xc=j;(function(a,b){uc=a;wc=b;xc=j})(function(){var a=yc();return a?new ActiveXObject(a):new XMLHttpRequest},function(){var a={};if(yc()){a[0]=l;a[1]=l}return a});var zc=j,Ac="MSXML2.XMLHTTP.6.0",Bc="MSXML2.XMLHTTP.3.0",Cc="MSXML2.XMLHTTP",Dc="Microsoft.XMLHTTP",yc=function(){if(!zc&&typeof XMLHttpRequest=="undefined"&&typeof ActiveXObject!="undefined"){var a=[Ac,Bc,Cc,Dc],b=0;for(;b<a.length;b++){var c=a[b];try{new ActiveXObject(c);return zc=c}catch(d){}}m(Error("Could not create ActiveXObject. ActiveX might be disabled, or MSXML might not be installed"))}return zc};var $=function(){V.call(this);this.headers=new nc};D($,V);var Ec=[],Fc="complete",Gc="ready",Ic=function(a,b,c,d,f,g){var h=new $;Ec.push(h);b&&S(h,Fc,b);S(h,Gc,na(Hc,h));g&&h.setTimeoutInterval(g);h.send(a,c,d,f)},Hc=function(a){a.dispose();Wa(Ec,a)};p=$.prototype;p.active_=e;p.xhr_=j;p.xhrOptions_=j;p.lastUri_=E;p.lastMethod_=E;p.lastErrorCode_=0;p.lastError_=E;p.errorDispatched_=e;p.inSend_=e;p.inOpen_=e;p.inAbort_=e;p.timeoutInterval_=0;p.timeoutId_=j;
p.setTimeoutInterval=function(a){this.timeoutInterval_=Math.max(0,a)};var Jc="GET",Kc="POST",Lc="Content-Type",Mc="application/x-www-form-urlencoded;charset=utf-8";
p.send=function(a,b,c,d){if(this.active_)m(Error("[goog.net.XhrIo] Object is active with another request"));var f=b||Jc;this.lastUri_=a;this.lastError_=E;this.lastErrorCode_=0;this.lastMethod_=f;this.errorDispatched_=e;this.active_=l;this.xhr_=new vc;this.xhrOptions_=xc||(xc=wc());Z.markXhrOpen(this.xhr_);this.xhr_.onreadystatechange=C(this.onReadyStateChange_,this);try{this.inOpen_=l;this.xhr_.open(f,a,l);this.inOpen_=e}catch(g){this.error_(5,g);return}var h=c?String(c):E,i=this.headers.clone();
d&&mc(d,function(n,k){i.set(k,n)});f==Kc&&!i.containsKey(Lc)&&i.set(Lc,Mc);mc(i,function(n,k){this.xhr_.setRequestHeader(k,n)},this);try{if(this.timeoutId_){sc.clearTimeout(this.timeoutId_);this.timeoutId_=j}if(this.timeoutInterval_>0)this.timeoutId_=sc.setTimeout(C(this.timeout_,this),this.timeoutInterval_);this.inSend_=l;this.xhr_.send(h);this.inSend_=e}catch(g){this.error_(5,g)}};
p.dispatchEvent=function(a){if(this.xhr_){Z.pushContext(this.xhr_);try{$.superClass_.dispatchEvent.call(this,a)}finally{Z.popContext()}}else $.superClass_.dispatchEvent.call(this,a)};var Nc="Timed out after ",Oc="ms, aborting",Pc="timeout";p.timeout_=function(){if(!(typeof aa=="undefined"))if(this.xhr_){this.lastError_=Nc+this.timeoutInterval_+Oc;this.lastErrorCode_=8;this.dispatchEvent(Pc);this.abort(8)}};
p.error_=function(a,b){this.active_=e;if(this.xhr_){this.inAbort_=l;this.xhr_.abort();this.inAbort_=e}this.lastError_=b;this.lastErrorCode_=a;this.dispatchErrors_();this.cleanUpXhr_()};var Qc="error";p.dispatchErrors_=function(){if(!this.errorDispatched_){this.errorDispatched_=l;this.dispatchEvent(Fc);this.dispatchEvent(Qc)}};var Rc="abort";
p.abort=function(a){if(this.xhr_){this.active_=e;this.inAbort_=l;this.xhr_.abort();this.inAbort_=e;this.lastErrorCode_=a||7;this.dispatchEvent(Fc);this.dispatchEvent(Rc);this.cleanUpXhr_()}};p.disposeInternal=function(){if(this.xhr_){this.active_=e;this.inAbort_=l;this.xhr_.abort();this.inAbort_=e;this.cleanUpXhr_(l)}$.superClass_.disposeInternal.call(this)};p.onReadyStateChange_=function(){!this.inOpen_&&!this.inSend_&&!this.inAbort_?this.onReadyStateChangeEntryPoint_():this.onReadyStateChangeHelper_()};
p.onReadyStateChangeEntryPoint_=function(){this.onReadyStateChangeHelper_()};var Sc="readystatechange",Tc="success",Uc=" [";
p.onReadyStateChangeHelper_=function(){if(!!this.active_)if(!(typeof aa=="undefined"))if(!(this.xhrOptions_[1]&&this.getReadyState()==4&&this.getStatus()==2))if(this.inSend_&&this.getReadyState()==4)sc.setTimeout(C(this.onReadyStateChange_,this),0);else{this.dispatchEvent(Sc);if(this.isComplete()){this.active_=e;if(this.isSuccess()){this.dispatchEvent(Fc);this.dispatchEvent(Tc)}else{this.lastErrorCode_=6;this.lastError_=this.getStatusText()+Uc+this.getStatus()+pc;this.dispatchErrors_()}this.cleanUpXhr_()}}};
p.cleanUpXhr_=function(a){if(this.xhr_){this.xhr_.onreadystatechange=this.xhrOptions_[0]?fa:j;var b=this.xhr_;this.xhrOptions_=this.xhr_=j;if(this.timeoutId_){sc.clearTimeout(this.timeoutId_);this.timeoutId_=j}if(!a){Z.pushContext(b);this.dispatchEvent(Gc);Z.popContext()}Z.markXhrClosed(b)}};p.isComplete=function(){return this.getReadyState()==4};p.isSuccess=function(){switch(this.getStatus()){case 0:case 200:case 204:case 304:return l;default:return e}};
p.getReadyState=function(){return this.xhr_?this.xhr_.readyState:0};p.getStatus=function(){try{return this.getReadyState()>2?this.xhr_.status:-1}catch(a){return-1}};p.getStatusText=function(){try{return this.getReadyState()>2?this.xhr_.statusText:E}catch(a){return E}};p.getResponseJson=function(){return this.xhr_?rc(this.xhr_.responseText):undefined};var Vc,Wc,Xc,Yc,Zc,$c,ad="Firefox",bd="iPhone",cd="iPod",dd="Android",ed="Chrome",fd="Safari";(function(){$c=Zc=Yc=Xc=Wc=Vc=e;var a=Da();if(!!a)if(a.indexOf(ad)!=-1)Vc=l;else if(a.indexOf(Ja)!=-1)Wc=l;else if(a.indexOf(bd)!=-1||a.indexOf(cd)!=-1)Xc=l;else if(a.indexOf(dd)!=-1)Yc=l;else if(a.indexOf(ed)!=-1)Zc=l;else if(a.indexOf(fd)!=-1)$c=l})();var gd=function(a,b){this.entityId_=encodeURIComponent(a);if(b)this.sender_=b;else{this.sender_=$;this.sender_.send=Ic}this.writeToken_=E;this.options_={};this.counts_={};this.decodeLabel_={};this.selectedReactions_=new nc};p=gd.prototype;var hd="a",id="rx-option",jd="span",kd="rx-label",ld="rx-count",md="0";
p.initialize=function(a){var b=document.getElementById(a),c=Qb(hd,id,b),d=0;for(;d<c.length;d++){var f=c[d],g=Qb(jd,kd,f)[0],h=Zb(g);this.options_[h]=f;this.decodeLabel_[this.encodeLabel_(h)]=h;Bb(f,C(this.toggle,this,h));var i=Qb(jd,ld,f)[0];this.counts_[h]=i;i.innerHTML=md}var n=C(this.displayRetrievedAnnotations_,this),k=C(this.disableOptions_,this);this.loadExistingReactions_(n,k)};p.setZipitToken_=function(a){this.writeToken_=a};var nd="http://www.blogger.com/reviews/json/token",od='req={"applicationId":34}';
p.loadZipitToken_=function(a){var b=C(this.disableOptions_,this),c=C(this.setZipitToken_,this),d=C(this.toggle,this);this.sender_.send(nd,function(){if(this.isSuccess()){var f=this.getResponseJson();c(f.channelHeader.token);a&&d(a)}else b()},Kc,od)};var pd="http://www.blogger.com/reviews/json/aggregates",qd='req={"entities":[{"url": "',rd='","groups":["reactions"]},{"url": "',sd='"}],"applicationId":34}';
p.loadExistingReactions_=function(a,b){this.sender_.send(pd,function(){this.isSuccess()?a(this.getResponseJson()):b()},Kc,qd+this.entityId_+rd+this.entityId_+sd)};p.displayRetrievedAnnotations_=function(a){if(a.entityAggregates){var b=0;for(;b<a.entityAggregates.length;b++){var c=e;if(c=a.entityAggregates[b].labels){var d=0;for(;d<c.length;d++){var f=this.counts_[this.decodeLabel_[c[d].label]];if(f){var g=parseInt(Zb(f),10);if(isNaN(g))g=0;f.innerHTML=g+parseInt(c[d].count,10)}}}}}};var td="_";
p.encodeLabel_=function(a){a=a.replace(/([^A-Za-z ])/g,function(b){return td+b.charCodeAt(0)});return a=a.replace(/([A-Z])/g,function(b){return td+b.toLowerCase()})};var ud="rx-holder";p.disableOptions_=function(){var a=Qb(hd,id,document.getElementById(ud)),b=0;for(;b<a.length;b++){var c=a[b];c.style.borderColor=j;tb(c)}};
var vd='"',wd='", ',xd="http://www.blogger.com/reviews/json/write",yd='req={"annotations": [ {"replaceAllLabels":true,"entity": {"url": "',zd='","groups":["reactions"]},"labels":[',Ad=']}],"applicationId":34}&token=',Bd="rx-checked",Cd="rx-unchecked";
p.toggle=function(a){if(this.writeToken_==E)this.loadZipitToken_(a);else{if(this.selectedReactions_.get(a)){var b=e;this.selectedReactions_.remove(a)}else{var b=l;this.selectedReactions_.set(a,l)}var c=E;jc(this.selectedReactions_.getKeyIterator(),function(h){c=c+vd+this.encodeLabel_(h)+wd},this);this.sender_.send(xd,fa,Kc,yd+this.entityId_+zd+c+Ad+this.writeToken_);var d=this.options_[a];if(d){var f=this.counts_[a],g=parseInt(Zb(f),10);if(isNaN(g))g=0;f.innerHTML=b?g+1:g-1;Hb(d,Bd);Hb(d,Cd)}}};oa("BLOG_Annotator",gd);pa(gd.prototype,"initialize",gd.prototype.initialize);
 })()
