(function(n){function h(n){return typeof n!="undefined"}function et(n){return typeof n=="object"&&n!=null}function ht(n,t,i){return isNaN(n)?i:nt(i,p(t,n))}function it(){return!1}function k(){return(new Date).valueOf()}function bi(n,t){for(var r=[],u=n.length,i=0;i<u;++i)r.push(n[i]);return r.sort(t),r}function ri(n){for(var t=n.length-1,r,i;t;)i=~~(Math.random()*t),r=n[t],n[t]=n[i],n[i]=r,--t}function d(n,t,i){this.x=n;this.y=t;this.z=i}function ki(n,t){t=t*Math.PI/180;n=n*Math.PI/180;var i=y(n)*o(t),r=-y(t),u=-o(n)*o(t);return new d(i,r,u)}function c(n){this[1]={1:n[0],2:n[1],3:n[2]};this[2]={1:n[3],2:n[4],3:n[5]};this[3]={1:n[6],2:n[7],3:n[8]}}function di(n,t,i,r){for(var f,e,s,h=[],l=Math.PI*(3-ot(5)),c=2/n,u=0;u<n;++u)f=u*c-1+c/2,e=ot(1-f*f),s=u*l,h.push([o(s)*e*t,f*i,y(s)*e*r]);return h}function ui(n,t,i,r,u){for(var e,l=[],v=Math.PI*(3-ot(5)),a=2/n,s,h,c,f=0;f<n;++f)s=f*a-1+a/2,e=f*v,h=o(e),c=y(e),l.push(t?[s*i,h*r,c*u]:[h*i,s*r,c*u]);return l}function fi(n,t,i,r,u,f){for(var s,l=[],a=Math.PI*2/t,h,c,e=0;e<t;++e)s=e*a,h=o(s),c=y(s),l.push(n?[f*i,h*r,c*u]:[h*i,f*r,c*u]);return l}function gi(n,t,i,r){return ui(n,0,t,i,r)}function nr(n,t,i,r){return ui(n,1,t,i,r)}function tr(n,t,i,r,u){return u=isNaN(u)?0:u*1,fi(0,n,t,i,r,u)}function ir(n,t,i,r,u){return u=isNaN(u)?0:u*1,fi(1,n,t,i,r,u)}function rr(n,t){var i=n,r,u,f=(t*1).toPrecision(3)+")";return n[0]==="#"?(st[n]||(st[n]=n.length===4?"rgba("+at[n[1]]+at[n[2]]+at[n[3]]:"rgba("+ft[n.substr(1,2)]+ft[n.substr(3,2)]+ft[n.substr(5,2)]),i=st[n]+f):n.substr(0,4)==="rgb("||n.substr(0,4)==="hsl("?i=n.replace("(","a(").replace(")",","+f):(n.substr(0,5)==="rgba("||n.substr(0,5)==="hsla(")&&(r=n.lastIndexOf(",")+1,u=n.indexOf(")"),t*=parseFloat(n.substring(r,u)),i=n.substr(0,r)+t.toPrecision(3)+")"),i}function l(n,t){if(window.G_vmlCanvasManager)return null;var i=r.createElement("canvas");return i.width=n,i.height=t,i}function ur(){var t=l(3,3),n,i;return t?(n=t.getContext("2d"),n.strokeStyle="#000",n.shadowColor="#fff",n.shadowBlur=3,n.globalAlpha=0,n.strokeRect(2,2,2,2),n.globalAlpha=1,i=n.getImageData(2,2,1,1),t=null,i.data[0]>0):!1}function fr(n,t,i,r){var u=n.createLinearGradient(0,0,t,0);for(var f in r)u.addColorStop(1-f,r[f]);n.fillStyle=u;n.fillRect(0,i,t,1)}function wt(n,t,i){var s=1024,r=1,u=n.weightGradient,h,o,f,e;if(n.gCanvas)o=n.gCanvas.getContext("2d"),r=n.gCanvas.height;else{if(et(u[0])?r=u.length:u=[u],n.gCanvas=h=l(s,r),!h)return null;for(o=h.getContext("2d"),f=0;f<r;++f)fr(o,s,f,u[f])}return i=p(nt(i||0,r-1),0),e=o.getImageData(~~((s-1)*t),i,1,1).data,"rgba("+e[0]+","+e[1]+","+e[2]+","+e[3]/255+")"}function ei(n,t,i,r,u,f,e,o,s,h){var y=u+(e||0)+(o&&o[0]<0?v(o[0]):0),l=u+(e||0)+(o&&o[1]<0?v(o[1]):0),c,a;for(n.font=t,n.textBaseline="top",n.fillStyle=i,f&&(n.shadowColor=f),e&&(n.shadowBlur=e),o&&(n.shadowOffsetX=o[0],n.shadowOffsetY=o[1]),c=0;c<r.length;++c)a=h?(s-h[c])/2:0,n.fillText(r[c],y+a,l),l+=parseInt(t)}function rt(n,t,i,r,u,f,e){f?(n.beginPath(),n.moveTo(t,i+u-f),n.arcTo(t,i,t+f,i,f),n.arcTo(t+r,i,t+r,i+f,f),n.arcTo(t+r,i+u,t+r-f,i+u,f),n.arcTo(t,i+u,t,i+u-f,f),n.closePath(),n[e?"stroke":"fill"]()):n[e?"strokeRect":"fillRect"](t,i,r,u)}function bt(n,t,i,r,u,f,e,o,s,h,c,a,y,p,w){var it=i+v(c[0])+2*(h+a)+o,ut=r+v(c[1])+2*(h+a)+o,k,b,d,g,nt,tt;return(k=l(it,ut),!k)?null:(d=nt=o/2,g=it-o,tt=ut-o,a+=d,b=k.getContext("2d"),f&&(b.fillStyle=f,rt(b,d,nt,g,tt,y)),o&&(b.strokeStyle=e,b.lineWidth=o,rt(b,d,nt,g,tt,y,!0)),ei(b,t,u,n,a,s,h,c,p,w),k)}function ct(n,t,i){var r=l(t,i),u;return r?(u=r.getContext("2d"),u.drawImage(n,(t-n.width)/2,(i-n.height)/2),r):null}function kt(n,t,i){var r=l(t,i),u;return r?(u=r.getContext("2d"),u.drawImage(n,0,0,t,i),r):null}function oi(n,t,i,r,u,f,e,o,s,h){var v=t+(2*o+f)*r,y=i+(2*o+f)*r,p=l(v,y),c,w,b,k,d,g,a;return p?(f*=r,s*=r,w=b=f/2,k=v-f,d=y-f,o=o*r+w,c=p.getContext("2d"),u&&(c.fillStyle=u,rt(c,w,b,k,d,s)),f&&(c.strokeStyle=e,c.lineWidth=f,rt(c,w,b,k,d,s,!0)),h?(g=l(v,y),a=g.getContext("2d"),a.drawImage(n,o,o,t,i),a.globalCompositeOperation="source-in",a.fillStyle=e,a.fillRect(0,0,v,y),a.globalCompositeOperation="destination-over",a.drawImage(p,0,0),a.globalCompositeOperation="source-over",c.drawImage(g,0,0)):c.drawImage(n,o,o,n.width,n.height),{image:p,width:v/r,height:y/r}):null}function er(n,t,i,r,u,f,e){var h=v(e[0]),c=v(e[1]),a=t+(h>f?h+f:f*2)*r,y=i+(c>f?c+f:f*2)*r,p=r*((f||0)+(e[0]<0?h:0)),w=r*((f||0)+(e[1]<0?c:0)),s,o;return(s=l(a,y),!s)?null:(o=s.getContext("2d"),u&&(o.shadowColor=u),f&&(o.shadowBlur=f*r),e&&(o.shadowOffsetX=e[0]*r,o.shadowOffsetY=e[1]*r),o.drawImage(n,p,w,t,i),{image:s,width:a/r,height:y/r})}function si(n,t,i){var u=parseInt(n.toString().length*i),c=parseInt(i*2*n.length),v=l(u,c),h,a,o,s,f,e,y,r;if(!v)return null;for(h=v.getContext("2d"),h.fillStyle="#000",h.fillRect(0,0,u,c),ei(h,i+"px "+t,"#fff",n,0,0,0,[]),a=h.getImageData(0,0,u,c),o=a.width,s=a.height,r={min:{x:o,y:s},max:{x:-1,y:-1}},e=0;e<s;++e)for(f=0;f<o;++f)y=(e*o+f)*4,a.data[y+1]>0&&(f<r.min.x&&(r.min.x=f),f>r.max.x&&(r.max.x=f),e<r.min.y&&(r.min.y=e),e>r.max.y&&(r.max.y=e));return o!=u&&(r.min.x*=u/o,r.max.x*=u/o),s!=c&&(r.min.y*=u/s,r.max.y*=u/s),v=null,r}function dt(n){return"'"+n.replace(/(\'|\")/g,"").replace(/\s*,\s*/g,"', '")+"'"}function f(n,t,i){i=i||r;i.addEventListener?i.addEventListener(n,t,!1):i.attachEvent("on"+n,t)}function gt(n,t,i,r){var c=r.imageScale,h,u,l,a,e,o;if(!t.complete)return f("load",function(){gt(n,t,i,r)},t);if(!n.complete)return f("load",function(){gt(n,t,i,r)},n);t.width=t.width;t.height=t.height;c&&(n.width=t.width*c,n.height=t.height*c);i.w=n.width;i.h=n.height;r.txtOpt&&(u=n,h=r.zoomMax*r.txtScale,e=i.w*h,o=i.h*h,e<t.naturalWidth||o<t.naturalHeight?(u=kt(n,e,o),u&&(i.image=u)):(e=i.w,o=i.h,h=1),r.shadow&&(u=er(i.image,e,o,h,r.shadow,r.shadowBlur,r.shadowOffset),u&&(i.image=u.image,i.w=u.width,i.h=u.height)),(r.bgColour||r.bgOutlineThickness)&&(l=r.bgColour=="tag"?s(i.a,"background-color"):r.bgColour,a=r.bgOutline=="tag"?s(i.a,"color"):r.bgOutline||r.textColour,e=i.image.width,o=i.image.height,r.outlineMethod=="colour"&&(u=oi(i.image,e,o,h,l,r.bgOutlineThickness,r.outlineColour,r.padding,r.bgRadius,1),u&&(i.oimage=u.image)),u=oi(i.image,e,o,h,l,r.bgOutlineThickness,a,r.padding,r.bgRadius),u&&(i.image=u.image,i.w=u.width,i.h=u.height)),r.outlineMethod=="size"&&(r.outlineIncrease>0?(i.w+=2*r.outlineIncrease,i.h+=2*r.outlineIncrease,e=h*i.w,o=h*i.h,u=kt(i.image,e,o),i.oimage=u,i.image=ct(i.image,i.oimage.width,i.oimage.height)):(e=h*(i.w+2*r.outlineIncrease),o=h*(i.h+2*r.outlineIncrease),u=kt(i.image,e,o),i.oimage=ct(u,i.image.width,i.image.height))))}function s(n,t){var i=r.defaultView,u=t.replace(/\-([a-z])/g,function(n){return n.charAt(1).toUpperCase()});return i&&i.getComputedStyle&&i.getComputedStyle(n,null).getPropertyValue(t)||n.currentStyle&&n.currentStyle[u]}function or(n,t,i){var u=1,r;return t?u=1*(n.getAttribute(t)||i):(r=s(n,"font-size"))&&(u=r.indexOf("px")>-1&&r.replace("px","")*1||r.indexOf("pt")>-1&&r.replace("pt","")*1.25||r*3.3),u}function g(n){return n.target&&h(n.target.id)?n.target.id:n.srcElement.parentNode.id}function ni(n,t){var i,r,u=parseInt(s(t,"width"))/t.width,f=parseInt(s(t,"height"))/t.height;return h(n.offsetX)?i={x:n.offsetX,y:n.offsetY}:(r=vi(t.id),h(n.changedTouches)&&(n=n.changedTouches[0]),n.pageX&&(i={x:n.pageX-r.x,y:n.pageY-r.y})),i&&u&&f&&(i.x/=u,i.y/=f),i}function sr(n){var r=n.target||n.fromElement.parentNode,i=t.tc[r.id];i&&(i.mx=i.my=-1,i.UnFreeze(),i.EndDrag())}function hi(n){var e,r=t,i,u,f=g(n);for(e in r.tc)i=r.tc[e],i.tttimer&&(clearTimeout(i.tttimer),i.tttimer=null);f&&r.tc[f]&&(i=r.tc[f],(u=ni(n,i.canvas))&&(i.mx=u.x,i.my=u.y,i.Drag(n,u)),i.drawn=0)}function hr(n){var u=t,f=r.addEventListener?0:1,i=g(n);i&&n.button==f&&u.tc[i]&&u.tc[i].BeginDrag(n)}function cr(n){var f=t,e=r.addEventListener?0:1,u=g(n),i;u&&n.button==e&&f.tc[u]&&(i=f.tc[u],hi(n),i.EndDrag()||i.touched||i.Clicked(n))}function lr(n){var r=t,i=g(n);i&&n.changedTouches&&r.tc[i]&&(r.tc[i].touched=1,r.tc[i].BeginDrag(n))}function ci(n){var r=t,i=g(n);i&&n.changedTouches&&r.tc[i]&&(li(n),r.tc[i].EndDrag()||(r.tc[i].Draw(),r.tc[i].Clicked(n)))}function li(n){var e,r=t,i,u,f=g(n);for(e in r.tc)i=r.tc[e],i.tttimer&&(clearTimeout(i.tttimer),i.tttimer=null);f&&r.tc[f]&&n.changedTouches&&(i=r.tc[f],(u=ni(n,i.canvas))&&(i.mx=u.x,i.my=u.y,i.Drag(n,u)),i.drawn=0)}function ai(n){var r=t,i=g(n);i&&r.tc[i]&&(n.cancelBubble=!0,n.returnValue=!1,n.preventDefault&&n.preventDefault(),r.tc[i].Wheel((n.wheelDelta||n.detail)>0))}function ti(n){var i=t.tc,r,u;n=n||k();for(r in i)u=i[r].interval,i[r].Draw(n);t.NextFrame(u)}function vi(n){var e=r.getElementById(n),i=e.getBoundingClientRect(),t=r.documentElement,u=r.body,f=window,o=f.pageXOffset||t.scrollLeft,s=f.pageYOffset||t.scrollTop,h=t.clientLeft||u.clientLeft,c=t.clientTop||u.clientTop;return{x:i.left+o-h,y:i.top+s-c}}function ar(n,t,i,r){var u=n.radius*n.z1/(n.z1+n.z2+t.z);return{x:t.x*u*i,y:t.y*u*r,z:t.z,w:(n.z1-t.z)/n.z2}}function yi(n){this.e=n;this.br=0;this.line=[];this.text=[];this.original=n.innerText||n.textContent}function pi(n,t){this.ts=k();this.tc=n;this.tag=t;this.x=this.y=this.w=this.h=this.sc=1;this.z=0;this.Draw=n.pulsateTo<1&&n.outlineMethod!="colour"?this.DrawPulsate:this.DrawSimple;this.radius=n.outlineRadius|0;this.SetMethod(n.outlineMethod)}function ii(n,t,i,r,u,f,e,o,s,h,c,l,a,v){var y=n.ctxt;this.tc=n;this.image=t.src?t:null;this.text=t.src?[]:t;this.text_original=v;this.line_widths=[];this.title=i.title||null;this.a=i;this.position=new d(r[0],r[1],r[2]);this.x=this.y=this.z=0;this.w=u;this.h=f;this.colour=e||n.textColour;this.bgColour=o||n.bgColour;this.bgRadius=s|0;this.bgOutline=h||this.colour;this.bgOutlineThickness=c|0;this.textFont=l||n.textFont;this.padding=a|0;this.sc=this.alpha=1;this.weighted=!n.weight;this.outline=new pi(n,this);this.image||(this.textHeight=n.textHeight,this.Measure(y,n));this.SetShadowColour=n.shadowAlpha?this.SetShadowColourAlpha:this.SetShadowColourFixed;this.SetDraw(n)}function t(n,i,u){var o,s,e=r.getElementById(n),l=["id","class","innerHTML"];if(!e)throw 0;if(h(window.G_vmlCanvasManager)&&(e=window.G_vmlCanvasManager.initElement(e),this.ie=parseFloat(navigator.appVersion.split("MSIE")[1])),e&&(!e.getContext||!e.getContext("2d").fillText)){for(s=r.createElement("DIV"),o=0;o<l.length;++o)s[l[o]]=e[l[o]];e.parentNode.insertBefore(s,e);e.parentNode.removeChild(e);throw 0;}for(o in t.options)this[o]=u&&h(u[o])?u[o]:h(t[o])?t[o]:t.options[o];this.canvas=e;this.ctxt=e.getContext("2d");this.z1=250/this.depth;this.z2=this.z1/this.zoom;this.radius=nt(e.height,e.width)*.0075;this.max_weight=[];this.min_weight=[];this.textFont=this.textFont&&dt(this.textFont);this.textHeight*=1;this.pulsateTo=ht(this.pulsateTo,0,1);this.minBrightness=ht(this.minBrightness,0,1);this.maxBrightness=ht(this.maxBrightness,this.minBrightness,1);this.ctxt.textBaseline="top";this.lx=(this.lock+"").indexOf("x")+1;this.ly=(this.lock+"").indexOf("y")+1;this.frozen=this.dx=this.dy=this.fixedAnim=this.touched=0;this.fixedAlpha=1;this.source=i||n;this.transform=c.Identity();this.startTime=this.time=k();this.Animate=this.dragControl?this.AnimateDrag:this.AnimatePosition;this.animTiming=typeof t[this.animTiming]=="function"?t[this.animTiming]:t.Smooth;this.shadowBlur||this.shadowOffset[0]||this.shadowOffset[1]?(this.ctxt.shadowColor=this.shadow,this.shadow=this.ctxt.shadowColor,this.shadowAlpha=ur()):delete this.shadow;this.Load();i&&this.hideTags&&function(n){t.loaded?n.HideTags():f("load",function(){n.HideTags()},window)}(this);this.yaw=this.initial?this.initial[0]*this.maxSpeed:0;this.pitch=this.initial?this.initial[1]*this.maxSpeed:0;this.tooltip?this.tooltip=="native"?this.Tooltip=this.TooltipNative:(this.Tooltip=this.TooltipDiv,this.ttdiv||(this.ttdiv=r.createElement("div"),this.ttdiv.className=this.tooltipClass,this.ttdiv.style.position="absolute",this.ttdiv.style.zIndex=e.style.zIndex+1,f("mouseover",function(n){n.target.style.display="none"},this.ttdiv),r.body.appendChild(this.ttdiv))):this.Tooltip=this.TooltipNone;this.noMouse||pt[n]||(f("mousemove",hi,e),f("mouseout",sr,e),f("mouseup",cr,e),f("touchstart",lr,e),f("touchend",ci,e),f("touchcancel",ci,e),f("touchmove",li,e),this.dragControl&&(f("mousedown",hr,e),f("selectstart",it,e)),this.wheelZoom&&(f("mousewheel",ai,e),f("DOMMouseScroll",ai,e)),pt[n]=1);t.started||(t.started=setTimeout(ti,this.interval))}function w(n,i){t.tc[i]&&t.tc[i][n]()}for(var ut,v=Math.abs,y=Math.sin,o=Math.cos,p=Math.max,nt=Math.min,wi=Math.ceil,ot=Math.sqrt,lt=Math.pow,st={},ft={},at={0:"0,",1:"17,",2:"34,",3:"51,",4:"68,",5:"85,",6:"102,",7:"119,",8:"136,",9:"153,",a:"170,",A:"170,",b:"187,",B:"187,",c:"204,",C:"204,",d:"221,",D:"221,",e:"238,",E:"238,",f:"255,",F:"255,"},e,u,i,vt,tt,yt,r=document,b,pt={},a=0;a<256;++a)ut=a.toString(16),a<16&&(ut="0"+ut),ft[ut]=ft[ut.toUpperCase()]=a.toString()+",";tt=d.prototype;tt.length=function(){return ot(this.x*this.x+this.y*this.y+this.z*this.z)};tt.dot=function(n){return this.x*n.x+this.y*n.y+this.z*n.z};tt.cross=function(n){var t=this.y*n.z-this.z*n.y,i=this.z*n.x-this.x*n.z,r=this.x*n.y-this.y*n.x;return new d(t,i,r)};tt.angle=function(n){var i=this.dot(n),t;return i==0?Math.PI/2:(t=i/(this.length()*n.length()),t>=1)?0:t<=-1?Math.PI:Math.acos(t)};tt.unit=function(){var n=this.length();return new d(this.x/n,this.y/n,this.z/n)};vt=c.prototype;c.Identity=function(){return new c([1,0,0,0,1,0,0,0,1])};c.Rotation=function(n,t){var r=y(n),u=o(n),i=1-u;return new c([u+lt(t.x,2)*i,t.x*t.y*i-t.z*r,t.x*t.z*i+t.y*r,t.y*t.x*i+t.z*r,u+lt(t.y,2)*i,t.y*t.z*i-t.x*r,t.z*t.x*i-t.y*r,t.z*t.y*i+t.x*r,u+lt(t.z,2)*i])};vt.mul=function(n){for(var r=[],i,u=n.xform?1:0,t=1;t<=3;++t)for(i=1;i<=3;++i)u?r.push(this[t][1]*n[1][i]+this[t][2]*n[2][i]+this[t][3]*n[3][i]):r.push(this[t][i]*n);return new c(r)};vt.xform=function(n){var t={},i=n.x,r=n.y,u=n.z;return t.x=i*this[1][1]+r*this[2][1]+u*this[3][1],t.y=i*this[1][2]+r*this[2][2]+u*this[3][2],t.z=i*this[1][3]+r*this[2][3]+u*this[3][3],t};yt=yi.prototype;yt.Lines=function(n){var u=n?1:0,i,r,t;for(n=n||this.e,i=n.childNodes,r=i.length,t=0;t<r;++t)i[t].nodeName=="BR"?(this.text.push(this.line.join(" ")),this.br=1):i[t].nodeType==3?this.br?(this.line=[i[t].nodeValue],this.br=0):this.line.push(i[t].nodeValue):this.Lines(i[t]);return u||this.br||this.text.push(this.line.join(" ")),this.text};yt.SplitWidth=function(n,t,i,r){var e,u,f,o=[];for(t.font=r+"px "+i,e=0;e<this.text.length;++e){for(f=this.text[e].split(/\s+/),this.line=[f[0]],u=1;u<f.length;++u)t.measureText(this.line.join(" ")+" "+f[u]).width>n?(o.push(this.line.join(" ")),this.line=[f[u]]):this.line.push(f[u]);o.push(this.line.join(" "))}return this.text=o};e=pi.prototype;e.SetMethod=function(n){var t={block:["PreDraw","DrawBlock"],colour:["PreDraw","DrawColour"],outline:["PostDraw","DrawOutline"],classic:["LastDraw","DrawOutline"],size:["PreDraw","DrawColour"],none:["LastDraw"]},i=t[n]||t.outline;n=="none"?this.Draw=function(){return 1}:this.drawFunc=this[i[1]];this[i[0]]=this.Draw};e.Update=function(n,t,i,r,u,f,e,o){var s=this.tc.outlineOffset,h=2*s;this.x=u*n+e-s;this.y=u*t+o-s;this.w=u*i+h;this.h=u*r+h;this.sc=u;this.z=f};e.DrawOutline=function(n,t,i,r,u,f){n.strokeStyle=f;rt(n,t,i,r,u,this.radius,!0)};e.DrawColour=function(n,t,i,r,u,f,e,o,s){return e.oimage?(e.alpha=1,e.Draw(n,o,s,e.oimage),1):this[e.image?"DrawColourImage":"DrawColourText"](n,t,i,r,u,f,e,o,s)};e.DrawColourText=function(n,t,i,r,u,f,e,o,s){var h=e.colour;return e.colour=f,e.alpha=1,e.Draw(n,o,s),e.colour=h,1};e.DrawColourImage=function(n,t,i,r,u,f,e,o,s){var y=n.canvas,a=~~p(t,0),v=~~p(i,0),h=nt(y.width-a,r)+.5|0,c=nt(y.height-v,u)+.5|0,w;return(b?(b.width=h,b.height=c):b=l(h,c),!b)?this.SetMethod("outline"):(w=b.getContext("2d"),w.drawImage(y,a,v,h,c,0,0,h,c),n.clearRect(a,v,h,c),e.alpha=1,e.Draw(n,o,s),n.setTransform(1,0,0,1,0,0),n.save(),n.beginPath(),n.rect(a,v,h,c),n.clip(),n.globalCompositeOperation="source-in",n.fillStyle=f,n.fillRect(a,v,h,c),n.restore(),n.globalCompositeOperation="destination-over",n.drawImage(b,0,0,h,c,a,v,h,c),n.globalCompositeOperation="source-over",1)};e.DrawBlock=function(n,t,i,r,u,f){n.fillStyle=f;rt(n,t,i,r,u,this.radius)};e.DrawSimple=function(n,t,i,r){var u=this.tc;return n.setTransform(1,0,0,1,0,0),n.strokeStyle=u.outlineColour,n.lineWidth=u.outlineThickness,n.shadowBlur=n.shadowOffsetX=n.shadowOffsetY=0,n.globalAlpha=1,this.drawFunc(n,this.x,this.y,this.w,this.h,u.outlineColour,t,i,r)};e.DrawPulsate=function(n,t,i,r){var f=k()-this.ts,u=this.tc;return n.setTransform(1,0,0,1,0,0),n.strokeStyle=u.outlineColour,n.lineWidth=u.outlineThickness,n.shadowBlur=n.shadowOffsetX=n.shadowOffsetY=0,n.globalAlpha=u.pulsateTo+(1-u.pulsateTo)*(.5+o(2*Math.PI*f/(1e3*u.pulsateTime))/2),this.drawFunc(n,this.x,this.y,this.w,this.h,u.outlineColour,t,i,r)};e.Active=function(n,t,i){return t>=this.x&&i>=this.y&&t<=this.x+this.w&&i<=this.y+this.h};e.PreDraw=e.PostDraw=e.LastDraw=it;u=ii.prototype;u.EqualTo=function(n){var t=n.getElementsByTagName("img");return this.a.href!=n.href?0:t.length?this.image.src==t[0].src:(n.innerText||n.textContent)==this.text_original};u.SetDraw=function(n){this.Draw=this.image?n.ie>7?this.DrawImageIE:this.DrawImage:this.DrawText;n.noSelect&&(this.CheckActive=it)};u.MeasureText=function(n){for(var u=this.text.length,i=0,r,t=0;t<u;++t)this.line_widths[t]=r=n.measureText(this.text[t]).width,i=p(i,r);return i};u.Measure=function(n,t){var f=si(this.text,this.textFont,this.textHeight),i,e,u,o,r;this.h=f?f.max.y+f.min.y:this.textHeight;n.font=this.font=this.textHeight+"px "+this.textFont;this.w=this.MeasureText(n);t.txtOpt&&(i=t.txtScale,e=i*this.textHeight,u=e+"px "+this.textFont,o=[i*t.shadowOffset[0],i*t.shadowOffset[1]],n.font=u,r=this.MeasureText(n),this.image=bt(this.text,u,r+i,i*this.h+i,this.colour,this.bgColour,this.bgOutline,i*this.bgOutlineThickness,t.shadow,i*t.shadowBlur,o,i*this.padding,i*this.bgRadius,r,this.line_widths),t.outlineMethod=="colour"?this.oimage=bt(this.text,u,r+i,i*this.h+i,t.outlineColour,this.bgColour,t.outlineColour,i*this.bgOutlineThickness,t.shadow,i*t.shadowBlur,o,i*this.padding,i*this.bgRadius,r,this.line_widths):t.outlineMethod=="size"&&(f=si(this.text,this.textFont,this.textHeight+t.outlineIncrease),e=f.max.y+f.min.y,u=i*(this.textHeight+t.outlineIncrease)+"px "+this.textFont,n.font=u,r=this.MeasureText(n),this.oimage=bt(this.text,u,r+i,i*e+i,this.colour,this.bgColour,this.bgOutline,i*this.bgOutlineThickness,t.shadow,i*t.shadowBlur,o,i*this.padding,i*this.bgRadius,r,this.line_widths),t.outlineIncrease>0?this.image=ct(this.image,this.oimage.width,this.oimage.height):this.oimage=ct(this.oimage,this.image.width,this.image.height)),this.image&&(this.w=this.image.width/i,this.h=this.image.height/i),this.SetDraw(t),t.txtOpt=!!this.image)};u.SetFont=function(n,t){this.textFont=n;this.colour=t;this.Measure(this.tc.ctxt,this.tc)};u.SetWeight=function(n){var i=this.tc,u=i.weightMode.split(/[, ]/),r,t,f=n.length;if(this.text.length){for(this.weighted=!0,t=0;t<f;++t)r=u[t]||"size","both"==r?(this.Weight(n[t],i.ctxt,i,"size",i.min_weight[t],i.max_weight[t],t),this.Weight(n[t],i.ctxt,i,"colour",i.min_weight[t],i.max_weight[t],t)):this.Weight(n[t],i.ctxt,i,r,i.min_weight[t],i.max_weight[t],t);this.Measure(i.ctxt,i)}};u.Weight=function(n,t,i,r,u,f,e){var o=(n-u)/(f-u);"colour"==r?this.colour=wt(i,o,e):"bgcolour"==r?this.bgColour=wt(i,o,e):"bgoutline"==r?this.bgOutline=wt(i,o,e):"size"==r&&(this.textHeight=i.weightSizeMin>0&&i.weightSizeMax>i.weightSizeMin?i.weightSize*(i.weightSizeMin+(i.weightSizeMax-i.weightSizeMin)*o):n*i.weightSize)};u.SetShadowColourFixed=function(n,t){n.shadowColor=t};u.SetShadowColourAlpha=function(n,t,i){n.shadowColor=rr(t,i)};u.DrawText=function(n,t,i){var e=this.tc,o=this.x,f=this.y,r=this.sc,u,s;for(n.globalAlpha=this.alpha,n.fillStyle=this.colour,e.shadow&&this.SetShadowColour(n,e.shadow,this.alpha),n.font=this.font,o+=t/r,f+=i/r-this.h/2,u=0;u<this.text.length;++u)s=o-this.line_widths[u]/2,n.setTransform(r,0,0,r,r*s,r*f),n.fillText(this.text[u],0,0),f+=this.textHeight};u.DrawImage=function(n,t,i,r){var f=this.x,e=this.y,u=this.sc,l=r||this.image,o=this.w,s=this.h,h=this.alpha,c=this.shadow;n.globalAlpha=h;c&&this.SetShadowColour(n,c,h);f+=t/u-o/2;e+=i/u-s/2;n.setTransform(u,0,0,u,u*f,u*e);n.drawImage(l,0,0,o,s)};u.DrawImageIE=function(n,t,i){var u=this.image,r=this.sc,f=u.width=this.w*r,e=u.height=this.h*r,o=this.x*r+t-f/2,s=this.y*r+i-e/2;n.setTransform(1,0,0,1,0,0);n.globalAlpha=this.alpha;n.drawImage(u,o,s)};u.Calc=function(n,t){var i,r=this.tc,u=r.minBrightness,e=r.maxBrightness,f=r.max_radius;i=n.xform(this.position);this.xformed=i;i=ar(r,i,r.stretchX,r.stretchY);this.x=i.x;this.y=i.y;this.z=i.z;this.sc=i.w;this.alpha=t*ht(u+(e-u)*(f-this.z)/(2*f),0,1)};u.UpdateActive=function(n,t,i){var r=this.outline,u=this.w,f=this.h,e=this.x-u/2,o=this.y-f/2;return r.Update(e,o,u,f,this.sc,this.z,t,i),r};u.CheckActive=function(n,t,i){var r=this.tc,u=this.UpdateActive(n,t,i);return u.Active(n,r.mx,r.my)?u:null};u.Clicked=function(){var t=this.a,n=t.target,i=t.href,u;if(n!=""&&n!="_self"){if(self.frames[n])self.frames[n].document.location=i;else{try{if(top.frames[n]){top.frames[n].document.location=i;return}}catch(f){}window.open(i,n)}return}if(r.createEvent){if(u=r.createEvent("MouseEvents"),u.initMouseEvent("click",1,1,window,0,0,0,0,0,0,0,0,0,0,null),!t.dispatchEvent(u))return}else if(t.fireEvent&&!t.fireEvent("onclick"))return;r.location=i};i=t.prototype;i.SourceElements=function(){return r.querySelectorAll?r.querySelectorAll("#"+this.source):[r.getElementById(this.source)]};i.HideTags=function(){for(var t=this.SourceElements(),n=0;n<t.length;++n)t[n].style.display="none"};i.GetTags=function(){for(var r=this.SourceElements(),i,u=[],t,n=0;n<r.length;++n)for(i=r[n].getElementsByTagName("a"),t=0;t<i.length;++t)u.push(i[t]);return u};i.CreateTag=function(n,t){var f=n.getElementsByTagName("img"),r,i,u,e,o,h;return(t=t||[0,0,0],f.length)?(r=new Image,r.src=f[0].src,i=new ii(this,r,n,t,0,0),gt(r,f[0],i,this),i):(u=new yi(n),i=u.Lines(),e=this.textFont||dt(s(n,"font-family")),this.splitWidth&&(i=u.SplitWidth(this.splitWidth,this.ctxt,e,this.textHeight)),o=this.bgColour=="tag"?s(n,"background-color"):this.bgColour,h=this.bgOutline=="tag"?s(n,"color"):this.bgOutline,new ii(this,i,n,t,2,this.textHeight+2,this.textColour||s(n,"color"),o,this.bgRadius,h,this.bgOutlineThickness,e,this.padding,u.original))};i.UpdateTag=function(n,t){var i=this.textColour||s(t,"color"),r=this.textFont||dt(s(t,"font-family"));n.a=t;n.title=t.title;(n.colour!=i||n.textFont!=r)&&n.SetFont(r,i)};i.Weight=function(n){for(var f=n.length,r,t,u=[],e,o=this.weightFrom?this.weightFrom.split(/[, ]/):[null],s=o.length,i=0;i<f;++i)for(u[i]=[],t=0;t<s;++t)r=or(n[i].a,o[t],this.textHeight),(!this.max_weight[t]||r>this.max_weight[t])&&(this.max_weight[t]=r),(!this.min_weight[t]||r<this.min_weight[t])&&(this.min_weight[t]=r),u[i][t]=r;for(t=0;t<s;++t)this.max_weight[t]>this.min_weight[t]&&(e=1);if(e)for(i=0;i<f;++i)n[i].SetWeight(u[i])};i.Load=function(){var t=this.GetTags(),r=[],s,u,f,e,o,h,n,i=[],c={sphere:di,vcylinder:gi,hcylinder:nr,vring:tr,hring:ir};if(t.length){for(i.length=t.length,n=0;n<t.length;++n)i[n]=n;for(this.shuffleTags&&ri(i),f=100*this.radiusX,e=100*this.radiusY,o=100*this.radiusZ,this.max_radius=p(f,p(e,o)),this.shapeArgs?this.shapeArgs[0]=t.length:(u=this.shape.toString().split(/[(),]/),s=u.shift(),this.shape=c[s]||c.sphere,this.shapeArgs=[t.length,f,e,o].concat(u)),h=this.shape.apply(this,this.shapeArgs),this.listLength=t.length,n=0;n<t.length;++n)r.push(this.CreateTag(t[i[n]],h[n]));this.weight&&this.Weight(r,!0)}this.taglist=r};i.Update=function(){var u=this.GetTags(),r=[],h=this.taglist,c,f=[],i=[],e,o,s,n,t;if(!this.shapeArgs)return this.Load();if(u.length){for(s=this.listLength=u.length,o=h.length,n=0;n<o;++n)r.push(h[n]),i.push(n);for(n=0;n<s;++n){for(t=0,c=0;t<o;++t)h[t].EqualTo(u[n])&&(this.UpdateTag(r[t],u[n]),c=i[t]=-1);c||f.push(n)}for(n=0,t=0;n<o;++n)i[t]==-1?i.splice(t,1):++t;if(i.length){for(ri(i);i.length&&f.length;)n=i.shift(),t=f.shift(),r[n]=this.CreateTag(u[t]);for(i.sort(function(n,t){return n-t});i.length;)r.splice(i.pop(),1)}for(t=r.length/(f.length+1),n=0;f.length;)r.splice(wi(++n*t),0,this.CreateTag(u[f.shift()]));for(this.shapeArgs[0]=s=r.length,e=this.shape.apply(this,this.shapeArgs),n=0;n<s;++n)r[n].position=new d(e[n][0],e[n][1],e[n][2]);this.weight&&this.Weight(r)}this.taglist=r};i.SetShadow=function(n){n.shadowBlur=this.shadowBlur;n.shadowOffsetX=this.shadowOffset[0];n.shadowOffsetY=this.shadowOffset[1]};i.Draw=function(n){if(!this.paused){var l=this.canvas,e=l.width,o=l.height,v=0,y=(n-this.time)*this.interval/1e3,s=e/2+this.offsetX,h=o/2+this.offsetY,r=this.ctxt,i,f,t,p=-1,u=this.taglist,c=u.length,b=this.frontSelect,w=this.centreFunc==it,a;if(this.time=n,this.frozen&&this.drawn)return this.Animate(e,o,y);for(a=this.AnimateFixed(),r.setTransform(1,0,0,1,0,0),t=0;t<c;++t)u[t].Calc(this.transform,this.fixedAlpha);if(u=bi(u,function(n,t){return t.z-n.z}),a&&this.fixedAnim.active)i=this.fixedAnim.tag.UpdateActive(r,s,h);else{for(this.active=null,t=0;t<c;++t)f=this.mx>=0&&this.my>=0&&this.taglist[t].CheckActive(r,s,h),f&&f.sc>v&&(!b||f.z<=0)&&(i=f,p=t,i.tag=this.taglist[t],v=f.sc);this.active=i}for(this.txtOpt||this.shadow&&this.SetShadow(r),r.clearRect(0,0,e,o),t=0;t<c;++t){if(!w&&u[t].z<=0){try{this.centreFunc(r,e,o,s,h)}catch(k){alert(k);this.centreFunc=it}w=!0}i&&i.tag==u[t]&&i.PreDraw(r,u[t],s,h)||u[t].Draw(r,s,h);i&&i.tag==u[t]&&i.PostDraw(r)}this.freezeActive&&i?this.Freeze():(this.UnFreeze(),this.drawn=c==this.listLength);this.fixedCallback&&(this.fixedCallback(this,this.fixedCallbackTag),this.fixedCallback=null);a||this.Animate(e,o,y);i&&i.LastDraw(r);l.style.cursor=i?this.activeCursor:"";this.Tooltip(i,this.taglist[p])}};i.TooltipNone=function(){};i.TooltipNative=function(n,t){this.canvas.title=n&&t.title?t.title:""};i.TooltipDiv=function(n,t){var i=this,r=i.ttdiv.style,f=i.canvas.id,u="none";n&&t.title?(t.title!=i.ttdiv.innerHTML&&(r.display=u),i.ttdiv.innerHTML=t.title,t.title=i.ttdiv.innerHTML,r.display!=u||i.tttimer||(i.tttimer=setTimeout(function(){var n=vi(f);r.display="block";r.left=n.x+i.mx+"px";r.top=n.y+i.my+24+"px";i.tttimer=null},i.tooltipDelay))):r.display=u};i.Transform=function(n,t,i){if(t||i){var r=y(t),u=o(t),f=y(i),e=o(i),s=new c([e,0,f,0,1,0,-f,0,e]),h=new c([1,0,0,0,u,-r,0,r,u]);n.transform=n.transform.mul(s.mul(h))}};i.AnimateFixed=function(){var n,t,i,r,u;return(this.fadeIn&&(t=k()-this.startTime,t>=this.fadeIn?(this.fadeIn=0,this.fixedAlpha=1):this.fixedAlpha=t/this.fadeIn),this.fixedAnim)?(this.fixedAnim.transform||(this.fixedAnim.transform=this.transform),n=this.fixedAnim,t=k()-n.t0,i=n.angle,r,u=this.animTiming(n.t,t),this.transform=n.transform,t>=n.t?(this.fixedCallbackTag=n.tag,this.fixedCallback=n.cb,this.fixedAnim=this.yaw=this.pitch=0):i*=u,r=c.Rotation(i,n.axis),this.transform=this.transform.mul(r),this.fixedAnim!=0):!1};i.AnimatePosition=function(n,t,i){var r=this,f=r.mx,e=r.my,u,o;!r.frozen&&f>=0&&e>=0&&f<n&&e<t?(u=r.maxSpeed,o=r.reverse?-1:1,r.lx||(r.yaw=o*i*(u*2*f/n-u)),r.ly||(r.pitch=o*i*-(u*2*e/t-u)),r.initial=null):r.initial||(r.frozen&&!r.freezeDecel?r.yaw=r.pitch=0:r.Decel(r));this.Transform(r,r.pitch,r.yaw)};i.AnimateDrag=function(n,t,i){var r=this,u=100*i*r.maxSpeed/r.max_radius/r.zoom;r.dx||r.dy?(r.lx||(r.yaw=r.dx*u/r.stretchX),r.ly||(r.pitch=r.dy*-u/r.stretchY),r.dx=r.dy=0,r.initial=null):r.initial||r.Decel(r);this.Transform(r,r.pitch,r.yaw)};i.Freeze=function(){this.frozen||(this.preFreeze=[this.yaw,this.pitch],this.frozen=1,this.drawn=0)};i.UnFreeze=function(){this.frozen&&(this.yaw=this.preFreeze[0],this.pitch=this.preFreeze[1],this.frozen=0)};i.Decel=function(n){var t=n.minSpeed,i=v(n.yaw),r=v(n.pitch);!n.lx&&i>t&&(n.yaw=i>n.z0?n.yaw*n.decel:0);!n.ly&&r>t&&(n.pitch=r>n.z0?n.pitch*n.decel:0)};i.Zoom=function(n){this.z2=this.z1*(1/n);this.drawn=0};i.Clicked=function(n){var t=this.active;try{t&&t.tag&&(this.clickToFront===!1||this.clickToFront===null?t.tag.Clicked(n):this.TagToFront(t.tag,this.clickToFront,function(){t.tag.Clicked(n)},!0))}catch(i){}};i.Wheel=function(n){var t=this.zoom+this.zoomStep*(n?1:-1);this.zoom=nt(this.zoomMax,p(this.zoomMin,t));this.Zoom(this.zoom)};i.BeginDrag=function(n){this.down=ni(n,this.canvas);n.cancelBubble=!0;n.returnValue=!1;n.preventDefault&&n.preventDefault()};i.Drag=function(n,t){if(this.dragControl&&this.down){var u=this.dragThreshold*this.dragThreshold,i=t.x-this.down.x,r=t.y-this.down.y;(this.dragging||i*i+r*r>u)&&(this.dx=i,this.dy=r,this.dragging=1,this.down=t)}};i.EndDrag=function(){var n=this.dragging;return this.dragging=this.down=null,n};i.Pause=function(){this.paused=!0};i.Resume=function(){this.paused=!1};i.SetSpeed=function(n){this.initial=n;this.yaw=n[0]*this.maxSpeed;this.pitch=n[1]*this.maxSpeed};i.FindTag=function(n){if(!h(n))return null;if(h(n.index)&&(n=n.index),!et(n))return this.taglist[n];var i,r,t;for(h(n.id)?(i="id",r=n.id):h(n.text)&&(i="innerText",r=n.text),t=0;t<this.taglist.length;++t)if(this.taglist[t].a[i]==r)return this.taglist[t]};i.RotateTag=function(n,t,i,r,u,f){var e=n.xformed,o=new d(e.x,e.y,e.z),s=ki(i,t),h=o.angle(s),c=o.cross(s).unit();h==0?(this.fixedCallbackTag=n,this.fixedCallback=u):this.fixedAnim={angle:-h,axis:c,t:r,t0:k(),cb:u,tag:n,active:f}};i.TagToFront=function(n,t,i,r){this.RotateTag(n,0,0,t,i,r)};t.Start=function(n,i,r){t.tc[n]=new t(n,i,r)};t.Linear=function(n,t){return t/n};t.Smooth=function(n,t){return.5-o(t*Math.PI/n)/2};t.Pause=function(n){w("Pause",n)};t.Resume=function(n){w("Resume",n)};t.Reload=function(n){w("Load",n)};t.Update=function(n){w("Update",n)};t.SetSpeed=function(n,i){return et(i)&&t.tc[n]&&!isNaN(i[0])&&!isNaN(i[1])?(t.tc[n].SetSpeed(i),!0):!1};t.TagToFront=function(n,i){return et(i)?(i.lat=i.lng=0,t.RotateTag(n,i)):!1};t.RotateTag=function(n,i){if(et(i)&&t.tc[n]){isNaN(i.time)&&(i.time=500);var r=t.tc[n].FindTag(i);if(r)return t.tc[n].RotateTag(r,i.lat,i.lng,i.time,i.callback,i.active),!0}return!1};t.Delete=function(n){delete pt[n];delete t.tc[n]};t.NextFrame=function(n){var i=window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame;t.NextFrame=i?t.NextFrameRAF:t.NextFrameTimeout;t.NextFrame(n)};t.NextFrameRAF=function(){requestAnimationFrame(ti)};t.NextFrameTimeout=function(n){setTimeout(ti,n)};t.tc={};t.options={z1:2e4,z2:2e4,z0:.0002,freezeActive:!1,freezeDecel:!1,activeCursor:"pointer",pulsateTo:1,pulsateTime:3,reverse:!1,depth:.5,maxSpeed:.05,minSpeed:0,decel:.95,interval:20,minBrightness:.1,maxBrightness:1,outlineColour:"#ffff99",outlineThickness:2,outlineOffset:5,outlineMethod:"outline",outlineRadius:0,textColour:"#ff99ff",textHeight:15,textFont:"Helvetica, Arial, sans-serif",shadow:"#000",shadowBlur:0,shadowOffset:[0,0],initial:null,hideTags:!0,zoom:1,weight:!1,weightMode:"size",weightFrom:null,weightSize:1,weightSizeMin:null,weightSizeMax:null,weightGradient:{0:"#f00",.33:"#ff0",.66:"#0f0",1:"#00f"},txtOpt:!0,txtScale:2,frontSelect:!1,wheelZoom:!0,zoomMin:.3,zoomMax:3,zoomStep:.05,shape:"sphere",lock:null,tooltip:null,tooltipDelay:300,tooltipClass:"tctooltip",radiusX:1,radiusY:1,radiusZ:1,stretchX:1,stretchY:1,offsetX:0,offsetY:0,shuffleTags:!1,noSelect:!1,noMouse:!1,imageScale:1,paused:!1,dragControl:!1,dragThreshold:4,centreFunc:it,splitWidth:0,animTiming:"Smooth",clickToFront:!1,fadeIn:0,padding:0,bgColour:null,bgRadius:0,bgOutline:null,bgOutlineThickness:0,outlineIncrease:4};for(a in t.options)t[a]=t.options[a];window.TagCanvas=t;jQuery.fn.tagcanvas=function(i,r){var u={pause:function(){n(this).each(function(){w("Pause",n(this)[0].id)})},resume:function(){n(this).each(function(){w("Resume",n(this)[0].id)})},reload:function(){n(this).each(function(){w("Load",n(this)[0].id)})},update:function(){n(this).each(function(){w("Update",n(this)[0].id)})},tagtofront:function(){n(this).each(function(){t.TagToFront(n(this)[0].id,r)})},rotatetag:function(){n(this).each(function(){t.RotateTag(n(this)[0].id,r)})},"delete":function(){n(this).each(function(){t.Delete(n(this)[0].id)})},setspeed:function(){n(this).each(function(){t.SetSpeed(n(this)[0].id,r)})}};return typeof i=="string"&&u[i]?(u[i].apply(this),this):(t.jquery=1,n(this).each(function(){t.Start(n(this)[0].id,r,i)}),t.started)};f("load",function(){t.loaded=1},window)})(jQuery)